import type { ICaptcha, IUpdateInfo, IUpdatePassword, IUserInfoVo, IUserLogin } from './types/login' import { http } from '@/utils/http' /** * 登录表单 */ export interface ILoginForm { username: string password: string code: string uuid: string } /** * 获取验证码 * @returns ICaptcha 验证码 */ export function getCode() { return http.get('/user/getCode') } /** * 用户登录 * @param loginForm 登录表单 */ export function login(loginForm: ILoginForm) { return http.post('/user/login', loginForm) } /** * 获取用户信息 */ export function getUserInfo() { return http.get('/user/info') } /** * 退出登录 */ export function logout() { return http.get('/user/logout') } /** * 修改用户信息 */ export function updateInfo(data: IUpdateInfo) { return http.post('/user/updateInfo', data) } /** * 修改用户密码 */ export function updateUserPassword(data: IUpdatePassword) { return http.post('/user/updatePassword', data) } /** * 获取微信登录凭证 * @returns Promise 包含微信登录凭证(code) */ export function getWxCode() { return new Promise((resolve, reject) => { uni.login({ provider: 'weixin', success: res => resolve(res), fail: err => reject(new Error(err)), }) }) } /** * 微信登录参数 */ /** * 微信登录 * @param params 微信登录参数,包含code * @returns Promise 包含登录结果 */ export function wxLogin(data: { code: string }) { return http.post('/user/wxLogin', data) }