doc gpt V0.2

This commit is contained in:
archer
2023-02-19 14:35:25 +08:00
parent cc5cf99e7a
commit 0ecf576e4e
124 changed files with 11780 additions and 573 deletions

22
src/store/global.ts Normal file
View File

@@ -0,0 +1,22 @@
import { create } from 'zustand';
import { devtools } from 'zustand/middleware';
import { immer } from 'zustand/middleware/immer';
type State = {
loading: boolean;
setLoading: (val: boolean) => null;
};
export const useGlobalStore = create<State>()(
devtools(
immer((set, get) => ({
loading: false,
setLoading: (val: boolean) => {
set((state) => {
state.loading = val;
});
return null;
}
}))
)
);

34
src/store/user.ts Normal file
View File

@@ -0,0 +1,34 @@
import { create } from 'zustand';
import { devtools } from 'zustand/middleware';
import { immer } from 'zustand/middleware/immer';
import type { UserType, UserUpdateParams } from '@/types/user';
import { setToken } from '@/utils/user';
type State = {
userInfo: UserType | null;
setUserInfo: (user: UserType, token?: string) => void;
updateUserInfo: (user: UserUpdateParams) => void;
};
export const useUserStore = create<State>()(
devtools(
immer((set, get) => ({
userInfo: null,
setUserInfo: (user: UserType, token?: string) => {
set((state) => {
state.userInfo = user;
});
token && setToken(token);
},
updateUserInfo: (user: UserUpdateParams) => {
set((state) => {
if (!state.userInfo) return;
state.userInfo = {
...state.userInfo,
...user
};
});
}
}))
)
);