# 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 脚手架开发