diff --git a/README.md b/README.md index 284779b..79ecf18 100644 --- a/README.md +++ b/README.md @@ -28,9 +28,18 @@ | 项目 | 交付包 | Git | 提交 | | --- | --- | --- | --- | +| 智慧停车综合管理平台(多彩霓虹新版,2026-10-21) | [smart-parking-delivery-20261021.zip](./交付包/smart-parking-delivery-20261021.zip)(30.79 MB)+[解压目录](./交付包/smart-parking-delivery-20261021/)(28 文件 / 30.81 MB) | [项目仓库](https://code.xinmi.cloud/depei/smart-parking-platform) | `dffa686` | | 智慧停车综合管理平台(绚丽增强层重交付) | [smart-parking-delivery-20261014.zip](./交付包/smart-parking-delivery-20261014.zip)(28.82 MB)+[解压目录](./交付包/smart-parking-delivery-20261014/)(28 文件 / 28.83 MB) | [depei/smart-parking-platform](https://code.xinmi.cloud/depei/smart-parking-platform) | `9421e62` | | 智慧停车综合管理平台 | [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` | +## 最新页面与录屏 + +2026-10-21 多彩霓虹主题,12 张新版截图与 77.8 秒全功能录屏。 + +![多彩霓虹概览](./交付包/smart-parking-delivery-20261021/docs/screenshots/overview.png) + +[观看或下载录屏](./交付包/smart-parking-delivery-20261021/录屏/full-feature-demo.mp4) · [完整交付内容](./交付包/smart-parking-delivery-20261021/) + ## 引用的技能与规范 | 资源 | 链接 / 路径 | 用途 | @@ -48,7 +57,7 @@ - 平台:[depei/smart-parking-platform](https://code.xinmi.cloud/depei/smart-parking-platform) - 挂载路径:`项目源码/smart-parking-platform` -- 当前锁定提交:`9421e62` +- 当前锁定提交:`dffa686` - 克隆请加 `--recurse-submodules`,详见 [`项目源码/README.md`](./项目源码/README.md) ## 标准交付包目录树 @@ -56,7 +65,7 @@ ```text # 交付包根(含项目源码子模块) 项目源码/ -└── smart-parking-platform/ # git submodule → depei/smart-parking-platform @ 9421e62 +└── smart-parking-platform/ # git submodule → depei/smart-parking-platform @ dffa686 # 交付物资产树 交付包模板/ diff --git a/metadata.json b/metadata.json index 104438b..4d61a7f 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": "9421e625665c02f8dcbe410e4e2529e098d53080", + "commit": "dffa686a81a8a2f0194d126a0820149025b24160", "shallow": true } ], @@ -39,4 +39,4 @@ "json": "registry.json", "packagesDir": "交付包" } -} \ No newline at end of file +} diff --git a/registry.json b/registry.json index 6981a27..bf46e4d 100644 --- a/registry.json +++ b/registry.json @@ -1,6 +1,34 @@ { - "updatedAt": "2026-10-14", + "updatedAt": "2026-10-21", "deliveries": [ + { + "project": "智慧停车综合管理平台", + "projectKey": "smart-parking-platform", + "deliveryDate": "2026-10-21", + "note": "多彩霓虹主题新版:12张截图与77.8秒全功能录屏重新采集", + "package": "交付包/smart-parking-delivery-20261021.zip", + "packageSizeMB": 30.79, + "sha256": "9af1f90a05b30de5385aec0c36bb2b63191f8c1ed81d15f2d1e163ad31358fdd", + "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": "dffa686a81a8a2f0194d126a0820149025b24160", + "branch": "main" + }, + "deploy": { + "method": "docker-compose", + "verifyUrl": "http://localhost:4010/", + "status": "healthy" + }, + "extractedDir": "交付包/smart-parking-delivery-20261021", + "extractedFileCount": 28, + "extractedSizeMB": 30.81, + "archiveForm": "zip + 解压内容双存档", + "manifest": "交付包/smart-parking-交付清单-20261021.md", + "sidecar": "交付包/smart-parking-delivery-20261021.json" + }, { "project": "智慧停车综合管理平台", "projectKey": "smart-parking-platform", diff --git a/交付包/README.md b/交付包/README.md index 68b6671..09027a6 100644 --- a/交付包/README.md +++ b/交付包/README.md @@ -4,6 +4,13 @@ 以及压缩包的**解压内容**(可直接在仓库内浏览 README、截图、录屏与文档,无需下载解压)。 交付登记总索引见根目录 [`交付登记.md`](../交付登记.md) 与 [`registry.json`](../registry.json)。 +## 智慧停车综合管理平台(2026-10-21 多彩霓虹新版) + +- [交付包](./smart-parking-delivery-20261021.zip) · [解压内容](./smart-parking-delivery-20261021/) · [交付清单](./smart-parking-交付清单-20261021.md) +- 源码锁定:`dffa686a81a8a2f0194d126a0820149025b24160`;12 张截图、77.8 秒 H.264 录屏全部重新采集。 +- SHA256:`9af1f90a05b30de5385aec0c36bb2b63191f8c1ed81d15f2d1e163ad31358fdd` +- 新版配图与源码 README 一致;zip 和解压文件逐项校验一致。 + ## 智慧停车综合管理平台(2026-10-14,绚丽增强层重交付) | 路径 | 形式 | 说明 | diff --git a/交付包/smart-parking-delivery-20261021.json b/交付包/smart-parking-delivery-20261021.json new file mode 100644 index 0000000..6a2c25a --- /dev/null +++ b/交付包/smart-parking-delivery-20261021.json @@ -0,0 +1,37 @@ +{ + "project": "智慧停车综合管理平台", + "projectKey": "smart-parking-platform", + "deliveryDate": "2026-10-21", + "note": "多彩霓虹主题新版:12张截图与77.8秒全功能录屏重新采集", + "package": "交付包/smart-parking-delivery-20261021.zip", + "packageSizeMB": 30.79, + "sha256": "9af1f90a05b30de5385aec0c36bb2b63191f8c1ed81d15f2d1e163ad31358fdd", + "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": "dffa686a81a8a2f0194d126a0820149025b24160", + "branch": "main" + }, + "deploy": { + "method": "docker-compose", + "verifyUrl": "http://localhost:4010/", + "status": "healthy" + }, + "extractedDir": "交付包/smart-parking-delivery-20261021", + "extractedFileCount": 28, + "extractedSizeMB": 30.81, + "archiveForm": "zip + 解压内容双存档", + "manifest": "交付包/smart-parking-交付清单-20261021.md", + "sidecar": "交付包/smart-parking-delivery-20261021.json", + "packageSizeBytes": 32281303, + "extractedSizeBytes": 32302621, + "contains": [ + "README及12张新版配图", + "12张产品截图", + "H.264 1280×720录屏,77.8秒", + "环境依赖清单", + "部署注意事项" + ] +} diff --git a/交付包/smart-parking-delivery-20261021.zip b/交付包/smart-parking-delivery-20261021.zip new file mode 100644 index 0000000..7e44cc2 Binary files /dev/null and b/交付包/smart-parking-delivery-20261021.zip differ diff --git a/交付包/smart-parking-delivery-20261021/README.md b/交付包/smart-parking-delivery-20261021/README.md new file mode 100644 index 0000000..1ec0ecb --- /dev/null +++ b/交付包/smart-parking-delivery-20261021/README.md @@ -0,0 +1,339 @@ +# 智慧停车综合管理平台(Smart Parking Platform) + +> **一句话简介**:一套集园区态势感知、视频监控大屏、异常智能报警、停车运营管理与 AI 智能助手于一体的、可私有化 Docker 一键部署的智慧停车综合管理平台。 + +

+ 平台登录页 +

+ +## 多彩霓虹主题 · 2026-10-21 + +全站采用玫红、橙金、薄荷绿、紫色与电光蓝多彩面板,包含彩虹渐变趋势图、极光登录背景及统一的导航、表格和 AI 对话样式。以下 12 张配图均于 2026-10-21 从当前运行版本重新采集。 + +完整操作录屏与本次交付包:[交付树中的 2026-10-21 版本](https://code.xinmi.cloud/depei/panel-delivery-tree/src/branch/main/交付包/smart-parking-delivery-20261021)。 + +## 目录 + +- [一、详细功能描述](#一详细功能描述) +- [二、解决的行业痛点](#二解决的行业痛点) +- [三、核心技术优势](#三核心技术优势) +- [四、应用场景](#四应用场景) +- [五、适配目标行业与人群](#五适配目标行业与人群) +- [六、商业应用价值](#六商业应用价值) +- [七、技术架构](#七技术架构) +- [八、环境前置依赖](#八环境前置依赖) +- [九、快速开始](#九快速开始) +- [十、完整安装部署教程](#十完整安装部署教程) +- [十一、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-20261021/docs/screenshots/ai-chat.png b/交付包/smart-parking-delivery-20261021/docs/screenshots/ai-chat.png new file mode 100644 index 0000000..3707995 Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/docs/screenshots/ai-chat.png differ diff --git a/交付包/smart-parking-delivery-20261021/docs/screenshots/ai-settings.png b/交付包/smart-parking-delivery-20261021/docs/screenshots/ai-settings.png new file mode 100644 index 0000000..f4144ef Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/docs/screenshots/ai-settings.png differ diff --git a/交付包/smart-parking-delivery-20261021/docs/screenshots/alarm-rule-management.png b/交付包/smart-parking-delivery-20261021/docs/screenshots/alarm-rule-management.png new file mode 100644 index 0000000..3c1d468 Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/docs/screenshots/alarm-rule-management.png differ diff --git a/交付包/smart-parking-delivery-20261021/docs/screenshots/alarms.png b/交付包/smart-parking-delivery-20261021/docs/screenshots/alarms.png new file mode 100644 index 0000000..609c7af Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/docs/screenshots/alarms.png differ diff --git a/交付包/smart-parking-delivery-20261021/docs/screenshots/camera-management.png b/交付包/smart-parking-delivery-20261021/docs/screenshots/camera-management.png new file mode 100644 index 0000000..753ac0d Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/docs/screenshots/camera-management.png differ diff --git a/交付包/smart-parking-delivery-20261021/docs/screenshots/campus-state.png b/交付包/smart-parking-delivery-20261021/docs/screenshots/campus-state.png new file mode 100644 index 0000000..3496eb3 Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/docs/screenshots/campus-state.png differ diff --git a/交付包/smart-parking-delivery-20261021/docs/screenshots/login.png b/交付包/smart-parking-delivery-20261021/docs/screenshots/login.png new file mode 100644 index 0000000..3dfde77 Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/docs/screenshots/login.png differ diff --git a/交付包/smart-parking-delivery-20261021/docs/screenshots/map-management.png b/交付包/smart-parking-delivery-20261021/docs/screenshots/map-management.png new file mode 100644 index 0000000..4bdc76b Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/docs/screenshots/map-management.png differ diff --git a/交付包/smart-parking-delivery-20261021/docs/screenshots/monitoring-screen.png b/交付包/smart-parking-delivery-20261021/docs/screenshots/monitoring-screen.png new file mode 100644 index 0000000..f3beb9d Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/docs/screenshots/monitoring-screen.png differ diff --git a/交付包/smart-parking-delivery-20261021/docs/screenshots/overview.png b/交付包/smart-parking-delivery-20261021/docs/screenshots/overview.png new file mode 100644 index 0000000..77cd691 Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/docs/screenshots/overview.png differ diff --git a/交付包/smart-parking-delivery-20261021/docs/screenshots/user-info.png b/交付包/smart-parking-delivery-20261021/docs/screenshots/user-info.png new file mode 100644 index 0000000..4cbff7d Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/docs/screenshots/user-info.png differ diff --git a/交付包/smart-parking-delivery-20261021/docs/screenshots/user-management.png b/交付包/smart-parking-delivery-20261021/docs/screenshots/user-management.png new file mode 100644 index 0000000..8e8301d Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/docs/screenshots/user-management.png differ diff --git a/交付包/smart-parking-delivery-20261021/录屏/full-feature-demo.mp4 b/交付包/smart-parking-delivery-20261021/录屏/full-feature-demo.mp4 new file mode 100644 index 0000000..05da29d Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/录屏/full-feature-demo.mp4 differ diff --git a/交付包/smart-parking-delivery-20261021/截图/界面截图/ai-chat.png b/交付包/smart-parking-delivery-20261021/截图/界面截图/ai-chat.png new file mode 100644 index 0000000..3707995 Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/截图/界面截图/ai-chat.png differ diff --git a/交付包/smart-parking-delivery-20261021/截图/界面截图/ai-settings.png b/交付包/smart-parking-delivery-20261021/截图/界面截图/ai-settings.png new file mode 100644 index 0000000..f4144ef Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/截图/界面截图/ai-settings.png differ diff --git a/交付包/smart-parking-delivery-20261021/截图/界面截图/alarm-rule-management.png b/交付包/smart-parking-delivery-20261021/截图/界面截图/alarm-rule-management.png new file mode 100644 index 0000000..3c1d468 Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/截图/界面截图/alarm-rule-management.png differ diff --git a/交付包/smart-parking-delivery-20261021/截图/界面截图/alarms.png b/交付包/smart-parking-delivery-20261021/截图/界面截图/alarms.png new file mode 100644 index 0000000..609c7af Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/截图/界面截图/alarms.png differ diff --git a/交付包/smart-parking-delivery-20261021/截图/界面截图/camera-management.png b/交付包/smart-parking-delivery-20261021/截图/界面截图/camera-management.png new file mode 100644 index 0000000..753ac0d Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/截图/界面截图/camera-management.png differ diff --git a/交付包/smart-parking-delivery-20261021/截图/界面截图/campus-state.png b/交付包/smart-parking-delivery-20261021/截图/界面截图/campus-state.png new file mode 100644 index 0000000..3496eb3 Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/截图/界面截图/campus-state.png differ diff --git a/交付包/smart-parking-delivery-20261021/截图/界面截图/login.png b/交付包/smart-parking-delivery-20261021/截图/界面截图/login.png new file mode 100644 index 0000000..3dfde77 Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/截图/界面截图/login.png differ diff --git a/交付包/smart-parking-delivery-20261021/截图/界面截图/map-management.png b/交付包/smart-parking-delivery-20261021/截图/界面截图/map-management.png new file mode 100644 index 0000000..4bdc76b Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/截图/界面截图/map-management.png differ diff --git a/交付包/smart-parking-delivery-20261021/截图/界面截图/monitoring-screen.png b/交付包/smart-parking-delivery-20261021/截图/界面截图/monitoring-screen.png new file mode 100644 index 0000000..f3beb9d Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/截图/界面截图/monitoring-screen.png differ diff --git a/交付包/smart-parking-delivery-20261021/截图/界面截图/overview.png b/交付包/smart-parking-delivery-20261021/截图/界面截图/overview.png new file mode 100644 index 0000000..77cd691 Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/截图/界面截图/overview.png differ diff --git a/交付包/smart-parking-delivery-20261021/截图/界面截图/user-info.png b/交付包/smart-parking-delivery-20261021/截图/界面截图/user-info.png new file mode 100644 index 0000000..4cbff7d Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/截图/界面截图/user-info.png differ diff --git a/交付包/smart-parking-delivery-20261021/截图/界面截图/user-management.png b/交付包/smart-parking-delivery-20261021/截图/界面截图/user-management.png new file mode 100644 index 0000000..8e8301d Binary files /dev/null and b/交付包/smart-parking-delivery-20261021/截图/界面截图/user-management.png differ diff --git a/交付包/smart-parking-delivery-20261021/文档/环境依赖清单.md b/交付包/smart-parking-delivery-20261021/文档/环境依赖清单.md new file mode 100644 index 0000000..8265d72 --- /dev/null +++ b/交付包/smart-parking-delivery-20261021/文档/环境依赖清单.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-20261021/文档/部署注意事项.md b/交付包/smart-parking-delivery-20261021/文档/部署注意事项.md new file mode 100644 index 0000000..002835f --- /dev/null +++ b/交付包/smart-parking-delivery-20261021/文档/部署注意事项.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-交付清单-20261021.md b/交付包/smart-parking-交付清单-20261021.md new file mode 100644 index 0000000..fcb036b --- /dev/null +++ b/交付包/smart-parking-交付清单-20261021.md @@ -0,0 +1,25 @@ +# 多彩霓虹主题交付清单 + +- 项目:智慧停车综合管理平台 +- 交付日期:2026-10-21(Asia/Shanghai) +- 版本:全站多彩霓虹主题,五色指标卡、彩虹趋势图、极光登录背景及统一业务面板。 +- 源码: https://code.xinmi.cloud/depei/smart-parking-platform +- 交付归档: https://code.xinmi.cloud/depei/panel-delivery-tree +- 本地验证地址:http://localhost:4010/ + +## 交付内容 + +- README.md:功能说明、技术架构、部署教程及新版实拍配图。 +- docs/screenshots/:12 张 1600×900 截图;截图/界面截图/ 保存同一组产品素材。 +- 录屏/full-feature-demo.mp4:H.264、1280×720、77.8 秒;覆盖登录、概览、园区态势、监控、报警、AI 配置、个人中心及四项系统管理。 +- 文档/环境依赖清单.md、文档/部署注意事项.md。 +- 项目源码通过交付树子模块锁定;Docker 配置与前端构建产物由项目源码仓库提供,素材包不包含完整源码。 + +## 验证记录 + +- 前端生产构建通过。 +- 登录并走查所有截图对应页面;监控截图可见 6 路视频画面。 +- 录屏在 3、12、22、30、40、50、60、70 秒抽帧检查。 +- 包内 README 的所有本地图片引用须存在且与当前截图哈希一致。 +- zip 与同名解压目录双存档;大小、SHA256 与源码提交登记于 sidecar JSON 和 registry.json。 +- 保留以往交付版本,2026-10-21 新包独立归档。 diff --git a/交付登记.md b/交付登记.md index cc234a5..07b6c48 100644 --- a/交付登记.md +++ b/交付登记.md @@ -6,9 +6,17 @@ | 项目 | 交付日期 | 交付包 | 解压内容 | Git 仓库 | 锁定提交 | 部署校验 | | --- | --- | --- | --- | --- | --- | --- | +| 智慧停车综合管理平台(多彩霓虹新版) | 2026-10-21 | [smart-parking-delivery-20261021.zip](./交付包/smart-parking-delivery-20261021.zip)(30.79 MB) | [解压内容](./交付包/smart-parking-delivery-20261021/)(28 文件 / 30.81 MB) | [项目仓库](https://code.xinmi.cloud/depei/smart-parking-platform) | `dffa686` | healthy | | 智慧停车综合管理平台(绚丽增强层重交付) | 2026-10-14 | [`smart-parking-delivery-20261014.zip`](./交付包/smart-parking-delivery-20261014.zip)(28.82 MB) | [`smart-parking-delivery-20261014/`](./交付包/smart-parking-delivery-20261014/)(28 个文件,28.83 MB) | [depei/smart-parking-platform](https://code.xinmi.cloud/depei/smart-parking-platform) | `9421e62` | 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-21 多彩霓虹新版) + +- [交付包](./交付包/smart-parking-delivery-20261021.zip) · [解压内容](./交付包/smart-parking-delivery-20261021/) · [交付清单](./交付包/smart-parking-交付清单-20261021.md) +- 源码锁定:`dffa686a81a8a2f0194d126a0820149025b24160`;12 张截图、77.8 秒 H.264 录屏全部重新采集。 +- SHA256:`9af1f90a05b30de5385aec0c36bb2b63191f8c1ed81d15f2d1e163ad31358fdd` +- 新版配图与源码 README 一致;zip 和解压文件逐项校验一致。 + ## 智慧停车综合管理平台(2026-10-14 绚丽增强层重交付) - 交付包(压缩包):[`交付包/smart-parking-delivery-20261014.zip`](./交付包/smart-parking-delivery-20261014.zip) diff --git a/项目源码/README.md b/项目源码/README.md index ed969bc..961b0ba 100644 --- a/项目源码/README.md +++ b/项目源码/README.md @@ -7,7 +7,7 @@ | 项目 | 路径 | 远程仓库 | 锁定提交 | | --- | --- | --- | --- | -| 智慧停车综合管理平台 | `smart-parking-platform` | | `9421e62` | +| 智慧停车综合管理平台 | `smart-parking-platform` | | `dffa686` | ## 克隆方式 diff --git a/项目源码/smart-parking-platform b/项目源码/smart-parking-platform index 9421e62..dffa686 160000 --- a/项目源码/smart-parking-platform +++ b/项目源码/smart-parking-platform @@ -1 +1 @@ -Subproject commit 9421e625665c02f8dcbe410e4e2529e098d53080 +Subproject commit dffa686a81a8a2f0194d126a0820149025b24160