/**
|
* 接口定义文件(用户端小程序)
|
* 按业务模块分组,统一走 utils/request.js 封装
|
* 说明:小程序接口统一走独立前缀 /miniapp(用户端与服务商端共用),网关按二级段分发:
|
* /miniapp/auth/** -> ruoyi-auth 认证(登录/注册/验证码)
|
* /miniapp/account/** -> ruoyi-user 会员
|
* /miniapp/product/** -> ruoyi-product 商品/订单
|
* /miniapp/system/** -> ruoyi-system 系统信息
|
*/
|
import { get, post, put, del, uploadFile } from '@/utils/request.js'
|
|
// ======================== 认证相关 ========================
|
|
/**
|
* 用户登录
|
* @param {Object} data { username, password, code, uuid }
|
*/
|
export function login(data) {
|
return post('/miniapp/auth/login', data, { auth: false })
|
}
|
|
/**
|
* 手机号一键登录(微信手机号快速验证,凭证换取登录态)
|
* @param {Object} data { code } 手机号快速验证凭证
|
*/
|
export function phoneLogin(data) {
|
return post('/miniapp/auth/phone/login', data, { auth: false })
|
}
|
|
/**
|
* 手机号验证码登录(短信验证码)
|
* @param {Object} data { phone, code } 手机号 + 短信验证码
|
*/
|
export function phoneCodeLogin(data) {
|
return post('/miniapp/auth/phone/code-login', data, { auth: false })
|
}
|
|
/**
|
* 发送短信验证码
|
* @param {String} phone 手机号
|
* @param {String} [scene] 业务场景,register=注册 / login=验证码登录 / reset=重置密码,默认注册
|
* 说明:register 场景后端校验手机号未注册(已注册返回「手机号已注册,请前往登录」);
|
* login 场景后端校验手机号已注册(未注册返回「该手机号未注册,请先注册」)
|
*/
|
export function sendSmsCode(phone, scene = 'register') {
|
return post('/miniapp/auth/sms/code', { phone, scene }, { auth: false })
|
}
|
|
/**
|
* 用户注册(推荐码必填,无推荐码无法注册)
|
* @param {Object} data { phone, code, referralCode }
|
*/
|
export function register(data) {
|
return post('/miniapp/auth/account/register', data, { auth: false })
|
}
|
|
/**
|
* 退出登录
|
*/
|
export function logout() {
|
return post('/miniapp/auth/logout')
|
}
|
|
// ======================== 首页与商品 ========================
|
|
/**
|
* 获取首页内容(轮播、健康方案、推荐商品等)
|
*/
|
export function getHomeContent() {
|
return get('/miniapp/product/home/content')
|
}
|
|
/**
|
* 查询商品列表(分页,按当前会员等级返回对应等级价)
|
* @param {Object} params { pageNum, pageSize, categoryId, keyword }
|
*/
|
export function getProductList(params) {
|
return get('/miniapp/product/product/list', params)
|
}
|
|
/**
|
* 查询商品详情
|
* @param {String|Number} productId 商品 ID
|
*/
|
export function getProductDetail(productId) {
|
return get('/miniapp/product/product/' + productId)
|
}
|
|
/**
|
* 查询商品分类列表
|
*/
|
export function getCategoryList() {
|
return get('/miniapp/product/category/list')
|
}
|
|
// ======================== 会员中心 ========================
|
|
/**
|
* 查询会员基本信息与等级
|
*/
|
export function getMemberInfo() {
|
return get('/miniapp/account/user/info')
|
}
|
|
/**
|
* 查询会员虚拟库存(有进货/出售资格的用户)
|
*/
|
export function getMemberStock() {
|
return get('/miniapp/account/user/stock')
|
}
|
|
/**
|
* 上传头像文件到文件服务,返回 { data: { name, url } }
|
* 说明:走网关 /file/** -> ruoyi-file,需登录态(网关白名单不含 /file/upload)
|
* @param {String} filePath 本地临时文件路径(uni.chooseImage 返回)
|
*/
|
export function uploadAvatarFile(filePath) {
|
return uploadFile('/file/upload', filePath)
|
}
|
|
/**
|
* 更新当前登录会员头像(需登录态,userId 由网关注入,前端只传头像地址)
|
* @param {String} avatar 头像地址(来自 uploadAvatarFile 返回的 url)
|
*/
|
export function updateAvatar(avatar) {
|
return post('/miniapp/account/user/avatar', { avatar })
|
}
|
|
/**
|
* 查询当前会员实名认证状态(进入认证页回填资料与状态用)
|
* 返回 { realName, idCard, auditStatus, auditRemark }:
|
* auditStatus 0待审核 1已通过 2已驳回;为空表示从未提交
|
*/
|
export function getCertificationStatus() {
|
return get('/miniapp/account/user/certification')
|
}
|
|
/**
|
* 提交实名认证(个人主体,只做基础格式校验,不做三方实名核验)
|
* 说明:会员身份由网关注入,前端只传姓名与身份证号;提交后进入后台「主体认证审核」待审
|
* @param {String} realName 姓名
|
* @param {String} idCard 身份证号
|
*/
|
export function submitCertification(realName, idCard) {
|
return post('/miniapp/account/user/certification', { realName, idCard })
|
}
|
|
/**
|
* 查询当前会员企业/个体认证状态与资料(进入向导页回填用)
|
* 返回最近一次企业/个体申请快照(subject_type ∈ {2,3}):
|
* 21 个资料字段 + auditStatus(0待审核 1已通过 2已驳回,为空表示从未提交)+ auditRemark(驳回原因)
|
*/
|
export function getCompanyCertificationStatus() {
|
return get('/miniapp/account/user/company-certification')
|
}
|
|
/**
|
* 提交企业/个体认证(只做基础必填校验,不做格式/三方核验)
|
* 说明:会员身份由网关注入,前端不传 userId;提交后进入后台「主体认证审核」待审队列
|
* @param {Object} data 21 个字段(见 CompanyCertificationApplyDto),如 subjectType/companyName/licenseImage 等
|
*/
|
export function submitCompanyCertification(data) {
|
return post('/miniapp/account/user/company-certification', data)
|
}
|
|
// ======================== 我的邀请 ========================
|
|
/**
|
* 查询本人邀请码(「我的邀请」页邀请码 Tab)
|
* 返回 { referralCode }:邀请码注册时生成,C 端会员必有
|
*/
|
export function getInviteCode() {
|
return get('/miniapp/account/user/invite-code')
|
}
|
|
/**
|
* 查询本人邀请码小程序码(扫码直达注册页并自动填入邀请码)
|
* @param {String} code 邀请码(8 位 A-Z0-9),作为小程序码 scene
|
* 返回 { qrcode }:PNG 的 base64 DataURI(data:image/png;base64,...),可直接作为 image src
|
*/
|
export function getInviteQrcode(code) {
|
return get('/miniapp/auth/invite-qrcode', { code })
|
}
|
|
/**
|
* 查询我邀请的(直接下级)列表(分页,按绑定时间倒序)
|
* @param {Object} params { pageNum, pageSize }
|
* 说明:后端返回 TableDataInfo,数据在顶层 rows(非 data 包裹),总数为 total
|
*/
|
export function getInvitees(params) {
|
return get('/miniapp/account/user/invitees', params)
|
}
|
|
/**
|
* 查询邀请我的(上级/推荐人)信息
|
* 返回 { userId, nickname, avatar, phone, systemLevel, bindDate };无上级时各字段为 null
|
*/
|
export function getReferrer() {
|
return get('/miniapp/account/user/referrer')
|
}
|
|
// ======================== 收货地址 ========================
|
|
/**
|
* 查询本人收货地址列表(默认地址在前,不分页)
|
* 返回 data 为数组,元素含 id / consignee / consigneePhone / address / isDefault
|
*/
|
export function getAddressList() {
|
return get('/miniapp/account/user/addresses')
|
}
|
|
/**
|
* 查询单条收货地址详情(编辑页回填用)
|
* @param {String|Number} id 地址ID
|
*/
|
export function getAddressDetail(id) {
|
return get('/miniapp/account/user/addresses/' + id)
|
}
|
|
/**
|
* 新增收货地址(会员身份由网关注入,前端不传 userId)
|
* @param {Object} data { consignee, consigneePhone, address, isDefault }
|
*/
|
export function createAddress(data) {
|
return post('/miniapp/account/user/addresses', data)
|
}
|
|
/**
|
* 编辑收货地址(会员身份由网关注入)
|
* @param {Object} data { id, consignee, consigneePhone, address, isDefault }
|
*/
|
export function updateAddress(data) {
|
return put('/miniapp/account/user/addresses', data)
|
}
|
|
/**
|
* 删除收货地址(后端校验归属)
|
* @param {String|Number} id 地址ID
|
*/
|
export function deleteAddress(id) {
|
return del('/miniapp/account/user/addresses/' + id)
|
}
|
|
// ======================== 系统信息 ========================
|
|
/**
|
* 查询联系方式(「联系我们」页回填用)
|
* 返回 data 含 { cityHotline, partnerRecruit },未配置时对应字段为 null
|
*/
|
export function getContactInfo() {
|
return get('/miniapp/system/contact-info')
|
}
|
|
// ======================== 订单相关 ========================
|
|
/**
|
* 提交订单(普通购买 / 会员进货)
|
* @param {Object} data { items, addressId, type }
|
*/
|
export function createOrder(data) {
|
return post('/miniapp/product/order', data)
|
}
|
|
/**
|
* 查询订单列表(分页)
|
* @param {Object} params { pageNum, pageSize, status }
|
*/
|
export function getOrderList(params) {
|
return get('/miniapp/product/order/list', params)
|
}
|