refactor(auth): 重构认证模块以支持双token模式

将用户认证逻辑从user store迁移到token store
新增双token模式支持及相关类型定义
更新路由拦截器和http模块以适配新的认证结构
This commit is contained in:
feige996
2025-08-22 16:16:17 +08:00
parent 57924d47cc
commit 153a374469
8 changed files with 184 additions and 121 deletions

View File

@@ -1,24 +1,42 @@
/**
* 用户信息
*/
export interface IUserInfoVo {
id: number | string
username: string
avatar: string
// 认证模式类型
export type AuthMode = 'single' | 'double'
// 单Token响应类型
export interface ISingleTokenRes {
token: string
refreshToken?: string
refreshExpire?: number
expiresIn: number // 有效期(秒)
}
// 双Token响应类型
export interface IDoubleTokenRes {
accessToken: string
refreshToken: string
accessExpiresIn: number // 访问令牌有效期(秒)
refreshExpiresIn: number // 刷新令牌有效期(秒)
}
/**
* 登录返回的信息
* 登录返回的信息,其实就是 token 信息
*/
export interface IUserLogin {
id: string
export type IAuthLoginRes = ISingleTokenRes | IDoubleTokenRes
/**
* 用户信息
*/
export interface IUserInfoRes {
userId: number
username: string
token: string
refreshToken?: string
refreshExpire?: number
nickname: string
avatar?: string
[key: string]: any // 允许其他扩展字段
}
// 认证存储数据结构
export interface AuthStorage {
mode: AuthMode
tokens: ISingleTokenRes | IDoubleTokenRes
userInfo?: IUserInfoRes
loginTime: number // 登录时间戳
}
/**