# 【修改接口·管理后台】H5 录入链接短链化——生成/列表出参新增 shortUrl + 公开短链跳转端点

> 服务:hl-fleet-service(8087/8187) + hl-user-service(8081/8181) | 分支:dev-v3 | PR:#3780 | 工单:#3779 | 已部署测试服并 5 项 E2E 实测通过(2026-06-12)
> 背景:阿里云短信模板的「链接参数」变量容不下 32 位 token 致重发短信拒发,wx 拍板短链解决;测试/正式域名按环境配置(Nacos 双键)。

## ⚠️ 关键说明(前端动作)

1. **§4.1 生成 / §4.6.5 重新生成 / §4.6.1 列表行 出参新增 `shortUrl`**(如 `https://web.test.1814.love:9443/s/umB0153d`,8 位短码):管理端「复制链接」建议优先复制 shortUrl(短信同款入口);**老数据行 shortUrl 可能为 null**(历史链接未补码,重发时后端自动懒补),为 null 时降级用 `url` 全链。
2. **H5 端零改动**:短链 302 跳回 `{H5页}?t={token}` 长链,H5 仍从 URL 读 `t` 调 init;无效短码跳 `?t=invalid`(init 渲染「链接无效」)。
3. **CSV 导出列不变**。
4. 重发短信的链路状态:fleet 已发 8 位 code 参数(send_log 实证),**待 wx 在阿里云控制台改模板 SMS_507390235**(固定 URL 换 /s/ 形式+变量 ${token}→${code})过审后短信即可真实出件;过渡期重发接口正常返回、短信渲染失败仅后台留痕。

## 1. 出参变更示例(实测)

`POST /admin/fleet/h5/token`

```json
{
  "pendingId": "2065430143865667585",
  "token": "32位长token...",
  "url": "https://hr.1814.love/driver-intake?t={token}",      // 全链(二维码/H5 直开用)
  "shortUrl": "https://web.test.1814.love:9443/s/umB0153d",   // 🆕 短链(短信同款,优先复制这个)
  "expireAt": "2026-06-19T21:45:00", "qrCodeUrl": "data:image/png;base64,..."
}
```

## 2. 新公开端点(无鉴权,前端无需对接,知悉即可)

`GET /s/{code}`(nginx)→`/app/h5/s/{code}`(网关):302 跳 onboard 长链;限流 30 次/60s 防枚举。
