2026-09-24.md 5.0 KB

2026-09-24 会话记录

此前报警审核、运营重构、日志及状态样式调整的完整记录已保留至 当日前期归档。稳定决策已合并到长期记忆,不以归档中的过期实现为准。

排水报警 GIS 按设计稿重排

目标与结论

  • 用户要求参考 E:/work/prd/outputs/alarm-gis.html 美化排水 GIS。实际入口仍是 src/views/subSystem/alarm/drainage/alarmGIS.vue,组件名 DrainageAlarmGIS、菜单 path drainageAlarmGIS 不变。
  • 页面改为顶部筛选、四级统计、左侧设备列表和大地图;右侧详情采用独立抽屉,打开时不压缩地图。统一蓝白底色、细边框、轻量文字、小号等级标记、定位/缩放工具、图例及列表选中效果;窄屏改为上下布局,抽屉全宽。
  • 详情保留监测曲线、报警记录、设备信息,不添加周边环境;报警历史使用紧凑时间线卡片和框架分页。详情数值明确标为报警触发快照,不冒充当前测量值。保留真实接口与 GisMapCanvas,不复制原型的示例数据或腾讯地图配置。
  • 四级统计按当前查询结果聚合设备计数,并明确标注;等级仍为红、橙、蓝、绿,设备按等级、编码排序。后端范围、分页、默认未处理状态不变。无实际值事件仍出现在地图/历史中,仅曲线候选排除空值,0 有效。
  • 增加底图加载/失败/重试、无坐标提示与无匹配设备状态;底图未就绪时禁用地图操作,设备详情仍能打开。
  • 新增 scoped alarmGIS.scss,回归断言在 tests/alarmOperations.test.mjs;新增独立 tests/alarmGIS.visual.mjs,只在测试服务器中替换接口和底图,不影响生产数据源或增加 npm 依赖。

验证结果

  • 报警运营、历史、审核及 GIS 画布/聚合 Node 测试共 42 项通过。
  • 使用本机 Edge 完成隔离浏览器交互测试:统计聚合、空值/零值曲线筛选、历史分页、设备信息、无坐标、地图重试/定位、查询/重置、详情不压缩地图、390px 窄屏无横向溢出;无浏览器 JavaScript 错误。已检查桌面与窄屏截图。
  • npm run build:prod 成功,构建输出到系统临时目录,保留原有发布目录;git diff --check 通过。

风险与后续

  • 浏览器验证使用隔离测试数据与地图替身,未验证真实登录、后端实时数据或地图提供商底图加载。部署后需在实际业务菜单中核验。
  • 本轮无后端、SQL 或菜单变更,未提交、推送或部署,保留所有既有工作区修改及 .feisuan/、dist-verify/。
  • 当日记录接近 20 KB,已归档前期完整记录并同步索引、长期记忆,未丢弃历史内容。

确认 dist-verify 能否清理

  • 用户仅询问 E:/work/city-life-line/dist-verify 能否删除,本轮只检查,未执行删除。
  • 目录不是链接,内容为编译后的 HTML、assets 及静态资源,Git 未跟踪;项目源码、配置和脚本未发现依赖该路径。Vite 默认构建输出为 dist,开发服务不依赖 dist-verify。
  • 结论:该验证构建产物可清理,不影响源码和正常开发/构建;如有项目外静态服务另行指向该目录,需先停用或切换。需要时可通过 npm run build:prod -- --outDir dist-verify 重新生成当前源码的验证产物。

修复供水首页引用已删除的报警态势接口

  • 截图报错为 waterSupply.js 未导出 getAlarmLedgerDashboard。合并后恢复的 WaterSupplyHome.vue 仍调用旧函数,旧后台 /waterSupply/alarm/ledger/dashboard 也已删除;单补导出会继续报 404。
  • 首页改用 src/api/alarm.js 的 getAlarmDashboard({ rootTypeId: WATER_DEVICE_ROOT_TYPE_ID, days: 7 })。统一 AlarmController 新增 GET /api/alarm/dashboard,沿用 alarm:operations:list 权限及获授权菜单/类型树校验,不恢复旧接口或旧页面。
  • 后端在数据库聚合总报警数、当前报警设备去重数、分级自然日趋势、监测指标及设备类型占比;保持历史事件也参与统计、设备状态不由报警状态替代。近 N 天使用北京时间,允许 1~31 天,无事件日期四级计数补 0;空范围不查询全表。指标名称优先配置表并防止重复关联放大计数,设备类型从台账关联。
  • 不删首页图表、不改布局及其他取数链路,不使用静态模拟数。测试增加首页所有 API 命名导入与真实导出的解析校验,防止重构删除接口后遗漏消费方。
  • 验证:相关前端 Node 测试 50 项、生产构建、后端运营 service/mapper/controller/范围测试 26 项、实际 MyBatis SQL 的内存 PGlite 兼容测试 4 项均通过。两仓 diff 检查通过;构建输出到临时目录,未覆盖原发布目录。
  • 前端和管理后端需同步更新,重启后端再刷新页面;无需数据库脚本。未验证真实登录或实际 KingbaseES、未重启服务、未部署/提交/推送。过程中发现其他工单代码与测试文件的并行改动,均保留未覆盖。