# 【前端】管理端手机号登录: 非定制师发码直接报错告知,不再发短信

> **类型**: 后端接口契约调整(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;未真发任何短信。)
