bidmaster-cli/doc/江南造船厂前端.md
sladro f48971cf67 feat: 实现完整三级标题生成功能
- 扩展DocumentChapter模型支持嵌套结构和评分值
- 新增智能分组算法,按关键词和前缀对评分项进行分类
- 重写章节生成逻辑,支持一级、二级、三级标题完整结构
- 优化显示系统,支持递归显示和颜色区分
- 增强表格解析能力,处理复杂的合并单元格结构
- 改进AI识别逻辑,更好地识别评分表格类型
- 完善.gitignore文件,添加项目相关忽略规则

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-25 14:33:30 +08:00

4.1 KiB
Raw Blame History

CLAUDE.md

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

项目概述

这是一个基于Three.js的3D模型查看器和船厂三维数据管理展示系统。项目包含两个主要页面

  • index.html: 主要的3D模型查看器界面支持模型加载、选择、测量、标注等功能
  • 1.html: 船舶建造精度数字化平台的数据分析界面通过iframe嵌入3D查看器

技术架构

前端技术栈

  • Three.js: 核心3D渲染引擎
  • 原生JavaScript: ES6+ 模块化架构,无框架依赖
  • HTML5/CSS3: 响应式布局使用Flexbox和Grid
  • Tailwind CSS: 样式框架仅在1.html中使用
  • ECharts: 数据可视化图表仅在1.html中使用

核心模块结构

所有JavaScript模块位于 js/ 目录下,采用模块化设计:

核心管理器

  • ModelViewer (main.js): 主应用入口管理整个3D场景
  • ModelManager (ModelManager.js): 模型管理,处理模型的加载和切换
  • ModelLoader (ModelLoader.js): 模型加载器支持GLTF格式
  • ModelAPI (ModelAPI.js): 模型API接口提供程序化控制

功能管理器

  • SelectionManager (SelectionManager.js): 零件选择和高亮
  • MeasurementManager (MeasurementManager.js): 3D测量工具距离、角度、面积
  • ClippingManager (ClippingManager.js): 切面控制
  • AnnotationManager (AnnotationManager.js): 3D标注功能
  • ModelTreeManager (ModelTreeManager.js): 模型结构树管理
  • AnomalyDisplayManager (AnomalyDisplayManager.js): 异常状态显示
  • LayerDisplayManager (LayerDisplayManager.js): 分层显示管理

UI和状态管理

  • UIController (UIController.js): UI控制器管理所有界面交互
  • ObjectStateManager (ObjectStateManager.js): 对象状态管理
  • StorageManager (StorageManager.js): 本地存储管理
  • OutlineManager (OutlineManager.js): 边缘高亮效果

资源结构

  • models/: 3D模型文件.glb格式
  • css/: 样式文件主要是style.css
  • image/: UI图标和图片资源
  • three/: Three.js库文件

开发环境

启动开发服务器

由于项目使用ES6模块和本地文件引用需要通过HTTP服务器运行

# 使用Live Server推荐
# VS Code安装Live Server扩展配置端口5501
# 右键点击index.html选择"Open with Live Server"

# 或使用Python内置服务器
python -m http.server 5501

# 或使用Node.js http-server
npx http-server -p 5501

访问页面

  • 3D模型查看器: http://localhost:5501/index.html
  • 数据分析平台: http://localhost:5501/1.html

开发约定

模型文件管理

  • 支持的格式: .glb (推荐)
  • 模型文件存放在 models/ 目录
  • 默认加载模型: CX0856_CB01C.glb

配置和状态管理

  • 使用 StorageManager 进行本地存储
  • 配置项通过 ObjectStateManager 管理
  • 模型状态通过事件系统同步

代码风格

  • 使用ES6+语法和模块
  • 采用面向对象设计模式
  • 每个功能模块独立文件
  • 使用驼峰命名法
  • 保持代码注释的完整性

事件通信

项目使用自定义事件系统进行模块间通信:

  • 模型加载完成事件
  • 选择状态变化事件
  • UI状态更新事件
  • 测量结果事件

浏览器兼容性

  • 支持现代浏览器Chrome 88+, Firefox 85+, Safari 14+
  • 依赖ES6模块支持
  • 需要WebGL 2.0支持

调试和测试

控制台调试

  • 使用 window.modelViewer 访问主应用实例
  • 各管理器实例可通过modelViewer实例访问
  • 开启浏览器开发者工具查看Three.js性能面板

性能优化

  • 大模型文件建议压缩优化
  • 使用LOD (Level of Detail) 技术
  • 合理使用材质和纹理
  • 避免过度的实时计算

常见问题

CORS错误

确保通过HTTP服务器访问而不是直接打开HTML文件

模型加载失败

检查模型文件路径和格式,确保.glb文件完整性

Three.js版本兼容

项目基于Three.js r150+更新版本时注意API变更

内存泄漏

及时清理不需要的几何体、材质和纹理对象