jdk 17
This commit is contained in:
103
idp/frontend/src/api/login.ts
Normal file
103
idp/frontend/src/api/login.ts
Normal file
@@ -0,0 +1,103 @@
|
||||
import request from '@/utils/request'
|
||||
import type { AxiosResponse } from 'axios'
|
||||
|
||||
interface RegisterData {
|
||||
[key: string]: any
|
||||
}
|
||||
|
||||
export interface UserInfo {
|
||||
userId: string | number
|
||||
userName: string
|
||||
nickName: string
|
||||
avatar?: string
|
||||
roles?: string[]
|
||||
permissions?: string[]
|
||||
[key: string]: any
|
||||
}
|
||||
|
||||
export interface GetInfoResponse {
|
||||
user: UserInfo
|
||||
roles: string[]
|
||||
permissions: string[]
|
||||
isDefaultModifyPwd?: boolean
|
||||
isPasswordExpired?: boolean
|
||||
[key: string]: any
|
||||
}
|
||||
|
||||
interface LoginResponse {
|
||||
token?: string
|
||||
[key: string]: any
|
||||
}
|
||||
|
||||
interface CaptchaResponse {
|
||||
captchaEnabled?: boolean
|
||||
img?: string
|
||||
uuid?: string
|
||||
}
|
||||
|
||||
// 登录方法
|
||||
export function login(username: string, password: string, code?: string, uuid?: string): Promise<AxiosResponse<LoginResponse>> {
|
||||
const data: string = `username=${username}&password=${password}&code=${code}&uuid=${uuid}`
|
||||
return request({
|
||||
url: '/api/login/account',
|
||||
headers: {
|
||||
isToken: false,
|
||||
repeatSubmit: false,
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
},
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
export function authorize(params:string): Promise<AxiosResponse<any>> {
|
||||
return request({
|
||||
url: '/oauth2/authorize',
|
||||
headers: {
|
||||
isToken: true,
|
||||
repeatSubmit: false,
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
},
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
// 注册方法
|
||||
export function register(data: RegisterData): Promise<AxiosResponse<any>> {
|
||||
return request({
|
||||
url: '/register',
|
||||
headers: {
|
||||
isToken: false
|
||||
},
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取用户详细信息
|
||||
export function getInfo(): Promise<AxiosResponse<GetInfoResponse>> {
|
||||
return request({
|
||||
url: '/getInfo',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 退出方法
|
||||
export function logout(): Promise<AxiosResponse<any>> {
|
||||
return request({
|
||||
url: '/logout',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
// 获取验证码
|
||||
export function getCodeImg(): Promise<AxiosResponse<CaptchaResponse>> {
|
||||
return request({
|
||||
url: '/captcha/image',
|
||||
headers: {
|
||||
isToken: false
|
||||
},
|
||||
method: 'get',
|
||||
timeout: 20000
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user