feat: 去除构建时版控变量 + 窗口标题动态版控 + 退出登录保留缓存 (0.0.24)
版控体系重构(13 文件):
- 移除 build.mjs --personal/--enterprise 参数和 EDITION 环境变量
- 统一安装包文件名:船长-HeiXiu-{os}-{版本号}-Setup.{ext}
- 简化 package.json 构建脚本,移除 :enterprise 变体
- scripts/*.mjs 不再接受 edition 参数
- 移除 shared/constants/app.ts 的 parseEdition()
窗口标题动态版控:
- 新格式:船长-HeiXiu-{os}-{版本号}(登录前)/ ·{版控} 后缀(登录后)
- 链路:AppProvider(account_type) → useEffect → appRuntime IPC → main process
- 移除 updater.ts 更新检查 API 的 edition 查询参数
本地存储生命周期修正:
- 退出登录不再自动清空缓存(user_id 隔离,重新登录命中缓存)
- clearUserStorage 添加 isOpen() 竞态守卫
- 移除 closeDatabase() 避免退出→重新登录后数据库不可用
- 手动「清理缓存」按钮保留
文档:
- CHANGELOG.md 新增 0.0.24 条目
- TODO.md 新增已完成项
This commit is contained in:
51
CHANGELOG.md
51
CHANGELOG.md
@@ -1,6 +1,57 @@
|
||||
# 更新日志
|
||||
|
||||
> 每次发版前修改此文件,`npm run build:win` 打包后会自动读取生成 update-info.json。
|
||||
---
|
||||
## 0.0.24(2026-06-22)
|
||||
|
||||
**去除构建时版本变量 + 窗口标题动态版控 + 退出登录保留缓存**
|
||||
|
||||
### 版控体系重构
|
||||
|
||||
- **去除构建时 `EDITION` 环境变量**:`--personal`/`--enterprise` 参数从 `build.mjs` 移除,`vite.config.ts` 不再注入 `process.env.EDITION`,`.env.*` 清理相应行
|
||||
- **统一的安装包文件名**:`船长-HeiXiu-{os}-{版本号}-Setup.{ext}`(移除 `${env.EDITION}`)
|
||||
- **`package.json` 简化**:移除 3 条 `:enterprise` 构建脚本
|
||||
- **`scripts/*.mjs` 统一**:`upload-oss`/`generate-update-info`/`publish-release` 不再接受 `edition` 参数
|
||||
|
||||
### 窗口标题动态版控
|
||||
|
||||
- **新格式**:`船长-HeiXiu-{os}-{版本号}`(未登录)/ `船长-HeiXiu-{os}-{版本号}·{版控}`(登录后)
|
||||
- **运行时链路**:`AppProvider` 根据 `user.account_type` 派生 `edition` → `useEffect` → `window.appRuntime.setWindowEdition()` → IPC `set-window-title` → 主进程 `buildWindowTitle` → `mainWindow.setTitle`
|
||||
- **Edtion 类型守卫**:`src/vite-env.d.ts` + `electron/electron-env.d.ts` 双端类型声明
|
||||
- **更新检查 API** 移除 `edition` 查询参数
|
||||
|
||||
### 本地存储生命周期修正
|
||||
|
||||
- **退出登录不再自动清缓存**:`AppProvider.logout()` 移除 `clearUserStorage()` 调用。数据已按 `user_id` 隔离,同一用户重新登录缓存直接命中
|
||||
- **`clearUserStorage` 竞态修复**:添加 `isOpen()` 前置守卫,防止数据库未初始化时执行 SQL;移除尾部 `closeDatabase()`,确保退出→重新登录周期内数据库持续可用
|
||||
- **手动清理保留**:`DataManageSetting` 的「清理缓存」按钮仍可主动触发
|
||||
|
||||
---
|
||||
## 0.0.23(2026-06-22)
|
||||
|
||||
**三栏等比缩放修复 + 代码重组**
|
||||
|
||||
### 三栏布局修复
|
||||
|
||||
- **约束逻辑修正**:双遍最小值约束改为 clamp + 超限兜底,修复窗口缩小至 1036px 以下时中列被挤出视口
|
||||
- **双触发器**:`ResizeObserver` + `window.resize` 事件双重驱动,防止 React 批量更新吞掉重绘
|
||||
- **三栏等比缩放**:旧算法只保 left:right 比例,中列被动吸收剩余;新算法通过 `prevWidthRef` 反推中列上次宽度,三栏按各自占比同步缩放——窗口从半屏拉到全屏保持 ≈1:1:1
|
||||
|
||||
### 代码重组(第二轮)
|
||||
|
||||
- **src/utils/**:11 文件精简为 7 文件 —— `env.ts`(platform+device)、`bus.ts`(event-bus+ipc+logger)、`display.ts`(display+logo+type)、`media-upload.ts`
|
||||
- **controls/**:14 文件精简为 6 文件 —— `simple-widgets.tsx`(6合1)、`upload-widgets.tsx`(ImageInput+VideoInput 去重)、`list-upload-widgets.tsx`(ImageListInput+AudioListInput)
|
||||
- **FormField 提升**:从 `auth/components/` 提升到 `src/components/ui/`,`FieldConfig` 类型同步移到 `ui/types.ts`
|
||||
- **data-sync 归位**:从 `settings/sections/` 移到 `infrastructure/storage/`
|
||||
- **electron/main/ 分组**:3 个 IPC handler(log-ipc/safe-storage-ipc/storage-ipc)收拢到 `ipc/` 子目录
|
||||
- **shell/ → frame/**:`src/components/shell/` 重命名为 `frame/`,更直观表达"应用框架"
|
||||
- **storage/ 分层**:15 文件平铺 → `core/`(4)+ `stores/`(5)+ `services/`(4)+ 入口
|
||||
|
||||
### 文档
|
||||
|
||||
- 37 个文件夹全部生成 README.md(不进 Git)
|
||||
- PROJECT.md 目录树同步更新
|
||||
|
||||
---
|
||||
## 0.0.22(2026-06-18)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user