import type { IAuthLoginRes, ICaptcha, IDoubleTokenRes, IUpdateInfo, IUpdatePassword, IUserInfoRes } from './types/login' // import { http } from '@/http/http' import { API_DOMAINS, http } from '@/http/alova' /** * 登录表单 */ export interface ILoginForm { username: string password: string } /** * 获取验证码 * @returns ICaptcha 验证码 */ export function getCode() { return http.Get('/user/getCode') } /** * 用户登录 * @param loginForm 登录表单 */ export function login(loginForm: ILoginForm) { return http.Post('/auth/login', loginForm) } /** * 刷新token * @param refreshToken 刷新token */ export function refreshToken(refreshToken: string) { return http.Post('/auth/refreshToken', { refreshToken }) } /** * 获取用户信息 */ export function getUserInfo() { return http.Get('/couponCenter/APP/couponCenterUser/queryInformationAndStatus') } /** * 退出登录 */ export function logout() { return http.Post('/couponCenter/APP/wx/logout') } /** * 修改用户密码 */ 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)), }) }) } export function getUserProfile() { return new Promise((resolve, reject) => { uni.getUserProfile({ provider: 'weixin', desc: '用于获取登录用户信息', success: res => resolve(res), fail: err => reject(new Error(err)), }) }) } /** * 微信登录 * @param params 微信登录参数,包含code * @returns Promise 包含登录结果 */ export function wxLogin(code: string) { return http.Post('/couponCenter/APP/wx/login', { code }, { meta: { ignoreAuth: true, }, }) } export function addInviteConversion(params) { return http.Get(`/couponCenter/APP/shareRecord/addInviteConversion?shareRecordId=${params.shareRecordId}`) }