diff --git a/src/App.vue b/src/App.vue index 8cc629b7..3a805fed 100644 --- a/src/App.vue +++ b/src/App.vue @@ -320,8 +320,12 @@ async function checkAppLoad(): Promise { await TGLogger.Error(`[App][checkAppLoad] ${error.name}: ${error.message}`); } else console.error(error); } - if (!checkDB) await TGSqlite.update(); - else await TGLogger.Info("[App][checkAppLoad] 数据库已成功加载!"); + if (!checkDB) { + // @ts-expect-error import.meta + buildTime.value = import.meta.env.VITE_BUILD_TIME; + // @ts-expect-error import.meta + await TGSqlite.update(import.meta.env.VITE_BUILD_TIME); + } else await TGLogger.Info("[App][checkAppLoad] 数据库已成功加载!"); } // 检测 deviceFp @@ -437,7 +441,7 @@ async function checkUpdate(): Promise { } // @ts-expect-error import.meta buildTime.value = import.meta.env.VITE_BUILD_TIME; - await TGSqlite.update(); + await TGSqlite.update(buildTime.value); showFeedback.value = true; showSnackbar.success("数据库已更新!", 3000); await openUrl("https://app.btmuli.ink/docs/TeyvatGuide/changelogs.html"); diff --git a/src/pages/common/PageConfig.vue b/src/pages/common/PageConfig.vue index 0352fdb5..293a9d9f 100644 --- a/src/pages/common/PageConfig.vue +++ b/src/pages/common/PageConfig.vue @@ -342,7 +342,8 @@ async function confirmUpdate(title?: string): Promise { return; } await showLoading.start("正在更新数据库", ""); - await TGSqlite.update(); + // @ts-expect-error import.meta + await TGSqlite.update(import.meta.env.VITE_BUILD_TIME); // @ts-expect-error import.meta buildTime.value = import.meta.env.VITE_BUILD_TIME; await showLoading.end(); diff --git a/src/plugins/Sqlite/index.ts b/src/plugins/Sqlite/index.ts index bbb565d9..fe9a6899 100644 --- a/src/plugins/Sqlite/index.ts +++ b/src/plugins/Sqlite/index.ts @@ -1,6 +1,6 @@ /** * Sqlite 数据库操作类 - * @since Beta v0.9.9 + * @since Beta v0.10.0 */ import showSnackbar from "@comp/func/snackbar.js"; @@ -127,15 +127,19 @@ class Sqlite { /** * 已有数据表跟触发器不变的情况下,更新数据库数据 - * @since Beta v0.3.3 + * @since Beta v0.10.0 + * @param upt - updateTime 更新时间 * @returns 无返回值 */ - public async update(): Promise { + public async update(upt?: string): Promise { const db = await this.getDB(); const sqlD = await initDataSql(); for (const item of sqlD) await db.execute(item); // 检测是否存在字段 await this.updateAbyss(); + if (upt !== undefined) { + await this.saveAppData("dataUpdated", upt); + } } /**