refactor: renew while 401

This commit is contained in:
zerosoul
2022-02-17 10:16:45 +08:00
parent d59a403b78
commit 732c0ea8e2
2 changed files with 65 additions and 49 deletions
+41 -39
View File
@@ -1,46 +1,48 @@
import { createSlice } from "@reduxjs/toolkit";
import { createSlice } from '@reduxjs/toolkit';
const initialState = {
user: null,
usersVersion: null,
afterMid: null,
token: null,
refreshToken: null,
user: null,
usersVersion: null,
afterMid: null,
token: null,
refreshToken: null
};
const authDataSlice = createSlice({
name: "authData",
initialState,
reducers: {
setAuthData(state, action) {
const { user, token, refresh_token } = action.payload;
state.user = user;
state.token = token;
state.refreshToken = refresh_token;
},
clearAuthData(state) {
console.log("clear auth data");
state.user = null;
state.token = null;
state.refreshToken = null;
// 清掉本地缓存auth data
// localStorage.removeItem("AUTH_DATA");
// state.afterMid = null;
// state.usersVersion = null;
},
setUsersVersion(state, action) {
const { version } = action.payload;
state.usersVersion = version;
},
setAfterMid(state, action) {
const { mid } = action.payload;
state.afterMid = mid;
},
name: 'authData',
initialState,
reducers: {
setAuthData(state, action) {
const { user, token, refresh_token } = action.payload;
state.user = user;
state.token = token;
state.refreshToken = refresh_token;
},
clearAuthData(state) {
console.log('clear auth data');
state.user = null;
state.token = null;
state.refreshToken = null;
// 清掉本地缓存auth data
// localStorage.removeItem("AUTH_DATA");
// state.afterMid = null;
// state.usersVersion = null;
},
updateToken(state, action) {
const { token, refresh_token } = action.payload;
console.log('refresh token');
state.token = token;
state.refreshToken = refresh_token;
},
setUsersVersion(state, action) {
const { version } = action.payload;
state.usersVersion = version;
},
setAfterMid(state, action) {
const { mid } = action.payload;
state.afterMid = mid;
}
}
});
export const {
setAuthData,
clearAuthData,
setUsersVersion,
setAfterMid,
} = authDataSlice.actions;
export const { updateToken, setAuthData, clearAuthData, setUsersVersion, setAfterMid } =
authDataSlice.actions;
export default authDataSlice.reducer;