feat: refactor the cache

This commit is contained in:
zerosoul
2022-03-04 10:15:30 +08:00
parent b6b0a0c5ef
commit acd007fb71
28 changed files with 622 additions and 341 deletions
+18 -15
View File
@@ -1,12 +1,10 @@
import { createSlice } from "@reduxjs/toolkit";
import BASE_URL from "../config";
import BASE_URL, { KEY_REFRESH_TOKEN, KEY_TOKEN, KEY_UID } from "../config";
import { getNonNullValues } from "../../common/utils";
const initialState = {
user: null,
usersVersion: null,
afterMid: null,
token: null,
refreshToken: null,
token: localStorage.getItem(KEY_TOKEN),
refreshToken: localStorage.getItem(KEY_REFRESH_TOKEN),
};
const authDataSlice = createSlice({
name: "authData",
@@ -17,6 +15,14 @@ const authDataSlice = createSlice({
state.user = user;
state.token = token;
state.refreshToken = refresh_token;
// set local data
localStorage.setItem(KEY_TOKEN, token);
localStorage.setItem(KEY_REFRESH_TOKEN, refresh_token);
localStorage.setItem(KEY_UID, user.uid);
},
setUserData(state, action) {
const user = action.payload;
state.user = user;
},
updateLoginedUserByLogs(state, action) {
const logs = action.payload;
@@ -44,29 +50,26 @@ const authDataSlice = createSlice({
state.user = null;
state.token = null;
state.refreshToken = null;
// remove local data
localStorage.removeItem(KEY_TOKEN);
localStorage.removeItem(KEY_REFRESH_TOKEN);
localStorage.removeItem(KEY_UID);
},
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;
localStorage.setItem(KEY_TOKEN, token);
localStorage.setItem(KEY_REFRESH_TOKEN, refresh_token);
},
},
});
export const {
updateToken,
setAuthData,
setUserData,
clearAuthData,
setUsersVersion,
setAfterMid,
updateLoginedUserByLogs,
} = authDataSlice.actions;
export default authDataSlice.reducer;