refactor(auth): 重构认证模块以支持双token模式
将用户认证逻辑从user store迁移到token store 新增双token模式支持及相关类型定义 更新路由拦截器和http模块以适配新的认证结构
This commit is contained in:
@@ -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 // 登录时间戳
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user