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