移动端接口文档.md 40 KB

会员管理模块移动端接口文档

模块名称:business-member
版本:3.0.1
更新日期:2026-01-24
基础路径/mobile/模块名/类名
适用端:APP、小程序、H5


一、接口规范

1.1 URL 格式规范

/mobile/模块名/类名/操作

说明

  • 模块名:业务模块标识,如 member
  • 类名:实体类名(驼峰命名),如 memberauth
  • 完整路径示例:/mobile/member/auth/loginByMobile

1.2 请求规范

项目 规范
Content-Type application/json;charset=UTF-8
Authorization Bearer {token}(登录后必传)
X-Device-Id 设备唯一标识(建议传递)
X-Platform 平台标识:APPMINIH5
X-Version 客户端版本号

1.3 响应格式

{
    "code": 200,
    "msg": "success",
    "data": {},
    "requestId": "链路追踪ID"
}

1.4 状态码说明

状态码 说明
200 成功
400 参数错误
401 未登录/Token过期
403 无权限
404 资源不存在
500 服务器错误
1001 验证码错误
1002 验证码已过期
1003 账号已被禁用
1004 账号不存在
1005 密码错误

二、登录认证接口(Auth)

模块路径/mobile/member/auth

2.1 发送短信验证码

接口地址POST /mobile/member/auth/sendSmsCode

请求参数

{
    "mobile": "13812345678",
    "scene": "LOGIN"
}
参数 类型 必填 说明
mobile String 手机号
scene String 场景:LOGIN-登录、REGISTER-注册、RESET_PWD-重置密码、BIND-绑定手机

响应示例

{
    "code": 200,
    "msg": "验证码已发送",
    "data": {
        "expireSeconds": 300
    },
    "requestId": "abc123"
}

2.2 手机验证码登录

接口地址POST /mobile/member/auth/loginByMobile

请求参数

{
    "mobile": "13812345678",
    "smsCode": "123456",
    "inviteCode": "ABC123",
    "deviceId": "device_xxx",
    "platform": "APP"
}
参数 类型 必填 说明
mobile String 手机号
smsCode String 短信验证码
inviteCode String 邀请码(新用户首次登录时可传)
deviceId String 设备ID
platform String 平台:APPMINIH5

响应示例

{
    "code": 200,
    "msg": "登录成功",
    "data": {
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
        "tokenType": "Bearer",
        "expiresIn": 604800,
        "refreshToken": "refresh_token_xxx",
        "isNewUser": false,
        "memberId": "1234567890",
        "memberNo": "M202601240001",
        "nickname": "用户昵称",
        "avatar": "https://xxx.com/avatar.jpg",
        "mobile": "138****5678"
    },
    "requestId": "abc123"
}

2.3 账号密码登录

接口地址POST /mobile/member/auth/loginByPassword

请求参数

{
    "account": "13812345678",
    "password": "加密后的密码",
    "deviceId": "device_xxx",
    "platform": "APP"
}
参数 类型 必填 说明
account String 账号(手机号/邮箱)
password String 密码(RSA加密后的密文)
deviceId String 设备ID
platform String 平台

响应示例

{
    "code": 200,
    "msg": "登录成功",
    "data": {
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
        "tokenType": "Bearer",
        "expiresIn": 604800,
        "refreshToken": "refresh_token_xxx",
        "memberId": "1234567890",
        "memberNo": "M202601240001",
        "nickname": "用户昵称",
        "avatar": "https://xxx.com/avatar.jpg",
        "mobile": "138****5678"
    },
    "requestId": "abc123"
}

2.4 微信登录(小程序)

接口地址POST /mobile/member/auth/loginByWechatMini

请求参数

{
    "code": "wx_code_xxx",
    "encryptedData": "加密数据",
    "iv": "初始向量",
    "inviteCode": "ABC123"
}
参数 类型 必填 说明
code String 微信登录code(wx.login获取)
encryptedData String 加密用户数据(获取手机号时需要)
iv String 加密初始向量
inviteCode String 邀请码

响应示例

{
    "code": 200,
    "msg": "登录成功",
    "data": {
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
        "tokenType": "Bearer",
        "expiresIn": 604800,
        "refreshToken": "refresh_token_xxx",
        "isNewUser": true,
        "needBindMobile": true,
        "memberId": "1234567890",
        "memberNo": "M202601240001",
        "nickname": "微信用户",
        "avatar": "https://xxx.com/avatar.jpg",
        "openid": "oXXXX"
    },
    "requestId": "abc123"
}

2.5 微信登录(APP)

接口地址POST /mobile/member/auth/loginByWechatApp

请求参数

{
    "code": "wx_oauth_code",
    "inviteCode": "ABC123"
}
参数 类型 必填 说明
code String 微信OAuth授权code
inviteCode String 邀请码

响应示例:同 2.4


2.6 微信公众号登录

接口地址POST /mobile/member/auth/loginByWechatMp

请求参数

{
    "code": "wx_oauth_code",
    "inviteCode": "ABC123"
}
参数 类型 必填 说明
code String 微信网页授权code
inviteCode String 邀请码

响应示例:同 2.4


2.7 支付宝登录

接口地址POST /mobile/member/auth/loginByAlipay

请求参数

{
    "authCode": "alipay_auth_code",
    "inviteCode": "ABC123"
}
参数 类型 必填 说明
authCode String 支付宝授权码
inviteCode String 邀请码

响应示例

{
    "code": 200,
    "msg": "登录成功",
    "data": {
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
        "tokenType": "Bearer",
        "expiresIn": 604800,
        "isNewUser": false,
        "needBindMobile": false,
        "memberId": "1234567890",
        "nickname": "支付宝用户",
        "avatar": "https://xxx.com/avatar.jpg"
    },
    "requestId": "abc123"
}

2.8 苹果登录(Sign in with Apple)

接口地址POST /mobile/member/auth/loginByApple

请求参数

{
    "identityToken": "apple_identity_token",
    "authorizationCode": "apple_auth_code",
    "fullName": {
        "familyName": "张",
        "givenName": "三"
    },
    "inviteCode": "ABC123"
}
参数 类型 必填 说明
identityToken String Apple Identity Token
authorizationCode String Apple Authorization Code
fullName Object 用户姓名(首次授权时返回)
inviteCode String 邀请码

响应示例:同 2.4


2.9 华为账号登录

接口地址POST /mobile/member/auth/loginByHuawei

请求参数

{
    "authCode": "huawei_auth_code",
    "inviteCode": "ABC123"
}
参数 类型 必填 说明
authCode String 华为授权码
inviteCode String 邀请码

响应示例:同 2.4


2.10 QQ登录

接口地址POST /mobile/member/auth/loginByQQ

请求参数

{
    "accessToken": "qq_access_token",
    "openId": "qq_openid",
    "inviteCode": "ABC123"
}
参数 类型 必填 说明
accessToken String QQ AccessToken
openId String QQ OpenID
inviteCode String 邀请码

响应示例:同 2.4


2.11 微博登录

接口地址POST /mobile/member/auth/loginByWeibo

请求参数

{
    "accessToken": "weibo_access_token",
    "uid": "weibo_uid",
    "inviteCode": "ABC123"
}
参数 类型 必填 说明
accessToken String 微博AccessToken
uid String 微博UID
inviteCode String 邀请码

响应示例:同 2.4


2.12 抖音登录

接口地址POST /mobile/member/auth/loginByDouyin

请求参数

{
    "code": "douyin_auth_code",
    "inviteCode": "ABC123"
}
参数 类型 必填 说明
code String 抖音授权码
inviteCode String 邀请码

响应示例:同 2.4


2.13 一键登录(本机号码)

接口地址POST /mobile/member/auth/loginByOneClick

请求参数

{
    "token": "运营商一键登录token",
    "operator": "CMCC",
    "inviteCode": "ABC123"
}
参数 类型 必填 说明
token String 运营商返回的token
operator String 运营商:CMCC-移动、CUCC-联通、CTCC-电信
inviteCode String 邀请码

响应示例:同 2.2


2.14 刷新Token

接口地址POST /mobile/member/userCenter/refreshToken

请求参数

{
    "refreshToken": "refresh_token_xxx"
}
参数 类型 必填 说明
refreshToken String 刷新令牌

响应示例

{
    "code": 200,
    "msg": "刷新成功",
    "data": {
        "token": "new_access_token",
        "tokenType": "Bearer",
        "expiresIn": 604800,
        "refreshToken": "new_refresh_token"
    },
    "requestId": "abc123"
}

2.15 退出登录

接口地址POST /mobile/member/userCenter/logout

请求头:需要 Authorization

响应示例

{
    "code": 200,
    "msg": "退出成功",
    "data": null,
    "requestId": "abc123"
}

2.16 注销账号

接口地址POST /mobile/member/userCenter/cancel

请求头:需要 Authorization

请求参数

{
    "smsCode": "123456",
    "reason": "不再使用"
}
参数 类型 必填 说明
smsCode String 短信验证码
reason String 注销原因

响应示例

{
    "code": 200,
    "msg": "账号已注销",
    "data": null,
    "requestId": "abc123"
}

2.17 绑定手机号

接口地址POST /mobile/member/auth/bindMobile

请求头:需要 Authorization

请求参数

{
    "mobile": "13812345678",
    "smsCode": "123456"
}
参数 类型 必填 说明
mobile String 手机号
smsCode String 短信验证码

响应示例

{
    "code": 200,
    "msg": "绑定成功",
    "data": {
        "mobile": "138****5678"
    },
    "requestId": "abc123"
}

2.18 修改密码

接口地址POST /mobile/member/userCenter/changePassword

请求头:需要 Authorization

请求参数

{
    "oldPassword": "加密后的旧密码",
    "newPassword": "加密后的新密码"
}
参数 类型 必填 说明
oldPassword String 旧密码(RSA加密)
newPassword String 新密码(RSA加密)

响应示例

{
    "code": 200,
    "msg": "密码修改成功",
    "data": null,
    "requestId": "abc123"
}

2.19 重置密码(忘记密码)

接口地址POST /mobile/member/auth/resetPassword

请求参数

{
    "mobile": "13812345678",
    "smsCode": "123456",
    "newPassword": "加密后的新密码"
}
参数 类型 必填 说明
mobile String 手机号
smsCode String 短信验证码
newPassword String 新密码(RSA加密)

响应示例

{
    "code": 200,
    "msg": "密码重置成功",
    "data": null,
    "requestId": "abc123"
}

2.20 获取加密公钥

接口地址GET /mobile/member/auth/publicKey

响应示例

{
    "code": 200,
    "msg": "success",
    "data": {
        "publicKey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQ..."
    },
    "requestId": "abc123"
}

三、会员信息接口(Member)

模块路径/mobile/member/member

3.1 获取当前会员信息

接口地址GET /mobile/member/member/info

请求头:需要 Authorization

响应示例

{
    "code": 200,
    "msg": "success",
    "data": {
        "memberId": "1234567890",
        "memberNo": "M202601240001",
        "nickname": "用户昵称",
        "realName": "张三",
        "avatar": "https://xxx.com/avatar.jpg",
        "gender": 1,
        "mobile": "138****5678",
        "email": "test@example.com",
        "birthday": "1990-01-15",
        "province": "广东省",
        "city": "深圳市",
        "district": "南山区",
        "levelCode": "GOLD",
        "levelName": "黄金会员",
        "levelIcon": "https://xxx.com/gold.png",
        "growthValue": 5680,
        "nextLevelName": "铂金会员",
        "nextLevelGrowth": 20000,
        "availablePoints": 1280,
        "balance": 150.00,
        "couponCount": 5,
        "isRealName": 1,
        "isCompleteProfile": 1,
        "inviteCode": "ABC123",
        "inviteCount": 12,
        "registerDate": "2026-01-15 10:30:00"
    },
    "requestId": "abc123"
}

3.2 更新会员信息

接口地址POST /mobile/member/member/update

请求头:需要 Authorization

请求参数

{
    "nickname": "新昵称",
    "avatar": "https://xxx.com/new_avatar.jpg",
    "gender": 1,
    "birthday": "1990-01-15",
    "province": "广东省",
    "city": "深圳市",
    "district": "南山区"
}
参数 类型 必填 说明
nickname String 昵称
avatar String 头像URL
gender Integer 性别:0-未知 1-男 2-女
birthday String 生日(yyyy-MM-dd)
province String 省份
city String 城市
district String 区县

响应示例

{
    "code": 200,
    "msg": "更新成功",
    "data": null,
    "requestId": "abc123"
}

3.3 实名认证

接口地址POST /mobile/member/member/realNameAuth

请求头:需要 Authorization

请求参数

{
    "realName": "张三",
    "idCard": "加密后的身份证号"
}
参数 类型 必填 说明
realName String 真实姓名
idCard String 身份证号(RSA加密)

响应示例

{
    "code": 200,
    "msg": "实名认证成功",
    "data": {
        "isRealName": 1
    },
    "requestId": "abc123"
}

3.4 获取会员等级详情

接口地址GET /mobile/member/member/levelInfo

请求头:需要 Authorization

响应示例

{
    "code": 200,
    "msg": "success",
    "data": {
        "currentLevel": {
            "levelCode": "GOLD",
            "levelName": "黄金会员",
            "levelIcon": "https://xxx.com/gold.png",
            "discountRate": 0.95,
            "pointsRate": 1.5,
            "privileges": ["95折优惠", "1.5倍积分", "生日200积分"]
        },
        "growthValue": 5680,
        "nextLevel": {
            "levelCode": "PLATINUM",
            "levelName": "铂金会员",
            "levelIcon": "https://xxx.com/platinum.png",
            "minGrowthValue": 20000,
            "remainGrowth": 14320
        },
        "allLevels": [
            {
                "levelCode": "NORMAL",
                "levelName": "普通会员",
                "minGrowthValue": 0
            },
            {
                "levelCode": "SILVER",
                "levelName": "白银会员",
                "minGrowthValue": 1000
            },
            {
                "levelCode": "GOLD",
                "levelName": "黄金会员",
                "minGrowthValue": 5000
            },
            {
                "levelCode": "PLATINUM",
                "levelName": "铂金会员",
                "minGrowthValue": 20000
            },
            {
                "levelCode": "DIAMOND",
                "levelName": "钻石会员",
                "minGrowthValue": 50000
            }
        ]
    },
    "requestId": "abc123"
}

3.5 获取邀请信息

接口地址GET /mobile/member/member/inviteInfo

请求头:需要 Authorization

响应示例

{
    "code": 200,
    "msg": "success",
    "data": {
        "inviteCode": "ABC123",
        "inviteUrl": "https://xxx.com/invite?code=ABC123",
        "inviteQrCode": "https://xxx.com/qrcode/ABC123.png",
        "inviteCount": 12,
        "inviteRewardPoints": 1200,
        "inviteRules": [
            "邀请好友注册成功,双方各获100积分",
            "被邀请人首单消费后,邀请人额外获200积分"
        ]
    },
    "requestId": "abc123"
}

3.6 获取邀请记录

接口地址POST /mobile/member/member/inviteList

请求头:需要 Authorization

请求参数

{
    "pageNo": 1,
    "pageSize": 10
}

响应示例

{
    "code": 200,
    "msg": "success",
    "data": {
        "pageNo": 1,
        "pageSize": 10,
        "totalCount": 12,
        "totalPage": 2,
        "list": [
            {
                "memberId": "xxx",
                "nickname": "被邀请人1",
                "avatar": "https://xxx.com/avatar1.jpg",
                "registerDate": "2026-01-20 15:30:00",
                "rewardPoints": 100,
                "hasFirstOrder": true
            }
        ]
    },
    "requestId": "abc123"
}

四、积分接口(Points)

模块路径/mobile/member/points

4.1 获取积分概览

接口地址GET /mobile/member/points/summary

请求头:需要 Authorization

响应示例

{
    "code": 200,
    "msg": "success",
    "data": {
        "availablePoints": 1280,
        "frozenPoints": 100,
        "totalPoints": 5680,
        "usedPoints": 4200,
        "expiredPoints": 100,
        "expiringSoonPoints": 200,
        "expiringSoonDate": "2026-03-31"
    },
    "requestId": "abc123"
}

4.2 获取积分流水

接口地址POST /mobile/member/points/list

请求头:需要 Authorization

请求参数

{
    "pageNo": 1,
    "pageSize": 10,
    "pointsType": 1,
    "startDate": "2026-01-01",
    "endDate": "2026-01-31"
}
参数 类型 必填 说明
pageNo Integer 页码
pageSize Integer 每页条数
pointsType Integer 积分类型:1-获取 2-消费
startDate String 开始日期
endDate String 结束日期

响应示例

{
    "code": 200,
    "msg": "success",
    "data": {
        "pageNo": 1,
        "pageSize": 10,
        "totalCount": 56,
        "totalPage": 6,
        "list": [
            {
                "id": "xxx",
                "pointsType": 1,
                "pointsTypeName": "获取",
                "points": 100,
                "bizType": "CONSUME",
                "bizTypeName": "消费获取",
                "bizDesc": "订单消费获得积分",
                "createDate": "2026-01-24 10:30:00"
            }
        ]
    },
    "requestId": "abc123"
}

4.3 签到

接口地址POST /mobile/member/points/signIn

请求方式POST(无请求体或空 JSON {} 均可)

请求头:需登录态(access_token / Authorization / satoken,与项目移动端鉴权一致)

业务说明

  • 同一会员同一自然日仅可成功签到一次;重复调用返回业务错误提示「今日已签到」。
  • 基础积分 10 分/天;连续签到达到 3 / 5 / 7 天及以上时,当日在基础分上额外奖励 10 / 50 / 90 分(按满足的最高档只计一次额外分,与 MemberSignInStreakBonusEnum 一致)。
  • 签到成功后写入表 app_member_sign_in_recordmember_id + sign_date 唯一),并通过 MemberService.addPoints 增加可用积分(biz_type = SIGN_IN)。

响应 data 字段

字段 类型 说明
points int 本次发放积分合计(基础+额外)
continuousDays int 当前连续签到天数(含今日)
totalSignDays int 历史累计签到天数(含今日)
todaySigned bool 成功后为 true
extraReward object 额外奖励;无额外分时 hasExtrafalse
extraReward.extraPoints int 额外积分(不含基础 10 分)
extraReward.reason string 奖励说明文案

响应示例

{
    "code": 200,
    "msg": "签到成功",
    "data": {
        "points": 60,
        "continuousDays": 5,
        "totalSignDays": 30,
        "todaySigned": true,
        "extraReward": {
            "hasExtra": true,
            "extraPoints": 50,
            "reason": "连续签到5天额外奖励"
        }
    },
    "requestId": "abc123"
}

常见错误msg 为「今日已签到」「会员不存在」等(HTTP 200,code 非 200 时以前端统一拦截为准)。


4.4 获取签到状态

接口地址GET /mobile/member/points/signInStatus

请求头:需登录态

响应 data 字段

字段 类型 说明
todaySigned bool 当日是否已签到
continuousDays int 已签:含今日的连续天数;未签:截至昨日的连续天数
totalSignDays int 累计签到天数
monthSignDays int[] 本月已签到的日号(1–31),用于日历打点
signRules array 展示用规则:连续天数门槛 day、该档当日可获得总积分 points(含基础分)

响应示例

{
    "code": 200,
    "msg": "success",
    "data": {
        "todaySigned": false,
        "continuousDays": 4,
        "totalSignDays": 29,
        "monthSignDays": [1, 2, 3, 5, 8, 10, 15, 20, 21, 22, 23],
        "signRules": [
            {"day": 1, "points": 10},
            {"day": 3, "points": 20},
            {"day": 5, "points": 60},
            {"day": 7, "points": 100}
        ]
    },
    "requestId": "abc123"
}

4.5 签到记录(分页)

接口地址POST /mobile/member/points/signInRecord/list

请求头:需登录态

请求体(可空,缺省时按第 1 页、默认每页条数):

{
    "pageNo": 1,
    "pageSize": 20
}

说明:仅返回当前登录会员的签到记录,按签到自然日倒序;请求体中的 memberId 若传入也会被忽略,以 Token 解析出的会员为准。

响应 data 字段(分页结构同框架 PageRespVO):

字段 类型 说明
total long 总条数
pageNo long 当前页
pageSize long 每页条数
records array 列表项

records[] 单项

字段 类型 说明
id string 记录主键
signDate string 签到自然日(yyyy-MM-dd
continuousDays int 截至当次连续签到天数
basePoints int 基础积分
bonusPoints int 连续签到额外积分
totalPoints int 本次发放积分合计

五、优惠券接口(Coupon)

模块路径/mobile/member/coupon

5.1 获取可领取优惠券列表

接口地址POST /mobile/member/coupon/available

请求参数

{
    "pageNo": 1,
    "pageSize": 10
}

响应示例

{
    "code": 200,
    "msg": "success",
    "data": {
        "pageNo": 1,
        "pageSize": 10,
        "totalCount": 5,
        "list": [
            {
                "templateId": "xxx",
                "couponName": "新人专享券",
                "couponType": 1,
                "couponTypeName": "满减券",
                "discountType": 1,
                "discountValue": 20.00,
                "minConsumeAmount": 100.00,
                "validStartDate": "2026-01-01",
                "validEndDate": "2026-03-31",
                "remainCount": 100,
                "isReceived": false,
                "perMemberLimit": 1,
                "receivedCount": 0
            }
        ]
    },
    "requestId": "abc123"
}

5.2 领取优惠券

接口地址POST /mobile/member/coupon/receive

请求头:需要 Authorization

请求参数

{
    "templateId": "xxx"
}
参数 类型 必填 说明
templateId String 优惠券模板ID

响应示例

{
    "code": 200,
    "msg": "领取成功",
    "data": {
        "couponId": "xxx",
        "couponSn": "COUPON202601240001",
        "couponName": "新人专享券",
        "validEndDate": "2026-03-31"
    },
    "requestId": "abc123"
}

5.3 获取我的优惠券列表

接口地址POST /mobile/member/coupon/my

请求头:需要 Authorization

请求参数

{
    "pageNo": 1,
    "pageSize": 10,
    "status": 0
}
参数 类型 必填 说明
pageNo Integer 页码
pageSize Integer 每页条数
status Integer 状态:0-未使用 1-已使用 2-已过期

响应示例

{
    "code": 200,
    "msg": "success",
    "data": {
        "pageNo": 1,
        "pageSize": 10,
        "totalCount": 5,
        "list": [
            {
                "couponId": "xxx",
                "couponSn": "COUPON202601240001",
                "couponName": "满100减20",
                "couponType": 1,
                "couponTypeName": "满减券",
                "discountType": 1,
                "discountValue": 20.00,
                "minConsumeAmount": 100.00,
                "validStartDate": "2026-01-01",
                "validEndDate": "2026-03-31",
                "status": 0,
                "statusName": "未使用",
                "useScope": 1,
                "useScopeName": "全场通用"
            }
        ]
    },
    "requestId": "abc123"
}

5.4 获取优惠券详情

接口地址GET /mobile/member/coupon/detail

请求头:需要 Authorization

请求参数

参数 类型 必填 说明
couponId String 优惠券ID

响应示例

{
    "code": 200,
    "msg": "success",
    "data": {
        "couponId": "xxx",
        "couponSn": "COUPON202601240001",
        "couponName": "满100减20",
        "couponType": 1,
        "discountValue": 20.00,
        "minConsumeAmount": 100.00,
        "validStartDate": "2026-01-01",
        "validEndDate": "2026-03-31",
        "status": 0,
        "useScope": 1,
        "description": "全场通用,不可与其他优惠叠加使用",
        "usePlatforms": ["APP", "MINI", "H5"]
    },
    "requestId": "abc123"
}

5.5 获取订单可用优惠券

接口地址POST /mobile/member/coupon/usable

请求头:需要 Authorization

请求参数

{
    "orderAmount": 200.00,
    "productIds": ["p001", "p002"],
    "categoryIds": ["c001"]
}
参数 类型 必填 说明
orderAmount Number 订单金额
productIds Array 商品ID列表
categoryIds Array 分类ID列表

响应示例

{
    "code": 200,
    "msg": "success",
    "data": {
        "usableCoupons": [
            {
                "couponId": "xxx",
                "couponName": "满100减20",
                "discountValue": 20.00,
                "minConsumeAmount": 100.00,
                "validEndDate": "2026-03-31"
            }
        ],
        "unusableCoupons": [
            {
                "couponId": "yyy",
                "couponName": "满500减100",
                "discountValue": 100.00,
                "minConsumeAmount": 500.00,
                "reason": "订单金额未满500元"
            }
        ]
    },
    "requestId": "abc123"
}

5.6 积分兑换优惠券

接口地址POST /mobile/member/coupon/exchange

请求头:需要 Authorization

请求参数

{
    "templateId": "xxx"
}
参数 类型 必填 说明
templateId String 优惠券模板ID

响应示例

{
    "code": 200,
    "msg": "兑换成功",
    "data": {
        "couponId": "xxx",
        "couponName": "50元无门槛券",
        "deductPoints": 500,
        "remainPoints": 780
    },
    "requestId": "abc123"
}

六、余额接口(Balance)

模块路径/mobile/member/balance

6.1 获取余额概览

接口地址GET /mobile/member/balance/summary

请求头:需要 Authorization

响应示例

{
    "code": 200,
    "msg": "success",
    "data": {
        "balance": 150.00,
        "frozenBalance": 0.00,
        "totalRecharge": 500.00,
        "totalConsume": 350.00
    },
    "requestId": "abc123"
}

6.2 获取余额流水

接口地址POST /mobile/member/balance/list

请求头:需要 Authorization

请求参数

{
    "pageNo": 1,
    "pageSize": 10,
    "balanceType": 1
}
参数 类型 必填 说明
pageNo Integer 页码
pageSize Integer 每页条数
balanceType Integer 变动类型:1-充值 2-消费 3-退款

响应示例

{
    "code": 200,
    "msg": "success",
    "data": {
        "pageNo": 1,
        "pageSize": 10,
        "totalCount": 20,
        "list": [
            {
                "id": "xxx",
                "balanceType": 1,
                "balanceTypeName": "充值",
                "amount": 100.00,
                "afterBalance": 150.00,
                "bizDesc": "余额充值",
                "createDate": "2026-01-24 10:30:00"
            }
        ]
    },
    "requestId": "abc123"
}

6.3 余额充值下单

接口地址POST /mobile/member/balance/recharge

请求头:需要 Authorization

请求参数

{
    "amount": 100.00,
    "payChannel": "WECHAT"
}
参数 类型 必填 说明
amount Number 充值金额
payChannel String 支付渠道:WECHAT-微信 ALIPAY-支付宝

响应示例

{
    "code": 200,
    "msg": "下单成功",
    "data": {
        "orderId": "xxx",
        "orderNo": "R202601240001",
        "amount": 100.00,
        "payParams": {
            "appId": "wx123456",
            "timeStamp": "1706083200",
            "nonceStr": "xxx",
            "package": "prepay_id=xxx",
            "signType": "RSA",
            "paySign": "xxx"
        }
    },
    "requestId": "abc123"
}

七、成长值接口(Growth)

模块路径/mobile/member/growth

7.1 获取成长值流水

接口地址POST /mobile/member/growth/list

请求头:需要 Authorization

请求参数

{
    "pageNo": 1,
    "pageSize": 10
}

响应示例

{
    "code": 200,
    "msg": "success",
    "data": {
        "pageNo": 1,
        "pageSize": 10,
        "totalCount": 30,
        "list": [
            {
                "id": "xxx",
                "growthType": 1,
                "growthTypeName": "获取",
                "growthValue": 100,
                "bizType": "CONSUME",
                "bizTypeName": "消费",
                "bizDesc": "订单消费获得成长值",
                "isUpgrade": false,
                "createDate": "2026-01-24 10:30:00"
            }
        ]
    },
    "requestId": "abc123"
}

八、消息通知接口(Message)

模块路径/mobile/member/message

8.1 获取消息列表

接口地址POST /mobile/member/message/list

请求头:需要 Authorization

请求参数

{
    "pageNo": 1,
    "pageSize": 10,
    "msgType": "SYSTEM"
}
参数 类型 必填 说明
pageNo Integer 页码
pageSize Integer 每页条数
msgType String 消息类型:SYSTEM-系统 ORDER-订单 ACTIVITY-活动

响应示例

{
    "code": 200,
    "msg": "success",
    "data": {
        "pageNo": 1,
        "pageSize": 10,
        "totalCount": 15,
        "list": [
            {
                "id": "xxx",
                "title": "积分到账通知",
                "content": "您获得100积分奖励",
                "msgType": "SYSTEM",
                "isRead": false,
                "createDate": "2026-01-24 10:30:00"
            }
        ]
    },
    "requestId": "abc123"
}

8.2 获取未读消息数

接口地址GET /mobile/member/message/unreadCount

请求头:需要 Authorization

响应示例

{
    "code": 200,
    "msg": "success",
    "data": {
        "total": 5,
        "system": 2,
        "order": 3,
        "activity": 0
    },
    "requestId": "abc123"
}

8.3 标记消息已读

接口地址POST /mobile/member/message/read

请求头:需要 Authorization

请求参数

{
    "messageIds": ["id1", "id2"]
}

响应示例

{
    "code": 200,
    "msg": "标记成功",
    "data": null,
    "requestId": "abc123"
}

8.4 全部标记已读

接口地址POST /mobile/member/message/readAll

请求头:需要 Authorization

请求参数

{
    "msgType": "SYSTEM"
}
参数 类型 必填 说明
msgType String 消息类型,不传则全部标记

响应示例

{
    "code": 200,
    "msg": "全部标记已读",
    "data": null,
    "requestId": "abc123"
}

九、接口地址速查表

说明:基础路径为 /mobile,完整示例:/mobile/member/auth/loginByMobile

9.1 登录认证(auth)

操作 方法 接口地址
发送验证码 POST /mobile/member/auth/sendSmsCode
手机验证码登录 POST /mobile/member/auth/loginByMobile
账号密码登录 POST /mobile/member/auth/loginByPassword
微信小程序登录 POST /mobile/member/auth/loginByWechatMini
微信APP登录 POST /mobile/member/auth/loginByWechatApp
微信公众号登录 POST /mobile/member/auth/loginByWechatMp
支付宝登录 POST /mobile/member/auth/loginByAlipay
苹果登录 POST /mobile/member/auth/loginByApple
华为登录 POST /mobile/member/auth/loginByHuawei
QQ登录 POST /mobile/member/auth/loginByQQ
微博登录 POST /mobile/member/auth/loginByWeibo
抖音登录 POST /mobile/member/auth/loginByDouyin
一键登录 POST /mobile/member/auth/loginByOneClick
刷新Token POST /mobile/member/userCenter/refreshToken
退出登录 POST /mobile/member/userCenter/logout
注销账号 POST /mobile/member/userCenter/cancel
绑定手机号 POST /mobile/member/auth/bindMobile
修改密码 POST /mobile/member/userCenter/changePassword
重置密码 POST /mobile/member/auth/resetPassword
获取加密公钥 GET /mobile/member/auth/publicKey

9.2 会员信息(member)

操作 方法 接口地址
获取会员信息 GET /mobile/member/member/info
更新会员信息 POST /mobile/member/member/update
实名认证 POST /mobile/member/member/realNameAuth
获取等级详情 GET /mobile/member/member/levelInfo
获取邀请信息 GET /mobile/member/member/inviteInfo
获取邀请记录 POST /mobile/member/member/inviteList

9.3 积分(points)

操作 方法 接口地址
获取积分概览 GET /mobile/member/points/summary
获取积分流水 POST /mobile/member/points/list
签到 POST /mobile/member/points/signIn
获取签到状态 GET /mobile/member/points/signInStatus
签到记录(分页) POST /mobile/member/points/signInRecord/list

9.4 优惠券(coupon)

操作 方法 接口地址
可领取优惠券列表 POST /mobile/member/coupon/available
领取优惠券 POST /mobile/member/coupon/receive
我的优惠券列表 POST /mobile/member/coupon/my
优惠券详情 GET /mobile/member/coupon/detail?couponId=xxx
订单可用优惠券 POST /mobile/member/coupon/usable
积分兑换优惠券 POST /mobile/member/coupon/exchange

9.5 余额(balance)

操作 方法 接口地址
获取余额概览 GET /mobile/member/balance/summary
获取余额流水 POST /mobile/member/balance/list
余额充值下单 POST /mobile/member/balance/recharge

9.6 成长值(growth)

操作 方法 接口地址
获取成长值流水 POST /mobile/member/growth/list

9.7 消息通知(message)

操作 方法 接口地址
获取消息列表 POST /mobile/member/message/list
获取未读消息数 GET /mobile/member/message/unreadCount
标记消息已读 POST /mobile/member/message/read
全部标记已读 POST /mobile/member/message/readAll

十、枚举值速查表

10.1 登录方式(loginType)

说明
MOBILE 手机验证码
PASSWORD 账号密码
WECHAT_MINI 微信小程序
WECHAT_APP 微信APP
WECHAT_MP 微信公众号
ALIPAY 支付宝
APPLE 苹果登录
HUAWEI 华为账号
QQ QQ登录
WEIBO 微博登录
DOUYIN 抖音登录
ONE_CLICK 一键登录

10.2 验证码场景(scene)

说明
LOGIN 登录
REGISTER 注册
RESET_PWD 重置密码
BIND 绑定手机

10.3 性别(gender)

说明
0 未知
1
2

10.4 会员等级(levelCode)

说明
NORMAL 普通会员
SILVER 白银会员
GOLD 黄金会员
PLATINUM 铂金会员
DIAMOND 钻石会员

10.5 积分类型(pointsType)

说明
1 获取
2 消费
3 冻结
4 解冻
5 过期
6 调整

10.6 优惠券状态(couponStatus)

说明
0 未使用
1 已使用
2 已过期
3 已冻结
4 已作废

10.7 优惠券类型(couponType)

说明
1 满减券
2 折扣券
3 无门槛券
4 兑换券

10.8 余额变动类型(balanceType)

说明
1 充值
2 消费
3 退款
4 冻结
5 解冻
6 提现
7 调整

10.9 支付渠道(payChannel)

说明
WECHAT 微信支付
ALIPAY 支付宝
BALANCE 余额支付
BANK 银行卡

10.10 消息类型(msgType)

说明
SYSTEM 系统消息
ORDER 订单消息
ACTIVITY 活动消息
POINTS 积分消息
COUPON 优惠券消息

10.11 平台标识(platform)

说明
APP 手机APP
MINI 微信小程序
H5 H5网页

十一、更新日志

版本 日期 更新内容
3.0.1 2026-01-24 初始版本,包含登录认证、会员信息、积分、优惠券、余额、成长值、消息通知接口