Files
QZMusic_PC-pre/dist-electron/preload.mjs
lqtmcstudio 21b80c566b feat:
- 搜索页UI
- 插件系统支持搜索单曲接口
- 修复音量初始化和状态
- 搜索关键词匹配优化
2026-02-05 23:44:51 +08:00

40 lines
2.1 KiB
JavaScript

"use strict";
const electron = require("electron");
electron.contextBridge.exposeInMainWorld("electronAPI", {
// 窗口控制
minimizeWindow: () => electron.ipcRenderer.send("window-minimize"),
maximizeWindow: () => electron.ipcRenderer.send("window-maximize"),
closeWindow: () => electron.ipcRenderer.send("window-close"),
isMaximized: () => electron.ipcRenderer.invoke("window-is-maximized"),
// qzplayer Control
qzplayer: {
load: (url) => electron.ipcRenderer.invoke("qzplayer-load", url),
play: () => electron.ipcRenderer.invoke("qzplayer-play"),
pause: () => electron.ipcRenderer.invoke("qzplayer-pause"),
togglePause: () => electron.ipcRenderer.invoke("qzplayer-toggle-pause"),
stop: () => electron.ipcRenderer.invoke("qzplayer-stop"),
setVolume: (vol) => electron.ipcRenderer.invoke("qzplayer-set-volume", vol),
seek: (time) => electron.ipcRenderer.invoke("qzplayer-seek", time),
onEvent: (callback) => electron.ipcRenderer.on("qzplayer-event", callback)
},
// Plugin System
plugin: {
call: (pluginId, method, args) => electron.ipcRenderer.invoke("plugin:call", pluginId, method, args),
search: (pluginId, query, page, limit) => electron.ipcRenderer.invoke("plugin:call", pluginId, "search", [query, page, limit])
},
// Cache Control
getCacheInfo: () => electron.ipcRenderer.invoke("cache:getInfo"),
setCachePersist: (persist) => electron.ipcRenderer.invoke("cache:setPersist", persist),
openCacheFolder: () => electron.ipcRenderer.invoke("cache:openFolder"),
clearCache: () => electron.ipcRenderer.invoke("cache:clear"),
// Settings
settings: {
getAll: () => electron.ipcRenderer.invoke("settings:getAll"),
set: (settings) => electron.ipcRenderer.invoke("settings:set", settings),
getTheme: () => electron.ipcRenderer.invoke("settings:getTheme"),
setTheme: (theme) => electron.ipcRenderer.invoke("settings:setTheme", theme),
getAccentColor: () => electron.ipcRenderer.invoke("settings:getAccentColor"),
setAccentColor: (color) => electron.ipcRenderer.invoke("settings:setAccentColor", color)
}
});