diff --git a/changelogs/2026-05/28_fix_admin_phone_login_customizer_only_send_code.md b/changelogs/2026-05/28_fix_admin_phone_login_customizer_only_send_code.md new file mode 100644 index 0000000..2de4226 --- /dev/null +++ b/changelogs/2026-05/28_fix_admin_phone_login_customizer_only_send_code.md @@ -0,0 +1,40 @@ +# 【前端】管理端手机号登录: 非定制师发码直接报错告知,不再发短信 + +> **类型**: 后端接口契约调整(fix,后端已改并部署测试服验证通过) +> **服务**: hl-user-service +> **日期**: 2026-05-28 +> **影响范围**: 管理端登录页「手机号验证码登录」发码接口 `POST /admin/auth/sms/send-code` +> **归属**: 后端已修(PR #3194 → dev,#3197 同步 dev-v3),本条同步契约变化给前端(mmg) +> **状态**: 已部署测试服并验证通过 + +--- + +## 一、问题 + +手机号验证码登录仅对**定制师**开放(工单 #2918)。但之前: +- 非定制师 admin(运营/客服等)请求验证码时,**也会真收到短信**; +- 直到点登录那一步才被拒,且为防枚举返回的是「假装码错」的提示,**不告知真实原因**,用户一头雾水。 + +## 二、改动(后端已完成) + +发码接口 `POST /admin/auth/sms/send-code` 新增前置判断: + +| 手机号情况 | 调整前 | 调整后 | +|-----------|--------|--------| +| 绑定的是**非定制师** admin | 真发短信(登录步才静默拒) | **不发短信**,返回 `code=200107`,`message="短信验证码登录仅限定制师"` | +| 绑定的是**定制师** admin | 真发短信 | 不变,真发短信 | +| **未绑定**任何 admin | 静默返回 200(不真发) | 不变,静默返回 200 | + +## 三、前端建议 + +- 登录页调发码接口收到 `code=200107` 时,直接把后端 `message`(「短信验证码登录仅限定制师」)以 toast/提示展示给用户,**不要进入"已发送、请输入验证码"状态**。 +- 其余错误码不变:`200105` 发送过于频繁、`200106` 当日上限等照旧处理。 + +## 四、测试服实测(`POST /admin/auth/sms/send-code`) + +| 请求 mobile | code | message | 是否发短信 | +|-------------|------|---------|-----------| +| 非定制师 admin | 200107 | 短信验证码登录仅限定制师 | 否 | +| 未注册号码 | 200 | 成功 | 否(静默) | + +(用临时非定制师测试 admin 验证,验证后已清理,remain=0;未真发任何短信。)