- 任务右键菜单:实现打开输出目录(inputs/outputs/.cache 结构)、
复制资源链接、重新编辑、再次生成、拉取结果、重新下载、收藏、删除记录
- 主进程下载:通过 Electron net 模块绕过 CORS,支持 CDN 媒体文件下载
- sharp 缩略图:替换 nativeImage,支持 4K/8K+ 大尺寸素材的流式处理
- IPC 精简:40+ 冗余通道 → 15 个分组通道,移除未使用的 preload 桥接方法
- 任务存储:新增收藏字段、schema 迁移、task-store 持久化
- 清理废弃模块:canvas-ipc / updater / request / pricing
refactor: IPC/Preload/Services 模块化拆分 — 单一职责 + 向后兼容
主要变更:
- shared/constants/ipc-channels.ts → ipc/ 模块 (base/storage/canvas/updater)
- electron/preload.ts → preload/ 模块 (base/safe-storage/file-storage/canvas)
- electron/main/ipc/canvas-ipc.ts → canvas/ 模块 (types/walk/sidecar/mime/thumbnail)
- electron/main/ipc/storage-ipc.ts → 提取 utils/ (path/download/thumbnail)
- electron/main/updater.ts → updater/ 模块 (provider/platform-updaters)
- src/services/request.ts → request/ 模块 (token/interceptors/methods)
- src/shared/utils/pricing.ts → pricing/ 模块 (types/helpers/format/calculate/fields)
- src/modules/home/center/views/ModelInputForm.tsx → 提取 utils + DependentFormItem
架构优化:
- 所有拆分均保持向后兼容(旧导入路径仍可用)
- TypeScript 编译通过 ✓
- 每个模块单一职责,平均 ~130 行
45 lines
1.4 KiB
TypeScript
45 lines
1.4 KiB
TypeScript
// ============================================================
|
|
// IPC 通道常量 — 基础通道(窗口、日志、主题等)
|
|
// ============================================================
|
|
|
|
/** 主进程 → 渲染进程 */
|
|
export const MAIN_TO_RENDERER = {
|
|
/** 主进程消息推送 */
|
|
MAIN_PROCESS_MESSAGE: 'main-process-message',
|
|
/** 主题变更通知 */
|
|
THEME_CHANGED: 'theme-changed',
|
|
/** 窗口聚焦通知 */
|
|
WINDOW_FOCUSED: 'window-focused',
|
|
/** 窗口失焦通知 */
|
|
WINDOW_BLURRED: 'window-blurred',
|
|
} as const;
|
|
|
|
/** 渲染进程 → 主进程 */
|
|
export const RENDERER_TO_MAIN = {
|
|
/** 打开子窗口 */
|
|
OPEN_SUB_WINDOW: 'open-sub-window',
|
|
/** 关闭子窗口 */
|
|
CLOSE_SUB_WINDOW: 'close-sub-window',
|
|
/** 设置窗口标题 */
|
|
SET_WINDOW_TITLE: 'set-window-title',
|
|
/** 获取平台信息 */
|
|
GET_PLATFORM_INFO: 'get-platform-info',
|
|
/** 最小化窗口 */
|
|
MINIMIZE_WINDOW: 'minimize-window',
|
|
/** 最大化/还原窗口 */
|
|
TOGGLE_MAXIMIZE: 'toggle-maximize',
|
|
/** 关闭窗口 */
|
|
CLOSE_WINDOW: 'close-window',
|
|
/** 渲染进程日志上报 */
|
|
LOG_MESSAGE: 'log-message',
|
|
} as const;
|
|
|
|
/** 双向通信通道 — 应用配置 */
|
|
export const BIDIRECTIONAL_CONFIG = {
|
|
/** 读取应用配置 */
|
|
READ_CONFIG: 'read-config',
|
|
/** 写入应用配置 */
|
|
WRITE_CONFIG: 'write-config',
|
|
/** 文件对话框 */
|
|
FILE_DIALOG: 'file-dialog',
|
|
} as const; |