# enterprise-project **Repository Path**: enterprise-project_2/enterprise-project ## Basic Information - **Project Name**: enterprise-project - **Description**: 服务端,前端,客户端,app端 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-14 - **Last Updated**: 2026-07-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 企业级物联网监控平台 基于 Java 17、Spring Boot 3、MySQL、Vue 3、uni-app Vue 3、EMQX 和 Docker Compose 的企业物联网设备与告警管理平台。 ## 已实现功能 - 唯一超级管理员初始化与超级管理员控制开放注册 - JWT 登录、用户注册、用户组和 OWNER/ADMIN/MEMBER 权限 - 成员邀请、接受/拒绝、角色调整、移除、退出、所有权移交及删除组 - 摄像头、喇叭、门锁、传感器、网关、PLC 和自定义设备管理 - 独立设备 MQTT 凭证生成、轮换、启停以及 EMQX HTTP 认证授权 - MQTT 告警入库、幂等处理、确认、组级通知规则及个人通知偏好 - WebSocket 实时告警、弹窗/声音/振动提醒和个人告警收件箱 - Vue 3 电脑端与 uni-app Vue 3 APP 端 - 电脑端、APP 和微信小程序用户中心,可查看当前账号资料与状态 - 角色、设备类型、在线状态、告警等级和处理状态统一中文展示 - 自动记录业务查询、数据变更、初始化、注册和登录等操作日志,支持组内审计与超级管理员全平台审计 - MySQL Flyway V1~V5 数据库迁移与 Docker Compose 部署 ## 项目结构 ```text backend/ Spring Boot 后端 frontend/ Vue 3 电脑端 mobile/ uni-app Vue 3 APP 端 docs/ 系统操作、部署运维和 EMQX 接入文档 compose.yaml Docker Compose 编排 ``` ## 快速启动 1. 复制 `.env.example` 为 `.env`,替换全部密码、密钥和初始化令牌。 2. 确认 Docker Desktop/Engine 已启动。 3. 在项目根目录执行 `docker compose up -d --build`。 4. 浏览器访问 `http://localhost`,按页面提示初始化唯一超级管理员。 5. 登录后在“系统设置”中按需开放用户注册。 后端本地默认端口为 `11111`。本地开发分别在 `backend` 执行 `mvn spring-boot:run`,在 `frontend` 执行 `npm install` 与 `npm run dev`。 生产服务器推荐直接执行一键部署脚本:Linux 使用 `./scripts/deploy-server.sh up`,Windows PowerShell 使用 `scripts/deploy-server.ps1 -Action up`。脚本会自动生成生产密钥、构建并启动服务端、电脑端和 APP 下载服务。正式 APK 放置于 `deploy/artifacts/enterprise-iot.apk`。 APP 使用 HBuilderX 打开 `mobile` 目录并运行到手机或模拟器。登录页可配置后端地址;Android 模拟器通常使用 `http://10.0.2.2:11111`,真机使用服务器局域网 IP 或生产 HTTPS 域名。 ## 文档 - [系统操作手册](docs/系统操作手册.md) - [部署运维手册](docs/部署运维手册.md) - [EMQX 认证授权配置](docs/EMQX认证授权配置.md) ## MQTT 告警消息示例 ```json { "groupId": 1, "deviceCode": "CAMERA-001", "messageId": "alarm-20260715-0001", "eventType": "MOTION_DETECTED", "level": "MAJOR", "title": "摄像头检测到异常移动", "content": "一号仓库检测到移动目标", "eventTime": "2026-07-15T16:30:00+08:00" } ``` 默认订阅 Topic 为 `iot/+/+/+/event`,`messageId + device` 用于告警幂等。 当前用户资料接口为 `GET /api/users/me`;组内日志接口为 `GET /api/groups/{groupId}/operation-logs`;超级管理员平台日志接口为 `GET /api/admin/operation-logs`,均需携带登录 JWT。