60 lines
1.6 KiB
JavaScript
60 lines
1.6 KiB
JavaScript
const {ipcRenderer, contextBridge} = require('electron');
|
|
const keytar = require('keytar');
|
|
const trayService = require(__dirname + '/modules/tray-service');
|
|
|
|
contextBridge.exposeInMainWorld('api', {
|
|
send(channel, ...data) {
|
|
return ipcRenderer.send(channel, ...data);
|
|
},
|
|
|
|
receive(channel, cb) {
|
|
ipcRenderer.on(channel, (event, ...args) => cb(...args));
|
|
},
|
|
|
|
reload() {
|
|
ipcRenderer.send('reload')
|
|
},
|
|
|
|
getApplicationVersion() {
|
|
return ipcRenderer.invoke('getApplicationVersion');
|
|
},
|
|
|
|
getElectronVersion() {
|
|
return ipcRenderer.invoke('getElectronVersion');
|
|
},
|
|
|
|
electronSettings: {
|
|
hasSync(setting) {
|
|
return ipcRenderer.sendSync('electron-settings', 'hasSync', setting)
|
|
},
|
|
setSync(setting, value) {
|
|
ipcRenderer.send('electron-settings', 'setSync', setting, value)
|
|
},
|
|
unsetSync(setting) {
|
|
ipcRenderer.send('electron-settings', 'unsetSync', setting)
|
|
},
|
|
getSync(setting) {
|
|
return ipcRenderer.sendSync('electron-settings', 'getSync', setting);
|
|
}
|
|
},
|
|
trayService: {
|
|
showEnvelope() {
|
|
trayService.showEnvelope();
|
|
},
|
|
hideEnvelope() {
|
|
trayService.hideEnvelope();
|
|
}
|
|
},
|
|
keytar: {
|
|
getPassword(service, login) {
|
|
return keytar.getPassword(service, login);
|
|
},
|
|
setPassword(service, login, password) {
|
|
return keytar.setPassword(service, login, password);
|
|
},
|
|
deletePassword(service, login) {
|
|
return keytar.deletePassword(service, login);
|
|
}
|
|
}
|
|
});
|