134 lines
6.4 KiB
TypeScript
134 lines
6.4 KiB
TypeScript
/**
|
||
* 全局常量集中定义。
|
||
* 窗口 label / Tauri 事件名 / localStorage 存储键,避免魔法字符串散布各处。
|
||
* 与 Rust 侧 `src-tauri/src/constants.rs` 保持对应。
|
||
*/
|
||
|
||
/** 窗口 label(对应 Rust constants::windows 与 capabilities/*.json) */
|
||
export const WINDOWS = {
|
||
main: 'main',
|
||
osdOverlay: 'osd-overlay',
|
||
screenshotOverlay: 'screenshot-overlay',
|
||
screenshotPin: 'screenshot-pin',
|
||
/** 常驻截图编辑器窗口(隐藏复用,打开只 show 不重建 WebView) */
|
||
screenshotEditor: 'screenshot-editor',
|
||
/** 滚动截图控制窗 */
|
||
screenshotScroll: 'screenshot-scroll',
|
||
/** 单文件一次性下载窗口前缀,实际 label = `${downloadWindow}-<taskId>` */
|
||
downloadWindow: 'download-window',
|
||
/** 取词翻译悬浮窗(非激活显示,由 Rust 预创建) */
|
||
translatePopup: 'translate-popup',
|
||
} as const
|
||
|
||
/** Tauri 事件名(前端 emit / listen 与 Rust constants::events 对应) */
|
||
export const EVENTS = {
|
||
// 托盘菜单
|
||
trayMenuShow: 'tray-menu-show',
|
||
trayMenuStateUpdated: 'tray-menu-state-updated',
|
||
trayToggleOsd: 'tray:toggle-osd',
|
||
trayNewDownload: 'tray:new-download',
|
||
trayOpenSettings: 'tray:open-settings',
|
||
// 剪贴板
|
||
clipboardChanged: 'clipboard-changed',
|
||
clipboardPopupShow: 'clipboard-popup-show',
|
||
clipboardPopupHide: 'clipboard-popup-hide',
|
||
clipboardPreviewShow: 'clipboard-preview-show',
|
||
clipboardPreviewHide: 'clipboard-preview-hide',
|
||
// 鼠标进入/离开独立预览窗(弹窗据此决定是否延迟隐藏预览,便于点击复制/放大)
|
||
clipboardPreviewEnter: 'clipboard-preview-enter',
|
||
clipboardPreviewLeave: 'clipboard-preview-leave',
|
||
// 快速面板
|
||
quickpanelShow: 'quickpanel-show',
|
||
quickpanelHide: 'quickpanel-hide',
|
||
quickpanelExecuteCommand: 'quickpanel-execute-command',
|
||
quickpanelExtractProgress: 'quickpanel-extract-progress',
|
||
// 文件索引构建完成(闲时自动建立/重建、手动构建)
|
||
quickpanelIndexUpdated: 'quickpanel-index-updated',
|
||
// 截图
|
||
screenshotBegin: 'screenshot-begin',
|
||
screenshotOverlayReady: 'screenshot-overlay-ready',
|
||
screenshotShortcut: 'screenshot-shortcut',
|
||
screenshotPinShortcut: 'screenshot-pin-shortcut',
|
||
screenshotPinReady: 'screenshot-pin-ready',
|
||
screenshotPinShow: 'screenshot-pin-show',
|
||
screenshotExported: 'screenshot-exported',
|
||
/** 滚动截图会话:实时进度 { width, height, auto } */
|
||
scrollProgress: 'screenshot-scroll-progress',
|
||
/** 滚动截图会话:完成并导出(Rust 已把 PNG 原始字节写入编辑器图片槽,事件只带 { width, height }) */
|
||
scrollComplete: 'screenshot-scroll-complete',
|
||
/** 滚动截图会话:已取消 */
|
||
scrollCancelled: 'screenshot-scroll-cancelled',
|
||
/** 滚动截图完成:打开截图编辑器(编辑/裁剪后保存才进历史) */
|
||
scrollToEditor: 'screenshot-scroll-to-editor',
|
||
/** 常驻编辑器窗口挂载完成(store 等待后下发加载事件) */
|
||
screenshotEditorReady: 'screenshot-editor-ready',
|
||
/** 通知常驻编辑器窗口加载编辑器图片槽中的新图(raw IPC 取出) */
|
||
screenshotEditorLoad: 'screenshot-editor-load',
|
||
// 内核安装进度
|
||
kernelInstallProgress: 'kernel-install-progress',
|
||
// 翻译:取词悬浮窗显示(负载见 Rust translate::popup::PopupPayload)/ 隐藏
|
||
translatePopupShow: 'translate-popup-show',
|
||
translatePopupHide: 'translate-popup-hide',
|
||
// 翻译:流式输出(失败经 start 的 Promise reject,不走事件)
|
||
translateStreamChunk: 'translate-stream-chunk',
|
||
translateStreamDone: 'translate-stream-done',
|
||
translateStreamError: 'translate-stream-error',
|
||
// 后端自动切换节点完成(后台执行,刷新节点列表并提示)
|
||
proxyAutoSwitch: 'proxy-auto-switch',
|
||
// 应用更新进度
|
||
updateProgress: 'update-progress',
|
||
// 监控 OSD
|
||
osdStateUpdate: 'osd-state-update',
|
||
/** OSD 数据通道:仅推送显示项 key→value 映射 + 网速(高频,每秒) */
|
||
osdDataUpdate: 'osd-data-update',
|
||
/** OSD 窗口挂载后请求主窗口补发配置+数据(防止错过创建时的首推) */
|
||
osdConfigRequest: 'osd-config-request',
|
||
osdContentSize: 'osd-content-size',
|
||
osdSystemUiActive: 'osd-system-ui-active',
|
||
osdSystemUiInactive: 'osd-system-ui-inactive',
|
||
/** 前台出现全屏应用(游戏):OSD 应隐藏以避免游戏掉帧 */
|
||
osdGameActive: 'osd-game-active',
|
||
/** 全屏应用退出前台:OSD 可恢复显示 */
|
||
osdGameInactive: 'osd-game-inactive',
|
||
osdStartDrag: 'osd-start-drag',
|
||
osdEndDrag: 'osd-end-drag',
|
||
monitorReady: 'monitor-ready',
|
||
monitorLoading: 'monitor-loading',
|
||
monitorDisconnected: 'monitor-disconnected',
|
||
monitorError: 'monitor-error',
|
||
monitorData: 'monitor-data',
|
||
monitorNetwork: 'monitor-network',
|
||
// 其他
|
||
processStatusChanged: 'process-status-changed',
|
||
downloadAdded: 'download-added',
|
||
/** 任务被删除(浏览器扩展通过 HTTP API 删除任务时发出,前端据此刷新任务列表) */
|
||
downloadRemoved: 'download-removed',
|
||
/** 浏览器扩展通过 HTTP API 新增下载(负载 { id },前端据以为该任务创建专属下载窗口) */
|
||
downloadExtensionAdded: 'download-extension-added',
|
||
} as const
|
||
|
||
/** localStorage 存储键 */
|
||
export const STORAGE_KEYS = {
|
||
appSettings: 'thing_app_settings',
|
||
lastModule: 'thing_last_module',
|
||
quickpanelCommands: 'thing_quickpanel_commands',
|
||
quickpanelSettings: 'thing_quickpanel_settings',
|
||
quickpanelHistory: 'thing_quickpanel_history',
|
||
quickpanelHistoryItems: 'thing_quickpanel_history_items',
|
||
quickpanelPwdHistory: 'thing_quickpanel_pwd_history',
|
||
quickpanelPwdFavs: 'thing_quickpanel_pwd_favs',
|
||
quickpanelRenameMatchHistory: 'thing_quickpanel_rename_match_history',
|
||
quickpanelRenameMatchFavs: 'thing_quickpanel_rename_match_favs',
|
||
quickpanelRenameReplaceHistory: 'thing_quickpanel_rename_replace_history',
|
||
quickpanelRenameReplaceFavs: 'thing_quickpanel_rename_replace_favs',
|
||
quickpanelDeleteFilterHistory: 'thing_quickpanel_delete_filter_history',
|
||
quickpanelDeleteFilterFavs: 'thing_quickpanel_delete_filter_favs',
|
||
currencyRates: 'thing_quickpanel_currency_rates',
|
||
monitorOsdConfig: 'thing_monitor_osd_config',
|
||
/** 关闭"自动启动监控内核"时暂存的 OSD 开关状态(开启自动启动时据此恢复) */
|
||
monitorOsdPending: 'thing_monitor_osd_pending',
|
||
monitorOverviewCards: 'thing_monitor_overview_cards',
|
||
screenshotHistory: 'thing_screenshot_history',
|
||
screenshotPinIndex: 'thing_screenshot_pin_index',
|
||
} as const
|