# visionA Cloud Frontend — 環境變數範本 # # 複製一份為 `.env.local`,並依實際環境填入。 # `.env.local` 由 .gitignore 忽略,**切勿 commit**。 # # 所有 runtime 變數都以 `NEXT_PUBLIC_` 開頭(Next.js 要求前端可讀)。 # ⚠️ 因此不要放真正機密的值——這類值應走後端 API。 # 後端 API server base URL(不含 trailing slash) # 預設對應 visionA-backend 本地開發 port(TDD §1.4 api-server 預設 3001; # F5 雛形階段允許以 3721 對應 local-tool 既有後端,以方便整合測試) # # ⚠️ BFF Pattern(OF2 / Phase 0.6 OIDC 之後): # - 所有 API 請求帶 `credentials: 'include'`,瀏覽器會自動攜帶 backend 設的 # `visiona_session` HttpOnly cookie。 # - 跨 origin(本範例:frontend localhost:3000 ↔ backend localhost:3721)時, # backend CORS 必須回傳: # * `Access-Control-Allow-Credentials: true` # * `Access-Control-Allow-Origin: http://localhost:3000`(明確 origin,**禁止 `*`**) # - 上述條件任一不符 → 瀏覽器會在 console 報 CORS 錯誤、fetch 拋 NetworkError。 # - 同 origin 部署(prod 通常將 frontend / backend 放同網域)時無此限制。 NEXT_PUBLIC_API_BASE=http://localhost:3721 # WebSocket base URL(通常是 API base 改 ws/wss;同源部署時可留空讓前端自動推導) NEXT_PUBLIC_WS_BASE=ws://localhost:3721 # Innovedus Member Center 註冊頁 URL(Phase 0.6 OIDC 接入;對齊 oidc-tdd.md §10.1 / §10.5) # - login 頁的「前往註冊」連結會指向這裡(在新分頁開啟) # - register 頁的「前往 Innovedus 帳號中心」按鈕也會跳到這裡(同分頁完整導航) # - 未設定(或留空)→ 兩處 UI 均會 disable(aria-disabled="true") # - dev 預設指向 Member Center 本地 dev port 5050 NEXT_PUBLIC_MEMBER_CENTER_REGISTER_URL=http://localhost:5050/account/register # Innovedus Member Center profile 頁 URL(Phase 0.6 OIDC 接入;對齊 oidc-tdd.md §10.3) # - /account 頁「前往 Innovedus 帳號中心」按鈕會指向這裡(在新分頁開啟) # - 未設定(或留空)→ 按鈕會被替換為「未設定」hint # - dev 預設指向 Member Center 本地 dev port 5050 NEXT_PUBLIC_MEMBER_CENTER_PROFILE_URL=http://localhost:5050/account/profile