MianyVue/docs/CLAUDE.md
sladro 5e5108e424 Fix CAD configuration and restore to 6 software
- 恢复为6个CAD软件:Creo、Revit、PDMS、AutoCAD、SolidWorks、CATIA
- 删除状态分类:移除"完全集成"和"基础支持"分类
- 修复网格样式:恢复一排两个的布局
- 清理配置:简化配置文件,删除不必要的状态管理
- 更新文档:记录开发错误和强制规则

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 10:52:20 +08:00

187 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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操作代码