"use strict"; const electron = require("electron"); const IPC_CHANNELS = { SAVE_FILE: "file:save", READ_FILE: "file:read", GET_SETTINGS: "settings:get", SAVE_SETTINGS: "settings:save" }; const electronAPI = { // ============================================ // 文件操作 API // ============================================ file: { /** * 保存文件到桌面 * @param content - 文件内容 * @param filename - 文件名(可选,默认为 demo-note.txt) */ save: (content, filename) => { return electron.ipcRenderer.invoke(IPC_CHANNELS.SAVE_FILE, content, filename); }, /** * 从桌面读取文件 * @param filename - 文件名(可选,默认为 demo-note.txt) */ read: (filename) => { return electron.ipcRenderer.invoke(IPC_CHANNELS.READ_FILE, filename); } }, // ============================================ // 设置操作 API // ============================================ settings: { /** * 获取用户设置 * @param key - 设置键名(可选,不传返回所有设置) */ get: (key) => { return electron.ipcRenderer.invoke(IPC_CHANNELS.GET_SETTINGS, key); }, /** * 保存用户设置 * @param key - 设置键名 * @param value - 设置值 */ save: (key, value) => { return electron.ipcRenderer.invoke(IPC_CHANNELS.SAVE_SETTINGS, key, value); } } }; electron.contextBridge.exposeInMainWorld("electronAPI", electronAPI);