Appearance
目录结构
/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: 入口文件