mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2025-12-13 09:28:14 +08:00
🎨 fix(db): 改进代码结构
This commit is contained in:
44
src/App.vue
44
src/App.vue
@@ -33,12 +33,6 @@ import TBackTop from "./components/t-backTop.vue";
|
||||
import { fs, window, app, event } from "@tauri-apps/api";
|
||||
// store
|
||||
import { useAppStore } from "./store/modules/app";
|
||||
import { useAchievementsStore } from "./store/modules/achievements";
|
||||
// utils
|
||||
import { getBuildTime } from "./utils/TGBuild";
|
||||
// data
|
||||
import { restoreUiafData } from "./utils/UIAF";
|
||||
import TGSqlite from "./core/database/TGSqlite";
|
||||
|
||||
const appStore = useAppStore();
|
||||
const isMain = ref(true as boolean);
|
||||
@@ -70,22 +64,11 @@ async function listenOnTheme () {
|
||||
}
|
||||
|
||||
async function checkLoad () {
|
||||
const localBuildTime = appStore.buildTime;
|
||||
const buildTime = getBuildTime();
|
||||
if (!buildTime.startsWith("dev")) {
|
||||
if (localBuildTime.startsWith("dev") || localBuildTime < buildTime) {
|
||||
appStore.buildTime = buildTime;
|
||||
console.info("数据已过期,开始加载数据...");
|
||||
appStore.loading = false;
|
||||
}
|
||||
}
|
||||
if (appStore.loading) {
|
||||
console.info("数据已加载!");
|
||||
return;
|
||||
}
|
||||
await createDataDir();
|
||||
await writeDB();
|
||||
await writeData();
|
||||
appStore.loading = true;
|
||||
console.info("数据加载完成!");
|
||||
}
|
||||
@@ -97,33 +80,6 @@ async function createDataDir () {
|
||||
if (!await fs.exists("tempData", { dir: fs.BaseDirectory.AppLocalData })) { await fs.createDir("tempData", { dir: fs.BaseDirectory.AppLocalData, recursive: true }); }
|
||||
console.info("数据文件夹创建完成!");
|
||||
}
|
||||
// 写入 IndexedDB
|
||||
async function writeDB () {
|
||||
const res = await TGSqlite.checkDB();
|
||||
if (!res) {
|
||||
console.info("检测到数据库不完整,正在重置数据库...");
|
||||
await TGSqlite.resetDB();
|
||||
} else {
|
||||
console.info("正在更新成就系列数据...");
|
||||
await TGSqlite.update.achievementSeries();
|
||||
console.info("正在更新成就数据...");
|
||||
await TGSqlite.update.achievement();
|
||||
}
|
||||
}
|
||||
// 恢复数据
|
||||
async function writeData () {
|
||||
console.info("开始恢复数据...");
|
||||
const res = await restoreUiafData();
|
||||
if (res !== false) {
|
||||
const { total, fin } = res;
|
||||
console.info("开始恢复成就数据...");
|
||||
const achievementsStore = useAchievementsStore();
|
||||
achievementsStore.flushData(total, fin);
|
||||
console.info("成就数据恢复完成!");
|
||||
} else {
|
||||
console.info("未找到成就数据!");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="css">
|
||||
.app-main {
|
||||
|
||||
Reference in New Issue
Block a user