2.2 KiB
2.2 KiB
全局工具模块 (Monorepo Utils)
此目录包含可在 monorepo 各个应用中复用的全局工具函数。
📁 目录结构
utils/
├── token-manager.js # Token 统一管理工具
└── README.md # 本文件
🚀 使用方式
Token 管理 (token-manager.js)
在应用中使用全局 token 管理工具:
// 导入 token 管理工具
import {
getToken,
setToken,
clearAllTokens,
getAuthHeader
} from '@gold/utils/token-manager'
// 获取 token
const token = getToken()
// 设置 token
setToken({
accessToken: 'xxx',
refreshToken: 'yyy'
})
// 获取 Authorization Header
const header = getAuthHeader() // Bearer xxx
// 清空所有 token
clearAllTokens()
📝 API 说明
Token 管理函数
getToken()
获取访问令牌(按优先级读取)
返回值: string - token 字符串或空字符串
getAccessToken()
获取访问令牌(别名,兼容旧代码)
返回值: string - token 字符串或空字符串
getRefreshToken()
获取刷新令牌
返回值: string | null - 刷新令牌或 null
setToken(tokens)
设置访问令牌和刷新令牌
参数:
tokens.accessToken(string, 可选): 访问令牌tokens.refreshToken(string, 可选): 刷新令牌
clearAllTokens()
清除所有 token(包括 dev token、access token、refresh token)
removeToken()
删除 token(别名,调用 clearAllTokens())
getAuthHeader()
获取完整的 Authorization Header 值
返回值: string - Bearer token 或空字符串
setDevToken(token)
设置手动输入的 dev token(用于开发测试)
参数: token (string) - dev token
getDevToken()
获取手动输入的 dev token
返回值: string - dev token 或空字符串
🔄 Token 存储优先级
- 手动输入的 dev token (sessionStorage) - 最高优先级
- 正式登录的 token (wsCache/localStorage)
- 环境变量 VITE_DEV_TOKEN - 兜底
📦 在 Vite 配置中使用
确保在 vite.config.js 中配置了 @gold 别名:
resolve: {
alias: {
'@gold': fileURLToPath(new URL('../../', import.meta.url))
}
}