Files
bj_power/bj_power_dashboard/src/config.ts
T

35 lines
1.6 KiB
TypeScript
Raw Normal View History

2026-08-28 15:06:01 +08:00
/**
* 全局配置: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 = '';
2026-08-28 15:06:01 +08:00
export const config = {
/** MES 后端基础地址;为空 = 同源(依赖网关 / vite proxy) */
2026-08-28 15:06:01 +08:00
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',
2026-08-28 15:06:01 +08:00
};
/** MES 看板数据接口(全量快照 + SSE 推送,结构一致) */
2026-08-28 15:06:01 +08:00
export const dashboardEndpoints = {
snapshot: '/api/internal/dashboard/snapshot',
stream: '/api/internal/dashboard/stream',
2026-08-28 15:06:01 +08:00
} as const;
/** 数据加载方式 */
export type DataMode = 'sse' | 'polling';