feat(update): 重构自动更新系统,使用 electron-updater 替代手动下载

- CI 构建 macOS 拆分为 x64/arm64 分别构建,合并 latest-mac.yml
- 主进程使用 electron-updater 管理检查、下载、安装全流程
- 渲染进程 UpdateModal 改为响应式同步主进程更新状态
- IPC 通道统一为 app-update:* 系列
- 窗口拦截外部链接在系统浏览器打开
- 新增 5 语言更新相关国际化文案
This commit is contained in:
alger
2026-03-11 22:01:00 +08:00
parent a62e6d256e
commit bf341fa7c8
22 changed files with 958 additions and 466 deletions
+9
View File
@@ -14,11 +14,14 @@ import {
watchSystemTheme
} from '@/utils/theme';
import { type AppUpdateState,createDefaultAppUpdateState } from '../../../shared/appUpdate';
export const useSettingsStore = defineStore('settings', () => {
const theme = ref<ThemeType>(getCurrentTheme());
const isMobile = ref(false);
const isMiniMode = ref(false);
const showUpdateModal = ref(false);
const appUpdateState = ref<AppUpdateState>(createDefaultAppUpdateState());
const showArtistDrawer = ref(false);
const currentArtistId = ref<number | null>(null);
const systemFonts = ref<{ label: string; value: string }[]>([
@@ -147,6 +150,10 @@ export const useSettingsStore = defineStore('settings', () => {
showUpdateModal.value = value;
};
const setAppUpdateState = (value: AppUpdateState) => {
appUpdateState.value = value;
};
const setShowArtistDrawer = (show: boolean) => {
showArtistDrawer.value = show;
if (!show) {
@@ -263,6 +270,7 @@ export const useSettingsStore = defineStore('settings', () => {
isMobile,
isMiniMode,
showUpdateModal,
appUpdateState,
showArtistDrawer,
currentArtistId,
systemFonts,
@@ -272,6 +280,7 @@ export const useSettingsStore = defineStore('settings', () => {
setAutoTheme,
setMiniMode,
setShowUpdateModal,
setAppUpdateState,
setShowArtistDrawer,
setCurrentArtistId,
setSystemFonts,