# 更新日志 > 每次发版前修改此文件,`npm run build:win` 打包后会自动读取生成 update-info.json。 --- ## 0.0.29(2026-06-29) **IPC/Preload/Services 模块化拆分 — 单一职责 + 向后兼容** ### 模块化拆分 - **shared/constants/ipc**:`ipc-channels.ts` (105行) → `ipc/` 模块 (base/storage/canvas/updater) - **electron/preload**:`preload.ts` (229行) → `preload/` 模块 (base/safe-storage/file-storage/canvas/app-runtime) - **electron/main/ipc**: - `canvas-ipc.ts` (705行) → `canvas/` 模块 (types/walk/sidecar/mime/thumbnail/scan-roots) - `storage-ipc.ts` (357行) → 提取 `utils/` (path/download/thumbnail) - **electron/main/updater**:`updater.ts` (479行) → `updater/` 模块 (provider/platform-updaters) - **src/services/request**:`request.ts` (479行) → `request/` 模块 (token/interceptors/methods) - **src/shared/utils/pricing**:`pricing.ts` (488行) → `pricing/` 模块 (types/helpers/format/calculate/fields) - **ModelInputForm.tsx**:提取 `utils.ts` + `DependentFormItem.tsx` 子组件 ### 架构优化 - 所有拆分均保持向后兼容(旧导入路径仍可用) - 每个模块单一职责,平均 ~130 行 - TypeScript 编译零错误 --- ## 0.0.28(2026-06-29) **项目架构重构(VCHSM 五层模块化)+ 公告 Badge 提醒** ### 架构重构 - **VCHSM 模块化**:`pages/` + `services/modules/` 分散模式 → 统一 `modules/` 五层架构 - **V**iews — 页面组件(纯 JSX 结构) - **C**ontrollers — 控制器(交互逻辑 + API 调用) - **H**ooks — 自定义 Hook(组件间复用逻辑) - **S**ettings — 配置层(常量映射、字段配置、注册表) - **M**odel — 数据模型(纯 TS 类型/接口) - **7 个业务模块**:navbar / announcement / auth / home / account / canvas / settings - **Home 模块三栏嵌套**:left(输入)/ center(预览)/ right(模型/任务),每栏独立 VCHSM - **Account 模块子功能分目录**:info / vip / recharge / billing / orders / wechat-work - **应用壳抽离**:`src/app/` 目录(入口 + Provider + 布局 + 路由分发) - **跨模块共享**:`src/shared/` 目录(components / hooks / services / utils / infrastructure / theme) - **导入路径全面更新**:~500+ 处引用同步,TypeScript 编译零错误 ### 公告 - **Badge 角标提醒**:antd `Badge` 组件包裹 NavItem,未读公告数量实时显示 - **缓存与轮询**:`useAnnouncements` Hook — localStorage 缓存已读 ID + 每 15 分钟轮询对比 - **标记已读**:打开公告抽屉时自动将当前公告 ID 写入 localStorage,角标消除 ### 日志系统 - **全量审计修复**:~60+ 处 try/catch 补充 `logger.warn()` 记录 - **存储路径可配置**:`setLogDirResolver()` / `setDataDirResolver()` 函数注入模式 - **15 个日志分类**:request / auth / updater / event / app / ui / ipc / safe-storage / storage / canvas / canvas-window / … --- ## 0.0.27(2026-06-24) **无限画布 UI 重构 + 预览键盘控制 + 拖拽体验优化** ### 无限画布 - **双栏布局重构**:AntD Layout(Sider + Content),左侧导航 + 右侧画布,页面级别渲染预览组件解耦 DOM - **CanvasSidebar**:项目/集数选择器 + 镜头搜索 + 镜头列表(滚动条 + 底部固定刷新按钮)+ 工作区切换 - **CategoryTabs 双模式**:Assets 阶段 → 全部/角色/道具/场景/收藏;其他阶段 → 所有[阶段名]/收藏/待审核/通过/返修/已弃用 - **分类数量徽标**:每个标签显示数据计数,"收藏"标签额外显示媒体类型细分(视频/图片/音频) - **Ctrl/Cmd + 拖拽平移**:替代 Space 键修饰,释放 Space 给媒体控制;`pointerEvents: none` 防止拖拽时误抓缩略图 - **画布锁**:预览打开时 `previewActiveRef` 双守卫阻止穿透缩放/拖拽 - **无限画布入口按钮**:StageTabs 右侧按钮,调用 `OPEN_CANVAS_WINDOW` IPC ### 预览键盘控制 - **Space 暂停/播放**:capture 阶段拦截 + `stopPropagation`,避免与原生 `