Skip to content

目录结构

/electron 桌面应用主进程相关文件

  • main/index.ts:Electron 主进程入口文件,负责创建窗口和加载页面。
  • preload/index.ts:预加载脚本文件,在渲染进程中注入安全可用的 Electron API。
  • preload/index.d.ts:预加载脚本的 TypeScript 类型声明文件,提供类型提示。

/out

  • 执行 Electron 编译和打包后的资源都在这个文件夹里面
shell

pnpm dev:electron

pnpm build:win

pnpm build:mac

pnpm build:linux

/scripts

  • check-icon.js:打包前检查应用图标是否存在、尺寸是否符合要求的校验脚本。

electron.vite.config.ts

  • Electron 打包与开发环境配置文件,用于配置主进程、预加载脚本和渲染进程的构建入口、插件、别名等。

/src 入口文件

  • App.vue : 应用程序的根组件,包含路由视图和代码禁止调试判断
  • main.js : 应用程序入口文件,负责初始化 Vue 应用、挂载路由、挂载全局状态 pinia、注入全局组件、注入全局方法、注入全局自定义指令。

/src/assets/* 静态资源文件

  • iconFont : 阿里妈妈图标库文件
  • image : 项目中使用的图片
  • previewIcon : 模型预览图片
  • textures : 地面贴图

/src/components/* 公共组件文件

  • Loading : loading 组件和自定义指令 loading
  • index.ts: 组件全局导出文件

/src/config/* 全局常量配置

  • constant : 常量文件
  • defaultModel : 模型、几何体、光源、颜色默认数据
  • echartsConfig : echarts 各类图表默认数据
  • propertyConfig : 模型属性可编辑值、几何体模型参数边界值配置、颜色选择器默认配置、材质类型、渲染器色调映射、场景阴影、场景背景、场景环境光、地面贴图、雾配置

/src/enums/* 全局枚举

  • indexDb : indexedDB 枚举
  • enum : 全局枚举

/src/layouts/* 全局布局文件

  • RenderView : 渲染视图

/src/router/* 路由文件

  • index : 路由配置

/src/store/* 全局状态

  • indexDbStore : indexedDb 全局状态
  • sceneEditStore : 场景内容 Api 全局状态
  • pinia : pinia 注册

/src/style/* 全局样式

  • iconFont : 阿里妈妈图标库样式类
  • index : 入口文件
  • reset : 样式重置

/src/types/* 全局 TypeScript 类

  • global.d : 扩展 Vue 类型定义
  • indexDbTypes : indexedDB ts 类
  • renderModelTypes : 全局 ts 类
  • rightPanelTypes : 全局 ts 类
  • three-css3d.d : 扩展 three.js CSS3DRenderer 类型定义
  • three-utils.d : 扩展 three.js SkeletonUtils 类型定义

/src/utils/* 全局函数类方法

  • directive : 自定义全局指令
  • globalComponent : 全局组组件创建方法
  • globalProperties : 全局方法创建函数
  • indexedDB : indexedDB 方法封装
  • renderScene : three.js API 操作方法封装
  • webWorker : worker 多线程方法模块用于解决场景大数据保存卡顿
  • utils : 全局工具函数

/src/utils/historyModules/* 历史操作记录模块

  • command : 历史记录公共类
  • index : 历史记录操作方法
  • transformCommand : 变换控制器操作记录
  • modelCommand : 模型新增删除操作记录

/src/utils/sceneModules/* three.js 场景操作模块

  • animationModules : 动画模块
  • createEffectsModules : 粒子特效模块
  • createShaderModules : 着色器模块
  • createTextModules : 创建文本模块
  • createVideoModules : 创建视频模块
  • css3DRendererModules : 自定义 DOM(echarts) 节点模块
  • eventModules : 自定义事件脚本模块
  • lightModules : 灯光模块
  • measureModules : 测量单位模块
  • sceneModules : 场景模块
  • socketEventModules : socket 任务模块
  • transformControlsModules : 变换控制器模块
  • weatherEffectsModules : 天气地面模块

/src/views/* 页面

  • sceneEdit : 场景编辑页面
  • scenePreview : 场景预览页面

/src/views/sceneEdit/layout/* 场景编辑页面

  • leftDragContent: 左侧拖拽区模块
  • OperationControls: 操作控制器
  • RightPanelContent: 右侧操作面板区
  • SceneHeader: 头部内容模块
  • SceneStatistics: 场景内容统计

/src/views/sceneEdit/layout/RightPanelContent/* 右侧操作面板区

  • HelpDescribe: 帮助
  • InteractiveEvent 自定义交互事件
  • SceneContent: 场景内容
  • ProjectConfig: 项目配置
  • SocketTask: socket 任务
  • index: 入口文件