feat(subscribe): 明确「现场4位核销码」模板为可选(方案A),核销码随订单状态通知下发
- 后台第4项模板ID下方补充说明:留空即可,核销码已随「订单状态提醒」的温馨提示下发 - 测试推送下拉标注“(可选)”;未配置该类型时原因附带“可选”说明 - 文档明确 3 个必需模板 + 1 个可选模板 - 回归 87 套件/637 用例全绿
这个提交包含在:
@@ -645,6 +645,9 @@
|
||||
<a-col :span="12">
|
||||
<a-form-item label="4. 现场 4 位数字核销码签到提醒模板 ID">
|
||||
<a-input v-model="messageTemplateForm.valueJson.verifyCodeTemplateId" placeholder="例如:tmpl_verify_code_notice_04" />
|
||||
<div style="color: #86909c; font-size: 12px; line-height: 1.6; margin-top: 4px">
|
||||
(可选)留空即可:核销码已随「订单状态提醒」模板的"温馨提示"一并下发,无需单独建此模板。
|
||||
</div>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
@@ -703,7 +706,7 @@
|
||||
<a-option value="order_status">订单履约状态变动通知</a-option>
|
||||
<a-option value="activity_join">组局搭子成局/报名通知</a-option>
|
||||
<a-option value="withdraw_success">提现零钱打款到账通知</a-option>
|
||||
<a-option value="verify_code">现场 4 位核销码签到提醒</a-option>
|
||||
<a-option value="verify_code">现场 4 位核销码签到提醒(可选)</a-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
@@ -128,7 +128,7 @@ MYSQL_DATABASE=peiwan
|
||||
后台「平台配置与协议规则 → 微信服务通知与模板」维护:总开关 `enablePush` + 4 类模板ID(订单状态 / 组局报名 / 提现到账 / 核销码)。
|
||||
|
||||
接入说明:
|
||||
- **模板创建**:在微信公众平台「订阅消息」创建 4 个模板,把真实模板ID填入后台。各模板的字段(如 `phrase1`/`thing2`/`time3`/`character_string1`/`amount1`)**需与代码下发时的 data 键一致**(不一致会返回 47003 等错误,日志可见)。若你的模板字段名不同,把字段占位符发我,我按模板对齐 `data` 键。
|
||||
- **模板创建**:在微信公众平台「订阅消息」创建模板,把真实模板ID填入后台(**订单状态 / 提现到账 / 组局报名 这 3 个为必需;「现场4位核销码」为可选**——核销码已随「订单状态提醒」模板的"温馨提示"一并下发,无需单独建)。各模板的字段(如 `character_string1`/`phrase2`/`thing3`/`time2`/`amount2`)**需与代码下发时的 data 键一致**(不一致会返回 47003)。
|
||||
- **触发点**:① 订单进入"履约中"→ 给买家下发订单状态 + 4位核销码通知;② 组局报名成功 → 给报名者下发通知;③ 提现"打款成功"(受理/回调确认到账)→ 给提现大神下达到账通知。
|
||||
- **就绪条件**:`enablePush=1` + 对应模板ID已填(**不能是 `tmpl_xxx` 占位符**)+ 小程序 `appId/appSecret` 已配置 + 目标用户有 `openid` + 用户已授权该模板订阅。任一缺失即不下发。
|
||||
- **后台测试推送**:管理端"测试推送"在就绪时**真实下发**(`mode=REAL`);未就绪返回 `mode=SIMULATED` 并给出**明确原因**与**配置自检**(模板ID/openid/appId/appSecret/总开关),不再显示"发送成功"。
|
||||
|
||||
@@ -3896,7 +3896,7 @@ app.post('/api/admin/message/test-send', async (req: Request, res: Response) =>
|
||||
const reason = !enablePush
|
||||
? '订阅消息总开关未开启'
|
||||
: (!templateId
|
||||
? `未配置「${typeLabels[tKey] || tKey}」模板ID${rawTemplateId ? `(当前值为占位符 ${rawTemplateId})` : ''}`
|
||||
? `未配置「${typeLabels[tKey] || tKey}」模板ID${rawTemplateId ? `(当前值为占位符 ${rawTemplateId})` : ''}${tKey === 'verifyCode' ? '(该类型为可选:核销码已随「订单状态提醒」的温馨提示下发)' : ''}`
|
||||
: (!openid
|
||||
? `目标用户(ID=${targetUserId || 0})没有 wechat_openid(该用户需通过微信登录过小程序)`
|
||||
: '小程序 appId/appSecret 未配置'));
|
||||
|
||||
在新工单中引用
屏蔽一个用户