From 1dc5aa0ef86307d5902dd7d2ec41b95e1df9f56c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=AE=E6=A3=83?= Date: Fri, 20 Sep 2024 15:57:02 +0800 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E6=88=90=E5=B0=B1=E8=A1=A8=E6=A0=BC=EF=BC=8C=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=A4=9A=E5=AD=98=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #126 --- src/App.vue | 25 - src/components/config/tc-info.vue | 6 +- src/components/func/confirm.ts | 2 + src/components/func/confirm.vue | 13 +- src/components/func/snackbar.ts | 1 + src/components/overlay/top-namecard.vue | 22 +- src/components/userAchi/tua-achi-list.vue | 174 ++++ .../tua-achi-overlay.vue} | 111 ++- src/components/userAchi/tua-achi.vue | 233 ++++++ src/components/userAchi/tua-nc-overlay.vue | 0 src/components/userAchi/tua-series.vue | 135 ++++ src/pages/common/Achievements.vue | 744 ++++-------------- src/pages/common/Config.vue | 5 - src/pages/common/News.vue | 4 +- src/plugins/Sqlite/index.ts | 18 +- src/plugins/Sqlite/modules/userAchi.ts | 400 +++++++--- src/plugins/Sqlite/modules/userGacha.ts | 35 +- src/plugins/Sqlite/sql/createTable.sql | 56 +- src/plugins/Sqlite/sql/createTrigger.sql | 43 +- src/plugins/Sqlite/sql/initData.ts | 36 +- src/plugins/Sqlite/sql/insertData.ts | 44 +- src/plugins/Sqlite/sql/updateData.ts | 72 -- src/store/modules/achievements.ts | 54 -- src/store/modules/app.ts | 6 +- src/types/Plugins/UIAF.d.ts | 24 +- src/types/Sqlite/Achievement.d.ts | 75 +- src/utils/UIAF.ts | 21 +- src/utils/dataBS.ts | 78 +- 28 files changed, 1198 insertions(+), 1239 deletions(-) create mode 100644 src/components/userAchi/tua-achi-list.vue rename src/components/{overlay/to-achiInfo.vue => userAchi/tua-achi-overlay.vue} (53%) create mode 100644 src/components/userAchi/tua-achi.vue create mode 100644 src/components/userAchi/tua-nc-overlay.vue create mode 100644 src/components/userAchi/tua-series.vue delete mode 100644 src/plugins/Sqlite/sql/updateData.ts delete mode 100644 src/store/modules/achievements.ts diff --git a/src/App.vue b/src/App.vue index adb7b065..0f45bc81 100644 --- a/src/App.vue +++ b/src/App.vue @@ -103,7 +103,6 @@ onMounted(async () => { function listenOnInit(): void { console.info("[App][listenOnInit] 监听初始化事件!"); event.listen("initApp", async () => { - await checkAppLoad(); await checkDeviceFp(); try { await checkUserLoad(); @@ -116,30 +115,6 @@ function listenOnInit(): void { }); } -async function checkAppLoad(): Promise { - let checkDB = false; - try { - checkDB = await TGSqlite.check(); - } catch (error) { - if (error instanceof Error) { - await TGLogger.Error(`[App][checkAppLoad] ${error.name}: ${error.message}`); - } else console.error(error); - } - if (!checkDB) await resetDB(); - else await TGLogger.Info("[App][checkAppLoad] 数据库已成功加载!"); -} - -async function resetDB(): Promise { - await TGSqlite.reset(); - showSnackbar({ - text: "检测到数据库不完整!已重置数据库!", - color: "error", - timeout: 3000, - }); - appStore.loading = true; - await TGLogger.Info("[App][resetDB] 数据库已重置!"); -} - // 检测 deviceFp async function checkDeviceFp(): Promise { const appData = await TGSqlite.getAppData(); diff --git a/src/components/config/tc-info.vue b/src/components/config/tc-info.vue index 8f490000..f6d123ae 100644 --- a/src/components/config/tc-info.vue +++ b/src/components/config/tc-info.vue @@ -15,7 +15,7 @@ Achievements @@ -78,11 +78,11 @@ import { platform, version } from "@tauri-apps/plugin-os"; import { onMounted, ref } from "vue"; import TGSqlite from "../../plugins/Sqlite/index.js"; -import { useAchievementsStore } from "../../store/modules/achievements.js"; +import TSUserAchi from "../../plugins/Sqlite/modules/userAchi.js"; import TGLogger from "../../utils/TGLogger.js"; import showSnackbar from "../func/snackbar.js"; -const achievementsStore = useAchievementsStore(); +const latestAchiVersion = TSUserAchi.getLatestAchiVersion(); const versionApp = ref(""); const versionTauri = ref(""); diff --git a/src/components/func/confirm.ts b/src/components/func/confirm.ts index f429f535..075d1a9b 100644 --- a/src/components/func/confirm.ts +++ b/src/components/func/confirm.ts @@ -37,6 +37,8 @@ let confirmInstance: VNode; /** * @function showConfirm + * @since Beta v0.3.9 + * @todo 重载重构 * @description 弹出 confirm * @param {TGApp.Component.Confirm.Params} props confirm 的参数 * @return {Promise} 点击确认返回 true,点击取消返回 false,点击外部返回 undefined diff --git a/src/components/func/confirm.vue b/src/components/func/confirm.vue index c230300b..079f9a95 100644 --- a/src/components/func/confirm.vue +++ b/src/components/func/confirm.vue @@ -36,10 +36,17 @@ import { nextTick, onMounted, reactive, ref, watch, useTemplateRef } from "vue"; interface ConfirmProps { title: string; text?: string; - mode?: "confirm" | "input"; + mode: "confirm" | "input"; otcancel?: boolean; } +const defaultProp: ConfirmProps = { + title: "", + text: "", + mode: "confirm", + otcancel: false, +}; + const props = withDefaults(defineProps(), { title: "", text: "", @@ -48,9 +55,7 @@ const props = withDefaults(defineProps(), { }); // 组件参数 -const data = reactive({ - title: "", -}); +const data = reactive(defaultProp); const show = ref(false); const showOuter = ref(false); const showInner = ref(false); diff --git a/src/components/func/snackbar.ts b/src/components/func/snackbar.ts index 3737ecf1..72ee1a7e 100644 --- a/src/components/func/snackbar.ts +++ b/src/components/func/snackbar.ts @@ -35,6 +35,7 @@ const renderBox = (props: TGApp.Component.Snackbar.Params): VNode => { let snackbarInstance: VNode; +// todo 参数重构 function showSnackbar(props: TGApp.Component.Snackbar.Params): void { if (snackbarInstance !== undefined) { const boxVue = snackbarInstance.component; diff --git a/src/components/overlay/top-namecard.vue b/src/components/overlay/top-namecard.vue index 5ca3f739..0b6e9c18 100644 --- a/src/components/overlay/top-namecard.vue +++ b/src/components/overlay/top-namecard.vue @@ -1,9 +1,5 @@