mirror of
https://github.com/hellodigua/ChatLab.git
synced 2026-05-28 10:13:10 +08:00
feat: 支持开机自启动
This commit is contained in:
@@ -199,6 +199,23 @@ export function registerWindowHandlers(ctx: IpcContext): void {
|
||||
}
|
||||
})
|
||||
|
||||
// ==================== 开机自启动 ====================
|
||||
ipcMain.handle('app:getOpenAtLogin', () => {
|
||||
if (!app.isPackaged) return false
|
||||
const { openAtLogin } = app.getLoginItemSettings()
|
||||
return openAtLogin
|
||||
})
|
||||
|
||||
ipcMain.handle('app:setOpenAtLogin', (_, enabled: boolean) => {
|
||||
if (!app.isPackaged) return { success: false, error: 'Not available in dev mode' }
|
||||
try {
|
||||
app.setLoginItemSettings({ openAtLogin: enabled })
|
||||
return { success: true }
|
||||
} catch (error) {
|
||||
return { success: false, error: String(error) }
|
||||
}
|
||||
})
|
||||
|
||||
// ==================== 更新检查 ====================
|
||||
ipcMain.on('check-update', () => {
|
||||
// 手动检查更新(即使是预发布版本也会提示)
|
||||
|
||||
@@ -102,5 +102,17 @@ export const extendedApi = {
|
||||
relaunch: (): Promise<void> => {
|
||||
return ipcRenderer.invoke('app:relaunch')
|
||||
},
|
||||
/**
|
||||
* 获取开机自启动状态
|
||||
*/
|
||||
getOpenAtLogin: (): Promise<boolean> => {
|
||||
return ipcRenderer.invoke('app:getOpenAtLogin')
|
||||
},
|
||||
/**
|
||||
* 设置开机自启动
|
||||
*/
|
||||
setOpenAtLogin: (enabled: boolean): Promise<{ success: boolean; error?: string }> => {
|
||||
return ipcRenderer.invoke('app:setOpenAtLogin', enabled)
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
Vendored
+2
@@ -213,6 +213,8 @@ interface Api {
|
||||
getAnalyticsEnabled: () => Promise<boolean>
|
||||
setAnalyticsEnabled: (enabled: boolean) => Promise<{ success: boolean }>
|
||||
relaunch: () => Promise<void>
|
||||
getOpenAtLogin: () => Promise<boolean>
|
||||
setOpenAtLogin: (enabled: boolean) => Promise<{ success: boolean; error?: string }>
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user