添加配置项,首页

This commit is contained in:
cbb
2025-12-23 17:41:05 +08:00
parent d4d5cdb335
commit 0cf5bb9dad
12 changed files with 317 additions and 22 deletions

42
stores/token.js Normal file
View File

@@ -0,0 +1,42 @@
import { defineStore } from 'pinia';
import { ref } from 'vue';
import { STORAGE_KEYS } from '@/constants/storageKeys';
import { getToken, removeToken } from '@/utils/storage';
/** 登录状态 */
export const useTokenStore = defineStore(STORAGE_KEYS.TOKEN, () => {
// 从本地存储获取token
const token = ref(getToken() || null);
const isLogin = ref(!!token.value);
/** 设置token并保存到本地 */
const setToken = (newToken) => {
token.value = newToken;
isLogin.value = true;
setToken(newToken);
};
/** 清除token */
const clearToken = () => {
token.value = null;
isLogin.value = false;
removeToken()
};
/** 检查token是否有效可扩展过期时间判断 */
const checkToken = () => {
// 简单判断token存在且不为空
return !!token.value;
};
/** 验证token是否过期实际项目中可添加过期时间判断 */
const isTokenExpired = () => {
// 示例如果token中包含过期时间这里可以判断
// 例如const expireTime = parseInt(token.value.split('.')[1]);
// return Date.now() > expireTime * 1000;
return false; // 默认不过期
};
return { token, isLogin, setToken, clearToken, checkToken, isTokenExpired };
})