feat(desktop-client): add settings window and switch default API to production

- Open a dedicated settings BrowserWindow with general / login / diagnostics / about tabs
- Persist openAtLogin and keepRunningInBackground via desktop-settings.json; hide main window instead of quitting when background mode is on
- Default API base URL now points to api.shengxintui.com; LoginView and SettingsView share a single constant
- Restore wangyihao session cookies on probe and silent refresh, and accept the legacy http://mp.163.com console origin
- Drop the standalone diagnostics view in favor of the settings tab

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-30 22:00:01 +08:00
parent 40ef60eae2
commit baff51295a
13 changed files with 1110 additions and 226 deletions
+8
View File
@@ -11,6 +11,11 @@ import type { DesktopRuntimeSnapshot } from "./types";
export {};
declare global {
interface DesktopAppSettings {
openAtLogin: boolean;
keepRunningInBackground: boolean;
}
interface Window {
desktopBridge: {
app: {
@@ -40,6 +45,9 @@ declare global {
listPublishTasks(params?: ListDesktopPublishTasksParams): Promise<DesktopPublishTaskListResponse>;
retryPublishTask(taskId: string): Promise<CreatePublishJobResponse>;
openExternalUrl(url: string): Promise<null>;
openSettingsWindow(): Promise<null>;
getAppSettings(): Promise<DesktopAppSettings>;
setAppSetting(key: keyof DesktopAppSettings, value: boolean): Promise<DesktopAppSettings>;
syncRuntimeSession(session: DesktopRuntimeSessionSyncRequest | null): Promise<null>;
releaseRuntimeSession(revoke?: boolean): Promise<null>;
setWindowMode(mode: "login" | "main", request?: {