# AR智能巡检平台

基于 AR 技术的电力设施智能巡检管理系统

## 项目简介 AR智能巡检平台是一套专为电力设施巡检场景设计的智能化管理系统,采用增强现实(AR)技术结合现代化的前后端分离架构,为电力设施的日常巡检、缺陷管理、数据分析提供全方位的技术支持。 ### 核心技术栈 **后端技术:** - Spring Boot 3.5.7 - JDK 17/21 - MyBatis-Plus 3.5.14 - Sa-Token 1.44.0 (权限认证) - Redisson 3.51.0 (分布式缓存) - MySQL / PostgreSQL / Oracle - MinIO (对象存储) - SnailJob (分布式任务调度) **前端技术:** - Vue 3.5.13 - TypeScript 5.8.3 - Element Plus 2.9.8 - Vite 6.3.2 - Pinia 3.0.2 (状态管理) - Axios 1.8.4 ## 核心功能 ### 1. 巡检任务管理 - 巡检任务创建与分配 - 巡检路线规划 - 任务进度跟踪 - 定期巡检计划 ### 2. AR设备点位识别 - 设备AR标识管理 - 实时设备定位 - 设备信息查看 - 历史巡检记录 ### 3. 缺陷记录与管理 - 缺陷拍照记录 - 缺陷等级评定 - 缺陷处理流程 - 缺陷闭环管理 ### 4. 数据统计分析 - 巡检完成率统计 - 缺陷分析报表 - 设备健康度分析 - 巡检效率分析 ### 5. 系统管理 - 用户权限管理 - 部门组织管理 - 角色配置 - 系统日志 - 数据字典 ## 系统架构 ``` ar-inspection/ ├── ruoyi-admin/ # 主应用模块 (Web服务入口) ├── ruoyi-common/ # 通用功能模块 │ ├── ruoyi-common-core/ # 核心工具包 │ ├── ruoyi-common-mybatis/ # 数据库集成 │ ├── ruoyi-common-security/ # 安全认证 │ ├── ruoyi-common-redis/ # 缓存模块 │ └── ... # 其他通用模块 ├── ruoyi-modules/ # 业务功能模块 │ ├── ruoyi-system/ # 系统管理模块 │ └── ... # 其他业务模块 ├── plus-ui/ # 前端 Web 管理界面 └── script/ # 部署脚本 ``` ## 快速开始 ### 环境要求 **后端环境:** - JDK 17 或 JDK 21 - Maven 3.6+ - MySQL 5.7+ / PostgreSQL / Oracle - Redis 5.0+ **前端环境:** - Node.js >= 18.18.0 - npm >= 8.9.0 ### 后端启动 ```bash # 1. 克隆项目 git clone [项目地址] cd ar-inspection # 2. 配置数据库 # 修改 ruoyi-admin/src/main/resources/application-dev.yml 中的数据库连接信息 # 3. 初始化数据库 # 执行 sql/init.sql 文件 # 4. 编译项目 mvn clean install -DskipTests # 5. 启动后端服务 cd ruoyi-admin mvn spring-boot:run # 后端服务默认运行在 http://localhost:8080 ``` ### 前端启动 ```bash # 1. 进入前端目录 cd plus-ui # 2. 安装依赖 npm install --registry=https://registry.npmmirror.com # 3. 启动开发服务器 npm run dev # 前端服务默认运行在 http://localhost:80 ``` ### Docker 部署 ```bash # 使用 Docker Compose 快速部署所有服务 cd script/docker docker-compose up -d # 包含: MySQL + Redis + Nginx + 应用服务 ``` ## 开发指南 ### 目录结构 ``` ar-inspection/ ├── ruoyi-admin/ # 主应用入口 │ ├── src/main/java/ # Java 源码 │ └── src/main/resources/ # 配置文件 ├── ruoyi-modules/ # 业务模块 │ ├── ruoyi-system/ # 系统管理 │ │ ├── controller/ # 控制器 │ │ ├── service/ # 业务逻辑 │ │ ├── mapper/ # 数据访问 │ │ └── domain/ # 实体类 │ └── ... ├── plus-ui/ # 前端项目 │ ├── src/ │ │ ├── api/ # API 接口 │ │ ├── views/ # 页面视图 │ │ ├── components/ # 组件 │ │ ├── router/ # 路由 │ │ └── store/ # 状态管理 │ └── ... └── CLAUDE.md # Claude Code 开发指南 ``` ### 常用命令 **后端开发:** ```bash # 编译项目 mvn clean install -DskipTests # 运行测试 mvn test # 打包生产环境 mvn clean package -Pprod # 代码生成 # 访问: http://localhost:8080/tool/gen ``` **前端开发:** ```bash # 安装依赖 npm install # 启动开发服务器 npm run dev # 构建生产环境 npm run build:prod # 代码检查 npm run lint:eslint:fix # 代码格式化 npm run prettier ``` ### 开发规范 1. **后端规范:** - 遵循阿里巴巴 Java 开发规范 - 使用 Lombok 简化代码 - 统一使用 MyBatis-Plus 进行数据访问 - RESTful API 设计 - 完善的接口文档注释 2. **前端规范:** - 使用 TypeScript 进行类型约束 - 遵循 Vue3 Composition API 规范 - 组件化开发 - 统一的代码风格(ESLint + Prettier) ## 配置说明 ### 后端配置 主配置文件: `ruoyi-admin/src/main/resources/application.yml` 环境配置文件: - `application-dev.yml` - 开发环境 - `application-prod.yml` - 生产环境 - `application-local.yml` - 本地环境 关键配置项: ```yaml # 数据库配置 spring: datasource: url: jdbc:mysql://localhost:3306/ar_inspection username: root password: password # Redis 配置 spring: data: redis: host: localhost port: 6379 # 文件存储配置 oss: endpoint: http://localhost:9000 accessKey: minioadmin secretKey: minioadmin ``` ### 前端配置 环境配置: `.env.development` ```bash # 应用标题 VITE_APP_TITLE = AR智能巡检平台 # 后端接口地址 VITE_APP_BASE_API = /dev-api # 应用访问路径 VITE_APP_CONTEXT_PATH = / ``` ## API 文档 启动项目后访问 API 文档: - 开发环境: http://localhost:8080/doc.html - 生产环境: http://your-domain/doc.html ## 监控与运维 ### 应用监控 - Spring Boot Admin: http://localhost:9090/admin - 用户名/密码: 在配置文件中设置 ### 任务调度中心 - SnailJob: http://localhost:8800/snail-job ### 日志查看 - 日志路径: `./logs/sys-console.log` - 支持在线日志查看(监控中心) ## 数据库设计 主要数据表: - `sys_user` - 用户表 - `sys_role` - 角色表 - `sys_dept` - 部门表 - `sys_menu` - 菜单权限表 - `inspection_task` - 巡检任务表 - `inspection_point` - 巡检点位表 - `defect_record` - 缺陷记录表 - `device_info` - 设备信息表 详细的数据库设计文档请参考 `docs/database.md` ## 技术支持 - 技术文档: [查看文档](docs/) - 问题反馈: [Issues](项目Issues地址) ## 开源协议 本项目采用 MIT 开源协议 --- > 基于 [RuoYi-Vue-Plus](https://gitee.com/dromara/RuoYi-Vue-Plus) 5.5.1 脚手架开发