feat(M10-A): 完成统一通知中心与投递闭环

This commit is contained in:
Codex
2026-08-11 09:17:18 +08:00
parent 41b9cf7349
commit 5d70114bab
46 changed files with 1724 additions and 74 deletions
+9
View File
@@ -98,6 +98,14 @@ MYSQL_DATABASE=<以项目实际数据库名为准>
- 直订回调当前统一使用 `X-Third-Party-Signature` HMAC-SHA256 入口;取得真实平台授权后由专用适配器按厂商协议替换,不得降低验签要求。
- 券码只保存 SHA-256 和脱敏显示值,不得写入日志、回调摘要或后台列表。
## 通知渠道网关
- 站内信无需外部配置;门店 Webhook 使用后台登记的 `notification_url`,只接受不含用户名和密码的 HTTPS 地址。
- 微信订阅消息、企业微信和云喇叭分别使用 `QIPAI_NOTIFICATION_WECHAT_GATEWAY_URL``QIPAI_NOTIFICATION_WECOM_GATEWAY_URL``QIPAI_NOTIFICATION_CLOUD_SPEAKER_GATEWAY_URL`;仅配置非空 HTTPS 网关的渠道才启用。
- 对应 Bearer 凭据使用同名前缀的 `*_GATEWAY_TOKEN`,真实值只写 `/etc/qipai/qipai.secrets` 或 Git 忽略的本地配置,不进入数据库、日志和前端包。
- `QIPAI_NOTIFICATION_HTTP_TIMEOUT_MS` 默认 10000,服务端限制为 100–60000 毫秒;每次请求携带投递 ID 和幂等键,非 2xx 响应进入有限指数退避,达到上限转为失败并等待人工补发。
- 微信订阅消息必须先由登录顾客写入明确授权;撤销授权或处于门店本地静默时段时只记录 `SUPPRESSED`,人工补发不能绕过授权或静默拦截。
## 配置加载优先级
1. `/etc/qipai/qipai.secrets`
@@ -121,4 +129,5 @@ MYSQL_DATABASE=<以项目实际数据库名为准>
- 2026-06-22M05-D 增加门店收款账户、`profitShareReceivers` 环境映射、分账授权状态和非生产 Mock 门禁。
- 2026-08-10:总纲升级为 V5.6;同步最新源码接管、M09-A-RECOVERY 完成证据和 M06-C-R1 固定执行游标,既有凭据与配置位置不变。
- 2026-08-11:总纲升级为 V5.7;增加中文 Git 提交门禁并将当前游标推进至 M09-D2,既有凭据与配置位置不变。
- 2026-08-11M10-A 增加通知渠道 HTTPS 网关、Bearer 凭据、超时、订阅授权、静默时段与有限重试配置;未登记任何真实渠道凭据。
- 2026-08-10M06-C-R1 增加门锁烟测 subtype 变量,确保实物 `CtrlDevice` 始终携带 14/15;未增加任何仓库内明文凭据。