三栏布局 - ResizeObserver 等比例分配替代固定默认值恢复 - 修复拖拽+窗口调整竞态卡死(needsRecalcRef 延迟补算) - containerRef.current 动态读取 DOM 替代闭包 el Seedance2Content - 从占位文本重构为内容编排控件(文本+图片/视频/音频上传) - 根据 spec.image_files/video_files/audio_files 动态渲染上传区域 - 值 JSON 序列化 → 提交时转 ContentItem[](text/image_url/video_url/audio_url) 图片上传兼容视频文件 - buildAccept 根据 file_filter 区分 image/video 前缀 - createMediaBeforeUpload 动态放行 video/* MIME - 公共模块 media-upload-utils.ts 本地存储基建 - sql.js (WASM SQLite) + safeStorage 加密持久化 - 8个IPC文件操作通道 + resolveSafe 路径穿越防护 - <userData>/heixiu-data/ 沙箱 + JWT用户隔离 - 7表DDL + 游标分页 + LRU媒体淘汰 其他 - 修复 errorMessageRef 渲染期写入警告 - 媒体预览回退直接URL(<img>无CORS限制)+ output_type类型补充 - CSP wasm-unsafe-eval + https: CDN媒体源
66 lines
2.2 KiB
TypeScript
66 lines
2.2 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 = {
|
||
/** 读取应用配置 */
|
||
READ_CONFIG: 'read-config',
|
||
/** 写入应用配置 */
|
||
WRITE_CONFIG: 'write-config',
|
||
/** 文件对话框 */
|
||
FILE_DIALOG: 'file-dialog',
|
||
/** safeStorage 加密(明文 → Base64 密文) */
|
||
SAFESTORAGE_ENCRYPT: 'safe-storage:encrypt',
|
||
/** safeStorage 解密(Base64 密文 → 明文) */
|
||
SAFESTORAGE_DECRYPT: 'safe-storage:decrypt',
|
||
/** 文件写入(Blob Buffer → 磁盘) */
|
||
FILE_WRITE: 'storage:file-write',
|
||
/** 文件读取(磁盘 → Base64) */
|
||
FILE_READ: 'storage:file-read',
|
||
/** 文件删除 */
|
||
FILE_DELETE: 'storage:file-delete',
|
||
/** 创建目录(递归) */
|
||
MAKE_DIR: 'storage:make-dir',
|
||
/** 在文件管理器中显示文件 */
|
||
SHOW_ITEM_IN_FOLDER: 'storage:show-item-in-folder',
|
||
/** 获取应用数据目录路径 */
|
||
GET_DATA_DIR: 'storage:get-data-dir',
|
||
/** 获取文件大小 */
|
||
FILE_SIZE: 'storage:file-size',
|
||
/** 文件/目录是否存在 */
|
||
FILE_EXISTS: 'storage:file-exists',
|
||
} as const;
|