mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2025-12-12 09:18:14 +08:00
✨ feat(update): 数据库更新 #11
This commit is contained in:
@@ -302,6 +302,12 @@ async function doConfirm (oper: string) {
|
|||||||
case "checkDB":
|
case "checkDB":
|
||||||
await checkDB();
|
await checkDB();
|
||||||
break;
|
break;
|
||||||
|
case "resetDB":
|
||||||
|
await resetDB();
|
||||||
|
break;
|
||||||
|
case "updateDB":
|
||||||
|
await updateDB();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -425,6 +431,7 @@ function delDB () {
|
|||||||
// 检查 SQLite 数据库
|
// 检查 SQLite 数据库
|
||||||
async function checkDB () {
|
async function checkDB () {
|
||||||
loadingTitle.value = "正在检查数据库表单完整性...";
|
loadingTitle.value = "正在检查数据库表单完整性...";
|
||||||
|
loading.value = true;
|
||||||
const res = await TGSqlite.check();
|
const res = await TGSqlite.check();
|
||||||
if (!res) {
|
if (!res) {
|
||||||
confirmOper.value = "resetDB";
|
confirmOper.value = "resetDB";
|
||||||
@@ -432,9 +439,25 @@ async function checkDB () {
|
|||||||
loading.value = false;
|
loading.value = false;
|
||||||
confirmShow.value = true;
|
confirmShow.value = true;
|
||||||
} else {
|
} else {
|
||||||
loadingTitle.value = "正在更新数据库表单...";
|
const appVersion = await app.getVersion();
|
||||||
loading.value = true;
|
const buildTime = getBuildTime();
|
||||||
await TGSqlite.update();
|
const dbVersion = dbInfo.value.find((item) => item.key === "appVersion")?.value;
|
||||||
|
const dbUpdatedTime = dbInfo.value.find((item) => item.key === "dataUpdated")?.value;
|
||||||
|
if (!dbVersion || dbVersion < appVersion) {
|
||||||
|
confirmOper.value = "updateDB";
|
||||||
|
confirmText.value = "数据库版本过低,是否更新数据库?";
|
||||||
|
loading.value = false;
|
||||||
|
confirmShow.value = true;
|
||||||
|
return;
|
||||||
|
} else if (!buildTime.startsWith("dev")) {
|
||||||
|
if (!dbUpdatedTime || dbUpdatedTime < buildTime) {
|
||||||
|
confirmOper.value = "updateDB";
|
||||||
|
confirmText.value = "数据库可能过时,是否更新数据库?";
|
||||||
|
loading.value = false;
|
||||||
|
confirmShow.value = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
snackbarText.value = "数据库已是最新!";
|
snackbarText.value = "数据库已是最新!";
|
||||||
snackbarColor.value = "success";
|
snackbarColor.value = "success";
|
||||||
@@ -452,6 +475,17 @@ async function resetDB () {
|
|||||||
snackbarColor.value = "success";
|
snackbarColor.value = "success";
|
||||||
snackbar.value = true;
|
snackbar.value = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 更新 SQLite 数据库
|
||||||
|
async function updateDB () {
|
||||||
|
loadingTitle.value = "正在更新数据库...";
|
||||||
|
loading.value = true;
|
||||||
|
await TGSqlite.update();
|
||||||
|
loading.value = false;
|
||||||
|
snackbarText.value = "数据库已是最新!";
|
||||||
|
snackbarColor.value = "success";
|
||||||
|
snackbar.value = true;
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="css" scoped>
|
<style lang="css" scoped>
|
||||||
|
|||||||
Reference in New Issue
Block a user