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:打包前检查应用图标是否存在、尺寸是否符合要求的校验脚本。
  • copy-takram-atmosphere.mjs:将 @takram/three-atmosphere 预计算 LUT 复制到 public/takram/atmosphere,供 WebGIS 大气渲染运行时加载。

electron.vite.config.ts ​

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

/src 入口文件 ​

  • App.vue:应用程序的根组件,包含路由视图和代码禁止调试判断。
  • main.ts:应用程序入口文件,负责初始化 Vue 应用、挂载路由、挂载全局状态 pinia、注入全局组件、注入全局方法、注入全局自定义指令。
  • vite-env.d.ts:Vite 环境变量与模块的类型声明。

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

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

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

  • Loading:loading 组件和自定义指令 loading
  • RoamPrompt:漫游路径文字提示
  • index.ts:组件全局导出文件

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

  • constant:常量文件
  • defaultDragList:左侧拖拽默认列表(模型、几何体、光源、特效、着色器、自定义元素等默认数据)
  • echartsConfig:echarts 各类图表默认数据
  • propertyConfig:模型属性可编辑值、几何体模型参数边界值配置、颜色选择器默认配置、材质类型、渲染器色调映射、场景阴影、场景背景、场景环境光、地面贴图、雾配置

/src/enums/* 全局枚举 ​

  • indexDb:indexedDB 枚举
  • enum:全局枚举
  • event:交互事件、执行时机、动作类型等枚举

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

  • RenderView:渲染视图

/src/router/* 路由文件 ​

  • index:路由配置

/src/store/* 全局状态 ​

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

/src/style/* 全局样式 ​

  • element:Element Plus 主题覆盖样式
  • iconFont:阿里妈妈图标库样式类
  • index:入口文件
  • reset:样式重置

/src/types/* 全局 TypeScript 类 ​

  • global.d:扩展 Vue 类型定义
  • indexDbTypes:indexedDB ts 类
  • renderModelTypes:全局 ts 类
  • rightPanelTypes:全局 ts 类
  • eventTypes:交互事件配置相关类型
  • three-css3d.d:扩展 three.js CSS3DRenderer 类型定义
  • three-utils.d:扩展 three.js SkeletonUtils 类型定义

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

  • directive:自定义全局指令
  • globalComponent:全局组组件创建方法
  • globalProperties:全局方法创建函数
  • indexedDB:indexedDB 方法封装
  • monaco:monaco-editor 全局配置
  • renderScene:three.js API 操作方法封装
  • stripSerializedSceneTilesBranch:剔除 3D 瓦片数据方法
  • utils:全局工具函数
  • webSocket:自定义封装的 socket 方法

/src/utils/elementalEffects/* 元素粒子特效模块 ​

  • effectUtils:元素特效公共构建与参数解析工具
  • gpuParticles:GPU 粒子渲染基础
  • cloudEffect:体积云特效
  • fireEffect:火焰特效
  • fireRingEffect:火环特效
  • fireworkEffect:烟花特效
  • fountainEffect:喷泉特效
  • smokeEffect:烟雾特效
  • tornadoEffect:龙卷风特效
  • shaders:GLSL 着色器片段(blackbody、common、noise)

/src/utils/groundModules/* 程序化地面模块 ​

  • createBeachGround:沙滩地面
  • createLawnGround:草地地面
  • createRockGround:岩石地面
  • createStoneGround:石质地面

/src/utils/twinElements/* 孪生元素(自定义 DOM 元素)模块 ​

  • builders:孪生元素三维网格构建方法
  • schema:孪生元素类型标签、默认参数与 options 合并

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

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

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

  • animationModules:动画模块
  • cameraRoamingGisModules:相机漫游模块(WebGIS 版本)
  • cameraRoamingModules:相机漫游模块
  • cloudsModules:WebGIS 云层、大气透视与 3D 瓦片地图模块
  • createEffectsModules:粒子特效模块
  • createImageModules:图片/Sprite 模型创建模块
  • createShaderModules:着色器模块
  • createTextModules:创建文本模块
  • createVideoModules:创建视频模块
  • css3DRendererModules:自定义 DOM(echarts)节点模块
  • customElModules:孪生元素(自定义元素)拖入与场景创建模块
  • cursorMultipleModules:多选场景内容模块
  • ezTreeModules:ezTree 模块
  • eventModules:自定义事件脚本模块
  • lightModules:灯光模块
  • measureModules:测量单位模块
  • modelActionModules:模型行为模块
  • pointerLockGisModules:第一人称模式模块(WebGIS 版本)
  • pointerLockModules:第一人称模式模块
  • sceneModules:场景模块
  • socketEventModules:socket 任务模块
  • transformControlsModules:变换控制器模块
  • transformGisModules:变换控制器模块(WebGIS 版本)
  • weatherEffectsModules:天气地面模块

/src/utils/webWorker/* webWorker 多线程方法模块(处理大型场景的异步导出和压缩) ​

  • exportWorker:导出多线程
  • importWorker:导入多线程
  • index:高级 JSON 数据压缩优化工具、Worker 导出 ZIP 文件解析工具、Web Worker 导入方法、Web Worker 导出方法

/src/views/* 页面 ​

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

/src/views/sceneEdit/layouts/* 场景编辑页面布局 ​

  • LeftDragContent:左侧拖拽区模块
  • OperationControls:操作控制器
  • RightPanelContent:右侧操作面板区
  • SceneHeader:头部内容模块
  • SceneStatistics:场景内容统计
  • index:布局模块导出入口

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

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

/src/views/sceneEdit/layouts/RightPanelContent/InteractiveEvent/* 交互事件 ​

  • AddEditEventDialog:新增/编辑事件弹窗
  • ConditionDialog:条件配置弹窗

/src/views/sceneEdit/layouts/RightPanelContent/SceneContent/modules/* 场景内容属性面板 ​

  • AnimationsProperty:模型动画属性
  • AxisAnimationProperty:轴动画属性
  • CameraRoaming:相机漫游属性
  • CustomElProperty:孪生元素属性
  • EchartsProperty:ECharts 图表属性
  • EffectProperty:粒子特效属性
  • EzTreeProperty:ezTree 属性
  • GeometryProperty:几何体属性
  • ImageProperty:图片模型属性
  • LightProperty:灯光属性
  • MaterialProperty:材质属性
  • MeshProperty:网格/模型属性
  • ReplaceMeshDialog:替换模型弹窗
  • TextProperty:文本属性
  • VideoProperty:视频属性
  • index:属性面板模块导出入口

/src/views/sceneEdit/layouts/RightPanelContent/SocketTask/* socket 任务 ​

  • AddSocketTaskDialog:新增 socket 任务弹窗