Files
sionrui/frontend/utils/README.md
2025-11-12 22:45:29 +08:00

2.2 KiB
Raw Blame History

全局工具模块 (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 存储优先级

  1. 手动输入的 dev token (sessionStorage) - 最高优先级
  2. 正式登录的 token (wsCache/localStorage)
  3. 环境变量 VITE_DEV_TOKEN - 兜底

📦 在 Vite 配置中使用

确保在 vite.config.js 中配置了 @gold 别名:

resolve: {
  alias: {
    '@gold': fileURLToPath(new URL('../../', import.meta.url))
  }
}