docs(前端通知): 司机自助录入发短信按钮应调resend端点真发短信(非复制链接)
wx 反馈应在页面直接发短信。后端 POST /admin/fleet/h5/tokens/{pendingId}/resend
早已存在且端到端验证过(真发到手机,收件人确认收到),走通知中心+阿里云SMS_508070093。
现状前端「发短信」只复制链接到剪贴板;前端把按钮接到 resend 端点即可,后端零改动。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
这个提交包含在:
父节点
e7467fc9bb
当前提交
1c5746a977
@ -0,0 +1,48 @@
|
|||||||
|
# 【前端调整·管理后台】司机自助录入「发短信」按钮应直接发短信(调 resend 端点),别只复制链接
|
||||||
|
|
||||||
|
> 端:hl-ui(车务 → 司机自助录入 → 新招专属链接卡片「发短信」按钮)| 服务:hl-fleet-service `H5TokenAdminController`(§4.6.4,端点早已存在)| **后端零改动,且已端到端验证过真发到手机** | wx 2026-06-15 反馈「应该在页面中直接发送短信」
|
||||||
|
|
||||||
|
## ⚠️ 关键说明:现状 vs 应该
|
||||||
|
|
||||||
|
- **现状**:点「发短信」只是**前端把短链复制到剪贴板**(toast「短链已复制,可粘贴到短信/微信发送」),还要人工再粘到短信里发。
|
||||||
|
- **应该**:点「发短信」**后端直接把入职短信发到司机手机**——这个能力后端早就有(走通知中心 + 阿里云 SMS_508070093,短信内含短链)。**上次已端到端验证:真发到 185****2756(18547062756),收件人确认收到。**
|
||||||
|
|
||||||
|
设计上 generate 只生成不发短信,「发短信」(=§4.6.4 重发端点) 才真发。所以前端把「发短信」按钮接到下面这个现成端点即可。
|
||||||
|
|
||||||
|
## 1. 前端要改什么
|
||||||
|
|
||||||
|
把「发短信」按钮的点击动作**从「复制到剪贴板」改成「调 resend 端点真发短信」**,发送成功后弹 toast(如「短信已发送至 185****2756」)。
|
||||||
|
|
||||||
|
- URL 旁那个独立的「复制」按钮**保留**(人工粘到微信用),只改「发短信」这一个按钮的行为。
|
||||||
|
|
||||||
|
## 2. 调这个现成端点(后端零改动)
|
||||||
|
|
||||||
|
| 项 | 内容 |
|
||||||
|
|---|---|
|
||||||
|
| 方法 + 路径 | `POST /admin/fleet/h5/tokens/{pendingId}/resend` |
|
||||||
|
| pendingId | 取自「生成 token」(`POST /admin/fleet/h5/token`) 或列表项的 `pendingId`(雪花,**字符串**透传) |
|
||||||
|
| body(可选) | `{"phone":"13800001111"}` 覆盖默认收件号;**不传则用该链接生成时录入的手机号**(新招生成时手机号已必填,正常不用传) |
|
||||||
|
| 出参 | `Result<SendOnboardLinkRespVO>`:成功返**脱敏收件号**(用于 toast);短信经通知中心 afterCommit 异步发,出参不回投递结果(到达由 notification_send_log 承载) |
|
||||||
|
| 可发状态 | 仅 `VALID_UNSUBMITTED`(有效·未提交)/ `REJECTED`(已驳回)可发;其它状态返 600308 |
|
||||||
|
| 网关 | `/admin/fleet/**` 已覆盖,无需改网关 |
|
||||||
|
|
||||||
|
## 3. 错误码(前端按 code 提示)
|
||||||
|
|
||||||
|
- **600307** 该链接无可用手机号 → 提示「请先补录手机号」(可弹输入框,把手机号塞进 body.phone 重试)
|
||||||
|
- **600308** 当前状态不可发送(已提交/已通过/已作废)→ 提示对应状态
|
||||||
|
- **600402** 记录不存在
|
||||||
|
- 401 未登录
|
||||||
|
|
||||||
|
## curl 实测(测试服网关 9443,真 admin token;截图那条链接就是可发状态)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 截图链接 token=5ce987cc... 对应 pendingId=2066367115152986113, status=VALID_UNSUBMITTED, phone=185****2756
|
||||||
|
curl -k -X POST "https://api.test.1814.love:9443/admin/fleet/h5/tokens/2066367115152986113/resend" \
|
||||||
|
-H "Authorization: Bearer <adminToken>" -H "Content-Type: application/json" -d '{}'
|
||||||
|
# → {"code":200,"success":true,"data":{... 脱敏收件号 ...}} 且司机手机真实收到入职短信(含短链)
|
||||||
|
# ⚠️ 联调注意: 这会真发一条短信(走阿里云,计费),请用你自己的测试号、别狂点
|
||||||
|
```
|
||||||
|
|
||||||
|
## 验收
|
||||||
|
|
||||||
|
点「发短信」→ 不再是复制提示,而是「短信已发送至 1xx****xxxx」;对应手机收到「【呼籁旅行】师傅您好,请点击完成司机入职信息录入:https://…/s/{码},N天内有效。」短信,点链接进司机入职登记表单。
|
||||||
正在加载...
x
在新工单中引用
屏蔽一个用户