# 城市生命线项目记忆索引

## 项目概况

- 项目：城市生命线 — 地下管网管控平台
- 前端：Vue 3.4、Vite 5.3、Element Plus、Pinia、UnoCSS、SCSS
- 基础框架：RuoYi-Vue 3.8.8 改造
- 业务领域：地下管网、燃气、排水、供水、告警、风险和应急指挥调度

## 关键入口

- 应用入口：`src/main.js`
- 根组件：`src/App.vue`
- 路由守卫：`src/permission.js`
- 路由定义：`src/router/index.js`
- 动态权限路由：`src/store/modules/permission.js`
- Axios 封装：`src/utils/request.js`
- Vite 配置：`vite.config.js`
- 环境变量：`.env.development`、`.env.staging`、`.env.production`

## 运行方式

```powershell
cd E:\city-life-line
npm install       # 首次运行或依赖变化时执行
npm run dev       # 默认 http://localhost:80
```

开发环境 `/dev-api` 代理到本机 `8300/pipe` 后端；如果 80 端口不可用，可运行 `npm run dev -- --port 5173`。不要依赖 `bin/run-web.bat` 的 Yarn 命令，当前项目以 npm 和 `package-lock.json` 为准。

## 业务模块

当前源码实际包含 `basic`、`alarm`、`gas`、`drainage`、`dispatch`、`cityLifeline`、`waterSupply`、`manholeCover`、`pipeNetwork`、`lifeCompany`、`risk` 和 `hidden` 等模块。

## 当前已知风险

- 业务菜单主要由后端 `/getRouters` 动态下发，前端常量路由不包含完整业务树。
- 门户页调用 `userStore.logout()`，用户 Store 当前定义的方法名为 `logOut()`，需要后续确认是否修复。
- 供水 19 个页面已按 5.3.2 文档命名补齐并接入后端接口，包含设施 CRUD、设备、监测、报警、统计和轻量 GIS；部署菜单仍依赖后端 `sys_menu` 与角色授权。
- 排水报警详情 API 请求 `/api/alarm/{id}`，后端实际路径为 `/api/alarm/getById/{id}`。
- 若干排水请求设置 `X-Silent-Error`，但 Axios 拦截器未处理该标志。
- 百度地图 AK 仍由 `index.html` 直接配置，环境变量未形成统一生效入口。
- `package.json` 没有测试、Lint 或类型检查脚本。

## 长期记忆

- [长期记忆](long-term.md)
- [供水报警与工单前端适配设计](../docs/design/2026-08-22-water-supply-work-order-ui.md)

## 会话记录

- [2026-08-14：项目探索、启动方式与记忆库建立](sessions/2026-08-14.md)
- [2026-08-17：供水管网安全运行监测系统前端实现](sessions/2026-08-17.md)
- [2026-08-21：工程技能仓库配置](sessions/2026-08-21.md)
- [2026-08-22：供水报警与工单前端适配设计](sessions/2026-08-22.md)
- [2026-09-01：供水管网数据统计分析 T3](sessions/2026-09-01.md)
