45 lines
867 B
TypeScript
45 lines
867 B
TypeScript
import request from '@/utils/request'
|
|
|
|
export interface LoginRequest {
|
|
username: string
|
|
password: string
|
|
}
|
|
|
|
export interface LoginResponse {
|
|
token: string
|
|
user: UserInfo
|
|
}
|
|
|
|
export interface UserInfo {
|
|
id: number
|
|
username: string
|
|
nickname: string
|
|
email: string
|
|
phone: string
|
|
avatar: string
|
|
roles: string[]
|
|
permissions: string[]
|
|
}
|
|
|
|
export interface UpdatePasswordRequest {
|
|
oldPassword: string
|
|
newPassword: string
|
|
}
|
|
|
|
export const authApi = {
|
|
login: (data: LoginRequest) =>
|
|
request.post<LoginResponse>('/auth/login', data),
|
|
|
|
logout: () =>
|
|
request.post<void>('/auth/logout'),
|
|
|
|
getCurrentUser: () =>
|
|
request.get<UserInfo>('/auth/current'),
|
|
|
|
updatePassword: (data: UpdatePasswordRequest) =>
|
|
request.put<void>('/auth/password', data),
|
|
|
|
refreshToken: () =>
|
|
request.post<LoginResponse>('/auth/refresh'),
|
|
}
|