代码整合
This commit is contained in:
+5
-4
@@ -65,12 +65,13 @@ next/
|
||||
|
||||
### 状态管理
|
||||
|
||||
`stores/dashboard.ts` 是唯一业务状态入口,主要状态分为:
|
||||
`stores/dashboardStore.ts` 是唯一业务状态入口,主要状态分为:
|
||||
|
||||
- 筛选状态:`system`、`dimension`、`allowedSystems`。
|
||||
- 监控状态:集团或当前公司的 `monitoring`、`loading`、`error`。
|
||||
- 项目状态:`projectData`、`projectLoading`、`projectError`。
|
||||
- 穿透状态:`dialog`、`selectedMetric`、`metricAnalysis`、`metricLoading`。
|
||||
- 指标列表弹窗:集团和企业复用 `allMetrics`,使用率低于 70% 的指标显示红色告警卡片。
|
||||
- 动不动报告状态:`moveReport`、`moveReportLoading`、`moveReportError`。
|
||||
|
||||
集团和公司监控共用 `loadMonitoring`。新请求开始时会取消旧请求,并通过递增请求序号阻止旧响应覆盖最新筛选结果。项目详情和指标穿透分别使用独立 Action,避免页面组件自行维护请求状态。
|
||||
@@ -89,7 +90,7 @@ next/
|
||||
|
||||
集团监控接口要求查询字符串始终包含 `unitId=`,即使值为空也不能省略。`services/http.ts` 因此只过滤 `undefined`,显式空字符串会被保留。
|
||||
|
||||
`adapters/dashboard.ts` 负责兼容 PascalCase/camelCase 字段、非法数字、布尔字符串和空数组,并集中维护上线率口径:
|
||||
`adapters/dashboardAdapter.ts` 负责兼容 PascalCase/camelCase 字段、非法数字、布尔字符串和空数组,并集中维护上线率口径:
|
||||
|
||||
```text
|
||||
(已关联项目数 + 预立项项目数) / (主数据项目数 + 预立项项目数 - 申请不用项目数)
|
||||
@@ -108,7 +109,7 @@ next/
|
||||
### 安全与部署边界
|
||||
|
||||
- 浏览器只访问同源 `/qhse_webapi/`,由开发服务器或生产网关转发到正式接口。
|
||||
- 接口 token 固定在 `config/dashboard.ts`,由 `services/http.ts` 写入每个请求的 `token` 请求头。
|
||||
- 接口 token 固定在 `config/dashboardConfig.ts`,由 `services/http.ts` 写入每个请求的 `token` 请求头。
|
||||
- token 会进入浏览器构建产物,只适用于当前受控内网部署环境。
|
||||
- 生产环境仍需将 `/qhse_webapi/` 反向代理到 `https://qhse.cncecoa.com/qhse_webapi`,但无需在网关重复注入 token。
|
||||
- 网关应配置上游超时、请求 ID 透传、访问日志和 5xx 告警。
|
||||
@@ -143,7 +144,7 @@ npm run build
|
||||
|
||||
## 开发约定
|
||||
|
||||
- 新接口先在 `config/dashboard.ts` 注册,再通过 `services/http.ts` 请求。
|
||||
- 新接口先在 `config/dashboardConfig.ts` 注册,再通过 `services/http.ts` 请求。
|
||||
- 后端响应必须先经过 `adapters/`,页面不得直接依赖原始字段命名。
|
||||
- 跨页面状态进入 Pinia;仅组件内部使用的展示状态保留在组件中。
|
||||
- 通用展示提取到 `components/`,集团、公司、项目编排保留在 `views/`。
|
||||
|
||||
Reference in New Issue
Block a user