134 lines
2.9 KiB
Markdown
134 lines
2.9 KiB
Markdown
# Vue2 模型检测系统
|
||
|
||
一个基于 Vue2 + Three.js 的3D模型检测系统,支持PC端和移动端自适应。
|
||
|
||
## 功能特性
|
||
|
||
- 📱 响应式设计,自动适配PC端和移动端
|
||
- 🎨 Three.js 3D模型渲染
|
||
- 🏷️ 模型标注打点系统
|
||
- 📊 检测内容表格展示
|
||
- 🎯 点击标注高亮显示
|
||
- 📋 三类检查内容:总体外观、主要参数、关键元器件
|
||
|
||
## 技术栈
|
||
|
||
- Vue 2.6.14
|
||
- Vue Router 3.5.3
|
||
- Three.js 0.150.0
|
||
- Element UI 2.15.13
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
vue-model-review/
|
||
├── public/
|
||
│ ├── index.html
|
||
│ └── models/ # GLB模型文件目录
|
||
│ ├── 交流避雷器,AC10kV,13kV, 硅橡胶,40kV, 带间隙。外间隙,带支撑件间隙,不兼做绝缘子.glb
|
||
│ ├── 交流棒形悬式复合绝缘子,FXBW-10/70.glb
|
||
│ └── 10kV 三相隔离开关.glb
|
||
├── src/
|
||
│ ├── components/
|
||
│ │ ├── ThreeViewer.vue # 3D模型查看器
|
||
│ │ └── CheckTable.vue # 检测表格组件
|
||
│ ├── views/
|
||
│ │ ├── ModelList.vue # 模型列表页
|
||
│ │ └── ModelDetail.vue # 模型详情页
|
||
│ ├── router/
|
||
│ │ └── index.js # 路由配置
|
||
│ ├── data/
|
||
│ │ └── data.json # 模型数据
|
||
│ ├── App.vue
|
||
│ └── main.js
|
||
├── package.json
|
||
├── vue.config.js
|
||
└── README.md
|
||
```
|
||
|
||
## 安装依赖
|
||
|
||
```bash
|
||
npm install
|
||
```
|
||
|
||
## 开发运行
|
||
|
||
```bash
|
||
npm run serve
|
||
```
|
||
|
||
访问 http://localhost:8080
|
||
|
||
## 生产构建
|
||
|
||
```bash
|
||
npm run build
|
||
```
|
||
|
||
## 使用说明
|
||
|
||
### 1. 准备GLB模型文件
|
||
|
||
将GLB模型文件放置在 `public/models/` 目录下,文件名需与 `data.json` 中的 `modelName` 字段对应。
|
||
|
||
例如:`交流避雷器,AC10kV,13kV, 硅橡胶,40kV, 带间隙。外间隙,带支撑件间隙,不兼做绝缘子.glb`
|
||
|
||
### 2. 配置模型数据
|
||
|
||
编辑 `src/data/data.json`,添加或修改模型数据:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"modelName": "模型名称",
|
||
"appearanceCheck": [...],
|
||
"mainDataCheck": [...],
|
||
"componentCheck": [...]
|
||
}
|
||
]
|
||
```
|
||
|
||
### 3. 页面布局
|
||
|
||
#### PC端布局
|
||
- 顶部:模型名称
|
||
- 左侧:3D模型展示
|
||
- 右侧:检测内容表格
|
||
|
||
#### 移动端布局
|
||
- 顶部:模型名称
|
||
- 中间:3D模型展示
|
||
- 底部:检测内容表格
|
||
|
||
### 4. 交互功能
|
||
|
||
- 点击3D模型上的标注点,会高亮对应部件
|
||
- PC端:右侧表格自动展开对应检查项
|
||
- 移动端:弹出抽屉显示检查要求
|
||
|
||
## 注意事项
|
||
|
||
1. GLB模型文件需要放在 `public/models/` 目录下
|
||
2. 模型文件名必须与 `data.json` 中的 `modelName` 完全一致
|
||
3. 标注点位置采用圆形分布算法自动计算
|
||
4. 移动端判断阈值为屏幕宽度 768px
|
||
|
||
## 浏览器支持
|
||
|
||
- Chrome (推荐)
|
||
- Firefox
|
||
- Safari
|
||
- Edge
|
||
|
||
## 系统要求
|
||
|
||
- Node.js >= 14.x
|
||
- npm >= 6.x
|
||
|
||
推荐使用 Node.js 16.x 或更高版本以获得最佳兼容性。
|
||
|
||
## License
|
||
|
||
MIT
|