qiao-x-dialog

3.7.8 • Public • Published

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

Readme

Keywords

Package Sidebar

Install

npm i qiao-x-dialog

Weekly Downloads

2

Version

3.7.8

License

MIT

Unpacked Size

11.2 kB

Total Files

9

Last publish

Collaborators

  • npm_insistime