feat: implement custom window controls and replace header bar with title bar

- Add window handlers for minimize, maximize, close, and check if maximized in ipcMain.
- Update preload script to use new window control IPC events.
- Refactor window service to remove old IPC event handlers and use new handlers.
- Remove old HeaderBar and DragRegion components, replacing them with a new TitleBar component.
- Update Layout component to use TitleBar instead of HeaderBar.
- Remove useWinManager hook as its functionality is now integrated into TitleBar.
- Update login page to remove HeaderBar and adjust layout accordingly.
- Update constants to remove old window IPC events.
- Update package dependencies to replace @iconify/vue with @lucide/vue.
This commit is contained in:
duanshuwen
2026-04-14 23:38:42 +08:00
parent 6fd51d04dd
commit b5a67ff650
20 changed files with 642 additions and 340 deletions

23
global.d.ts vendored
View File

@@ -127,12 +127,12 @@ declare global {
external: {
open: (url: string) => Promise<void>
},
minimizeWindow: () => void,
maximizeWindow: () => void,
closeWindow: () => void,
onWindowMaximized: (callback: (isMaximized: boolean) => void) => void,
isWindowMaximized: () => Promise<boolean>,
viewIsReady: () => void
platform: string;
windowMinimize: () => void;
windowMaximize: () => void;
windowClose: () => void;
windowIsMaximized: () => Promise<boolean>;
viewIsReady: () => void;
app: {
setFrameless: (route?: string) => Promise<void>,
loadPage: (page: string) => Promise<void>
@@ -227,15 +227,4 @@ declare module "@assets/images/*";
declare module "@constant/*";
declare module "@remixicon/vue";
declare module "vue-router";
declare module '@iconify/vue' {
import { DefineComponent } from 'vue'
export const Icon: DefineComponent<{
icon: string
width?: string | number
height?: string | number
color?: string
flip?: string
rotate?: number
}>
}