apiElectron.ts 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { ipcRenderer } from 'electron';
  2. function dialogSelectFile(
  3. config: Electron.OpenDialogOptions
  4. ): Promise<Electron.OpenDialogReturnValue> {
  5. return ipcRenderer.invoke('dialog:selectFile', config);
  6. }
  7. function dialogSaveFile(
  8. config: Electron.SaveDialogOptions
  9. ): Promise<Electron.SaveDialogReturnValue> {
  10. return ipcRenderer.invoke('dialog:saveFile', config);
  11. }
  12. // win prcess
  13. function startWinProcess(processCount: number, loadPageUrl: string) {
  14. return ipcRenderer.send('start-win-process', processCount, loadPageUrl);
  15. }
  16. function stopWinProcess() {
  17. return ipcRenderer.send('stop-win-process');
  18. }
  19. function closeProcessWindow(winId: number) {
  20. return ipcRenderer.send('close-process-window', winId);
  21. }
  22. function onStopRunning(callback: () => void) {
  23. return ipcRenderer.on('stop-running', callback);
  24. }
  25. const electronApi = {
  26. dialogSelectFile,
  27. dialogSaveFile,
  28. // win prcess
  29. startWinProcess,
  30. stopWinProcess,
  31. closeProcessWindow,
  32. onStopRunning,
  33. };
  34. export type ElectronApi = typeof electronApi;
  35. export default electronApi;