2.6 KiB
2.6 KiB
feat(登录): 小程序登录响应新增 isCustomizer 字段(后端用登录手机号校验定制师身份)
类型: feat(新增响应字段,向后兼容) 关联 PR: #3023(Closes #3022) 日期: 2026-05-26 影响接口:
POST /mp/user/login(微信登录) +POST /mp/user/login/sms(短信登录) 接收方: mmg 前端: 可选接入(老逻辑不受影响,新字段按需使用)
🎯 背景
登录成功后,前端需要知道「当前登录用户是不是定制师」,以决定是否展示「分享名片」等定制师专属入口。此前只能登录后再额外调一次 GET /mp/customizer/me。现在登录响应直接带上 isCustomizer 布尔值,省去这次额外请求。
📋 新增字段
两个登录接口的响应 data 中新增:
| 字段 | 类型 | 说明 |
|---|---|---|
isCustomizer |
boolean | 当前登录用户是否为定制师。true=是,false=否 |
判定规则(后端):用本次登录的手机号精确匹配后台 admin_user.mobile,且该后台账号 status=ACTIVE、并持有 CUSTOMIZER(定制师)角色 —— 三者全满足才为 true。
注意:微信登录用户若未授权手机号(后端拿不到 phone),isCustomizer 恒为 false。
📦 响应示例
{
"code": 200,
"message": "成功",
"success": true,
"data": {
"token": "...",
"accessToken": "...",
"refreshToken": "...",
"accessTokenExpiresIn": 15552000,
"refreshTokenExpiresIn": 31536000,
"userId": "2059102607587143681",
"nickname": "用户0001",
"avatar": null,
"phone": "139****0001",
"isNewUser": true,
"needProfile": false,
"isCustomizer": true
}
}
⚠️ 前端说明
isCustomizer为新增字段,纯增量,不影响任何已有字段,老前端无需改动即可继续工作。- 如需用「登录即知是否定制师」省掉一次
/mp/customizer/me,可直接读data.isCustomizer。 - 登录响应只给布尔值;若还需要定制师的 adminId / 姓名 / 头像,继续用
GET /mp/customizer/me(返回isCustomizer/adminId/customizerName/customizerAvatar)。需要的话可提需求把这几个字段也并进登录响应。
🔧 部署状态
测试服 hl-user-service + hl-mp-service 已部署最新 dev(双实例滚动)。
- 经测试服网关
POST /mp/user/login/sms实测:普通手机号登录响应已返回isCustomizer: false,字段已上线、序列化正常。 - 命中定制师返
isCustomizer: true已在本地全链路(网关→mp→user)+ 单元测试覆盖验证。