|
|
@@ -6,6 +6,7 @@ import { useStorage } from "@vueuse/core";
|
|
|
export const useUserStore = defineStore("user", () => {
|
|
|
const token = useStorage("token", "");
|
|
|
const userInfo = ref<any>({});
|
|
|
+ const userManuallyLoggedOut = useStorage("userManuallyLoggedOut", false);
|
|
|
|
|
|
const setToken = (newToken: string) => {
|
|
|
token.value = newToken;
|
|
|
@@ -19,6 +20,7 @@ export const useUserStore = defineStore("user", () => {
|
|
|
const response = await apiLogin(username, password);
|
|
|
setToken(response.token);
|
|
|
setUserInfo(response.user);
|
|
|
+ userManuallyLoggedOut.value = false; // 登录成功后清除主动退出标记
|
|
|
return response;
|
|
|
};
|
|
|
|
|
|
@@ -30,6 +32,7 @@ export const useUserStore = defineStore("user", () => {
|
|
|
const logout = () => {
|
|
|
token.value = "";
|
|
|
userInfo.value = {};
|
|
|
+ userManuallyLoggedOut.value = true;
|
|
|
};
|
|
|
|
|
|
const createGuest = async (code?: string) => {
|
|
|
@@ -37,6 +40,7 @@ export const useUserStore = defineStore("user", () => {
|
|
|
const response = await newGuest(code);
|
|
|
setToken(response.token);
|
|
|
setUserInfo(response.user);
|
|
|
+ userManuallyLoggedOut.value = false; // 创建游客账户时也清除主动退出标记
|
|
|
return response;
|
|
|
} catch (error) {
|
|
|
console.error("创建游客账号失败", error);
|
|
|
@@ -47,6 +51,7 @@ export const useUserStore = defineStore("user", () => {
|
|
|
return {
|
|
|
token,
|
|
|
userInfo,
|
|
|
+ userManuallyLoggedOut,
|
|
|
setUserInfo,
|
|
|
login,
|
|
|
logout,
|