# 智慧停车管理系统 — 项目进度 > 更新日期:2026-07-24 ## 技术栈 | 层级 | 技术 | |------|------| | 桌面框架 | Wails v2.13(WebView2) | | 后端 | Go 1.25 + Gin + GORM + Casbin v3 + JWT | | 前端 | Vue 3 + Vite 4 + Element Plus + Pinia | | 数据库 | SQLite(`%APPDATA%/smart-parking/`) | ## 整体进度 | 模块 | 后端 | 前端 | 状态 | |------|:--:|:--:|:----:| | 用户管理 | ✅ | ✅ | 完成 | | 角色权限 | ✅ | ✅ | Casbin RBAC,动态菜单 | | 菜单管理 | ✅ | ✅ | - | | API 管理 | ✅ | ✅ | - | | 数据字典 | ✅ | ✅ | - | | 操作日志 | ✅ | ✅ | OperationRecord中间件已全局启用 | | **异常日志** | ❌ | ❌ | panic recovery + error log to file | | 停车场管理 | ✅ | ✅ | 含 /parking 前缀对齐 | | 收费岗亭 | ✅ | ✅ | - | | 通道管理 | ✅ | ✅ | 方向/临停开关 | | UHF 设备 | ✅ | ✅ | TCP/串口连接/启停 | | 车辆信息 | ✅ | ✅ | CRUD | | 车辆类型 | ✅ | ✅ | 含 is_system 标记 | | 车主管理 | ✅ | ✅ | 含 VIP | | 收费配置 | ✅ | ✅ | 起步价/计费单位/每日封顶/VIP折扣 | | 黑白名单 | ✅ | ✅ | 进出场三入口全覆盖 | | 车辆进场 | ✅ | ✅ | RFID 自动 + 手动 | | 车辆出场 | ✅ | ✅ | 计费算法完整 | | 进出记录 | ✅ | ✅ | 查询 | | 道闸控制 | ✅ | ✅ | RFID识别→继电器开闸 | | 手动进出场 | ✅ | ✅ | entryExit.vue,双 Tab 页面 | | 收费结算 | ✅ | ✅ | 现金+找零/免密,payment_record | | **收费记录查询** | ✅ | ✅ | 按车牌/支付方式/日期/停车场筛选 | | **包月车管理** | ✅ | ✅ | 月/季/年卡,办卡=白名单 | | **监控仪表盘** | ✅ | ✅ | 车位/在场/收入/进出+设备状态 | | 摄像头 | ⚠️ | ❌ | DAO 有定义,无 API/页面 | | 个人中心 | ✅ | ✅ | - | | 登录页 | ✅ | ✅ | RSA 加密 + 验证码 | | **数字票** | ✅ | ❌ | 5状态机+ticket_no二维码+事件日志 | | **在场车辆统计** | ✅ | ✅ | 停车场/车牌筛选+详情卡片 | | **exe混淆** | ❌ | ❌ | garble 编译混淆,防反编译 | ## 核心业务流完成度 ``` 1. 系统设置 ──────── 停车场→岗亭→通道→设备 ✅ 100% 2. 收费规则配置 ──── 按车型/免费时长/VIP ✅ 100% 3. 名单管理 ──────── 白名单/黑名单 ✅ 100% 4. 车辆进场 ──────── RFID识别→查单→开闸 ✅ 100% 5. 车辆出场 ──────── 识别→计费→收费→开闸 ✅ 100% 6. 收费结算 ──────── 现金+找零/免密 ✅ 100% 7. 手动进出场页面 ─── 车牌/RFID输入→进出场 ✅ 100% 8. 收费记录查询 ──── 筛选/汇总 ✅ 100% 9. 包月车管理 ───── 月/季/年卡→白名单 ✅ 100% 10. 监控仪表盘 ───── 车位/收入/设备状态 ✅ 100% 11. 小票打印 ─────── ESC/POS 串口打印 ❌ 0% 12. 摄像头识别 ───── RTSP抓拍→OCR→触发 ❌ 0% 13. LED车位屏 ────── 余位实时显示 ❌ 0% 14. 交接班对账 ───── 当班统计/现金核销 ❌ 0% 15. 报表查询 ─────── 进出记录 ⚠️ 50% (缺收入/异常) 16. 在场车辆统计 ──── 停车场/车牌筛选+详情 ✅ 100% 17. 数字票 ──────── 5状态机+ticket_no+日志 ✅ 100% 18. 操作日志 ──────── OperationRecord中间件 ✅ 100% 19. 异常日志 ──────── panic recovery+文件 ❌ 0% 20. exe混淆 ──────── garble编译 ❌ 0% ``` ## 车辆进出场触发方式 | 触发方式 | 状态 | 说明 | |---------|:--:|------| | UHF RFID 自动识别 | ✅ | 读标签→查车辆→进出场+开闸,PassageService 统一入口 | | 前端手动录入 | ✅ | entryExit.vue 进出场操作页面,含收费结算 | | 数字票统一抽象 | ✅ | 所有进场方式统一创建 digital_ticket,5状态机驱动 | | 摄像头车牌识别 | ❌ | `camera` 表已建,无拍照/OCR/触发逻辑 | ``` 车辆靠近 ├─ UHF 读卡器 → RFID 标签 → PassageService → VehicleEntry/Exit ✅ ├─ 人工 → 手动录入车牌 → VehicleEntry/Exit ✅ ├─ 摄像头 → 抓拍 → OCR 车牌 → VehicleEntry/Exit ❌ ↓ 三者统一创建 digital_ticket(数字票状态机) ``` **摄像头识别待实现内容**: | 组件 | 说明 | |------|------| | 硬件对接 | RTSP 视频流抓拍或 SDK 回调 | | OCR 识别 | 车牌识别算法或第三方云服务 | | 业务触发 | 识别到车牌 → 自动调用 `VehicleEntry()`/`VehicleExit()` | | 图片留存 | `VehicleRecord` 已有 `EntryImage`/`ExitImage` 字段 | ## 待开发模块 ### P0-1 ─ 道闸控制 ✅ > 已完成:继电器 `CloseRelay1(2)` 已解除注释,`OpenGate()` 公开方法。进场/出场自动开闸。 ### P0-2 ─ 手动进出场页面 ✅ > 已完成:`entryExit.vue` 支持车牌/RFID 输入、车辆查询、进场/出场双 Tab。含多语言支持。 ### P0-3 ─ 收费结算 ✅ > 已完成:`payment_record` 表、`PaymentService`、现金收款+找零、免密放行。预留 POS/扫码扩展。 ### P0-4 ─ 小票打印 > **收完钱要出票**:配合收费结算,收费完成后自动打印小票给车主。 | 功能 | 后端 | 前端 | 说明 | |------|:--:|:--:|------| | 小票打印 | ❌ | ❌ | 串口 ESC/POS 指令,58mm 热敏小票打印机 | **待实现内容**: | 组件 | 说明 | |------|------| | 串口通信 | 通过串口/USB 连接 58mm 热敏打印机 | | ESC/POS 指令 | 封装打印指令集:文字、条码、二维码、切纸 | | 小票模板 | 停车小票格式:车牌号、进场时间、出场时间、费用、收款方式 | | 打印触发 | 收费完成后自动打印,支持补打 | ### P0-5 ─ 摄像头车牌识别 > **双重校验防作弊**:RFID 标签可能被拆换,车牌识别作为第二道校验。也是第三种进出场触发方式(无标签车辆)。 | 功能 | 后端 | 前端 | 说明 | |------|:--:|:--:|------| | 摄像头车牌识别 | ❌ | ❌ | RTSP 视频流抓拍 + OCR 车牌识别,`camera` 表已建 | **待实现内容**: | 组件 | 说明 | |------|------| | 硬件对接 | RTSP 视频流拉取或 SDK 回调(海康/大华/宇视等) | | 抓拍触发 | 车辆进入识别区 → 抓拍一张图片 | | OCR 识别 | 车牌识别算法或第三方云服务(百度/阿里 OCR) | | 业务触发 | 识别到车牌 → 自动调用 `VehicleEntry()`/`VehicleExit()` | | 图片留存 | `VehicleRecord` 已有 `EntryImage`/`ExitImage` 字段 | ### P1 — 运营管理 | 功能 | 后端 | 前端 | 说明 | |------|:--:|:--:|------| | 交接班 | ❌ | ❌ | 换班统计:当班收费总额、现金实收、差异 | | 收入报表 | ❌ | ❌ | 按日/月/班次汇总收入 | | 异常报表 | ❌ | ⚠️ | 无牌车、手动抬杆、断网异常记录,前端空占位 | | LED 车位显示 | ❌ | ❌ | 入口剩余车位显示屏对接 | ### P2 — 监控与边缘端 | 功能 | 后端 | 前端 | 说明 | |------|:--:|:--:|------| | 实时监控大屏 | ✅ | ✅ | 暗色控制室风格,LED读表字体 | | 在线车辆统计 | ✅ | ✅ | 停车场/车牌筛选,卡片网格+详情 | | RK3568 边缘端 | ❌ | ❌ | edge/ 通信层(TCP协议 + 事件总线) | ## 前端页面清单(37 页) | 位置 | 页面 | 功能 | 状态 | |------|------|------|:--:| | `login/` | index.vue | 登录 | ✅ | | `dashboard/` | index.vue + charts + table | 仪表盘 | ✅ | | `parking/` | parkingInfo/index.vue | 停车场信息(左列表右Tab) | ✅ | | | parkingInfo/booth.vue | 岗亭管理 | ✅ | | | parkingInfo/channel.vue | 通道管理 | ✅ | | | parkingInfo/device.vue | UHF设备管理 | ✅ | | | carInfo.vue | 车辆信息 | ✅ | | | carOwner.vue | 车主管理 | ✅ | | | pricing.vue | 收费配置 | ✅ | | | roster.vue | 黑白名单 | ✅ | | `report/` | enter.vue | 进出记录 | ✅ | | | sheet.vue | 异常报表 | ⚠️ 空 | | `statistics/` | vehicle.vue | 在线车辆统计 | ✅ | | `superAdmin/` | user/user.vue | 用户管理 | ✅ | | | authority/authority.vue | 角色管理 | ✅ | | | menu/menu.vue | 菜单管理 | ✅ | | | api/api.vue | API管理 | ✅ | | | dictionary/*.vue | 字典管理 | ✅ | | | operation/*.vue | 操作日志 | ✅ | | `person/` | person.vue | 个人中心 | ✅ | | `layout/` | 9 个组件 | 布局框架 | ✅ | | `error/` | 2 个组件 | 错误页 | ✅ | ## 后端 API(110+ 接口) | 模块 | 接口数 | 状态 | |------|:-----:|:----:| | Base (login/captcha) | 3 | ✅ | | User | 11 | ✅ | | Menu | 9 | ✅ | | API | 9 | ✅ | | Authority | 6 | ✅ | | Casbin | 2 | ✅ | | Dictionary | 10 | ✅ | | OperationRecord | 5 | ✅ | | FileUpload | 8 | ✅ | | Email | 2 | ✅ | | Parking Lot | 7 | ✅ | | Booth | 7 | ✅ | | Channel | 7 | ✅ | | Device (UHF) | 8 | ✅ | | Vehicle | 8 | ✅ | | Vehicle Type | 6 | ✅ | | Vehicle Record | 3 | ✅ | | Fee Config | 5 | ✅ | | Owner | 6 | ✅ | | Shortlist | 5 | ✅ | ## 数据库(24 张业务表) | 表 | 说明 | 状态 | |------|------|:--:| | parking_lot | 停车场 | ✅ | | booth | 收费岗亭 | ✅ | | channel | 通道 | ✅ | | uhf_reader | UHF读卡器 | ✅ | | camera | 摄像头 | ⚠️ 表有,功能无 | | vehicle | 车辆 | ✅ | | vehicle_type | 车辆类型 | ✅ | | vehicle_record | 进出记录 | ✅ | | fee_config | 收费标准 | ✅ | | owner | 车主 | ✅ | | shortlist | 黑白名单 | ✅ | | payment_record | 支付记录 | ✅ | | monthly_card | 包月卡 | ✅ | | digital_ticket | 数字票 | ✅ | | sys_* (13张) | GVA 系统表 | ✅ | ## 下一步建议 | 优先级 | 功能 | 预估工时 | 状态 | |:--:|------|:--:|:--:| | ~~P0-1~~ | ~~道闸控制~~ | - | ✅ | | ~~P0-2~~ | ~~手动进出场页面~~ | - | ✅ | | ~~P0-3~~ | ~~收费结算~~ | - | ✅ | | ~~P0-3~~ | ~~收费结算~~ | - | ✅ | | ~~P1~~ | ~~包月车管理~~ | - | ✅ | | ~~P2~~ | ~~监控大屏~~ | - | ✅ | | ~~--~~ | ~~在场车辆统计~~ | - | ✅ | | ~~--~~ | ~~数字票~~ | - | ✅ | | **P0-4** | **小票打印** | 1-2天 | ESC/POS 串口指令封装 + 小票模板 | | **P0-5** | **摄像头车牌识别** | 3-5天 | RTSP+OCR,RFID+车牌双重校验 | | P1 | 交接班 + 收入报表 | 2天 | 运营必需 | | P1 | LED 车位显示 | 1天 | 入口剩余车位屏 | | P1 | 异常日志 | 半天 | panic recovery + error log to file | | P1 | exe混淆 | 半天 | garble 编译混淆 |