// ============================================================ // IPC 通道名称常量 —— 避免魔法字符串 // ============================================================ /** 主进程 → 渲染进程 */ export const MAIN_TO_RENDERER = { /** 主进程消息推送 */ MAIN_PROCESS_MESSAGE: 'main-process-message', /** 主题变更通知 */ THEME_CHANGED: 'theme-changed', /** 窗口聚焦通知 */ WINDOW_FOCUSED: 'window-focused', /** 窗口失焦通知 */ WINDOW_BLURRED: 'window-blurred', /** 画布窗口准备就绪 */ CANVAS_READY: 'canvas:ready', /** 画布扫描进度 */ CANVAS_SCAN_PROGRESS: 'canvas:scan-progress', } 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', /** 画布:打开无限画布窗口 */ OPEN_CANVAS_WINDOW: 'canvas:open-window', } 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', /** 画布:扫描目录 */ CANVAS_SCAN_DIRECTORY: 'canvas:scan-directory', /** 画布:扫描项目(接收 projectPath,主进程内部完成 buildScanRoots + walkDirectory) */ CANVAS_SCAN_PROJECT: 'canvas:scan-project', /** 画布:读取 sidecar 元数据 */ CANVAS_READ_SIDECAR: 'canvas:read-sidecar', /** 画布:写入 sidecar 元数据 */ CANVAS_WRITE_SIDECAR: 'canvas:write-sidecar', /** 画布:生成缩略图 */ CANVAS_GENERATE_THUMBNAIL: 'canvas:generate-thumbnail', /** 画布:复制文件(导入) */ CANVAS_COPY_FILE: 'canvas:copy-file', /** 画布:获取原生图片尺寸 */ CANVAS_GET_IMAGE_SIZE: 'canvas:get-image-size', /** 画布:列出目录下的子文件夹(非递归,排除隐藏) */ CANVAS_LIST_SUBDIRS: 'canvas:list-subdirs', /** 画布:扫描阶段文件(单个 episode/shot/stage 组合) */ CANVAS_SCAN_STAGE_FILES: 'canvas:scan-stage-files', /** 画布:扫描资产文件(深度递归扫描 assets/ 目录) */ CANVAS_SCAN_ASSET_FILES: 'canvas:scan-asset-files', /** 画布:创建目录 */ CANVAS_CREATE_DIRECTORY: 'canvas:create-directory', /** 画布:启动原生文件拖拽(拖放媒体文件到外部应用) */ CANVAS_START_DRAG: 'canvas:start-drag', } as const;