重置项目上下文与规范文档

This commit is contained in:
2026-08-07 16:18:07 +08:00
parent 6611ca5226
commit 79e2d9ff92
1900 changed files with 1552 additions and 348365 deletions

View File

@@ -0,0 +1,28 @@
# 短信网关接入契约
## 元数据
- Owner通知适配维护人
- 实现:`pkg/sms/`
- 协议版本:渠道 SMS HTTP 1.6;仓库仅保留当前实现所需字段摘要
- 核验日期2026-08-07
## 当前实际使用范围
系统使用 `POST <gateway_url>/sms/api/sendMessageMass` 批量发送短信;未发现状态回执查询或上行短信处理。
## 配置、认证与字段
配置键为 `sms.gateway_url``sms.username``sms.password``sms.signature``sms.timeout`。默认配置超时为 10 秒,运行配置可覆盖。客户端把短信签名拼在正文前,提交 `userName``content``phoneList`、毫秒时间戳和 `sign`。签名算法为小写 `MD5(username + timestamp + MD5(password))`
响应关键字段为 `code``message``msgId``smsCount`;只有代码中定义的 `CodeSuccess` 才视为提交成功,其他状态转换为 `SMSError` 并保留渠道码。
## 幂等、重试与安全
客户端不自动重试,也不生成业务幂等键;调用方需以通知业务标识防重,并在网络结果不确定时先判断是否允许重发。密码、签名原文、完整手机号列表和完整正文不得记录;当前实现只输出手机号列表和最多 50 个字符的内容预览,部署侧仍需日志脱敏。
## 验证
可复现静态证据:`pkg/sms/client.go``pkg/sms/types.go``pkg/config/config.go`。真实验收需使用测试号码核对单条/批量、错误签名、超时和重复发送;本次 Context 重建不发送真实短信。
协议版本、端点、认证、字段、成功码或重试语义变化时更新本文。