| New file |
| | |
| | | # 前端开发规则 |
| | | |
| | | 本文件适用于 `batteryDetection-web`。同时遵守父目录 `AGENTS.md` 的项目不变量。 |
| | | |
| | | ## 状态所有权 |
| | | |
| | | - 后端响应是测试、通道、监测、异常、采样、用户、权限和审计的正式状态。前端 store 只保存当前会话的展示缓存和临时表单。 |
| | | - 新代码不使用 `localStorage` 保存业务记录。触及已有本地模拟 store 时,将当前流程迁移到后端 API;不要求顺带重写无关页面。 |
| | | - `localStorage` 可保存认证令牌、记住的用户名和纯展示偏好。可恢复表单草稿必须明确是草稿,提交成功后清除,且不能参与权限或状态判断。 |
| | | - 页面按钮可按权限改善体验,但每个受限操作都以服务端授权结果为准。 |
| | | |
| | | ## 测试与监测界面 |
| | | |
| | | - 正式测试状态只展示:`待测试`、`检测中`、`暂停`、`检测中(异常)`、`检测完成`、`已终止`。“完成确认中”是后端内部阶段,前端可用进度文案表达但不新增正式测试状态。 |
| | | - 监测状态单独展示:`未监测`、`等待设备启动`、`监测中`、`补采中`、`监测结束`、`已取消`。不要把两套状态合并到一个字段或筛选项。 |
| | | - “开始监测”表示开始观察和认领,不表示启动 BTS。暂停、继续、结束等入口在第一里程碑保持禁用或明确为未启用设备控制,不能伪造成功状态。 |
| | | - 实时快照与历史结果在类型、接口和页面文案上分开;实时点不能加入最终原始数据列表。 |
| | | - 采集器是可选辅助设备。创建测试允许只选择检测柜通道,不把采集器做成必填项。 |
| | | |
| | | ## API 与 SSE |
| | | |
| | | - HTTP 请求复用 `src/api/request.ts` 的鉴权和错误处理;按业务域在 `src/api` 中维护带类型的接口,不在视图内散落 URL。 |
| | | - SSE 使用 `fetch` 流式读取 `text/event-stream` 并携带 `Authorization` 请求头。JWT 不放入 URL,不使用原生 `EventSource` 绕开现有鉴权。 |
| | | - SSE 重连后用服务端当前快照替换本地快照;历史区间通过 REST 查询。不要把 SSE 当作可靠消息队列或在浏览器累积所有采样点。 |
| | | - API 时间按 ISO 8601 解析并以用户本地时区展示;单位换算只发生在展示或导入边界,并保留接口返回的原始单位。 |
| | | |
| | | ## 交互与数据安全 |
| | | |
| | | - 运行中测试禁用导入。导入结果逐行展示校验信息,并明确分组成功与失败记录;不能用导入覆盖原始采样。 |
| | | - 终态测试不提供重启入口。修订和认领纠正以新操作提交并展示审计结果,不提供静默撤销。 |
| | | - SSE 断开、REST 失败和权限拒绝要有可见错误状态;不得乐观地把正式测试状态改为成功。 |
| | | - 延续现有 Element Plus 布局与组件习惯,确保桌面和常用窄屏下按钮、状态文本和表格操作不重叠。 |
| | | |
| | | ## 验证 |
| | | |
| | | - 修改 API 类型、状态映射或实时流时,检查加载、空数据、断线、重连、无权限和后端异常状态。 |
| | | - 完成前运行 `npm run build`。若新增测试脚本,再同时运行受影响测试。 |
| | | - 需要浏览器交互验证时启动 `npm run dev`,检查控制台和网络请求;完成后说明仍依赖模拟数据的页面。 |
| | | |