# CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

## 项目概述

这是工业模型软件管理统一平台的Vue.js重构版本，集成多个CAD软件系统（CATIA、Creo Parametric、Revit、PDMS、AutoCAD、SolidWorks）。提供模型分析、格式转换和实时监控功能。

**原系统位置**: `D:\App\vue\Miany`
**API文档**: `D:\App\vue\Miany\api.md`
**搜索功能指南**: `D:\App\vue\Miany\SEARCH_FEATURE_GUIDE.md`
**前端API文档**: `D:\App\vue\Miany\frontend-api-docs.md`

### 原项目结构参考
```
D:\App\vue\Miany/
├── index.html                    # 主页面入口 - UI布局参考
├── css/                          # 样式文件 - 完整样式参考
│   ├── variables.css             # CSS变量定义
│   ├── main.css                  # 主要样式
│   ├── model-viewer.css          # 模型查看器样式
│   ├── management-panel.css      # 管理面板样式
│   └── [其他专用样式文件]
├── js/                           # JavaScript文件 - 仅作功能参考，不复制代码
│   ├── main.js                   # 应用状态管理参考
│   ├── config/api-config.js      # API配置参考
│   └── [其他功能模块]
└── pages/                        # 页面文件
    └── model-viewer.html         # 模型查看器界面参考
```

## 开发命令

```bash
# 安装依赖
npm install

# 启动开发服务器
npm run dev

# 生产构建
npm run build

# 预览生产构建
npm run preview

# 代码检查
npm run lint

# 代码格式化
npm run format

# 运行单元测试
npm run test:unit

# 运行端到端测试
npm run test:e2e
```

## 架构设计

### 核心系统架构
Vue应用将与分布式后端服务集成，支持多个CAD软件系统：
- **Creo Parametric**: `http://localhost:12345`
- **Revit**: `http://localhost:9000`
- **PDMS**: `http://localhost:9001`
- 每个CAD软件运行在独立端口，具有独立的API端点

### 主要架构模式

**状态管理**: 使用Pinia进行集中状态管理，替换原有的全局AppState模式。主要状态模块：
- `cad-connections`: 跟踪所有CAD软件的连接状态
- `model-analysis`: 存储层级分析结果和几何数据
- `export-operations`: 管理文件导出任务和格式
- `real-time-logs`: 处理操作日志和监控

**组件架构**:
- **CAD集成组件**: 软件选择器、连接监控、状态仪表板
- **分析组件**: 层级树查看器、几何复杂度分析器、安全评估
- **导出组件**: 格式转换器、批量导出管理器、路径选择器
- **监控组件**: 实时日志查看器、资源监控器、任务队列

**API层**: 为每个CAD系统创建抽象服务：
```
services/
├── cad-api/
│   ├── creo-service.js       # Creo专用API调用
│   ├── revit-service.js      # Revit专用API调用
│   ├── pdms-service.js       # PDMS专用API调用
│   └── base-cad-service.js   # 通用CAD操作
```

### 关键集成点

**实时更新**: 实现WebSocket或轮询机制用于：
- CAD软件连接状态
- 模型分析进度
- 导出操作状态
- 系统资源监控

**文件路径管理**: 正确处理Windows文件路径，用于模型文件操作和导出目标。

### 数据流模式

**分析工作流**:
1. 用户选择CAD软件并连接
2. 触发模型分析 → 调用相应CAD服务API
3. 处理结果并存储到Pinia状态
4. UI组件响应式显示分析数据
5. 用户可基于分析结果执行操作（删除、优化、导出）

**导出工作流**:
1. 用户配置导出参数（格式、路径、选项）
2. 验证CAD软件连接和当前模型
3. 使用软件特定参数调用导出端点API
4. 进度监控和结果反馈

### 核心业务逻辑

**安全分析**: 系统在允许模型修改前执行安全评估：
- 标记为"禁止删除"的组件必须受到保护
- 层级分析包含每个组件的安全级别
- UI必须清楚指示安全与不安全的操作

**多CAD支持**: 每个CAD系统具有不同能力：
- **Creo**: 支持参数化特征、装配层级、高级几何分析
- **Revit**: 专注BIM，支持IFC导出、建筑信息建模
- **PDMS**: 工业厂房设计、管道系统
- 导出格式和可用操作因CAD软件而异

### 组件集成指南

**CAD模块结构**: 每个CAD系统应有专用Vue组件：
```
components/
├── cad-modules/
│   ├── CreoModule.vue        # Creo专用功能
│   ├── RevitModule.vue       # Revit专用功能
│   ├── PDMSModule.vue        # PDMS专用功能
│   └── CommonCAD.vue         # 共享CAD功能
```

**状态同步**: 维持实时同步：
- 前端连接状态与实际CAD软件状态
- 分析结果与CAD软件中的当前模型状态
- 导出操作与文件系统状态

### 开发注意事项

**API错误处理**: 原系统对CAD连接失败有完善的错误处理。实现类似模式并提供适当的用户反馈：
- 连接超时
- CAD软件未运行
- 模型文件访问问题
- 导出路径权限问题

**调试支持**: 包含广泛的调试功能，原系统有详细的控制台日志用于CAD集成问题排查。

**资源监控**: 实现系统资源监控（CPU、内存使用），因为CAD操作可能占用大量资源。

## 重构策略

**重要说明**: 这是从原系统（位于 `D:\App\vue\Miany`）的完全重构，原有代码质量不佳，无法直接使用。

**重构原则**:
- **仅复制UI设计**: 参考原系统的界面布局、样式和交互设计
- **重新编写所有代码**: 不迁移任何原有JavaScript代码或业务逻辑
- **重新设计架构**: 使用Vue 3 + Pinia构建全新的现代化架构
- **重新实现API集成**: 基于API文档重新设计和实现所有后端调用
- **重新构建状态管理**: 完全重新设计应用状态和数据流

**UI参考指南**:
从原系统复制以下UI元素的视觉设计：
- 顶部导航栏布局和样式
- 左侧CAD软件选择面板
- 中央工作区域的模块切换界面
- 右侧管理面板的标签页设计
- 底部状态栏的布局
- 模型查看器界面
- 层级分析结果的树形展示
- 导出配置表单界面

**不要复制的内容**:
- 任何JavaScript代码逻辑
- 状态管理实现
- API调用代码
- 事件处理逻辑
- DOM操作代码