feat(desktop): remember login credentials
Desktop Client Build / Resolve Build Metadata (push) Successful in 49s
Frontend CI / Frontend (push) Successful in 5m47s
Desktop Client Build / Build Desktop Client (push) Successful in 42m28s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 2m38s

This commit is contained in:
2026-05-14 21:49:27 +08:00
parent 639516f374
commit 5bbbbc5cf1
5 changed files with 181 additions and 16 deletions
+13
View File
@@ -33,6 +33,11 @@ interface DesktopAppSettings {
keepRunningInBackground: boolean
}
interface DesktopLoginCredentials {
identifier: string
password: string
}
const rendererProxyRequestChannel = 'desktop:renderer-devtools-proxy:request'
const rendererProxyResponseChannel = 'desktop:renderer-devtools-proxy:response'
@@ -137,6 +142,14 @@ const desktopBridge = {
openSettingsWindow: () => ipcRenderer.invoke('desktop:open-settings-window') as Promise<null>,
getAppSettings: () =>
ipcRenderer.invoke('desktop:get-app-settings') as Promise<DesktopAppSettings>,
getLoginCredentials: () =>
ipcRenderer.invoke('desktop:get-login-credentials') as Promise<DesktopLoginCredentials | null>,
saveLoginCredentials: (credentials: DesktopLoginCredentials) =>
ipcRenderer.invoke('desktop:save-login-credentials', credentials) as Promise<
DesktopLoginCredentials
>,
clearLoginCredentials: () =>
ipcRenderer.invoke('desktop:clear-login-credentials') as Promise<null>,
setAppSetting: (key: keyof DesktopAppSettings, value: boolean) =>
ipcRenderer.invoke('desktop:set-app-setting', key, value) as Promise<DesktopAppSettings>,
syncRuntimeSession: (session: DesktopRuntimeSessionSyncRequest | null) =>