🎉 初始化项目

Signed-off-by: Echo <1711788888@qq.com>
This commit is contained in:
2026-02-27 21:52:00 +08:00
commit f4e166c5ee
482 changed files with 55079 additions and 0 deletions

92
web-app/src/api/auth.ts Normal file
View File

@@ -0,0 +1,92 @@
import apiClient from './client'
// 类型定义
export interface RegisterRequest {
username: string
password: string
nickName?: string
email?: string
phone?: string
}
export interface LoginRequest {
username: string
password: string
}
export interface UpdateProfileRequest {
nickName?: string
email?: string
phone?: string
avatar?: string
preferences?: string
aiSettings?: string
}
export interface ChangePasswordRequest {
oldPassword: string
newPassword: string
}
export interface User {
id: number
uuid: string
username: string
nickName: string
email: string
phone: string
avatar: string
status: string
enable: boolean
isAdmin: boolean
lastLoginAt: string | null
lastLoginIp: string
chatCount: number
messageCount: number
createdAt: string
}
export interface LoginResponse {
user: User
token: string
refreshToken: string
expiresAt: number
}
// API 方法
export const authApi = {
// 用户注册
register: (data: RegisterRequest) => {
return apiClient.post('/app/auth/register', data)
},
// 用户登录
login: (data: LoginRequest): Promise<{ data: LoginResponse }> => {
return apiClient.post('/app/auth/login', data)
},
// 刷新 Token
refreshToken: (refreshToken: string): Promise<{ data: LoginResponse }> => {
return apiClient.post('/app/auth/refresh', { refreshToken })
},
// 用户登出
logout: () => {
return apiClient.post('/app/auth/logout')
},
// 获取用户信息
getUserInfo: (): Promise<{ data: User }> => {
return apiClient.get('/app/auth/userinfo')
},
// 更新用户资料
updateProfile: (data: UpdateProfileRequest) => {
return apiClient.put('/app/user/profile', data)
},
// 修改密码
changePassword: (data: ChangePasswordRequest) => {
return apiClient.post('/app/user/change-password', data)
},
}