2025-05-27 23:19:09 +08:00
|
|
|
|
import { ICaptcha, IUpdateInfo, IUpdatePassword, IUserInfoVo, IUserLogin } from './login.typings'
|
|
|
|
|
import { http } from '@/utils/http'
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 登录表单
|
|
|
|
|
*/
|
|
|
|
|
export interface ILoginForm {
|
|
|
|
|
username: string
|
|
|
|
|
password: string
|
|
|
|
|
code: string
|
|
|
|
|
uuid: string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取验证码
|
|
|
|
|
* @returns ICaptcha 验证码
|
|
|
|
|
*/
|
|
|
|
|
export const getCode = () => {
|
|
|
|
|
return http.get<ICaptcha>('/user/getCode')
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 用户登录
|
|
|
|
|
* @param loginForm 登录表单
|
|
|
|
|
*/
|
|
|
|
|
export const login = (loginForm: ILoginForm) => {
|
|
|
|
|
return http.post<IUserLogin>('/user/login', loginForm)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取用户信息
|
|
|
|
|
*/
|
2025-05-28 00:16:33 +08:00
|
|
|
|
export const getUserInfo = () => {
|
|
|
|
|
return http.get<IUserInfoVo>('/user/info')
|
2025-05-27 23:19:09 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 退出登录
|
|
|
|
|
*/
|
|
|
|
|
export const logout = () => {
|
|
|
|
|
return http.get<void>('/user/logout')
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 修改用户信息
|
|
|
|
|
*/
|
|
|
|
|
export const updateInfo = (data: IUpdateInfo) => {
|
|
|
|
|
return http.post('/user/updateInfo', data)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 修改用户密码
|
|
|
|
|
*/
|
|
|
|
|
export const updateUserPassword = (data: IUpdatePassword) => {
|
|
|
|
|
return http.post('/user/updatePassword', data)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取微信登录凭证
|
|
|
|
|
* @returns Promise 包含微信登录凭证(code)
|
|
|
|
|
*/
|
|
|
|
|
export const getWxCode = () => {
|
|
|
|
|
return new Promise<UniApp.LoginRes>((resolve, reject) => {
|
|
|
|
|
uni.login({
|
|
|
|
|
provider: 'weixin',
|
|
|
|
|
success: (res) => resolve(res),
|
|
|
|
|
fail: (err) => reject(new Error(err)),
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 微信登录参数
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 微信登录
|
|
|
|
|
* @param params 微信登录参数,包含code
|
|
|
|
|
* @returns Promise 包含登录结果
|
|
|
|
|
*/
|
2025-05-28 00:16:33 +08:00
|
|
|
|
export const wxLogin = (data: { code: string }) => {
|
|
|
|
|
return http.post<IUserLogin>('/user/wxLogin', data)
|
2025-05-27 23:19:09 +08:00
|
|
|
|
}
|