.env.production 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. # 生产环境(npm run build --mode production)。开发见 .env.development。
  2. #
  3. # 分区(与 .env.development 对齐):① 构建信息 ② 接口地址(进产物) ③ 云服务的同源路径
  4. # ⚠️ 生产**没有** vite 代理(`server.proxy` 只对 `npm run dev` 生效,`npm run preview` 会复用同一份,
  5. # 容易误判"生产已通")—— 下面这些同源路径**都要由部署侧 nginx 转发**,见各条注释。
  6. # 字段含义与「谁在读」见 harness/docs/architecture.md 的「环境变量」表。
  7. # ── ① 构建信息 ──────────────────────────────────────────────
  8. VITE_VERSION=${npm_package_version}
  9. # ── ② 接口地址(会进产物)────────────────────────────────────
  10. # 主业务 API 网关(企业登录 / 企业信息)
  11. VITE_API="//qingpu-data-api.metamaker.cn"
  12. # 政策库的"远端"—— DMS 文件服务里的那份(同 dev,见 .env.development 的说明)。
  13. # ⚠️ 生产要能用它,需要两件事(与技术债 #9 同源):① `VITE_DMS_API` 配好(下面 ③);
  14. # ② nginx 把 `/dms/` 转发到 DMS 主机(2026-09-29 起**直通、不再补前缀**)。
  15. # 取不到就自动退回随包发布的本地副本(`/merchant-agent/policies_public.v2.json`),功能不受影响。
  16. VITE_POLICY_REMOTE_URL="/dms/static/file/1889-c_question-83859739-17d2-4b7f-b427-7ee27e098e79.json"
  17. # 嵌入 iframe 时父页面的 origin(index.html 的 postMessage 目标;**不要写成 '*'**)
  18. VITE_PARENT_ORIGIN='https://aixq.shqp.gov.cn/'
  19. # 新版聊天协议后端(POST /api/chat,SSE),直连模式
  20. # ⚠️ 生产部署时请改为实际后端地址(当前仍指向内网测试机,见技术债 #11)
  21. VITE_CHAT_API="http://192.168.2.23:8000"
  22. # 跳转映射(`redirect.html` 用:`?redirect=<key>` → 目标地址)。
  23. # **不能删**:缺了它 redirect.html 里的 `%VITE_REDIRECT_MAP%` 会原样留下、页面脚本直接语法错误
  24. # (⚠️ 本项只有生产有,dev 缺 → 本地打开 `/redirect.html` 会是语法错误页;登录链不受影响)
  25. # 值里的 `#` 必须写成 `%23`(.env 里 `#` 是注释符),页面里会还原。
  26. VITE_REDIRECT_MAP={"demo":"https://demo.heijingai.com/FTA-c2p/%23/overview","zhaoshang":"https://demo.heijingai.com/policy-application/%23/"}
  27. # ── ③ 同源路径(都需 nginx 转发;2026-09-29 起前缀与服务真实路径对齐)──
  28. # /api/** → http://121.43.55.7:10011(**剥掉 /api**:网关真实路径是 /proxy/verify/…)
  29. # /dms/** → http://121.43.55.7:10081(**直通**:DMS 真实路径就带 /dms,并注入 token 头)
  30. # (聊天后端 VITE_CHAT_API 上面是绝对地址;若要改成同源,另配一条 nginx 规则)
  31. #
  32. # 取本机 IP 的接口(DMS 访客归属:访客_<IP>,见 src/utils/client-ip.ts)
  33. # ⚠️ 它只有 HTTP,页面是 HTTPS —— 生产**必须由 nginx 转发 /api/ 到 121.43.55.7:10011(去前缀)**,
  34. # 否则请求会被浏览器按混合内容拦掉
  35. # (拦掉不致命:拿不到 IP 会退回 访客_<浏览器随机 id>,只是访客归属不稳定)
  36. VITE_IP_API="/api"
  37. # 未登录访客换 DMS token 的登录端点(**同源路径**)
  38. # ⚠️ 生产**必须由 nginx 把 `/oauth/` 直通到 http://121.43.55.7:10086**(无需改前缀),
  39. # 否则未登录访客换不到 token ⇒ DMS 读写全失败
  40. VITE_OAUTH_LOGIN_URL="/oauth/api/user/login"
  41. # 阿里云 NLS 的 token 端点(实时语音识别)—— 后端网关提供,同源路径(与取 IP 同一台机器)
  42. # ⚠️ 生产同样由 nginx 转发 `/api/`(去前缀)—— NLS token 与取 IP **共用这一条**(2026-09-29 合并)
  43. VITE_NLS_TOKEN_API="/api/proxy/verify/getALYToken"
  44. # DMS 数据服务(会话/问答记录/反馈,由代理/nginx 注入 token 头)
  45. VITE_DMS_API="/dms"
  46. # ✅ NLS 的 appkey:**已内置进代码**(`src/utils/runtime-config.ts` 的 `NLS_APPKEY_BUILTIN`,
  47. # 用户 2026-09-28 要求)⇒ **生产不再需要部署侧注入**,语音识别开箱可用。
  48. # 如临时要换:设 `VITE_NLS_APPKEY`(env / 或 index.html 注入 globalThis)即可覆盖内置值。
  49. # ── 已删(留说明,别再加回来)────────────────────────────────
  50. # [已删] VITE_DOWNLOAD_URL="/api/download/"(政策库 json 的下载前缀)——
  51. # 2026-09-28 用户确认删除:**全仓库没有任何读者**(index.html 的本地兜底早已写死
  52. # `/merchant-agent/policies_public.v2.json`),生产侧 nginx 也就不再需要转发 `/api/download/`。