跳到主要内容

项目结构

opentree/
├── packages/
│ ├── main/ # Electron 主进程
│ │ ├── src/
│ │ │ ├── main.ts # 入口
│ │ │ ├── preload.ts # 预加载脚本
│ │ │ ├── ipc/ # IPC 通道处理
│ │ │ │ ├── keychain.ts
│ │ │ │ ├── favorites.ts
│ │ │ │ ├── music.ts
│ │ │ │ └── countdown.ts
│ │ │ └── database/ # 数据库模型
│ │ │ ├── index.ts
│ │ │ └── models/
│ │ └── package.json
│ │
│ ├── renderer/ # React 渲染进程
│ │ ├── src/
│ │ │ ├── App.tsx
│ │ │ ├── components/
│ │ │ │ ├── WorldTreePanelV2/ # 世界树面板
│ │ │ │ │ ├── modules/ # 模块组件
│ │ │ │ │ │ ├── keychain.tsx
│ │ │ │ │ │ ├── favorites.tsx
│ │ │ │ │ │ ├── music.tsx
│ │ │ │ │ │ └── countdown.tsx
│ │ │ │ │ ├── hooks/
│ │ │ │ │ └── types.ts
│ │ │ │ └── shared/
│ │ │ └── index.html
│ │ └── package.json
│ │
│ └── shared/ # 共享类型和工具
│ ├── src/
│ │ ├── types/
│ │ └── utils/
│ └── package.json

├── static/
│ └── metaverse-v2/ # 元宇宙前端(纯 HTML/JS)
│ ├── index.html
│ ├── app.js
│ ├── api.js
│ └── style.css

├── docs/ # 你正在看的文档
├── scripts/
└── package.json

核心目录说明

packages/main/

Electron 主进程,负责:

  • 窗口管理
  • IPC 通信
  • 数据库操作(SQLite)
  • 文件系统访问

packages/renderer/

React 渲染进程,负责:

  • 世界树面板 UI
  • 模块组件渲染
  • 用户交互

static/metaverse-v2/

元宇宙桌面环境,独立的前端应用:

  • 3D 桌面渲染
  • PC 工位管理
  • 模块面板
  • 浮动按钮

packages/shared/

主进程和渲染进程共享的:

  • TypeScript 类型定义
  • 工具函数
  • 常量

Monorepo 管理

项目使用 npm workspaces 管理 monorepo:

{
"workspaces": [
"packages/*"
]
}

常用命令:

# 安装所有依赖
npm install

# 启动所有包的开发模式
npm run dev

# 构建所有包
npm run build

# 清理所有 node_modules
npm run clean