yeg
2026-09-29 160e97a034e1b9fad4052d449da0eeecc9540e97
.scratch/server-testenv/README.md
@@ -86,6 +86,22 @@
  在那之前它仍是唯一的明文入口。
- `CORS_ALLOWED_ORIGINS` 里没有 `http://www.dqrcfwpt.com`(80 那条)——**已无关紧要**,因为 80 现在 301 到 https。
## 小程序体验版接入测试环境(2026-09-29)
**三处必须同时对,任一处不一致都表现为「请求失败」**:
| 位置 | 值 |
|---|---|
| 代码 | `rencaika/config/api.uts` 与 `rencaika_merchant/config/api.uts`:`apiEnvironment = 'staging'` + `stagingBaseUrl = 'https://www.dqrcfwpt.com:8081'` |
| 微信后台 → 开发管理 → 服务器域名 | request / uploadFile / downloadFile **都填** `https://www.dqrcfwpt.com:8081`;socket / udp / tcp **留空**(两个小程序零 WebSocket 用法,已 grep 确认) |
| 体验成员 | 「成员管理」里逐个加微信号;配额以后台实时提示为准 |
- **两个 appid 各配一遍**:人才端 `wxcfee477acb54d179`(后端 `app.wechat.mini-program.app-id` 与它一致)、商户端 `wx550e520ad19458ea`。
  ⚠️ `rencaika/manifest.json` 顶层还有一个 `wx6ae2cadae28fce1`,与 `mp-weixin` 段不一致 —— **要确认开发者工具里实际用的是哪个**;用错则与后端 appid 对不上,登录必失败。
- **已验证的服务端前提**:后端 → `api.weixin.qq.com:443` 可达;后端那对 appid/secret **有效**(已向微信换到 token);微信 IP 白名单**未挡**本机(否则会报 40164)。
- **切回 / 切生产**:本机联调把 `apiEnvironment` 改回 `'development'`;生产上线改 `'production'` 并填 `productionBaseUrl`,**且那时微信白名单要去掉端口**(微信规则:不配端口时请求 URL 也不能带端口)。
- **副带效果**:切到 `staging` 后,所有 `apiEnvironment == 'development'` 的开发期便利(假 talentId、演示数据、预览模式、跳过登录)自动关闭 —— 体验版必须真登录。
## 已知边界
- **收不到汇付回调**:非公网环境的既定事实与既定设计(`docs/adr/0004-active-query-is-authoritative.md`、