AssetPro/dist-electron/preload.js

52 lines
1.5 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"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);