import * as other from "@/utils/other"; import {ElMessage} from "element-plus"; import request, {CommonHeaderEnum, postData} from "@/utils/request"; const registerUrl = "/admin/register/user" const logoutUrl = "/admin/token/logout" export const login = (data: any) => { return new Promise(resolve => { const basicAuth = 'Basic ' + window.btoa(import.meta.env.VITE_OAUTH2_PASSWORD_CLIENT); let encPassword = data.password; if (import.meta.env.VITE_PWD_ENC_KEY) { encPassword = other.encryption(data.password, import.meta.env.VITE_PWD_ENC_KEY); } data.grant_type = 'password'; data.scope = 'server'; request({ url: '/admin/oauth2/token', method: 'post', data: {...data, password: encPassword}, headers: { skipToken: true, Authorization: basicAuth, 'Content-Type': CommonHeaderEnum.FORM_CONTENT_TYPE, }, }).then((res: any) => { resolve(res.data ? res.data : res.response.data) }).catch(err => { resolve(err) handleError(err) }) }) }; export const register = (data: any) => { return new Promise(resolve => { postData(registerUrl, data).then(res => { resolve(res.data) }).catch(err => { resolve(err) handleError(err) }) }) } export function logout() { return request({ url: logoutUrl, method: "DELETE" }) } function handleError(err: any) { if (err && err.msg) { ElMessage.error(err.msg) } else { ElMessage.error('系统异常请联系管理员') } }