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:
2026-06-22 13:36:42 +08:00
parent e4d66a2ac0
commit 8b697e775d
95 changed files with 1158 additions and 1295 deletions

View File

@@ -0,0 +1,21 @@
// ============================================================
// 日志 IPC 通道注册 — 主进程接收渲染进程日志
// ============================================================
import { ipcMain } from 'electron';
import { RENDERER_TO_MAIN } from '../../../shared/constants/ipc-channels';
import { writeRendererLog } from '../logger';
import type { LogEntry } from '../../../shared/types/logging';
/**
* 注册日志 IPC 监听器
* 使用 ipcMain.onfire-and-forget而非 handle无需响应
* 在 app.whenReady() 中调用
*/
export function registerLogIpcHandlers(): void {
ipcMain.on(RENDERER_TO_MAIN.LOG_MESSAGE, (_event, entry: LogEntry) => {
// 基础校验:防御渲染进程异常数据
if (!entry || !entry.level || !entry.category || !entry.message) return;
writeRendererLog(entry);
});
}