yeg
2026-09-14 d7ea23ab5de44dc7c84a0cde255abd91981c8512
refs
用户 yeg <1347747024@qq.com>
星期一, 九月 14, 2026 20:45 +0800
提交者 yeg <1347747024@qq.com>
星期一, 九月 14, 2026 20:45 +0800
提交d7ea23ab5de44dc7c84a0cde255abd91981c8512
目录 71126a0beb6fe56f5f6fec3228ec118d47d178e4 目录 | zip | gz
parent 7dfc5b78d616eef0e263c177f41858c8d95880a5 查看 | 对比
fix(cors): 放行本机任意调试端口,并修正两个小程序的服务端地址

小程序登录不上,是两层问题叠在一起。

一、服务端地址指向了另一台机器
rencaika/config/api.uts 与 rencaika_merchant/config/api.uts 里 developmentBaseUrl 都还是
http://192.168.110.26:8080,而本机 WLAN 地址已经变成 192.168.110.15(文件注释里其实已经
写明"原值 192.168.110.26 不是本机")。请求因此发到一台不存在的机器上,表现为"登录不上"。

二、CORS 白名单漏了随机端口
微信开发者工具这个请求的来源是 http://127.0.0.1:42665,而白名单里只有写死的
5273/7893/7894 等端口。开发者工具每次启动都换端口,写死端口必然漏;预检实测返回 403
且响应里没有 Access-Control-Allow-Origin。

改动:
- ApiCorsConfig 改为「精确白名单 + origin 通配」两层:真实域名继续走
app.cors.allowed-origins 精确匹配;本机调试来源用新增的
app.cors.allowed-origin-patterns(http://localhost:[*] 与 http://127.0.0.1:[*])
覆盖任意端口,不再逐个追端口。
- 通配只覆盖 localhost / 127.0.0.1,不对公网来源开口子(新增用例断言外部域名仍被拒)。
- 两个 api.uts 的 developmentBaseUrl 改为当前局域网地址,并把"换网后要跟着改"写清楚。

新增 LoosenedDevelopmentCorsTests 4 项(随机端口放行、精确白名单仍生效、公网来源仍拒绝),
连同既有 ApiCorsConfigTests 共 10 项通过。
1个文件已添加
4个文件已修改
141 ■■■■■ 已修改文件
rencaika/config/api.uts 5 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
rencaika_merchant/config/api.uts 7 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/java/com/talentcard/server/config/ApiCorsConfig.java 14 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/resources/application.yml 6 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/test/java/com/talentcard/server/config/LoosenedDevelopmentCorsTests.java 109 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史