/** * 全局配置:MES 地址、内部 API Token、轮询间隔、是否使用演示数据。 * * - MES 地址优先取环境变量 VITE_MES_BASE_URL,其次取此处的默认常量。 * - 内部鉴权 Token 统一为 Hardman_2026,请求头 X-API-TOKEN。 * - VITE_USE_MOCK 未显式设为 'false' 时默认开启演示数据,保证无 MES 时页面可展示、不空白。 */ // MES 实际端口为 8888(见 etc/bj_power_mes-api.yaml),早期写成 8000 导致永远连不上。 // 默认走同源 /api(开发环境由 vite proxy 转发到 8888), // 生产环境请用 VITE_MES_BASE_URL 指向实际后端,避免跨域。 const DEFAULT_MES_BASE_URL = ''; export const config = { /** MES 后端基础地址;为空 = 同源(依赖网关 / vite proxy) */ mesBaseUrl: import.meta.env.VITE_MES_BASE_URL || DEFAULT_MES_BASE_URL, /** 内部服务间鉴权 Token(请求头 X-API-TOKEN) */ internalToken: 'Hardman_2026', /** SSE 失效时降级为 HTTP 轮询的间隔(毫秒) */ pollIntervalMs: 10_000, /** * 强制演示模式:为 true 时完全不连 MES,直接用演示数据。 * 用于离线开发 / 现场无 MES 的场景。 * 默认 false —— 优先真实数据,真实数据为空时再自动降级演示(避免大屏全是 0)。 */ forceDemo: import.meta.env.VITE_USE_MOCK === 'true', }; /** MES 看板数据接口(全量快照 + SSE 推送,结构一致) */ export const dashboardEndpoints = { snapshot: '/api/internal/dashboard/snapshot', stream: '/api/internal/dashboard/stream', } as const; /** 数据加载方式 */ export type DataMode = 'sse' | 'polling';