4.1.1 • Published 6 months ago

qiao-x-dialog v4.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

qiao-x-dialog

npm version npm downloads

Electron 中 Dialog 相关的操作封装

install

安装

npm i qiao-x-dialog

use

使用

// cjs
const { dialogOpenFile } = require('qiao-x-dialog');

// mjs
import { dialogOpenFile } from 'qiao-x-dialog';

main

主进程代码

dialogOpenFile

打开选择文件的对话框

await dialogOpenFile(options);

dialogOpenFolder

打开选择文件夹的对话框

await dialogOpenFolder(options);

dialogOpenFileAndFolder

打开选择文件和文件夹的对话框

await dialogOpenFileAndFolder(options);

ipc

ipc代码

dialogIPCInit

主进程中初始化ipc监听,需要和渲染进程中preload对应使用

dialogIPCInit();

preload

preload代码,由于preload中不能引入npm包,所以需要手动添加

// === dialog-preload.js ===
// electron
import { ipcRenderer } from 'electron';

/**
 * dialogOpenFileIPC
 * @param {*} options
 */
export const dialogOpenFileIPC = async (options) => {
  return await ipcRenderer.invoke('ipc-dialog-open-file', options);
};

/**
 * dialogOpenFolderIPC
 * @param {*} options
 */
export const dialogOpenFolderIPC = async (options) => {
  return await ipcRenderer.invoke('ipc-dialog-open-folder', options);
};

/**
 * dialogOpenFileAndFolderIPC
 * @param {*} options
 */
export const dialogOpenFileAndFolderIPC = async (options) => {
  return await ipcRenderer.invoke('ipc-dialog-open-file-folder', options);
};

// === preload.js ===
// electron
import { contextBridge } from 'electron';

// custom preload
import { dialogOpenFileIPC, dialogOpenFolderIPC, dialogOpenFileAndFolderIPC } from 'dialog-preload.js';

// preload
contextBridge.exposeInMainWorld('electron', {
  dialogOpenFileIPC,
  dialogOpenFolderIPC,
  dialogOpenFileAndFolderIPC,
});

// === 使用 ===
await window.electron.dialogOpenFileIPC(options);
4.1.1

6 months ago

4.0.0

10 months ago

3.7.8

1 year ago

3.7.1

1 year ago

3.6.4

1 year ago