import { defHttp } from '/@/utils/http/axios'; import { LoginParams, LoginResultModel, GetUserInfoModel, UserInfoModel, RefreshTokenParams, SmsLoginParams } from './model/userModel'; import type { ErrorMessageMode } from '/#/axios'; enum Api { Login = '/auth/login', SmsCodeLogin = '/auth/code/login', Logout = '/auth/logout', GetUserInfo = '/user', GetMyInfo = '/user/me/info', GetPermCode = '/role/me/permissions', RefreshToken = '/auth/token', SendLoginSmsCode = '/noauth/send_login_code/', ResetCode = '/noauth/reset_code/', ResetPassword = '/noauth/reset/', kidLogin = '/singleAuth/getCustomToken', } /** * @description: 有response_type后的code请求 */ export function kidloginApi(params: LoginParams, mode: ErrorMessageMode = 'modal') { return defHttp.post( { url: Api.kidLogin, params, }, { errorMessageMode: mode, joinPrefix: false, } ); } /** * @description: user login api */ export function loginApi(params: LoginParams, mode: ErrorMessageMode = 'modal') { return defHttp.post( { url: Api.Login, params, }, { errorMessageMode: mode, joinPrefix: false, } ); } export function getMyInfo() { return defHttp.get({ url: Api.GetMyInfo }); } /** * @description: getUserInfo */ export function getUserInfo() { return defHttp.get({ url: Api.GetUserInfo }); } export function getPermCode() { return defHttp.get({ url: Api.GetPermCode }); } export async function SendLoginSmsCode(phoneNumber: string) { return await defHttp.post({ url: Api.SendLoginSmsCode + phoneNumber }); } export async function doLogout() { await defHttp.post( { url: Api.Logout, }, { joinPrefix: false, } ); } export function doRefreshToken(params: RefreshTokenParams) { return defHttp.post( { url: Api.RefreshToken, params, }, { joinPrefix: false, } ); } export function smsCodeLoginApi(params: SmsLoginParams, mode: ErrorMessageMode = 'modal') { return defHttp.post( { url: Api.SmsCodeLogin, params, }, { errorMessageMode: mode, } ); } // 密码重置验证码 export function passwordResetCode(mobile) { return defHttp.post({ url: Api.ResetCode + mobile, }); } // 重置密码 export function forgetPasswordApi(data) { return defHttp.post({ url: Api.ResetPassword + data.phoneNumber, data, }); } export const getUserToken = (id: string) => { return defHttp.get>({ url: `/third/login/id/${id}`, }); };