在配置禾匠小程序时,域名约束主要涉及以下核心环节,请依次排查:
1. **微信公众平台域名白名单**
- 登录微信公众平台 → 开发管理 → 开发设置
- 需在「服务器域名」中完整配置:
request合法域名:`https://您的新域名`
uploadFile合法域名:`https://您的新域名`
downloadFile合法域名:`https://您的新域名`
- 业务域名需添加 `https://您的新域名/plugin路径`
2. **禾匠后台系统配置**
- 进入禾匠管理端 → 系统设置 → 站点配置
- 检查「小程序接口域名」是否已更新为新域名
- 特别注意:此处域名必须与微信后台配置的request域名完全一致(含https协议头)
3. **Discuz! 服务端验证**
- 检查新域名是否已完成:
- ICP备案(微信强制要求)
- SSL证书部署(必须支持TLS1.2+)
- 服务器防火墙开放443端口
- 验证方法:浏览器直接访问 `https://新域名/api路径` 看是否返回正常JSON数据
4. **商户ID绑定校验**
- 出现"商户不存在"的典型故障点:
- 小程序AppID与禾匠后台绑定的不一致
- 未在`/data/config/wechat.php`中更新商户mch_id
- 支付证书路径未修改为新域名的绝对路径
5. **DNS生效验证**
- 执行 `nslookup 新域名` 确认解析已生效
- 建议TTL设置为600秒以下加速全球生效
6. **跨域配置强化(重要)**
在Nginx配置中添加:
- add_header Access-Control-Allow-Origin *;
- add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
- add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
复制代码
完成上述步骤后,建议:
1. 清除微信开发者工具缓存(菜单栏 → 工具 → 清除缓存 → 全部勾选)
2. 重启nginx服务:`service nginx reload`
3. 在禾匠后台执行「配置强制刷新」操作
若仍出现异常,可通过以下方式获取实时日志:
- tail -f /path/to/小程序日志目录/$(date +%Y%m%d).log
复制代码
观察具体报错代码段,可进一步分析证书签名、接口鉴权等深度问题。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。 |