2025-02-07 10:39:30 +08:00
|
|
|
import {defineStore} from "pinia";
|
|
|
|
|
import {UserState} from "@/stores/interface";
|
2024-08-22 11:27:06 +08:00
|
|
|
import piniaPersistConfig from "@/stores/helper/persist";
|
2025-02-07 10:39:30 +08:00
|
|
|
import {USER_STORE_KEY} from "@/stores/constant";
|
2024-08-22 11:27:06 +08:00
|
|
|
|
|
|
|
|
export const useUserStore = defineStore({
|
|
|
|
|
id: USER_STORE_KEY,
|
|
|
|
|
state: (): UserState => ({
|
2025-02-07 10:39:30 +08:00
|
|
|
accessToken: "",
|
|
|
|
|
refreshToken: "",
|
2025-02-13 21:02:34 +08:00
|
|
|
isRefreshToken:false,
|
2024-08-23 13:19:20 +08:00
|
|
|
userInfo: { name: "admin" },
|
2024-08-22 11:27:06 +08:00
|
|
|
}),
|
|
|
|
|
getters: {},
|
|
|
|
|
actions: {
|
|
|
|
|
// Set Token
|
2025-02-07 10:39:30 +08:00
|
|
|
setAccessToken(accessToken: string) {
|
|
|
|
|
this.accessToken = accessToken;
|
|
|
|
|
},
|
|
|
|
|
setRefreshToken(refreshToken: string) {
|
|
|
|
|
this.refreshToken = refreshToken;
|
2024-08-22 11:27:06 +08:00
|
|
|
},
|
2025-02-13 21:02:34 +08:00
|
|
|
setIsRefreshToken(isRefreshToken: boolean) {
|
|
|
|
|
this.isRefreshToken = isRefreshToken;
|
|
|
|
|
},
|
2024-08-22 11:27:06 +08:00
|
|
|
// Set setUserInfo
|
|
|
|
|
setUserInfo(userInfo: UserState["userInfo"]) {
|
|
|
|
|
this.userInfo = userInfo;
|
2025-03-24 19:22:56 +08:00
|
|
|
}
|
2024-08-22 11:27:06 +08:00
|
|
|
},
|
2024-08-23 13:19:20 +08:00
|
|
|
persist: piniaPersistConfig(USER_STORE_KEY),
|
2024-08-22 11:27:06 +08:00
|
|
|
});
|