Forráskód Böngészése

docs: 细化P0优先级排序——P0-1道闸→P0-2手动页面→P0-3收费→P0-4打印→P0-5摄像头,LED降为P1

lq 1 hónapja
szülő
commit
d77887a773
1 módosított fájl, 69 hozzáadás és 34 törlés
  1. 69 34
      doc/项目进度.md

+ 69 - 34
doc/项目进度.md

@@ -90,36 +90,64 @@
 
 
 ## 待开发模块
 ## 待开发模块
 
 
-### P0 — 核心闭环(收费 + 打印 + 硬件对接)
+### P0-1 ─ 道闸控制(最高优先级)
+
+> **为什么最优先**:继电器代码已写完(`CloseRelay1`/`ReleaseRelay1`),进出场流程中仅被注释掉。不启用道闸,RFID 读到标签也抬不了杆,整个物理链路是断的。解除注释 + 调试即可打通。
 
 
 | 功能 | 后端 | 前端 | 说明 |
 | 功能 | 后端 | 前端 | 说明 |
 |------|:--:|:--:|------|
 |------|:--:|:--:|------|
-| 收费结算 | ❌ | ❌ | 出场计费后无收款流程:现金/扫码支付、免密支付 |
-| 小票打印 | ❌ | ❌ | 串口 ESC/POS 指令,58mm 热敏小票打印机 |
-| **道闸控制** | ⚠️ | ❌ | ~~继电器指令已实现(CloseRelay1/ReleaseRelay1),但进出场流程中被注释~~ |
-| **摄像头车牌识别** | ❌ | ❌ | RTSP 视频流抓拍 + OCR 车牌识别,`camera` 表已建 |
-| **LED 车位显示** | ❌ | ❌ | 入口剩余车位显示屏对接 |
+| 道闸控制 | ⚠️ | ❌ | 继电器指令已实现,`handleReportData()` 中 `CloseRelay1(2)` 被注释 |
 
 
-**道闸控制待实现内容**:
+**待实现内容**:
 
 
 | 组件 | 说明 |
 | 组件 | 说明 |
 |------|------|
 |------|------|
-| 进出场开闸 | `handleReportData()` 中 `CloseRelay1(2)` 当前已注释,需解除注释并调试 |
+| 进出场开闸 | `handleReportData()` 中 `CloseRelay1(2)` 解除注释并调试 |
 | 手动开闸 | 前端操作页面点击开闸按钮,调用继电器 API |
 | 手动开闸 | 前端操作页面点击开闸按钮,调用继电器 API |
 | 防砸车 | 地感线圈或红外对射检测车辆是否还在道闸下方 |
 | 防砸车 | 地感线圈或红外对射检测车辆是否还在道闸下方 |
 | 超时自动落杆 | 开闸后 N 秒未检测到车辆通过,自动落杆 |
 | 超时自动落杆 | 开闸后 N 秒未检测到车辆通过,自动落杆 |
 
 
-**摄像头待实现内容**:
+### P0-2 ─ 手动进出场页面
+
+> **为什么排第二**:UHF RFID 不是 100% 可靠(标签损坏、无标签车辆),必须有手动兜底。后端 API 已就绪,只缺前端页面。
+
+| 功能 | 后端 | 前端 | 说明 |
+|------|:--:|:--:|------|
+| 手动进出场操作页 | ✅ | ❌ | `POST /vehicle/entry`、`POST /vehicle/exit` 已实现 |
+
+**待实现内容**:
 
 
 | 组件 | 说明 |
 | 组件 | 说明 |
 |------|------|
 |------|------|
-| 硬件对接 | RTSP 视频流拉取或 SDK 回调(海康/大华/宇视等) |
-| 抓拍触发 | 车辆进入识别区 → 抓拍一张图片 |
-| OCR 识别 | 车牌识别算法或第三方云服务(百度/阿里 OCR) |
-| 业务触发 | 识别到车牌 → 自动调用 `VehicleEntry()`/`VehicleExit()` |
-| 图片留存 | `VehicleRecord` 已有 `EntryImage`/`ExitImage` 字段 |
+| 进出场操作页面 | 输入车牌号/RFID、选停车场/车位、拍照上传、确认进出场 |
+| 关联 UHF 扫描 | 页面可接收 UHF 读卡器实时扫描结果,自动填入车牌 |
 
 
-**小票打印机待实现内容**:
+### P0-3 ─ 收费结算
+
+> **为什么排第三**:道闸能抬了、手动兜底有了,下一步就是收钱。计费算法已有,但没有收款流程就无法完成经营闭环。
+
+| 功能 | 后端 | 前端 | 说明 |
+|------|:--:|:--:|------|
+| 收费结算 | ❌ | ❌ | 出场计费后无收款流程:现金/扫码支付、免密支付 |
+
+**待实现内容**:
+
+| 组件 | 说明 |
+|------|------|
+| 现金收款 | 收费员输入实收金额,自动计算找零 |
+| 扫码支付 | 微信/支付宝扫码支付(需对接支付网关或使用静态码) |
+| 免密支付 | 包月车/VIP 车出场自动扣费,无需人工干预 |
+| 收费记录 | 每笔收费记录:金额、方式、收费员、时间 |
+
+### P0-4 ─ 小票打印
+
+> **收完钱要出票**:配合收费结算,收费完成后自动打印小票给车主。
+
+| 功能 | 后端 | 前端 | 说明 |
+|------|:--:|:--:|------|
+| 小票打印 | ❌ | ❌ | 串口 ESC/POS 指令,58mm 热敏小票打印机 |
+
+**待实现内容**:
 
 
 | 组件 | 说明 |
 | 组件 | 说明 |
 |------|------|
 |------|------|
@@ -128,13 +156,23 @@
 | 小票模板 | 停车小票格式:车牌号、进场时间、出场时间、费用、收款方式 |
 | 小票模板 | 停车小票格式:车牌号、进场时间、出场时间、费用、收款方式 |
 | 打印触发 | 收费完成后自动打印,支持补打 |
 | 打印触发 | 收费完成后自动打印,支持补打 |
 
 
-**LED 车位显示屏待实现内容**:
+### P0-5 ─ 摄像头车牌识别
+
+> **双重校验防作弊**:RFID 标签可能被拆换,车牌识别作为第二道校验。也是第三种进出场触发方式(无标签车辆)。
+
+| 功能 | 后端 | 前端 | 说明 |
+|------|:--:|:--:|------|
+| 摄像头车牌识别 | ❌ | ❌ | RTSP 视频流抓拍 + OCR 车牌识别,`camera` 表已建 |
+
+**待实现内容**:
 
 
 | 组件 | 说明 |
 | 组件 | 说明 |
 |------|------|
 |------|------|
-| 硬件对接 | 串口/TCP 通信协议,常见型号(如 P10 户外屏控制卡) |
-| 余位计算 | 总车位 - 当前在场车辆数 = 剩余车位 |
-| 实时更新 | 车辆进出场时自动刷新 LED 显示 |
+| 硬件对接 | RTSP 视频流拉取或 SDK 回调(海康/大华/宇视等) |
+| 抓拍触发 | 车辆进入识别区 → 抓拍一张图片 |
+| OCR 识别 | 车牌识别算法或第三方云服务(百度/阿里 OCR) |
+| 业务触发 | 识别到车牌 → 自动调用 `VehicleEntry()`/`VehicleExit()` |
+| 图片留存 | `VehicleRecord` 已有 `EntryImage`/`ExitImage` 字段 |
 
 
 ### P1 — 运营管理
 ### P1 — 运营管理
 
 
@@ -144,6 +182,7 @@
 | 收入报表 | ❌ | ❌ | 按日/月/班次汇总收入 |
 | 收入报表 | ❌ | ❌ | 按日/月/班次汇总收入 |
 | 异常报表 | ❌ | ⚠️ | 无牌车、手动抬杆、断网异常记录,前端空占位 |
 | 异常报表 | ❌ | ⚠️ | 无牌车、手动抬杆、断网异常记录,前端空占位 |
 | 包月车管理 | ❌ | ❌ | 月卡/季卡/年卡办理、续费、到期提醒、收入报表 |
 | 包月车管理 | ❌ | ❌ | 月卡/季卡/年卡办理、续费、到期提醒、收入报表 |
+| LED 车位显示 | ❌ | ❌ | 入口剩余车位显示屏对接(不影响车辆进出,可后续补充) |
 
 
 **包月车管理待实现内容**:
 **包月车管理待实现内容**:
 
 
@@ -158,12 +197,6 @@
 
 
 > 说明:当前包月车的通行逻辑可以用 `shortlist`(白名单 + `ExpirationTime`)变通实现,但缺少管理端(办理/续费/统计)。
 > 说明:当前包月车的通行逻辑可以用 `shortlist`(白名单 + `ExpirationTime`)变通实现,但缺少管理端(办理/续费/统计)。
 
 
-### P0.5 — 手动进出场页面
-
-| 功能 | 后端 | 前端 | 说明 |
-|------|:--:|:--:|------|
-| 手动进出场操作页 | ✅ | ❌ | 后端 API 已有,缺前端操作页面 |
-
 ### P2 — 监控与边缘端
 ### P2 — 监控与边缘端
 
 
 | 功能 | 后端 | 前端 | 说明 |
 | 功能 | 后端 | 前端 | 说明 |
@@ -243,12 +276,14 @@
 
 
 ## 下一步建议
 ## 下一步建议
 
 
-1. **道闸控制** (P0) — 继电器指令已有,解除注释 + 调试即可,半天
-2. **手动进出场操作页面** (P0.5) — 后端 API 已就绪,只需前端页面,半天
-3. **收费结算模块** (P0) — 闭环核心,配合小票打印
-4. **小票打印** (P0) — ESC/POS 串口指令封装 + 小票模板
-5. **摄像头车牌识别** (P0) — 第三种进出场触发方式(RTSP + OCR)
-6. **LED 车位显示** (P0) — 入口剩余车位屏对接
-7. **包月车管理** (P1) — 月卡办理/续费/到期处理
-8. **交接班 + 收入报表** (P1) — 运营必需
-9. **监控大屏** (P2) — 锦上添花
+| 优先级 | 功能 | 预估工时 | 理由 |
+|:--:|------|:--:|------|
+| **P0-1** | 道闸控制 | 半天 | 继电器代码已有,解除注释+调试即打通物理链路 |
+| **P0-2** | 手动进出场页面 | 半天 | 后端 API 已就绪,只缺前端页面,UHF 不可靠时兜底 |
+| **P0-3** | 收费结算 | 2-3天 | 经营闭环核心,现金+扫码+免密收款 |
+| **P0-4** | 小票打印 | 1-2天 | ESC/POS 串口指令封装 + 小票模板 |
+| **P0-5** | 摄像头车牌识别 | 3-5天 | RTSP+OCR,RFID+车牌双重校验 |
+| P1 | 包月车管理 | 2天 | 月卡办理/续费/到期处理 |
+| P1 | 交接班 + 收入报表 | 2天 | 运营必需 |
+| P1 | LED 车位显示 | 1天 | 不影响车辆进出,可后续补充 |
+| P2 | 监控大屏 | 2天 | 锦上添花 |