import { type BrowserWindow } from 'electron' export default function ( app: Electron.App, win: BrowserWindow | null, ipcMain: Electron.IpcMain, shell: Electron.Shell ) { ipcMain.on('deeplink', (_event, url) => { // open browser shell.openExternal(url) }) app.on('open-url', (_event, url) => { url = url.replace('taobin-electron://', 'http://') const parsedUrl = new URL(url) if (parsedUrl.host === 'login') { win?.webContents.send('loginSuccess', { id: parsedUrl.searchParams.get('id'), email: parsedUrl.searchParams.get('email'), name: parsedUrl.searchParams.get('name'), picture: parsedUrl.searchParams.get('picture'), permissions: parsedUrl.searchParams.get('permissions'), accessToken: parsedUrl.searchParams.get('access_token'), maxAge: parsedUrl.searchParams.get('max_age'), refreshToken: parsedUrl.searchParams.get('refresh_token') }) } }) }