app.config.js 1.4 KB

123456789101112131415161718192021222324252627282930313233
  1. /**
  2. * app.config.js —— 全应用唯一配置点(零构建下的 config)。
  3. *
  4. * 规则:这里只有**公开可读标识**(Parse App ID)。任何服务端密钥都不得出现在 src/ 下,
  5. * 验收脚本 scripts/check.mjs 会按 .credentials 里的真实值逐条比对。
  6. *
  7. * Parse 数据源默认同源 `/parse`(走站点代理,免 CORS);本地预览时用 `?parse=<url>` 覆盖,
  8. * 或由 src/dev/serve.mjs 注入 window.__KF_PARSE_BASE__(仅本地,生产构建里没有这个文件)。
  9. */
  10. const LOCAL_OVERRIDE =
  11. (typeof window !== 'undefined' && window.__KF_PARSE_BASE__) ||
  12. (typeof window !== 'undefined' && new URLSearchParams(location.search).get('parse')) ||
  13. '';
  14. export const CONFIG = Object.freeze({
  15. parseBase: String(LOCAL_OVERRIDE || '/parse').replace(/\/+$/, ''),
  16. appId: 'FKieRbIoGt_main',
  17. functionsUrl: 'https://kangshifu.fmode.cn/api/functions',
  18. classes: Object.freeze({
  19. project: 'KfProject',
  20. artifact: 'KfArtifact',
  21. insight: 'KfInsight',
  22. source: 'KfSource',
  23. session: 'KfSession',
  24. opportunity: 'KfOpportunity',
  25. }),
  26. /** 单次取数上限;超过时页面明确提示被截断,不悄悄少显示 */
  27. pageLimit: 1000,
  28. /** 现场看板轮询间隔(毫秒);0 = 关闭 */
  29. refreshMs: 30000,
  30. /** 卡住判定:会话里 ≥ minMsgs 条消息、且超过 stuckHours 小时没有新成果 */
  31. stuck: Object.freeze({ minMsgs: 5, stuckHours: 8 }),
  32. });