feat: 构建系统重构 + VCHSM 架构迁移 + 右键菜单修复 + 尺寸参数统一
## 构建、打包与分发系统重构 (build/) - 构建系统收敛至 build/ 目录:build.mjs + electron-builder.js + 6 个脚本 - electron-builder 配置从 package.json 提取为 build/electron-builder.js - 新增 --edition (personal/enterprise) 和 --channel (stable/beta/alpha) 参数 - OSS 路径按渠道隔离 - 新增 pre-build-check.mjs:Git/CHANGELOG/版本/环境变量校验 - 新增 bump-version.mjs:版本号管理 + CHANGELOG 自动生成 - updater.ts 发送 channel/edition/deviceFingerprint - 新增 src/shared/utils/rollout.ts 灰度测试工具 - 新增 10 条 NPM 脚本 ## VCHSM 五层架构迁移 - 7 个业务模块 + ~500 处导入路径同步 ## 修复 - MediaCardContextMenu 改用共享 ContextMenu 组件 - ComboBox 尺寸参数显示统一 (size-format.ts) ## 文档 - UpdateA.md / build/README.md / README.md / .env.example 更新 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
148
README.md
148
README.md
@@ -37,52 +37,60 @@ npm run build:win
|
||||
### 打包
|
||||
|
||||
```bash
|
||||
npm run build:win # Windows 个人版
|
||||
npm run build:win # Windows 个人版 Stable
|
||||
npm run build:win:enterprise # Windows 企业版
|
||||
npm run build:win:beta # Windows Beta 渠道(灰度测试)
|
||||
npm run build:win:alpha # Windows Alpha 渠道(内部测试)
|
||||
npm run build:mac # macOS 个人版
|
||||
npm run build:linux # Linux 个人版
|
||||
```
|
||||
|
||||
### 构建总管 `build.mjs`
|
||||
### 构建总管 `build/build.mjs`
|
||||
|
||||
所有打包命令最终调用 `build.mjs`,支持灵活组合操作:
|
||||
所有打包命令最终调用 `build/build.mjs`,支持灵活组合操作:
|
||||
|
||||
```bash
|
||||
# 查看帮助
|
||||
node build.mjs --help
|
||||
node build/build.mjs --help
|
||||
|
||||
# 仅打包
|
||||
node build.mjs --win --personal
|
||||
node build/build.mjs --win
|
||||
|
||||
# 打包 + 上传 OSS + 发布到 API
|
||||
node build.mjs --win --personal --upload --publish
|
||||
node build/build.mjs --win --upload --publish
|
||||
|
||||
# 全流程(清理 → 构建 → 签名 → 上传 → 发布)
|
||||
node build.mjs --win --enterprise --all
|
||||
# Beta 渠道全流程(清理 → 构建 → 签名 → 上传 → 发布)
|
||||
node build/build.mjs --win --channel beta --all
|
||||
|
||||
# 带签名打包
|
||||
node build.mjs --win --personal --sign --cert ./cert.pfx --cert-password xxx
|
||||
|
||||
# 先清理再构建
|
||||
node build.mjs --win --personal --clean --build
|
||||
node build/build.mjs --win --sign --cert ./cert.pfx --cert-password xxx
|
||||
```
|
||||
|
||||
| 操作 | 说明 |
|
||||
|-------------|---------------------------------------------------------|
|
||||
| `--build` | 构建(默认:tsc + vite + electron-builder + update-info.json) |
|
||||
| `--clean` | 构建前清理 release/ dist/ dist-electron/ |
|
||||
| `--sign` | 代码签名(需配合 `--cert` 或 `CSC_LINK` 环境变量) |
|
||||
| `--upload` | 上传安装包到 OSS |
|
||||
| `--publish` | POST 版本信息到后端 API |
|
||||
| `--all` | 全流程 |
|
||||
| 操作 | 说明 |
|
||||
|-------------|------------------------------------------------------------|
|
||||
| `--build` | 构建(校验 → tsc → vite → electron-builder → update-info.json) |
|
||||
| `--clean` | 构建前清理 release/ dist/ dist-electron/ |
|
||||
| `--sign` | 代码签名(需配合 `--cert` 或 `CSC_LINK` 环境变量) |
|
||||
| `--upload` | 上传安装包到 OSS |
|
||||
| `--publish` | POST 版本信息到后端 API |
|
||||
| `--all` | 全流程 |
|
||||
| `--edition` | 版本类型:personal(默认)/ enterprise |
|
||||
| `--channel` | 发布渠道:stable(默认)/ beta / alpha |
|
||||
|
||||
### 版本管理
|
||||
|
||||
```bash
|
||||
npm run version:patch # 0.0.28 → 0.0.29
|
||||
npm run version:pre-beta # 0.0.29 → 0.0.30-beta.1
|
||||
```
|
||||
|
||||
### 工具命令
|
||||
|
||||
```bash
|
||||
npm run build:clean # 清理所有构建产物
|
||||
node scripts/upload-oss.mjs win32 personal 0.1.0 # 手动上传 OSS
|
||||
node scripts/publish-release.mjs win32 personal 0.1.0 # 手动发布到 API
|
||||
node scripts/generate-update-info.mjs win32 personal 0.1.0 # 重新生成 info
|
||||
node build/scripts/upload-oss.mjs win32 0.1.0 # 手动上传 OSS
|
||||
node build/scripts/publish-release.mjs win32 0.1.0 # 手动发布到 API
|
||||
node build/scripts/generate-update-info.mjs win32 0.1.0 # 重新生成 info
|
||||
```
|
||||
|
||||
---
|
||||
@@ -91,52 +99,58 @@ node scripts/generate-update-info.mjs win32 personal 0.1.0 # 重新生成 info
|
||||
|
||||
```
|
||||
ele-heixiu/
|
||||
├ build.mjs # 构建总管
|
||||
├ CHANGELOG.md # 更新日志
|
||||
├ UpdateA.md # 发布手册(后端 API / 签名 / 发版流程)
|
||||
├ package.json # 项目配置
|
||||
├ electron-builder.json5 # 打包配置
|
||||
├ electron/ # Electron 主进程
|
||||
│ ├ main.ts # 入口
|
||||
│ ├ preload.ts # 预加载脚本
|
||||
│ └ main/
|
||||
│ ├ updater.ts # 自动更新模块
|
||||
│ ├ menu/ # 菜单
|
||||
│ └ utils/ # 工具函数
|
||||
├ src/ # 渲染进程
|
||||
│ ├ App.tsx # 根组件
|
||||
│ ├ main.tsx # 渲染入口
|
||||
│ ├ components/ # 组件
|
||||
│ │ ├ navbar/ # 自定义导航栏
|
||||
│ │ └ LegalTextModal.tsx # 协议弹窗
|
||||
│ ├ pages/
|
||||
│ │ └ login/ # 登录 / 注册
|
||||
│ ├ hooks/ # Hooks
|
||||
│ │ ├ use-theme.tsx # 主题切换
|
||||
│ │ ├ use-updater.ts # 更新状态
|
||||
│ │ └ ...
|
||||
│ ├ theme/ # 主题配置
|
||||
│ │ ├ tokens.ts # 设计令牌
|
||||
│ │ ├ globals.css # Tailwind + CSS 变量
|
||||
│ │ └ adapters/ # Ant Design 适配
|
||||
│ ├ services/ # API 服务(axios)
|
||||
│ ├ utils/ # 工具函数
|
||||
│ └ assets/ # 静态资源
|
||||
├ shared/ # 主进程 & 渲染进程共享
|
||||
│ ├ types/ # 类型定义
|
||||
│ ├ constants/ # 常量
|
||||
│ └ utils/ # 通用工具
|
||||
├ scripts/ # 构建辅助脚本
|
||||
│ ├ clean.mjs # 清理产物
|
||||
│ ├ generate-update-info.mjs # 生成 API 信息 JSON
|
||||
│ ├ upload-oss.mjs # OSS 上传
|
||||
│ └ publish-release.mjs # 发布到 API
|
||||
└ release/ # 构建产物
|
||||
└ {version}/
|
||||
├ xxx-Setup.exe
|
||||
└ xxx-update-info.json
|
||||
├── build/ # 构建、打包与分发系统
|
||||
│ ├── build.mjs # 构建总管
|
||||
│ ├── electron-builder.js # electron-builder 配置
|
||||
│ └── scripts/ # 构建辅助脚本(6 个)
|
||||
├── CHANGELOG.md # 更新日志
|
||||
├── UpdateA.md # 发布手册
|
||||
├── package.json # 项目配置
|
||||
│
|
||||
├── electron/ # Electron 主进程
|
||||
│ ├── main.ts # 入口:窗口创建 / IPC 注册
|
||||
│ ├── preload.ts # 预加载脚本
|
||||
│ └── main/
|
||||
│ ├── logger.ts # 日志核心
|
||||
│ ├── updater.ts # 自动更新
|
||||
│ ├── net-request.ts # HTTP 请求封装
|
||||
│ ├── menu/ # 系统菜单
|
||||
│ ├── ipc/ # IPC handler(log/safe-storage/storage/canvas)
|
||||
│ └── utils/ # 平台判断 / 图标
|
||||
│
|
||||
├── src/ # 渲染进程(React 19 + Vite)
|
||||
│ ├── app/ # 应用壳
|
||||
│ │ ├── App.tsx # 根组件
|
||||
│ │ ├── main.tsx # 渲染入口
|
||||
│ │ ├── providers/ # 全局 Provider(App/Theme/Settings)
|
||||
│ │ └── layout/ # Layout.tsx + PageDispatcher.tsx
|
||||
│ ├── modules/ # 7 个业务模块(VCHSM 五层架构)
|
||||
│ │ ├── navbar/ # 导航栏 UI 壳
|
||||
│ │ ├── announcement/ # 公告(Badge + 轮询缓存)
|
||||
│ │ ├── auth/ # 认证(登录/注册/密码/Token)
|
||||
│ │ ├── home/ # 主工作区(左/中/右 三栏)
|
||||
│ │ ├── account/ # 账户与支付(6 子功能)
|
||||
│ │ ├── canvas/ # 无限画布 + 项目管理
|
||||
│ │ └── settings/ # 应用设置
|
||||
│ └── shared/ # 跨模块共享
|
||||
│ ├── components/ # 通用 UI
|
||||
│ ├── hooks/ # 全局 Hooks
|
||||
│ ├── services/ # HTTP 客户端
|
||||
│ ├── utils/ # 工具函数(bus/env/...)
|
||||
│ ├── infrastructure/ # 本地加密数据库
|
||||
│ └── theme/ # 主题系统
|
||||
│
|
||||
├── shared/ # 主进程 & 渲染进程共享(@shared 别名)
|
||||
│ ├── constants/ # IPC 通道 / 应用常量
|
||||
│ ├── types/ # Platform / Theme / Logging
|
||||
│ └── utils/ # 脱敏 / 工具函数
|
||||
│
|
||||
├── release/ # 构建产物
|
||||
└── build/ # 构建系统(见上)
|
||||
```
|
||||
|
||||
> 详见 [PROJECT.md](./PROJECT.md) — 完整架构文档、VCHSM 五层说明及各模块文件清单。
|
||||
|
||||
---
|
||||
|
||||
## 环境变量
|
||||
|
||||
Reference in New Issue
Block a user