All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 9m25s
商户池变更把授权完整性实现为公众号与小程序四项凭证都必填, 生产只用公众号 H5、未配置小程序,迁移后授权表为空会导致 C 端微信登录与支付全部失败,后台也无法补建。 - SaveAuthorization 启用时只校验公众号 AppID/AppSecret; 小程序选填,但 AppID 与 AppSecret 须同时填写或同时留空 - 新增迁移 000240:无授权配置且唯一生效综合配置公众号凭证 完整时补建启用授权配置;down 不删除数据 - 新增 OpenSpec Change allow-wechat-authorization-without-miniapp Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
27 lines
1.9 KiB
Markdown
27 lines
1.9 KiB
Markdown
## Why
|
||
|
||
商户池变更(`add-payment-merchant-pools`)把公众号与小程序参数拆入独立的微信授权配置,并把“授权字段完整”实现为公众号与小程序四项凭证都必填:迁移 `000210` 只在四项齐全时复制授权,后台保存也要求四项齐全。8 月之前小程序一直是选填项。生产只使用公众号 H5、从未配置小程序(2026-10-19 只读核查),迁移后授权表为空,C 端微信登录、OpenID、JSSDK 与微信支付 AppID 会全部返回“微信授权未配置”,后台也无法补建。
|
||
|
||
## What Changes
|
||
|
||
- 后台保存微信授权配置:启用时只要求公众号 AppID 与 AppSecret;小程序 AppID 与 AppSecret 选填,但必须同时填写或同时留空。
|
||
- 新增成对迁移 `000240`:尚无未删除的授权配置、存在唯一当前生效综合支付配置且其公众号凭证完整时,补建一条启用的授权配置(小程序字段按原值复制,可以为空);down 不删除数据。
|
||
- 未配置小程序时,小程序登录与小程序支付沿用现有判定,明确返回配置不可用;公众号相关功能不受影响。
|
||
|
||
## Capabilities
|
||
|
||
### New Capabilities
|
||
|
||
无。
|
||
|
||
### Modified Capabilities
|
||
|
||
- `merchant-payment-routing`:微信授权配置启用条件改为公众号必填、小程序选填;上线迁移按公众号凭证完整性创建授权配置。
|
||
|
||
## Impact
|
||
|
||
- 代码:`internal/application/merchantpayment/management.go`(`SaveAuthorization` 校验)。
|
||
- 数据库:新增 `migrations/000240_backfill_wechat_authorization_oa_only.{up,down}.sql`,只插入数据,不改 Schema;测试环境已有授权配置,执行后无变化;生产执行 `000210` 后补建一条只含公众号的授权配置。
|
||
- 接口:请求与响应结构不变,仅保存校验与错误文案变化。
|
||
- 回滚:覆盖二进制安全;补建的授权配置保留,可在后台停用或编辑。
|