315 lines
6.7 KiB
Markdown
315 lines
6.7 KiB
Markdown
# AR智能巡检平台
|
|
|
|
<div align="center">
|
|
<h3>基于 AR 技术的电力设施智能巡检管理系统</h3>
|
|
</div>
|
|
|
|
## 项目简介
|
|
|
|
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 脚手架开发
|