fix(config): 占位凭证清理改为一次性(标记位保护),避免误清管理员填写的真实 AppID
- 历史占位 appId/appSecret 的清理由"每次启动执行"改为"仅首启执行一次",写入 wechat_pay_placeholder_cleaned 标记 - 此后即使管理员填写的 AppID 恰好等于旧占位值(本账真实 AppID),重启也不会被再次清空 - 「拉取小程序模板列表」缺凭证时错误提示改为可操作指引(指明填写位置) - 回归 87 套件/636 用例全绿;冒烟 5/5 验证 Phase A 首启清理、Phase B 重启保留
这个提交包含在:
@@ -3920,7 +3920,10 @@ app.get('/api/admin/message/templates', async (_req: Request, res: Response) =>
|
||||
try {
|
||||
const cfg = await resolveWechatPayRuntimeConfig();
|
||||
if (!cfg.appId || !cfg.appSecret) {
|
||||
return res.json({ code: 40000, message: '小程序 appId/appSecret 未配置' });
|
||||
return res.json({
|
||||
code: 40000,
|
||||
message: '小程序 AppID/AppSecret 未配置:请在后台「平台配置 → 微信支付商户配置」填写本小程序的 AppID 与 32 位 AppSecret(或设置环境变量 WX_APP_ID/WX_APP_SECRET),保存后重试',
|
||||
});
|
||||
}
|
||||
const accessToken = await getWechatAccessToken(cfg.appId, cfg.appSecret);
|
||||
const data = await wechatHttpGetJson(
|
||||
|
||||
在新工单中引用
屏蔽一个用户