Files
login_task_web/docs/需求文档.md
2025-08-24 15:47:51 +08:00

1.8 KiB
Raw Blame History

明白

  1. 二界面 URL 模板 我已把配置改成:域名/{codeNo}(文档已更新为 https://你的域名/{codeNo},按运行环境替换域名即可)。

  2. 关于 http://36.138.184.60:12345/编号/二维码.png 这个是“脚本端”暴露出来的静态图片地址——正常情况下会直接返回 PNG 图片。如果你在页面里看不到图,常见原因有:

  • 混合内容被拦截:你的前端如果是 HTTPS,而这张图是 HTTP,浏览器会拦截(安全策略)。 解决:给 36.138.184.60:12345HTTPS,或让后端提供一个 HTTPS 代理端点(例如:GET /api/link/{token}/qr.png)去转发这张图片,前端只请求自己的 HTTPS 域名即可。(我已在文档里加了这条注意事项)
  • 二维码尚未生成 / 已过期:脚本端还没把 二维码.png 写到对应 编号/ 目录,或已被轮转清理 → 会 404 或显示旧图。 解决:确保先触发“生成二维码”动作,并用返回的 createdAt/expireAt 做本地倒计时;必要时加 ?t=时间戳 防缓存。
  • 编号不匹配:前端用的 编号 与实际分配的机器编号不同。 解决:以后端返回的 machineId/编号 为准。
  • 端口/防火墙12345 端口未对外放通或临时不可达。 解决:主机/网关放行该端口并做健康检查。
  • 跨域非问题<img> 加载图片不受 CORS 限制,但若被混合内容拦截,同样会显示不出。

如果你愿意最省心的做法:我们在后端新增一个图片代理接口HTTPS前端统一拿这个接口的 URL当脚本端换 IP/端口或做 HTTPS这边都不用改前端。

需要的话我可以顺手把这个代理端点的 Spring Boot 代码骨架也给你(带缓存/超时/错误降级)。