9df90c1176
- 新增地址编辑页面,支持地址智能识别、地图选点、地区选择和默认地址设置 - 实现地址列表页面,支持地址查看、删除、设为默认及选择返回结算页 - 新增售后申请页面,支持退款类型选择、商品选择、原因填写、图片上传和提交审核 - 修复 passport 分包配置,移除不存在分包并补充缺失声明,避免 Taro 编译报错 - 新增地址类型定义,增强前端地址数据结构类型安全 - 优化页面交互体验,完善表单校验及错误提示逻辑 - 统一代码格式与命名规范,保持代码风格一致性
76 lines
1.9 KiB
TypeScript
76 lines
1.9 KiB
TypeScript
import request from '@/utils/request';
|
|
import type { ApiResult } from '@/api';
|
|
import type {
|
|
LoginParam,
|
|
LoginResult,
|
|
CaptchaResult,
|
|
SmsCaptchaResult
|
|
} from './model';
|
|
import {saveStorageByLoginUser, SERVER_API_URL} from "@/utils/server";
|
|
import { isUserDisabled } from '@/utils/auth';
|
|
|
|
/**
|
|
* 账号密码登录
|
|
*/
|
|
export async function login(data: LoginParam) {
|
|
const res = await request.post<ApiResult<LoginResult>>(
|
|
SERVER_API_URL + '/login',
|
|
data
|
|
);
|
|
if (res.code === 0) {
|
|
if (res.data?.user && res.data?.access_token) {
|
|
if (isUserDisabled(res.data.user)) {
|
|
return Promise.reject(new Error('您的账号已被禁用,请联系管理员'));
|
|
}
|
|
saveStorageByLoginUser(res.data.access_token, res.data.user)
|
|
}
|
|
return res.message;
|
|
}
|
|
return Promise.reject(new Error(res.message));
|
|
}
|
|
|
|
/**
|
|
* 获取验证码
|
|
*/
|
|
export async function getCaptcha() {
|
|
const res = await request.get<ApiResult<CaptchaResult>>(
|
|
SERVER_API_URL + '/captcha',
|
|
{}
|
|
);
|
|
if (res.code === 0 && res.data) {
|
|
return res.data;
|
|
}
|
|
return Promise.reject(new Error(res.message));
|
|
}
|
|
|
|
export async function loginBySms(data: LoginParam) {
|
|
const res = await request.post<ApiResult<LoginResult>>(
|
|
SERVER_API_URL + '/loginBySms',
|
|
data
|
|
);
|
|
if (res.code === 0) {
|
|
if(res.data?.user){
|
|
if (isUserDisabled(res.data.user)) {
|
|
return Promise.reject(new Error('您的账号已被禁用,请联系管理员'));
|
|
}
|
|
saveStorageByLoginUser(`${res.data?.access_token}`, res.data?.user)
|
|
}
|
|
return res.message;
|
|
}
|
|
return Promise.reject(new Error(res.message));
|
|
}
|
|
|
|
/**
|
|
* 发送短信验证码
|
|
*/
|
|
export async function sendSmsCaptcha(data: LoginParam) {
|
|
const res = await request.post<ApiResult<SmsCaptchaResult>>(
|
|
SERVER_API_URL + '/sendSmsCaptcha',
|
|
data
|
|
);
|
|
if (res.code === 0) {
|
|
return res.message;
|
|
}
|
|
return Promise.reject(new Error(res.message));
|
|
}
|