Files
apple 079076a70e miao33: 从 main 同步 single_uniapp22miao,dart-sass 兼容修复,DEPLOY.md 更新
- 从 main 获取 single_uniapp22miao 子项目
- dart-sass: /deep/ -> ::v-deep,calc 运算符加空格
- DEPLOY.md 采用 shccd159 版本(4 子项目架构说明)

Made-with: Cursor
2026-03-16 11:16:42 +08:00

564 lines
12 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// +----------------------------------------------------------------------
// | 单店商城API接口
// +----------------------------------------------------------------------
// | 创建时间: 2025-11-08
// +----------------------------------------------------------------------
import request from "@/utils/request.js";
import { HTTP_REQUEST_URL } from '@/config/app.js'
// ==================== 一、用户认证模块 ====================
/**
* 用户登录
* @param {Object} data - {account: 手机号, password: 密码}
* @returns {Promise}
*/
export function userLogin(data) {
return request.post('user/login', data, { noAuth: true });
}
/**
* 用户注册
* @param {Object} data - {mobile: 手机号, code: 验证码, password: 密码, invite_code: 邀请码(选填)}
* @returns {Promise}
*/
export function userRegister(data) {
return request.post('user/register', data, { noAuth: true });
}
/**
* 获取用户信息
* @returns {Promise}
*/
export function userInfo() {
return request.post('user/info');
}
/**
* 修改用户昵称
* @param {Object} data - {nickname: 昵称}
* @returns {Promise}
*/
export function updateNickname(data) {
return request.post('user/nickname', data);
}
/**
* 修改密码
* @param {Object} data - {old_password: 原密码, new_password: 新密码, code: 验证码}
* @returns {Promise}
*/
export function changePassword(data) {
return request.post('user/changepwd', data);
}
/**
* 重置密码
* @param {Object} data - {mobile: 手机号, code: 验证码, password: 新密码}
* @returns {Promise}
*/
export function resetPassword(data) {
return request.post('user/resetpwd', data, { noAuth: true });
}
/**
* 上传用户头像
* @param {Object} data - {file: 头像文件}
* @returns {Promise}
*/
export function uploadAvatar(data) {
return request.post('user/avatar', data);
}
// ==================== 二、商品模块 ====================
/**
* 获取商品分类列表
* @returns {Promise}
*/
export function getGoodsCategory() {
return request.get('goods/category', {}, { noAuth: true });
}
/**
* 获取商品列表
* @param {Object} params - {page: 页码, limit: 每页数量, category_id: 分类ID, keyword: 关键词}
* @returns {Promise}
*/
export function getGoodsList(params) {
return request.get('goods/list', params, { noAuth: true });
}
/**
* 获取商品详情
* @param {Number} id - 商品ID
* @returns {Promise}
*/
export function getGoodsDetail(id) {
return request.get('goods/detail', { id }, { noAuth: true });
}
// ==================== 三、订单模块 ====================
/**
* 获取订单首页数据(营业时间等)
* @returns {Promise}
*/
export function getOrderIndex() {
return request.post('order/index');
}
/**
* 获取可购买商品列表(抢购列表)
* @param {Object} params - {page: 页码, limit: 每页数量, type: 类型(1:可购买 0:全部)}
* @returns {Promise}
*/
export function getOrderGoods(params) {
return request.get('order/goods', params);
}
/**
* 购买商品(抢单)
* @param {Object} data - {id: 寄卖商品ID, seller_id: 卖家用户ID}
* @returns {Promise}
*/
export function buyGoods(data) {
return request.post('order/buy', data);
}
/**
* 获取订单列表
* @param {Object} params - {page: 页码, limit: 每页数量, cate: 类型(1:买方仓库 2:卖方仓库), type: 状态(1:寄卖中/交易中 2:已完成)}
* @returns {Promise}
*/
export function getOrderList(params) {
return request.get('order/list', params);
}
/**
* 获取订单详情
* @param {Number} order_id - 订单ID
* @returns {Promise}
*/
export function getOrderDetail(order_id) {
return request.get('order/detail', { order_id });
}
/**
* 支付订单
* @param {Object} data - {id: 订单ID}
* @returns {Promise}
*/
export function payOrder(data) {
return request.post('order/pay', data);
}
/**
* 确认订单(卖家发货)
* @param {Object} data - {id: 订单ID}
* @returns {Promise}
*/
export function confirmOrder(data) {
return request.post('order/confirm', data);
}
/**
* 取消订单
* @param {Object} data - {id: 订单ID}
* @returns {Promise}
*/
export function cancelOrder(data) {
return request.post('order/cancel', data);
}
/**
* 转卖订单
* @param {Object} data - {id: 订单ID}
* @returns {Promise}
*/
export function resellOrder(data) {
return request.post('order/resell', data);
}
/**
* 获取订单统计数量
* @returns {Promise}
*/
export function getOrderCount() {
return request.get('order/count');
}
// ==================== 四、地址管理模块 ====================
/**
* 获取地址列表
* @returns {Promise}
*/
export function getAddressList() {
return request.get('address/list');
}
/**
* 获取默认地址
* @returns {Promise}
*/
export function getDefaultAddress() {
return request.post('address/default');
}
/**
* 新增地址
* @param {Object} data - {name: 姓名, mobile: 手机号, province: 省, city: 市, district: 区, detail: 详细地址, is_default: 是否默认}
* @returns {Promise}
*/
export function addAddress(data) {
return request.post('address/insert', data);
}
/**
* 更新地址
* @param {Object} data - {id: 地址ID, name, mobile, province, city, district, detail, is_default}
* @returns {Promise}
*/
export function updateAddress(data) {
return request.post('address/update', data);
}
/**
* 删除地址
* @param {Object} data - {id: 地址ID}
* @returns {Promise}
*/
export function deleteAddress(data) {
return request.post('address/delete', data);
}
/**
* 获取地址详情
* @param {Number} id - 地址ID
* @returns {Promise}
*/
export function getAddressDetail(id) {
return request.get('address/detail', { id });
}
// ==================== 五、财务模块 ====================
/**
* 获取财务记录列表
* @param {Object} params - {page: 页码, limit: 每页数量, cate: 类型(1:分红 2:优惠券 3:推广), type: 收支(1:收入 2:支出)}
* @returns {Promise}
*/
export function getMoneyList(params) {
return request.get('money/list', params);
}
/**
* 获取提现记录
* @param {Object} params - {page: 页码, limit: 每页数量}
* @returns {Promise}
*/
export function getWithdrawLog(params) {
return request.get('money/log', params);
}
/**
* 申请提现
* @param {Object} data - {amount: 金额, type: 方式(1:支付宝 2:银行卡)}
* @returns {Promise}
*/
export function applyWithdraw(data) {
return request.post('money/withdraw', data);
}
// ==================== 六、支付方式模块 ====================
/**
* 获取支付宝信息
* @returns {Promise}
*/
export function getAlipayInfo() {
return request.get('alipay/index');
}
/**
* 绑定支付宝
* @param {Object} data - {account: 支付宝账号, real_name: 真实姓名}
* @returns {Promise}
*/
export function bindAlipay(data) {
return request.post('alipay/bind', data);
}
/**
* 获取银行卡信息
* @returns {Promise}
*/
export function getBankInfo() {
return request.get('bank/index');
}
/**
* 绑定银行卡
* @param {Object} data - {bank_name: 银行名称, card_no: 卡号, real_name: 真实姓名, bank_branch: 开户支行}
* @returns {Promise}
*/
export function bindBank(data) {
return request.post('bank/bind', data);
}
// ==================== 七、分享推广模块 ====================
/**
* 获取分享首页数据(邀请码、统计等)
* @returns {Promise}
*/
export function getShareIndex() {
return request.get('share/index');
}
/**
* 获取我的粉丝列表
* @param {Object} params - {page: 页码, limit: 每页数量, level: 等级(1,2,3)}
* @returns {Promise}
*/
export function getFansList(params) {
return request.get('share/select', params);
}
// ==================== 八、首页模块 ====================
/**
* 获取轮播图
* @returns {Promise}
*/
export function getBannerList() {
return request.get('index/banner', {}, { noAuth: true });
}
/**
* 获取首页配置数据
* @returns {Promise}
*/
export function getIndexConfig() {
return request.post('index/get', {}, { noAuth: true });
}
// ==================== 九、短信模块 ====================
/**
* 发送短信验证码
* @param {Object} data - {mobile: 手机号, event: 事件类型(register/resetpwd/changepwd)}
* @returns {Promise}
*/
export function sendSms(data) {
return request.post('sms/send', data, { noAuth: true });
}
// ==================== 十、设置模块 ====================
/**
* 获取协议内容
* @param {Object} params - {type: 类型(user/privacy/sale)}
* @returns {Promise}
*/
export function getAgreement(params) {
return request.get('setting/agreement', params, { noAuth: true });
}
/**
* 获取系统配置
* @returns {Promise}
*/
export function getSetting() {
return request.get('setting/index', {}, { noAuth: true });
}
// ==================== 十一、合同模块 ====================
/**
* 获取合同列表
* @returns {Promise}
*/
export function getContractList() {
return request.get('contract/list');
}
/**
* 获取合同详情
* @param {Number} id - 合同ID
* @returns {Promise}
*/
export function getContractDetail(id) {
return request.get('contract/detail', { id });
}
// ==================== 十二、奖品模块 ====================
/**
* 获取奖品列表
* @param {Object} params - {page: 页码, limit: 每页数量}
* @returns {Promise}
*/
export function getPrizeList(params) {
return request.get('prize/list', params);
}
// ==================== 十三、签名回调 ====================
/**
* 签名回调
* @param {Object} data - 签名数据
* @returns {Promise}
*/
export function signNotify(data) {
return request.post('notify/sign', data, { noAuth: true });
}
// ==================== 辅助函数 ====================
/**
* 通用上传文件
* @param {String} filePath - 文件路径
* @param {String} uploadUrl - 上传接口(可选,默认 upload/image
* @returns {Promise}
*/
export function uploadFile(filePath, uploadUrl = 'upload/image') {
return new Promise((resolve, reject) => {
const token = uni.getStorageSync('token');
uni.uploadFile({
url: request.baseUrl + uploadUrl,
filePath: filePath,
name: 'file',
header: {
'Authori-zation': 'Bearer ' + token
},
success: (uploadRes) => {
try {
const data = JSON.parse(uploadRes.data);
if (data.code === 0) {
resolve(data);
} else {
reject(data);
}
} catch (error) {
reject(error);
}
},
fail: (error) => {
reject(error);
}
});
});
}
export function uploadUserImage(filePath, pid, model = 'user') {
return new Promise((resolve, reject) => {
const token = uni.getStorageSync('token');
uni.uploadFile({
url: HTTP_REQUEST_URL + '/api/front/wa/user/image',
filePath,
name: 'multipart',
header: {
'Authori-zation': 'Bearer ' + token
},
formData: {
model,
pid
},
success: (res) => {
try {
const data = JSON.parse(res.data)
if (data.code === 0) resolve(data)
else reject(data)
} catch (e) {
reject(e)
}
},
fail: (err) => reject(err)
})
})
}
/**
* 批量导出所有API兼容旧代码
*/
export default {
// 用户认证
userLogin,
userRegister,
userInfo,
updateNickname,
changePassword,
resetPassword,
uploadAvatar,
// 商品
getGoodsCategory,
getGoodsList,
getGoodsDetail,
// 订单
getOrderIndex,
getOrderGoods,
buyGoods,
getOrderList,
getOrderDetail,
payOrder,
confirmOrder,
cancelOrder,
resellOrder,
getOrderCount,
// 地址
getAddressList,
getDefaultAddress,
addAddress,
updateAddress,
deleteAddress,
getAddressDetail,
// 财务
getMoneyList,
getWithdrawLog,
applyWithdraw,
// 支付方式
getAlipayInfo,
bindAlipay,
getBankInfo,
bindBank,
// 分享推广
getShareIndex,
getFansList,
// 首页
getBannerList,
getIndexConfig,
// 短信
sendSms,
// 设置
getAgreement,
getSetting,
// 合同
getContractList,
getContractDetail,
// 奖品
getPrizeList,
// 签名
signNotify,
// 工具
uploadFile,
uploadUserImage
};