diff --git a/README.md b/README.md index 11f516d..6d70b8f 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ | 项目 | 交付包 | Git | 提交 | | --- | --- | --- | --- | +| 智慧停车综合管理平台(绚丽增强层重交付) | [smart-parking-delivery-20261014.zip](./交付包/smart-parking-delivery-20261014.zip)(28.06 MB)+[解压目录](./交付包/smart-parking-delivery-20261014/)(28 文件 / 28.08 MB) | [depei/smart-parking-platform](https://code.xinmi.cloud/depei/smart-parking-platform) | `660c2bc` | | 智慧停车综合管理平台 | [smart-parking-delivery-20261010.zip](./交付包/smart-parking-delivery-20261010.zip)(29.62 MB)+[解压目录](./交付包/smart-parking-delivery-20261010/)(28 文件 / 29.68 MB) | [depei/smart-parking-platform](https://code.xinmi.cloud/depei/smart-parking-platform) | `3c99299` | ## 引用的技能与规范 @@ -47,7 +48,7 @@ - 平台:[depei/smart-parking-platform](https://code.xinmi.cloud/depei/smart-parking-platform) - 挂载路径:`项目源码/smart-parking-platform` -- 当前锁定提交:`3c99299` +- 当前锁定提交:`660c2bc` - 克隆请加 `--recurse-submodules`,详见 [`项目源码/README.md`](./项目源码/README.md) ## 标准交付包目录树 @@ -55,7 +56,7 @@ ```text # 交付包根(含项目源码子模块) 项目源码/ -└── smart-parking-platform/ # git submodule → depei/smart-parking-platform @ 3c99299 +└── smart-parking-platform/ # git submodule → depei/smart-parking-platform @ 660c2bc # 交付物资产树 交付包模板/ diff --git a/metadata.json b/metadata.json index 7cdae71..98b2506 100644 --- a/metadata.json +++ b/metadata.json @@ -30,7 +30,7 @@ "title": "智慧停车综合管理平台", "path": "项目源码/smart-parking-platform", "url": "https://code.xinmi.cloud/depei/smart-parking-platform", - "commit": "3c9929938166d0ce6533afc4c1b3446225953d65", + "commit": "660c2bc5d47d03ee81167175f900b69d4acd037f", "shallow": true } ], diff --git a/registry.json b/registry.json index a0603c2..b2b9a70 100644 --- a/registry.json +++ b/registry.json @@ -1,6 +1,34 @@ { - "updatedAt": "2026-10-13", + "updatedAt": "2026-10-14", "deliveries": [ + { + "project": "智慧停车综合管理平台", + "projectKey": "smart-parking-platform", + "deliveryDate": "2026-10-14", + "note": "绚丽增强层全量升级后的重新交付(截图/录屏/文档全部重采)", + "package": "交付包/smart-parking-delivery-20261014.zip", + "packageSizeMB": 28.06, + "sha256": "31e11be6186895748e9302f1b8c8d54df0de322c6506a5704561040036369c8a", + "git": { + "primary": "https://code.xinmi.cloud/depei/smart-parking-platform.git", + "web": "https://code.xinmi.cloud/depei/smart-parking-platform", + "upstream": "https://www.gitcc.com/parking/project0716gvv9170809.git", + "submodulePath": "项目源码/smart-parking-platform", + "pinnedCommit": "660c2bc5d47d03ee81167175f900b69d4acd037f", + "branch": "main" + }, + "deploy": { + "method": "docker-compose", + "verifyUrl": "http://localhost:4010/", + "status": "healthy" + }, + "extractedDir": "交付包/smart-parking-delivery-20261014", + "extractedFileCount": 28, + "extractedSizeMB": 28.08, + "archiveForm": "zip + 解压内容双存档", + "manifest": "交付包/smart-parking-交付清单-20261014.md", + "sidecar": "交付包/smart-parking-delivery-20261014.json" + }, { "project": "智慧停车综合管理平台", "projectKey": "smart-parking-platform", diff --git a/交付包/README.md b/交付包/README.md index 3a5e1f8..ddaa3a3 100644 --- a/交付包/README.md +++ b/交付包/README.md @@ -4,6 +4,18 @@ 以及压缩包的**解压内容**(可直接在仓库内浏览 README、截图、录屏与文档,无需下载解压)。 交付登记总索引见根目录 [`交付登记.md`](../交付登记.md) 与 [`registry.json`](../registry.json)。 +## 智慧停车综合管理平台(2026-10-14,绚丽增强层重交付) + +| 路径 | 形式 | 说明 | +| --- | --- | --- | +| `smart-parking-delivery-20261014.zip` | 压缩包 | 正式交付包,约 28.06 MB | +| [`smart-parking-delivery-20261014/`](./smart-parking-delivery-20261014/) | 解压内容 | 与 zip 一致的解压文件树,28 个文件,约 28.08 MB | +| `smart-parking-交付清单-20261014.md` | 清单 | 交付物对照、绚丽版素材明细、默认账号、验收记录 | +| `smart-parking-delivery-20261014.json` | 元数据 | 机器可读:Git 地址、锁定提交 `660c2bc`、SHA256、部署信息、解压目录 | + +> 校验:`Get-FileHash smart-parking-delivery-20261014.zip -Algorithm SHA256` +> 应等于 `31e11be6186895748e9302f1b8c8d54df0de322c6506a5704561040036369c8a`。 + ## 智慧停车综合管理平台(2026-10-10) | 路径 | 形式 | 说明 | diff --git a/交付包/smart-parking-delivery-20261014.json b/交付包/smart-parking-delivery-20261014.json new file mode 100644 index 0000000..16e1007 --- /dev/null +++ b/交付包/smart-parking-delivery-20261014.json @@ -0,0 +1,36 @@ +{ + "project": "智慧停车综合管理平台", + "projectKey": "smart-parking-platform", + "deliveryDate": "2026-10-14", + "note": "绚丽增强层全量升级后的重新交付(截图/录屏/文档全部重采)", + "package": "交付包/smart-parking-delivery-20261014.zip", + "packageSizeBytes": 29420086, + "sha256": "31e11be6186895748e9302f1b8c8d54df0de322c6506a5704561040036369c8a", + "git": { + "primary": "https://code.xinmi.cloud/depei/smart-parking-platform.git", + "web": "https://code.xinmi.cloud/depei/smart-parking-platform", + "upstream": "https://www.gitcc.com/parking/project0716gvv9170809.git", + "submodulePath": "项目源码/smart-parking-platform", + "pinnedCommit": "660c2bc5d47d03ee81167175f900b69d4acd037f", + "branch": "main" + }, + "deploy": { + "method": "docker-compose", + "verifyUrl": "http://localhost:4010/", + "status": "healthy" + }, + "extractedDir": "交付包/smart-parking-delivery-20261014", + "extractedFileCount": 28, + "extractedSizeBytes": 29445449, + "extractedSizeMB": 28.08, + "archiveForm": "zip + 解压内容双存档(可直接在仓库浏览 README/截图/录屏/文档)", + "manifest": "交付包/smart-parking-交付清单-20261014.md", + "contains": [ + "README(12项)", + "界面截图x12(绚丽增强层版本)", + "全功能录屏 full-feature-demo.mp4(1280x720,62秒)", + "环境依赖清单", + "部署注意事项", + "Docker部署" + ] +} diff --git a/交付包/smart-parking-delivery-20261014.zip b/交付包/smart-parking-delivery-20261014.zip new file mode 100644 index 0000000..6679c3e Binary files /dev/null and b/交付包/smart-parking-delivery-20261014.zip differ diff --git a/交付包/smart-parking-delivery-20261014/README.md b/交付包/smart-parking-delivery-20261014/README.md new file mode 100644 index 0000000..06509fc --- /dev/null +++ b/交付包/smart-parking-delivery-20261014/README.md @@ -0,0 +1,333 @@ +# 智慧停车综合管理平台(Smart Parking Platform) + +> **一句话简介**:一套集园区态势感知、视频监控大屏、异常智能报警、停车运营管理与 AI 智能助手于一体的、可私有化 Docker 一键部署的智慧停车综合管理平台。 + +

+ 平台登录页 +

+ +## 目录 + +- [一、详细功能描述](#一详细功能描述) +- [二、解决的行业痛点](#二解决的行业痛点) +- [三、核心技术优势](#三核心技术优势) +- [四、应用场景](#四应用场景) +- [五、适配目标行业与人群](#五适配目标行业与人群) +- [六、商业应用价值](#六商业应用价值) +- [七、技术架构](#七技术架构) +- [八、环境前置依赖](#八环境前置依赖) +- [九、快速开始](#九快速开始) +- [十、完整安装部署教程](#十完整安装部署教程) +- [十一、AI 对话(TokenFree)使用教程](#十一ai-对话tokenfree使用教程) +- [十二、版权与使用说明](#十二版权与使用说明) + +--- + +## 一、详细功能描述 + +平台围绕“一张屏、一张图、一个大脑”设计,功能逐条对应实拍截图: + +### 1. 平台登录与权限体系 + +- 玻璃拟态登录页、动态渐变背景、发光输入框,支持账号密码登录与 JWT 鉴权。 + +![登录页](docs/screenshots/login.png) + +### 1.1 项目概述大屏 + +平台内置炫酷的**项目概述大屏**:顶部动态标题与实时时钟,五大核心指标卡片(摄像头总数、设备在线率、 +报警事件、报警规则、系统用户),近 7 天报警趋势折线图、设备状态环形分布图及最新报警实时滚动, +全部数据来自后端实时聚合,10 秒自动刷新,适配大屏投放。 + +![项目概述大屏](docs/screenshots/overview.png) + +### 2. 园区态势总览 + +- 园区停车核心指标看板:总车位、占用/空闲、异常事件、设备在线率; +- 基于本地地图的摄像头点位分布与状态渲染,支持点位点击联动。 + +![园区态势](docs/screenshots/campus-state.png) + +### 3. 视频监控大屏 + +- 科技感数据大屏:多路摄像头实时画面、轮播、实时指标与报警滚动; +- 支持 HLS(hls.js)低延迟直播,适配主流分辨率。 + +![监控大屏](docs/screenshots/monitoring-screen.png) + +### 4. 异常报警事件管理 + +- 报警事件列表、级别筛选、处置状态流转,事件全程可追溯。 + +![异常报警](docs/screenshots/alarms.png) + +### 5. AI 智能对话助手 + +- 标准 Chat Completions 流式对话,默认接入 TokenFree 的 `kimi-k2.6` 模型; +- 支持停车运营、设备状态、异常分析等问答,接口配置抽屉内置使用教程。 + +![AI 对话](docs/screenshots/ai-chat.png) +![AI 接口配置教程](docs/screenshots/ai-settings.png) + +### 6. 个人中心 + +- 用户信息维护、密码修改等自助功能。 + +![个人信息](docs/screenshots/user-info.png) + +### 7. 系统管理(管理员) + +- **园区地图管理**:自定义地图数据上传、切分与点位编辑。 + +![地图管理](docs/screenshots/map-management.png) + +- **摄像头管理**:摄像头档案、RTSP/RTMP 拉流地址、点位与启用状态维护。 + +![摄像头管理](docs/screenshots/camera-management.png) + +- **报警规则管理**:按摄像头配置检测目标、触发条件与规则启停。 + +![报警规则](docs/screenshots/alarm-rule-management.png) + +- **用户管理**:账号、角色(管理员/操作员)与状态管理。 + +![用户管理](docs/screenshots/user-management.png) + +--- + +## 二、解决的行业痛点 + +1. **系统割裂、信息孤岛**:传统监控、停车、报警系统各自独立,缺乏统一态势视图,运维人员需多平台切换。 +2. **依赖人工值守、响应滞后**:传统监控需人工 7×24 盯屏,异常发现晚、研判慢、上报链路长。 +3. **摄像头位置不可视**:不存储园区 GIS 地图与摄像头精确位置,调取和排查效率低。 +4. **部署复杂、落地成本高**:传统方案环境依赖多、部署周期长,中小企业难以私有化落地。 +5. **数据不沉淀、运营无依据**:缺乏停车与设备数据沉淀,管理决策缺少数据支撑。 + +平台以“统一面板 + 智能检测 + 一键私有化部署”系统性解决上述问题。 + +## 三、核心技术优势 + +- **全栈现代技术架构**:Umi 4 + React 18 + Ant Design 5 前端,NestJS + TypeScript 后端,模块清晰、可维护性强。 +- **智能视频分析**:基于 YOLO 深度学习的实时目标检测(监控算法端),异常自动识别并联动报警。 +- **低延迟流媒体**:RTMP 收流 + Nginx-RTMP/FFmpeg 转 HLS 分发,兼顾实时性与浏览器兼容性。 +- **本地地图引擎**:Leaflet + 地图瓦片本地化切分与存储,支持自定义园区地图。 +- **私有化一键交付**:Docker Compose 编排前后端、数据库、媒体服务,一条命令完成部署。 +- **统一暗色面板设计体系**:玻璃拟态 + 霓虹光效 + 响应式布局,视觉统一、辨识度高。 +- **AI 能力可插拔**:支持标准 Chat Completions 协议,可按需切换 TokenFree 上的 Kimi / Qwen / Claude 等模型。 + +## 四、应用场景 + +- 产业园区、写字楼、商业综合体的停车场与周界监控; +- 校园、医院、政务园区的车辆与人员安全管理; +- 物流园、工厂厂区的车辆出入与作业区域异常监测; +- 物业/安保指挥中心的集中监控与接处警; +- 需要私有化部署、数据不出内网的安防与停车运营场景。 + +## 五、适配目标行业与人群 + +| 维度 | 说明 | +| --- | --- | +| 目标行业 | 智慧物业、智慧园区、智慧交通、安防安保、校园/医院后勤、工厂物流 | +| 管理决策者 | 需要全局态势、数据报表与运营决策依据的管理者 | +| 一线运维/安保 | 需要视频监控、报警处置、设备巡检与快速定位的操作人员 | +| IT/集成服务商 | 需要可快速私有化交付、二次集成与品牌化部署的集成商 | + +## 六、商业应用价值 + +- **降本增效**:自动化异常检测替代部分人工盯屏,降低人力成本、缩短响应时间。 +- **私有化资产沉淀**:数据与平台完全部署在客户侧,形成可持续运营的数字化资产。 +- **快速复制交付**:标准化 Docker 交付包支持多项目快速复制,显著降低项目实施成本。 +- **可扩展增值空间**:可在统一平台上扩展计费、引导、数据分析等模块,形成增值收入。 +- **品牌化交付能力**:支持 Logo、品牌与主题定制,便于服务商品牌化对外输出。 + +## 七、技术架构 + +### 7.1 总体架构 + +平台划分为 **前端、后端、监控算法端、RTMP 媒体服务器、地图瓦片服务、关系型数据库** 六大部分: + +```mermaid +flowchart LR + subgraph Client[浏览器端] + UI[Umi4 + React18 + Antd5 玻璃面板] + end + subgraph Server[服务端] + API[NestJS 后端 REST + WebSocket] + DB[(MySQL 8.0)] + RTMP[RTMP/HLS 媒体服务] + TILE[地图瓦片服务] + end + subgraph AI[监控算法端] + YOLO[YOLO 实时目标检测] + end + CAM[摄像头 RTSP/RTMP 流] --> YOLO + YOLO -->|FFmpeg 推流| RTMP + YOLO <-->|WebSocket 配置/事件上报| API + UI -->|HTTPS / HLS| API + UI -->|HLS 直播| RTMP + UI -->|瓦片请求| TILE + API --> DB +``` + +- **前端**:React + Umi 4,Leaflet 渲染地图,hls.js 播放直播; +- **后端**:NestJS(TypeScript),负责业务逻辑、REST API、WebSocket、数据库 IO 与算法端鉴权; +- **监控算法端**:Python + YOLO,拉流、检测、推流,并通过 WebSocket 上报事件; +- **媒体服务**:RTMP 收流并转 HLS 提供浏览器直播; +- **数据层**:MySQL 8.0 持久化用户、设备、规则、报警、地图数据。 + +原始架构图(项目早期版本)保留于 `docs/tech-framework.png`、`docs/deployment-framework.png`。 + +### 7.2 端口规划(默认) + +| 服务 | 容器端口 | 宿主机默认端口 | +| --- | --- | --- | +| Web 应用(HTTP/HLS) | 80 | 4010 | +| MySQL | 3306 | 4012 | +| RTMP | 1935 | 4015 | + +> 端口可通过 `.env` 文件调整,详见部署章节。 + +## 八、环境前置依赖 + +### 8.1 硬件建议 + +| 规模 | CPU | 内存 | 磁盘 | +| --- | --- | --- | --- | +| 测试/小规模(≤16 路) | 4 核 | 8 GB | 40 GB SSD | +| 生产/中规模(16–64 路) | 8 核+ | 16 GB+ | 100 GB+ SSD | + +> 监控算法端(YOLO)建议独立部署或配备 GPU 以获得更好性能。 + +### 8.2 软件依赖 + +- **Docker Engine** 20.10+ +- **Docker Compose** v2+ +- 开放端口:应用端口(默认 4010)、RTMP(默认 4015);数据库端口建议仅内网开放 +- 现代浏览器:Chrome / Edge / Firefox 最新版本 +- (可选)AI 对话:在 [TokenFree](https://www.tokenfree.com/) 申请 API Key + +完整依赖与注意事项见交付包内「文档」目录下的《环境依赖清单》与《部署注意事项》。 + +## 九、快速开始 + +```bash +# 1. 进入项目目录 +cd smart-parking-platform + +# 2.(可选)按需修改端口与数据库口令 +# 复制并编辑环境变量文件 +cp .env.example .env # Windows: copy .env.example .env + +# 3. 一键启动全部服务 +docker compose up -d + +# 4. 浏览器访问 +# http://localhost:4010 +``` + +默认账号(见后端初始化逻辑 `backend/src/database-seeder.ts`): + +| 角色 | 账号 | 密码 | +| --- | --- | --- | +| 管理员 | `admin` | `admin123` | +| 操作员 | `operator` | `123456` | + +> 首次登录后请及时修改默认密码。 + +## 十、完整安装部署教程 + +### 10.1 Docker 一键部署(推荐) + +1. 安装并启动 Docker(Windows 建议使用 Docker Desktop,Linux 使用官方源安装 Docker Engine + Compose 插件)。 +2. 获取项目完整源码(含 `docker-compose.yml`、`.env.example`、`front-backend.Dockerfile`)。 +3. 根据现场环境调整 `.env`,关键变量: + +```bash +APP_PORT=4010 # Web 访问端口 +MYSQL_PORT=4012 # MySQL 宿主机端口 +RTMP_PORT=4015 # RTMP 推流端口 +MYSQL_ROOT_PASSWORD=<修改为强口令> +``` + +4. 执行 `docker compose up -d`,首次会自动构建镜像并初始化数据库、导入示例数据。 +5. 使用 `docker compose ps` 查看状态,等待应用容器变为 `healthy`。 +6. 浏览器访问 `http://<服务器IP>:`,使用默认账号登录。 + +### 10.2 本地开发/手动部署(无 Docker 时) + +**后端(NestJS)** + +```bash +cd backend +npm install +# 配置数据库连接(环境变量或配置文件) +npm run start:dev +``` + +**前端(Umi 4)** + +```bash +cd frontend +npm install +# 开发启动 +npm run dev +# 生产构建(如本地 pnpm 与 lockfile 版本冲突,可直接使用 umi) +# ./node_modules/.bin/umi build +npm run build +``` + +**监控算法端(Python + YOLO)** + +```bash +cd ai-end +pip install -r requirements.txt +# 配置后端地址、RTMP 地址、管理员账号 +python main.py +``` + +算法端基本流程:建立 WebSocket 连接 → 后端鉴权并下发摄像头配置与拉流地址 → 每个摄像头独立进程完成 FFmpeg 推流与规则检测 → 异常实时上报。 + +### 10.3 运维与排障 + +- 查看日志:`docker compose logs -f app` +- 重启服务:`docker compose restart app` +- 停止并清理:`docker compose down`(数据保留在数据卷,加 `-v` 会同时删除数据卷,请谨慎) +- 直播无画面:检查摄像头源是否可达、RTMP 端口是否放通、浏览器是否允许混合内容(建议统一走 HTTP/HTTPS 同源)。 + +## 十一、AI 对话(TokenFree)使用教程 + +平台「AI 对话」页面默认接入 [TokenFree](https://www.tokenfree.com/)——统一 AI API 网关,支持标准 Chat Completions 协议,默认模型 `kimi-k2.6`。 + +| 配置项 | 默认值 | +| --- | --- | +| API Base URL | `https://www.tokenfree.com/v1` | +| 默认模型 | `kimi-k2.6` | +| 协议 | 标准 Chat Completions(流式输出 / Models 列表) | + +使用步骤: + +1. 打开 ,注册账号并完成邮箱验证后登录; +2. 进入控制台「令牌 / API Keys」页面,点击「添加令牌」,复制生成的 Key(`sk-` 开头); +3. 登录本系统,进入「AI 对话」页面,点击右上角齿轮(接口配置); +4. 将 API Key 粘贴到表单(接口地址、模型已预填,一般无需修改); +5. 点击「测试连接」验证通过后「保存」,即可开始流式对话。 + +说明: + +- API Key 仅保存在浏览器本地(localStorage),不会上传到本系统后端; +- 可在 Model 中填写 TokenFree 支持的其他模型(如 Qwen、Claude 等); +- 切换服务商后本地配置会自动升级版本,旧缓存不会污染新默认值。 + +## 十二、版权与使用说明 + +- 本平台的界面设计、面板风格、部署脚本、AI 对接及项目文档由交付团队完成,其使用权与商用权以合同及授权文件为准。 +- 未经书面许可,不得对本平台进行复制、反向工程、转售、再次分发或用于授权之外的用途。 +- 平台所接入的第三方服务(如 TokenFree)受其各自服务条款与模型许可约束,使用时请同时遵守对应条款。 +- 请在遵守适用法律法规的前提下使用本平台。 + +--- + +## 相关链接 + +- [开源社区 GitCC](https://www.gitcc.com/) +- [GCC AI Coding](https://www.gitvv.com/) diff --git a/交付包/smart-parking-delivery-20261014/docs/screenshots/ai-chat.png b/交付包/smart-parking-delivery-20261014/docs/screenshots/ai-chat.png new file mode 100644 index 0000000..92e0353 Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/docs/screenshots/ai-chat.png differ diff --git a/交付包/smart-parking-delivery-20261014/docs/screenshots/ai-settings.png b/交付包/smart-parking-delivery-20261014/docs/screenshots/ai-settings.png new file mode 100644 index 0000000..a6794c4 Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/docs/screenshots/ai-settings.png differ diff --git a/交付包/smart-parking-delivery-20261014/docs/screenshots/alarm-rule-management.png b/交付包/smart-parking-delivery-20261014/docs/screenshots/alarm-rule-management.png new file mode 100644 index 0000000..b911479 Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/docs/screenshots/alarm-rule-management.png differ diff --git a/交付包/smart-parking-delivery-20261014/docs/screenshots/alarms.png b/交付包/smart-parking-delivery-20261014/docs/screenshots/alarms.png new file mode 100644 index 0000000..e4a8bcc Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/docs/screenshots/alarms.png differ diff --git a/交付包/smart-parking-delivery-20261014/docs/screenshots/camera-management.png b/交付包/smart-parking-delivery-20261014/docs/screenshots/camera-management.png new file mode 100644 index 0000000..21f228f Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/docs/screenshots/camera-management.png differ diff --git a/交付包/smart-parking-delivery-20261014/docs/screenshots/campus-state.png b/交付包/smart-parking-delivery-20261014/docs/screenshots/campus-state.png new file mode 100644 index 0000000..2792766 Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/docs/screenshots/campus-state.png differ diff --git a/交付包/smart-parking-delivery-20261014/docs/screenshots/login.png b/交付包/smart-parking-delivery-20261014/docs/screenshots/login.png new file mode 100644 index 0000000..3956f09 Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/docs/screenshots/login.png differ diff --git a/交付包/smart-parking-delivery-20261014/docs/screenshots/map-management.png b/交付包/smart-parking-delivery-20261014/docs/screenshots/map-management.png new file mode 100644 index 0000000..ca4306f Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/docs/screenshots/map-management.png differ diff --git a/交付包/smart-parking-delivery-20261014/docs/screenshots/monitoring-screen.png b/交付包/smart-parking-delivery-20261014/docs/screenshots/monitoring-screen.png new file mode 100644 index 0000000..801e428 Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/docs/screenshots/monitoring-screen.png differ diff --git a/交付包/smart-parking-delivery-20261014/docs/screenshots/overview.png b/交付包/smart-parking-delivery-20261014/docs/screenshots/overview.png new file mode 100644 index 0000000..1310224 Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/docs/screenshots/overview.png differ diff --git a/交付包/smart-parking-delivery-20261014/docs/screenshots/user-info.png b/交付包/smart-parking-delivery-20261014/docs/screenshots/user-info.png new file mode 100644 index 0000000..f18f2a4 Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/docs/screenshots/user-info.png differ diff --git a/交付包/smart-parking-delivery-20261014/docs/screenshots/user-management.png b/交付包/smart-parking-delivery-20261014/docs/screenshots/user-management.png new file mode 100644 index 0000000..5bfbdc6 Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/docs/screenshots/user-management.png differ diff --git a/交付包/smart-parking-delivery-20261014/录屏/full-feature-demo.mp4 b/交付包/smart-parking-delivery-20261014/录屏/full-feature-demo.mp4 new file mode 100644 index 0000000..ecd992a Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/录屏/full-feature-demo.mp4 differ diff --git a/交付包/smart-parking-delivery-20261014/截图/界面截图/ai-chat.png b/交付包/smart-parking-delivery-20261014/截图/界面截图/ai-chat.png new file mode 100644 index 0000000..92e0353 Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/截图/界面截图/ai-chat.png differ diff --git a/交付包/smart-parking-delivery-20261014/截图/界面截图/ai-settings.png b/交付包/smart-parking-delivery-20261014/截图/界面截图/ai-settings.png new file mode 100644 index 0000000..a6794c4 Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/截图/界面截图/ai-settings.png differ diff --git a/交付包/smart-parking-delivery-20261014/截图/界面截图/alarm-rule-management.png b/交付包/smart-parking-delivery-20261014/截图/界面截图/alarm-rule-management.png new file mode 100644 index 0000000..b911479 Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/截图/界面截图/alarm-rule-management.png differ diff --git a/交付包/smart-parking-delivery-20261014/截图/界面截图/alarms.png b/交付包/smart-parking-delivery-20261014/截图/界面截图/alarms.png new file mode 100644 index 0000000..e4a8bcc Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/截图/界面截图/alarms.png differ diff --git a/交付包/smart-parking-delivery-20261014/截图/界面截图/camera-management.png b/交付包/smart-parking-delivery-20261014/截图/界面截图/camera-management.png new file mode 100644 index 0000000..21f228f Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/截图/界面截图/camera-management.png differ diff --git a/交付包/smart-parking-delivery-20261014/截图/界面截图/campus-state.png b/交付包/smart-parking-delivery-20261014/截图/界面截图/campus-state.png new file mode 100644 index 0000000..2792766 Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/截图/界面截图/campus-state.png differ diff --git a/交付包/smart-parking-delivery-20261014/截图/界面截图/login.png b/交付包/smart-parking-delivery-20261014/截图/界面截图/login.png new file mode 100644 index 0000000..3956f09 Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/截图/界面截图/login.png differ diff --git a/交付包/smart-parking-delivery-20261014/截图/界面截图/map-management.png b/交付包/smart-parking-delivery-20261014/截图/界面截图/map-management.png new file mode 100644 index 0000000..ca4306f Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/截图/界面截图/map-management.png differ diff --git a/交付包/smart-parking-delivery-20261014/截图/界面截图/monitoring-screen.png b/交付包/smart-parking-delivery-20261014/截图/界面截图/monitoring-screen.png new file mode 100644 index 0000000..801e428 Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/截图/界面截图/monitoring-screen.png differ diff --git a/交付包/smart-parking-delivery-20261014/截图/界面截图/overview.png b/交付包/smart-parking-delivery-20261014/截图/界面截图/overview.png new file mode 100644 index 0000000..1310224 Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/截图/界面截图/overview.png differ diff --git a/交付包/smart-parking-delivery-20261014/截图/界面截图/user-info.png b/交付包/smart-parking-delivery-20261014/截图/界面截图/user-info.png new file mode 100644 index 0000000..f18f2a4 Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/截图/界面截图/user-info.png differ diff --git a/交付包/smart-parking-delivery-20261014/截图/界面截图/user-management.png b/交付包/smart-parking-delivery-20261014/截图/界面截图/user-management.png new file mode 100644 index 0000000..5bfbdc6 Binary files /dev/null and b/交付包/smart-parking-delivery-20261014/截图/界面截图/user-management.png differ diff --git a/交付包/smart-parking-delivery-20261014/文档/环境依赖清单.md b/交付包/smart-parking-delivery-20261014/文档/环境依赖清单.md new file mode 100644 index 0000000..8265d72 --- /dev/null +++ b/交付包/smart-parking-delivery-20261014/文档/环境依赖清单.md @@ -0,0 +1,68 @@ +# 环境依赖清单 + +项目:智慧停车综合管理平台(Smart Parking Platform) +版本日期:2026-10-10 + +## 1. 基础运行环境 + +| 组件 | 版本要求 | 用途 | 备注 | +| --- | --- | --- | --- | +| Docker Engine | 20.10+ | 容器运行时 | Linux 官方源 / Windows Docker Desktop | +| Docker Compose | v2.0+ | 多容器编排 | `docker compose` 子命令形式 | +| 操作系统 | Linux(内核 4.x+)/ Windows 10+ / macOS | 宿主机 | 生产推荐 Linux | +| 浏览器 | Chrome / Edge / Firefox 最新版 | 前端访问 | 需支持 HLS、ES2020 | + +## 2. 容器化组件(由 docker-compose 自动拉取/构建,无需手动安装) + +| 组件 | 版本 | 用途 | 默认宿主端口 | +| --- | --- | --- | --- | +| 前端(Umi4 静态资源) | 随构建 | Web 界面 | 4010 → 容器 80 | +| 后端(NestJS) | Node 运行时 | REST API + WebSocket | 同 4010(Nginx 反代) | +| MySQL | 8.0 | 业务数据库 | 4012 → 3306 | +| Nginx-RTMP / FFmpeg | - | RTMP 收流、HLS 分发 | 4015 → 1935 | + +## 3. 本地开发依赖(非 Docker 手动部署时) + +### 3.1 前端 + +- Node.js 16+(建议 18 LTS) +- 包管理器:npm / pnpm(注意 lockfile 版本匹配;如 pnpm 与 lockfile 冲突可直接使用本地 `node_modules/.bin/umi`) +- 关键依赖:Umi 4、React 18、Ant Design 5、Leaflet、hls.js + +### 3.2 后端 + +- Node.js 16+(建议 18 LTS) +- 关键依赖:NestJS、TypeScript、MySQL 驱动、JWT、WebSocket(ws) +- 外部服务:可连接的 MySQL 8.0 实例 + +### 3.3 监控算法端(ai-end) + +- Python 3.9+ +- 关键依赖:Ultralytics YOLO、OpenCV、FFmpeg(系统二进制)、WebSocket 客户端 +- 模型文件:`yolov8n.pt`(项目内已附带轻量版,可按需更换) +- 可选:NVIDIA GPU + CUDA 以加速推理 + +## 4. 网络与端口 + +| 端口 | 协议 | 方向 | 说明 | +| --- | --- | --- | --- | +| 4010(可配置) | TCP/HTTP | 入站 | Web 访问、API、HLS | +| 4012(可配置) | TCP | 内部 | MySQL,建议不对公网开放 | +| 4015(可配置) | TCP | 入站 | RTMP 推流 | +| 摄像头源端口 | TCP/UDP | 出站 | 访问摄像头 RTSP/RTMP 源 | + +## 5. AI 对话可选依赖 + +- [TokenFree](https://www.tokenfree.com/) 账号及 API Key(`sk-` 开头) +- 默认接口地址:`https://www.tokenfree.com/v1` +- 默认模型:`kimi-k2.6` +- 浏览器需能访问该接口地址(出网) + +## 6. 默认账号(来源:backend/src/database-seeder.ts) + +| 角色 | 账号 | 密码 | +| --- | --- | --- | +| 管理员 | admin | admin123 | +| 操作员 | operator | 123456 | + +> 交付上线前务必修改默认密码,并限制数据库端口暴露。 diff --git a/交付包/smart-parking-delivery-20261014/文档/部署注意事项.md b/交付包/smart-parking-delivery-20261014/文档/部署注意事项.md new file mode 100644 index 0000000..002835f --- /dev/null +++ b/交付包/smart-parking-delivery-20261014/文档/部署注意事项.md @@ -0,0 +1,65 @@ +# 部署注意事项 + +项目:智慧停车综合管理平台 +更新日期:2026-10-10 + +## 一、部署前检查 + +1. **Docker 可用性**:执行 `docker --version` 与 `docker compose version` 确认版本满足 20.10+ / Compose v2+;Linux 确保服务已启动(`systemctl status docker`)。 +2. **端口占用**:启动前确认 `4010 / 4012 / 4015`(或自定义端口)未被占用: + - Windows:`netstat -ano | findstr :4010` + - Linux:`ss -lntp | grep -E '4010|4012|4015'` +3. **磁盘空间**:预留至少 10 GB 可用空间(镜像 + 数据卷 + 录屏/地图素材)。 +4. **防火墙/安全组**:放通应用端口(4010)与 RTMP(4015);**数据库端口 4012 不要对公网开放**。 +5. **时间同步**:生产服务器开启 NTP 时间同步,避免 JWT 与报警时间异常。 + +## 二、部署中注意事项 + +1. **环境变量**:复制 `.env.example` 为 `.env`,至少修改 MySQL root 口令;不要把含真实口令的 `.env` 提交到公共仓库(`.env` 已加入 `.gitignore`)。 +2. **首次启动**:`docker compose up -d` 会构建镜像、初始化数据库并导入示例数据,耗时取决于网络与机器性能,请勿中断。 +3. **健康判断**:使用 `docker compose ps`,应用容器状态为 `healthy` 后再访问;如长时间 `unhealthy`,用 `docker compose logs --tail=200 app` 排查。 +4. **数据卷**:数据库数据保存在持久化数据卷中;执行 `docker compose down` 不删数据,**加 `-v` 参数会删除数据卷导致数据丢失,务必谨慎**。 + +## 三、混合内容 / HTTPS + +1. 若前端通过 HTTPS 访问,页面内的 HLS 视频与 AI 接口也需为 HTTPS,否则浏览器会拦截混合内容。 +2. TokenFree 接口本身为 HTTPS;自建/第三方媒体地址需保证与页面协议一致,或在反向代理统一 TLS 卸载。 +3. 建议在 Nginx/网关层统一配置证书(如 Let's Encrypt)并反代应用与媒体服务。 + +## 四、直播与算法端 + +1. 摄像头 RTSP/RTMP 源必须从部署主机可达;建议先用 `ffmpeg -i <源地址>` 验证源流正常。 +2. 算法端与后端通过 WebSocket 通信,需保证二者网络互通、管理员账号配置正确。 +3. 多路视频或高分辨率场景建议算法端独立部署并使用 GPU;CPU 推理路数过多会导致卡顿与漏报。 +4. RTMP/HLS 直播存在数秒延迟属正常(HLS 分片机制);如需更低延迟可调整分片时长或改用 WebRTC 方案(另行定制)。 + +## 五、浏览器兼容性 + +1. 推荐使用最新版 Chrome / Edge;平台依赖 ES2020、HLS、CSS backdrop-filter。 +2. 部分老旧浏览器不支持玻璃模糊效果,会降级为半透明背景,不影响功能。 +3. AI Key 等配置存于浏览器 localStorage,更换浏览器/清理缓存后需要重新配置。 + +## 六、升级与回滚 + +1. **升级**:备份数据卷 → 拉取/构建新镜像 → `docker compose up -d`;数据库结构如有变更需按迁移说明执行。 +2. **回滚**:保留上一版本镜像 tag,异常时通过指定旧镜像 tag 重新启动;恢复升级前的数据卷备份。 +3. 建议交付/升级前导出数据库备份: + `docker compose exec mysql mysqldump -uroot -p<口令> <数据库名> > backup.sql` + +## 七、安全加固建议 + +1. 首次登录立即修改 admin/operator 默认密码。 +2. 为数据库设置强口令并仅监听内网;生产环境关闭不必要的端口暴露。 +3. 反向代理层开启访问日志、限流与超时配置;对外服务启用 HTTPS。 +4. 定期更新 Docker、基础镜像与操作系统补丁。 + +## 八、常见问题速查 + +| 现象 | 排查方向 | +| --- | --- | +| 页面打不开 | 应用容器是否 healthy、端口/防火墙是否放通 | +| 登录失败 | 数据库是否初始化完成、账号是否被修改、时间是否同步 | +| 视频黑屏 | 摄像头源是否可达、RTMP 端口、混合内容策略、HLS 分片是否生成 | +| AI 无响应 | API Key 是否正确、接口地址是否可达、模型名是否被服务商支持 | +| 报警不触发 | 算法端是否在线、规则是否启用、检测目标/阈值是否合理 | +| 容器反复重启 | `docker compose logs app` 查看依赖(DB 未就绪/口令错误/端口冲突) | diff --git a/交付包/smart-parking-交付清单-20261014.md b/交付包/smart-parking-交付清单-20261014.md new file mode 100644 index 0000000..410a912 --- /dev/null +++ b/交付包/smart-parking-交付清单-20261014.md @@ -0,0 +1,80 @@ +# 交付清单 + +- 项目名称:智慧停车综合管理平台(Smart Parking Platform) +- 交付日期:2026-10-14(绚丽增强层全量升级后的重新交付) +- 部署方式:Docker Compose 私有化部署 +- 在线验证:http://localhost:4010/(应用容器状态 healthy) + +## 一、交付物对照 + +| # | 交付物 | 包内路径/说明 | 状态 | +|---:|---|---|---| +| 1 | 可稳定运行的完整项目源码 | 源码目录单独交付(`frontend/`、`backend/`、`ai-end/`、`docker-compose.yml`) | ✅ | +| 2 | 当前产品全页面高清界面截图 | `截图/界面截图/`;README 配图位于 `docs/screenshots/` | ✅ | +| 3 | 全功能操作演示录屏 | `录屏/full-feature-demo.mp4` | ✅ | +| 4 | 素材归档网盘分享链接(长期有效) | https://code.xinmi.cloud/depei/panel-delivery-tree(交付包/ 目录,zip + 解压内容双存档,长期有效) | ✅ | +| 5 | 完整版 README(含架构说明、部署教程、场景说明) | 交付包根目录 `README.md` | ✅ | +| 6 | Docker 一键部署脚本/部署包 | `docker-compose.yml`、`.env.example`、`front-backend.Dockerfile` | ✅ | +| 7 | 环境依赖清单、部署注意事项 | `文档/环境依赖清单.md`、`文档/部署注意事项.md` | ✅ | + +## 二、素材明细 + +### 界面截图(共 12 张,2026-10-14 绚丽增强层版本重新采集) + +`截图/界面截图/`: + +- `login.png`:登录页 +- `overview.png`:概览大屏 +- `campus-state.png`:园区态势 +- `monitoring-screen.png`:视频监控大屏 +- `alarms.png`:报警事件 +- `ai-chat.png`:AI 对话 +- `ai-settings.png`:AI 接口配置教程 +- `user-info.png`:个人中心 +- `map-management.png`:园区地图管理 +- `camera-management.png`:摄像头管理 +- `alarm-rule-management.png`:报警规则管理 +- `user-management.png`:用户管理 + +### 演示视频 + +- `录屏/full-feature-demo.mp4`:1280×720,H.264,时长 62 秒,约 8.0 MB。 +- 演示流程:登录 → 概览大屏 → 园区态势 → 视频监控 → 报警事件 → AI 对话 → 个人中心 → 系统管理(地图/摄像头/报警规则/用户)。 +- 视频监控段已按“打开页面后静置不少于 10 秒、逐路校验、时间推进确认”的流程复核;可见 6 路 HLS 均为真实动态画面。 + +### 本次界面升级说明(2026-10-14) + +全站叠加「绚丽增强层」:动态极光背景与网格漂移、顶栏霓虹光束、卡片旋转渐变描边、 +主按钮周期扫光、菜单选中发光指示条、表格行霓虹左缘、全局霓虹滚动条与选中色; +概览大屏 KPI 交错进入与发光脉动、登录页 Logo 呼吸光环、监控瓦片霓虹描边、AI 对话头像光环与气泡动效。 +全部动效遵循 `prefers-reduced-motion` 降级,装饰元素不遮挡信息,面板 UI 审计 0 violations。 + +## 三、素材归档 + +交付包已按「截图 / 录屏 / 文档」分类整理,归档于交付树仓库(等效网盘归档,Git 长期保存)(zip 压缩包与解压内容双存档,长期有效): + +- 分享链接:https://code.xinmi.cloud/depei/panel-delivery-tree (`交付包/smart-parking-delivery-20261014.zip` 及同名解压目录) +- 提取码:无需提取码(内部 Git 服务,按仓库权限访问) + +## 四、默认账号 + +系统初始化后提供以下默认账号,首次上线前请及时修改: + +| 角色 | 账号 | 密码 | +| --- | --- | --- | +| 管理员 | `admin` | `admin123` | +| 操作员 | `operator` | `123456` | + +## 五、验收记录 + +- 部署验证:MySQL、应用容器均为 healthy;Web 服务可正常访问。 +- 面板 UI 审计:10 条核心路由(含 4 个系统管理页),结果为 0 violations。 +- 全功能走查:登录、概览大屏、园区态势、视频监控、报警、AI 对话、个人中心和系统管理操作正常。 +- README 配图:12 张图片均等待页面 loading 消失、核心内容渲染完成并稳定后重新截取,引用路径完整,解压后可正常显示。 +- 视频核验:监控页 6 路 HLS 瓦片通过帧尺寸、播放状态、时间推进、画面能量校验;录屏 12 个时间点抽帧均值/能量全部达标,监控段相邻帧差异确认动态画面。 + +## 六、售后说明 + +- 基础质保范围、响应时限和质保期以合同正文为准。 +- 一般包括功能缺陷、部署问题、文档答疑、使用指导和基础技术咨询。 +- 新增功能、深度定制或第三方平台策略变更,可另行协商。 diff --git a/交付登记.md b/交付登记.md index 2388fdf..a42424e 100644 --- a/交付登记.md +++ b/交付登记.md @@ -6,9 +6,20 @@ | 项目 | 交付日期 | 交付包 | 解压内容 | Git 仓库 | 锁定提交 | 部署校验 | | --- | --- | --- | --- | --- | --- | --- | +| 智慧停车综合管理平台(绚丽增强层重交付) | 2026-10-14 | [`smart-parking-delivery-20261014.zip`](./交付包/smart-parking-delivery-20261014.zip)(28.06 MB) | [`smart-parking-delivery-20261014/`](./交付包/smart-parking-delivery-20261014/)(28 个文件,28.08 MB) | [depei/smart-parking-platform](https://code.xinmi.cloud/depei/smart-parking-platform) | `660c2bc` | docker-compose · http://localhost:4010/ · healthy | | 智慧停车综合管理平台 | 2026-10-10 | [`smart-parking-delivery-20261010.zip`](./交付包/smart-parking-delivery-20261010.zip)(29.62 MB) | [`smart-parking-delivery-20261010/`](./交付包/smart-parking-delivery-20261010/)(28 个文件,29.68 MB) | [depei/smart-parking-platform](https://code.xinmi.cloud/depei/smart-parking-platform) | `3c99299` | docker-compose · http://localhost:4010/ · healthy | -## 智慧停车综合管理平台 +## 智慧停车综合管理平台(2026-10-14 绚丽增强层重交付) + +- 交付包(压缩包):[`交付包/smart-parking-delivery-20261014.zip`](./交付包/smart-parking-delivery-20261014.zip) +- 交付包(解压内容):[`交付包/smart-parking-delivery-20261014/`](./交付包/smart-parking-delivery-20261014/) —— README、绚丽版截图 x12、62 秒录屏、文档,与 zip 一致,可直接在线浏览 +- SHA256:`31e11be6186895748e9302f1b8c8d54df0de322c6506a5704561040036369c8a` +- 交付清单:[`交付包/smart-parking-交付清单-20261014.md`](./交付包/smart-parking-交付清单-20261014.md) +- 锁定提交:`660c2bc`(绚丽增强层 caffa4e + 截图重采 660c2bc) +- 部署方式:Docker Compose 一键部署;在线验证 http://localhost:4010/ ,容器 healthy;面板审计 10 路由 0 violations +- 本次变化:全站叠加绚丽增强层(动态极光、卡片旋转描边、按钮扫光、菜单指示条、霓虹滚动条等),素材全部重新采集 + +## 智慧停车综合管理平台(2026-10-10 首次交付) - 交付包(压缩包):[`交付包/smart-parking-delivery-20261010.zip`](./交付包/smart-parking-delivery-20261010.zip) - 交付包(解压内容):[`交付包/smart-parking-delivery-20261010/`](./交付包/smart-parking-delivery-20261010/) —— README、截图 x12、录屏、文档,与 zip 一致,可直接在线浏览 diff --git a/项目源码/README.md b/项目源码/README.md index 324fde8..9277ce8 100644 --- a/项目源码/README.md +++ b/项目源码/README.md @@ -7,7 +7,7 @@ | 项目 | 路径 | 远程仓库 | 锁定提交 | | --- | --- | --- | --- | -| 智慧停车综合管理平台 | `smart-parking-platform` | | `3c99299` | +| 智慧停车综合管理平台 | `smart-parking-platform` | | `660c2bc` | ## 克隆方式 diff --git a/项目源码/smart-parking-platform b/项目源码/smart-parking-platform index 3c99299..660c2bc 160000 --- a/项目源码/smart-parking-platform +++ b/项目源码/smart-parking-platform @@ -1 +1 @@ -Subproject commit 3c9929938166d0ce6533afc4c1b3446225953d65 +Subproject commit 660c2bc5d47d03ee81167175f900b69d4acd037f