refactor: guest mode
This commit is contained in:
Vendored
-11
@@ -10,22 +10,11 @@ import { fillUsers } from "../slices/users";
|
||||
import { fillFootprint } from "../slices/footprint";
|
||||
import { fillFileMessage } from "../slices/message.file";
|
||||
import { fillUI } from "../slices/ui";
|
||||
import { useAppSelector } from "../store";
|
||||
|
||||
const useRehydrate = () => {
|
||||
const [iterated, setIterated] = useState(false);
|
||||
const dispatch = useDispatch();
|
||||
const { isGuest } = useAppSelector((store) => {
|
||||
return {
|
||||
isGuest: store.authData.user?.create_by == "guest"
|
||||
};
|
||||
});
|
||||
const rehydrate = async () => {
|
||||
// 如果是游客,直接忽略
|
||||
if (isGuest) {
|
||||
setIterated(true);
|
||||
return;
|
||||
}
|
||||
const rehydrateData = {
|
||||
channels: [],
|
||||
users: [],
|
||||
|
||||
@@ -46,9 +46,6 @@ listenerMiddleware.startListening({
|
||||
// console.log("effect opt", action);
|
||||
if (!window.CACHE && prefix !== "__rtkq") return;
|
||||
const currentState = listenerApi.getState() as RootState;
|
||||
// 如果是guest,则忽略
|
||||
const isGuest = currentState.authData.user?.create_by === "guest";
|
||||
if (isGuest) return;
|
||||
const state = prefix == "__rtkq" ? null : currentState[prefix];
|
||||
switch (prefix) {
|
||||
case "__rtkq":
|
||||
|
||||
@@ -12,6 +12,7 @@ import { User } from "../../types/user";
|
||||
|
||||
interface State {
|
||||
initialized: boolean;
|
||||
guest: boolean;
|
||||
user: User | undefined;
|
||||
token: string;
|
||||
expireTime: number;
|
||||
@@ -20,6 +21,7 @@ interface State {
|
||||
const loginUser = localStorage.getItem(KEY_LOGIN_USER) || "";
|
||||
const initialState: State = {
|
||||
initialized: true,
|
||||
guest: false,
|
||||
user: loginUser ? JSON.parse(loginUser) : undefined,
|
||||
token: localStorage.getItem(KEY_TOKEN) || "",
|
||||
expireTime: Number(localStorage.getItem(KEY_EXPIRE) || +new Date()),
|
||||
@@ -28,6 +30,7 @@ const initialState: State = {
|
||||
|
||||
const emptyState: State = {
|
||||
initialized: true,
|
||||
guest: false,
|
||||
user: undefined,
|
||||
token: "",
|
||||
expireTime: +new Date(),
|
||||
@@ -43,6 +46,7 @@ const authDataSlice = createSlice({
|
||||
const { uid } = user;
|
||||
state.initialized = initialized;
|
||||
state.user = user;
|
||||
// state.guest = user.create_by == "guest";
|
||||
state.token = token;
|
||||
state.refreshToken = refresh_token;
|
||||
// 当前时间往后推expire时长
|
||||
|
||||
Reference in New Issue
Block a user