import { contextBridge, ipcRenderer } from 'electron'
|
|
//桥接渲染进程与主进程
|
const newDownloadTask = (data) => {
|
ipcRenderer.send('newDownloadTask', data)
|
}
|
const getDownloadTasks = () => {
|
return ipcRenderer.sendSync('getDownloadTasks')
|
}
|
const onDownloadTaskChange = (callback) => {
|
ipcRenderer.on('downloadTaskChange', (ev, data) => {
|
if (data) {
|
callback(JSON.parse(data))
|
} else {
|
callback()
|
}
|
})
|
}
|
const onShowMessage = (callback) => {
|
ipcRenderer.on('showMessage', (ev, data) => {
|
callback(JSON.parse(data))
|
})
|
}
|
const onOpenUrl = (callback) => {
|
ipcRenderer.on('openUrl', (ev, data) => {
|
callback(data)
|
})
|
}
|
const onLogout = (callback) => {
|
ipcRenderer.on('logout', (ev, data) => {
|
callback(data)
|
})
|
}
|
const cleanTask = (data) => {
|
ipcRenderer.send('cleanTask', data)
|
}
|
const cleanAll = () => {
|
ipcRenderer.send('cleanAll')
|
}
|
const pauseTask = (data) => {
|
ipcRenderer.send('pauseTask', data)
|
}
|
const pauseAllTask = () => {
|
ipcRenderer.send('pauseAllTask')
|
}
|
const startTask = (data) => {
|
ipcRenderer.send('startTask', data)
|
}
|
const startAllTask = () => {
|
ipcRenderer.send('startAllTask')
|
}
|
const openPath = (data) => {
|
return ipcRenderer.sendSync('openPath', data)
|
}
|
const openPathByTaskId = (data) => {
|
ipcRenderer.send('openPathByTaskId', data)
|
}
|
const openSelectFileOrFolderDialog = (data) => {
|
return ipcRenderer.sendSync('openSelectFileOrFolderDialog', data)
|
}
|
const getDownloadPath = () => {
|
return ipcRenderer.sendSync('getDownloadPath')
|
}
|
const setDownloadPath = (path, dataStr) => {
|
return ipcRenderer.sendSync('setDownloadPath', { path, dataStr })
|
}
|
const onUpdateDownloadProgress = (callback) => {
|
ipcRenderer.on('updateDownloadProgress', (ev, data) => {
|
callback(data)
|
})
|
}
|
const onUpdateDownloadSuccess = (callback) => {
|
ipcRenderer.on('updateDownloadSuccess', (ev) => {
|
callback()
|
})
|
}
|
const updateApp = () => {
|
ipcRenderer.send('updateApp')
|
}
|
// 发行导出
|
const onExportTaskChange = (callback) => {
|
ipcRenderer.on('exportTaskChange', (ev, data) => {
|
if (data) {
|
callback(JSON.parse(data))
|
} else {
|
callback()
|
}
|
})
|
}
|
|
const newExportTask = (data) => {
|
ipcRenderer.send('newExportTask', data)
|
}
|
|
const getExportTasks = () => {
|
return ipcRenderer.sendSync('getExportTasks')
|
}
|
const cleanExportTask = (data) => {
|
ipcRenderer.send('cleanExportTask', data)
|
}
|
const cleanAllExportTask = () => {
|
ipcRenderer.send('cleanAllExportTask')
|
}
|
|
contextBridge.exposeInMainWorld('electronAPI', {
|
newDownloadTask,
|
getDownloadTasks,
|
onDownloadTaskChange,
|
onOpenUrl,
|
onShowMessage,
|
onLogout,
|
cleanTask,
|
cleanAll,
|
pauseTask,
|
pauseAllTask,
|
startTask,
|
startAllTask,
|
openPath,
|
openPathByTaskId,
|
openSelectFileOrFolderDialog,
|
getDownloadPath,
|
setDownloadPath,
|
onUpdateDownloadProgress,
|
onUpdateDownloadSuccess,
|
updateApp,
|
onExportTaskChange,
|
newExportTask,
|
getExportTasks,
|
cleanExportTask,
|
cleanAllExportTask,
|
})
|