feat(update-center): 实现集中式软件更新中心功能

新增更新中心模块,支持管理 APM 和传统 deb 软件更新任务
- 添加更新任务队列管理、状态跟踪和日志记录功能
- 实现更新项忽略配置持久化存储
- 新增更新确认对话框和迁移提示
- 优化主窗口关闭时的任务保护机制
- 添加单元测试覆盖核心逻辑
This commit is contained in:
2026-04-09 08:19:51 +08:00
parent 97bb8e5f59
commit 0b17ada45a
37 changed files with 6389 additions and 342 deletions
+19 -28
View File
@@ -1,18 +1,30 @@
/* eslint-disable */
/// <reference types="vite/client" />
import type { UpdateCenterBridge } from "@/global/typedefinition";
declare module "*.vue" {
import type { DefineComponent } from "vue";
const component: DefineComponent<{}, {}, any>;
export default component;
}
interface Window {
// expose in the `electron/preload/index.ts`
ipcRenderer: import("electron").IpcRenderer;
apm_store: {
arch: string;
};
declare global {
interface Window {
// expose in the `electron/preload/index.ts`
ipcRenderer: IpcRendererFacade;
apm_store: {
arch: string;
};
updateCenter: UpdateCenterBridge;
}
}
interface IpcRendererFacade {
on: import("electron").IpcRenderer["on"];
off: import("electron").IpcRenderer["off"];
send: import("electron").IpcRenderer["send"];
invoke: import("electron").IpcRenderer["invoke"];
}
// IPC channel type definitions
@@ -22,25 +34,4 @@ declare interface IpcChannels {
declare const __APP_VERSION__: string;
// vue-virtual-scroller type declarations
declare module "vue-virtual-scroller" {
import { DefineComponent } from "vue";
export const RecycleScroller: DefineComponent<{
items: any[];
itemSize: number;
keyField?: string;
direction?: "vertical" | "horizontal";
buffer?: number;
}>;
export const DynamicScroller: DefineComponent<{
items: any[];
minItemSize: number;
keyField?: string;
direction?: "vertical" | "horizontal";
buffer?: number;
}>;
export const DynamicScrollerItem: DefineComponent<{}>;
}
export {};