You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

164 lines
8.2 KiB

import { contextBridge, ipcRenderer } from 'electron';
contextBridge.exposeInMainWorld('electronAPI', {
// logger
sendLogger: (msg: any) => ipcRenderer.send('lg:send-msg', msg),
// notification
sendNotification: (options: any) => ipcRenderer.send('nt:send-msg', options),
// mainWin
sendMaOpenWin: () => ipcRenderer.send('ma:open-win'),
sendMaCloseWin: () => ipcRenderer.send('ma:close-win'),
//raWin
sendRaCloseWin: () => ipcRenderer.send('ra:close-win'),
sendRaOpenWin: () => ipcRenderer.send('ra:open-win'),
sendRaDownloadRecord: (url: string) => ipcRenderer.send('ra:download-record', url),
//rsWin
sendRsOpenWin: (search?: any) => ipcRenderer.send('rs:open-win', search),
sendRsCloseWin: () => ipcRenderer.send('rs:close-win'),
sendRsHideWin: () => ipcRenderer.send('rs:hide-win'),
sendRsMinimizeWin: () => ipcRenderer.send('rs:minimize-win'),
sendRsStartRecord: () => ipcRenderer.send('rs:start-record'),
sendRsPauseRecord: () => ipcRenderer.send('rs:pause-record'),
sendRsStopRecord: () => ipcRenderer.send('rs:stop-record'),
invokeRsGetBoundsClip: () => ipcRenderer.invoke('rs:get-bounds-clip'),
invokeRsGetDesktopCapturerSource: () => {
return ipcRenderer.invoke('rs:get-desktop-capturer-source');
},
invokeRsGetCursorScreenPoint: () => ipcRenderer.invoke('rs:get-cursor-screen-point'),
invokeRsIsFocused: () => ipcRenderer.invoke('rs:is-focused'),
sendRsFocus: () => ipcRenderer.send('rs:focus'),
sendRsSetIgnoreMouseEvents: (ignore: boolean, options: any) => {
ipcRenderer.send('rs:set-ignore-mouse-events', ignore, options);
},
handleRsGetSizeClipWin: (callback: any) => ipcRenderer.on('rs:get-size-clip-win', callback),
handleRsGetShotScreen: (callback: any) => ipcRenderer.on('rs:get-shot-screen', callback),
handleRsGetEndRecord: (callback: any) => ipcRenderer.on('rs:get-end-record', callback),
//csWin
sendCsOpenWin: (search?: any) => ipcRenderer.send('cs:open-win', search),
sendCsCloseWin: () => ipcRenderer.send('cs:close-win'),
sendCsHideWin: () => ipcRenderer.send('cs:hide-win'),
sendCsMinimizeWin: () => ipcRenderer.send('cs:minimize-win'),
sendCsSetIgnoreMouseEvents: (ignore: boolean, options: any) => {
ipcRenderer.send('cs:set-ignore-mouse-events', ignore, options);
},
invokeCsGetBounds: () => ipcRenderer.invoke('cs:get-bounds'),
handleCsSetIsPlay: (callback: any) => ipcRenderer.on('cs:set-isPlay', callback),
sendCsSetBounds: (bounds: any) => {
ipcRenderer.send('cs:set-bounds', bounds);
},
//rvWin
sendRvCloseWin: () => ipcRenderer.send('rv:close-win'),
sendRvOpenWin: () => ipcRenderer.send('rv:open-win'),
sendRvDownloadRecord: (url: string) => ipcRenderer.send('rv:download-record', url),
//ssWin
sendSsOpenWin: () => ipcRenderer.send('ss:open-win'),
sendSsCloseWin: () => ipcRenderer.send('ss:close-win'),
sendSsStartWin: () => ipcRenderer.send('ss:start-win'),
sendSsShowWin: (callback) => ipcRenderer.on('ss:show-win', (e, img) => callback(img)),
sendSsHideWin: (callback) => ipcRenderer.on('ss:hide-win', () => callback()),
invokeSsGetShotScreenImg: () => ipcRenderer.invoke('ss:get-shot-screen-img'),
sendSsDownloadImg: (imgUrl: string) => ipcRenderer.send('ss:download-img', imgUrl),
sendSsSaveImg: (imgUrl: string) => ipcRenderer.send('ss:save-img', imgUrl),
sendSsOpenExternal: (tabUrl: string) => ipcRenderer.send('ss:open-external', tabUrl),
sendSsCopyImg: (imgUrl: string) => ipcRenderer.send('ss:copy-img', imgUrl),
//viWin
sendViCloseWin: () => ipcRenderer.send('vi:close-win'),
sendViOpenWin: (search?: string) => ipcRenderer.send('vi:open-win', search),
sendViMinimizeWin: () => ipcRenderer.send('vi:minimize-win'),
sendViMaximizeWin: () => ipcRenderer.send('vi:maximize-win'),
sendViUnmaximizeWin: () => ipcRenderer.send('vi:unmaximize-win'),
sendViAlwaysOnTopWin: (isTop: boolean) => ipcRenderer.send('vi:alwaysOnTop-win', isTop),
sendViOpenFile: (imgUrl: string) => ipcRenderer.send('vi:open-file', imgUrl),
invokeViSetIsAlwaysOnTop: () => ipcRenderer.invoke('vi:set-always-on-top'),
invokeViGetImgs: (imgUrl: string) => ipcRenderer.invoke('vi:get-imgs', imgUrl),
sendViDownloadImg: (img: string) => ipcRenderer.send('vi:download-img', img),
sendViSetHistoryImg: (img: string) => {
ipcRenderer.send('vi:set-historyImg', img);
},
//eiWin
sendEiCloseWin: () => ipcRenderer.send('ei:close-win'),
sendEiOpenWin: (search?: string) => ipcRenderer.send('ei:open-win', search),
sendEiDownloadImg: (imgUrl?: string) => ipcRenderer.send('ei:download-img', imgUrl),
//egWin
sendEgCloseWin: () => ipcRenderer.send('eg:close-win'),
sendEgOpenWin: (search?: string) => ipcRenderer.send('eg:open-win', search),
//vcWin
sendVcCloseWin: () => ipcRenderer.send('vc:close-win'),
sendVcOpenWin: (search?: string) => ipcRenderer.send('vc:open-win', search),
//caWin
sendCaCloseWin: () => ipcRenderer.send('ca:close-win'),
sendCaOpenWin: () => ipcRenderer.send('ca:open-win'),
//siWin
sendSiCloseWin: () => ipcRenderer.send('si:close-win'),
sendSiOpenWin: () => ipcRenderer.send('si:open-win'),
//vvWin
sendVvOpenWin: (search?: string) => ipcRenderer.send('vv:open-win', search),
sendVvCloseWin: () => ipcRenderer.send('vv:close-win'),
invokeVvGetHistoryVideo: () => ipcRenderer.invoke('vv:get-historyVideo'),
sendVvSetHistoryVideo: (img: string) => ipcRenderer.send('vv:set-historyVideo', img),
//vaWin
sendVaOpenWin: (search?: any) => ipcRenderer.send('va:open-win', search),
invokeVaGetAudios: (audioUrl: any) => ipcRenderer.invoke('va:get-audios', audioUrl),
//seWin 设置
sendSeOpenWin: () => ipcRenderer.send('se:open-win'),
invokeSeGetUser: () => ipcRenderer.invoke('se:get-user'),
invokeSeSetFilePath: (filePath: string) => ipcRenderer.invoke('se:set-filePath', filePath),
invokeSeGetFilePath: () => ipcRenderer.invoke('se:get-filePath'),
sendSeSetOpenAtLogin: (isOpen: boolean) => ipcRenderer.send('se:set-openAtLogin', isOpen),
sendSeSetLanguage: (lng: string) => ipcRenderer.send('se:set-language', lng),
sendSeSetShortcut: (data: string) => ipcRenderer.send('se:set-shortcut', data),
sendSeSetShortcuts: (data: string) => ipcRenderer.send('se:set-shortcuts', data),
invokeSeGetOpenAtLogin: () => ipcRenderer.invoke('se:get-openAtLogin'),
//re 记录
sendReOpenWin: () => ipcRenderer.send('re:open-win'),
//pi 钉图
sendPiSetSizeWin: (size: any) => ipcRenderer.send('pi:set-size-win', size),
sendPiOpenWin: (search?: any) => ipcRenderer.send('pi:open-win', search),
sendPiCloseWin: () => ipcRenderer.send('pi:close-win'),
sendPiMinimizeWin: () => ipcRenderer.send('pi:minimize-win'),
sendPiMaximizeWin: () => ipcRenderer.send('pi:maximize-win'),
sendPiUnmaximizeWin: () => ipcRenderer.send('pi:unmaximize-win'),
invokePiGetSizeWin: () => ipcRenderer.invoke('pi:get-size-win'),
//pi 钉视频
sendPvOpenWin: (search?: any) => ipcRenderer.send('pv:open-win', search),
sendPvCloseWin: () => ipcRenderer.send('pv:close-win'),
sendPvMinimizeWin: () => ipcRenderer.send('pv:minimize-win'),
sendPvMaximizeWin: () => ipcRenderer.send('pv:maximize-win'),
sendPvUnmaximizeWin: () => ipcRenderer.send('pv:unmaximize-win'),
// rfs 全屏录屏
sendRfsOpenWin: () => ipcRenderer.send('rfs:open-win'),
sendRfsCloseWin: () => ipcRenderer.send('rfs:close-win'),
// Eu 自动更新
handleEuUpdateCanAvailable: (callback: any) =>
ipcRenderer.on('eu:update-can-available', callback),
handleEuUpdateeError: (callback: any) => ipcRenderer.on('eu:update-error', callback),
handleEuDownloadProgress: (callback: any) => ipcRenderer.on('eu:download-progress', callback),
handleEuUpdateDownloaded: (callback: any) => ipcRenderer.on('eu:update-downloaded', callback),
invokeEuQuitAndInstall: () => ipcRenderer.invoke('eu:quit-and-install'),
invokeEuStartDownload: () => ipcRenderer.invoke('eu:start-download'),
invokeEuCheckUpdate: () => ipcRenderer.invoke('eu:check-update'),
offEuUpdateCanAvailable: (callback: any) => ipcRenderer.on('eu:update-can-available', callback),
offEuUpdateeError: (callback: any) => ipcRenderer.on('eu:update-error', callback),
offEuDownloadProgress: (callback: any) => ipcRenderer.on('eu:download-progress', callback),
offEuUpdateDownloaded: (callback: any) => ipcRenderer.on('eu:update-downloaded', callback),
});