|
|
|
import type { LoginParams, LoginResult, UserInfo } from './types'
|
|
|
|
import { defHttp } from '@/utils/http/axios'
|
|
|
|
import type { ErrorMessageMode } from '@/types/axios'
|
|
|
|
|
|
|
|
export function loginApi(params: LoginParams, mode: ErrorMessageMode = 'modal') {
|
|
|
|
return defHttp.post<LoginResult>({
|
|
|
|
url: '/baymax-auth/oauth/token',
|
|
|
|
params: {
|
|
|
|
username: params.username,
|
|
|
|
password: params.password,
|
|
|
|
grant_type: 'captcha',
|
|
|
|
scope: 'all',
|
|
|
|
type: 'account',
|
|
|
|
},
|
|
|
|
headers: {
|
|
|
|
'Tenant-Id': params.tenantId,
|
|
|
|
'Captcha-Key': params.captchaKey,
|
|
|
|
'Captcha-Code': params.captchaCode,
|
|
|
|
},
|
|
|
|
}, {
|
|
|
|
errorMessageMode: mode,
|
|
|
|
joinParamsToUrl: true,
|
|
|
|
isTransformResponse: false,
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
export function getUserInfo() {
|
|
|
|
return defHttp.get<UserInfo>({
|
|
|
|
url: '/system/permission/get-permission-info',
|
|
|
|
}, {
|
|
|
|
errorMessageMode: 'none',
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface __MenuItem {
|
|
|
|
id: string
|
|
|
|
parentId: string
|
|
|
|
code: string
|
|
|
|
name: string
|
|
|
|
alias: string
|
|
|
|
path: string
|
|
|
|
source: string
|
|
|
|
sort: number
|
|
|
|
category: number
|
|
|
|
action: number
|
|
|
|
children?: __MenuItem[]
|
|
|
|
}
|
|
|
|
|
|
|
|
export function getUserRouters() {
|
|
|
|
return defHttp.get<__MenuItem[]>({
|
|
|
|
url: '/baymax-system/menu/routes',
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
export function getUserButtons() {
|
|
|
|
return defHttp.get({
|
|
|
|
url: '/baymax-system/menu/buttons',
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
export function doLogout() {
|
|
|
|
return defHttp.post({
|
|
|
|
url: '/auth/logout',
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
export function getLoginCaptcha() {
|
|
|
|
return defHttp.get<{ image: string, key: string }>({
|
|
|
|
url: '/baymax-auth/oauth/captcha',
|
|
|
|
}, {
|
|
|
|
isTransformResponse: false,
|
|
|
|
withoutAuth: true,
|
|
|
|
})
|
|
|
|
}
|