♻️ loading组件重构

This commit is contained in:
目棃
2024-12-16 11:13:30 +08:00
parent 1f167845a4
commit 24e3f11c4a
33 changed files with 482 additions and 428 deletions

View File

@@ -29,10 +29,12 @@ type InvokeArg = { func: string };
class Client {
private listener: UnlistenFn | undefined;
private route: string[] = [];
private constructor() {
this.route = [];
this.listener = undefined;
}
private static instance: Client | null = null;
static getInstance(): Client {
@@ -690,7 +692,7 @@ class Client {
const appWindow = await webviewWindow.WebviewWindow.getByLabel("TeyvatGuide");
await appWindow?.setFocus();
showSnackbar.error(`不支持的操作OpenApplication(${JSON.stringify(arg.payload)})`);
await new Promise<void>((resolve) => setTimeout(() => resolve(), 1500));
await new Promise<void>((resolve) => setTimeout(resolve, 1500));
const windowFind = await webviewWindow.WebviewWindow.getByLabel("mhy_client");
if (windowFind !== null) await windowFind.setFocus();
}
@@ -727,11 +729,7 @@ class Client {
await appWindow.setFocus();
}
showSnackbar.error(`未知链接:${arg.payload.page}`, 3000);
await new Promise<void>((resolve) => {
setTimeout(() => {
resolve();
}, 3000);
});
await new Promise<void>((resolve) => setTimeout(resolve, 3000));
const windowFind = await webviewWindow.WebviewWindow.getByLabel("mhy_client");
if (windowFind !== null) {
await windowFind.setFocus();
@@ -894,10 +892,8 @@ class Client {
}
}
console.warn("[share]", arg.payload);
// 延时 3s
setTimeout(async () => {
await this.callback(arg.callback, {});
}, 10000);
await new Promise<void>((resolve) => setTimeout(resolve, 3000));
await this.callback(arg.callback, {});
}
}

View File

@@ -1,7 +1,7 @@
/**
* @file utils/dataBS.ts
* @description 用户数据的备份、恢复、迁移
* @since Beta v0.6.3
* @since Beta v0.6.7
*/
import showLoading from "@comp/func/loading.js";
import showSnackbar from "@comp/func/snackbar.js";
@@ -16,7 +16,7 @@ import TGLogger from "./TGLogger.js";
/**
* @description 备份用户数据
* @since Beta v0.6.3
* @since Beta v0.6.7
* @param {string} dir 备份目录路径
* @returns {Promise<void>}
*/
@@ -25,16 +25,21 @@ export async function backUpUserData(dir: string): Promise<void> {
await TGLogger.Warn("备份数据不存在,即将创建");
await mkdir(dir, { recursive: true });
}
await showLoading.update("正在备份UIAF成就数据");
await TSUserAchi.backupUiaf(dir);
await showLoading.update("正在备份用户账户数据");
await TSUserAccount.account.backup(dir);
await showLoading.update("正在备份深渊数据");
await TSUserAbyss.backupAbyss(dir);
await showLoading.update("正在备份真境剧诗数据");
await TSUserCombat.backupCombat(dir);
await showLoading.update("正在备份UIGF祈愿数据");
await TSUserGacha.backUpUigf(dir);
}
/**
* @description 恢复用户数据
* @since Beta v0.6.3
* @since Beta v0.6.7
* @param {string} dir 备份目录路径
* @returns {Promise<void>}
*/
@@ -44,31 +49,31 @@ export async function restoreUserData(dir: string): Promise<void> {
showSnackbar.error("备份目录不存在");
return;
}
showLoading.update("正在恢复数据...", "正在恢复成就数据");
await showLoading.update("正在恢复成就数据");
const restoreAchi = await TSUserAchi.restoreUiaf(dir);
if (!restoreAchi) {
showSnackbar.error("成就数据恢复失败");
errNum++;
}
showLoading.update("正在恢复数据...", "正在恢复账号数据");
await showLoading.update("正在恢复账号数据");
const restoreAccount = await TSUserAccount.account.restore(dir);
if (!restoreAccount) {
showSnackbar.error("Cookie 数据恢复失败");
errNum++;
}
showLoading.update("正在恢复数据...", "正在恢复深渊数据");
await showLoading.update("正在恢复深渊数据");
const restoreAbyss = await TSUserAbyss.restoreAbyss(dir);
if (!restoreAbyss) {
showSnackbar.error("深渊数据恢复失败");
errNum++;
}
showLoading.update("正在恢复数据...", "正在恢复真境剧诗数据");
await showLoading.update("正在恢复真境剧诗数据");
const restoreCombat = await TSUserCombat.restoreCombat(dir);
if (!restoreCombat) {
showSnackbar.error("真境剧诗数据恢复失败");
errNum++;
}
showLoading.update("正在恢复数据...", "正在恢复祈愿数据");
await showLoading.update("正在恢复祈愿数据");
const restoreGacha = await TSUserGacha.restoreUigf(dir);
if (!restoreGacha) {
showSnackbar.error("祈愿数据恢复失败");