🤔 feat(sqlite): 数据成功输入,接下来就是读取、校验了,先干饭吧

This commit is contained in:
BTMuli
2023-04-24 15:04:49 +08:00
parent f9199efd03
commit 805b358e6d
7 changed files with 540 additions and 12 deletions

417
src-tauri/Cargo.lock generated
View File

@@ -8,6 +8,17 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]]
name = "ahash"
version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
dependencies = [
"getrandom 0.2.8",
"once_cell",
"version_check",
]
[[package]]
name = "aho-corasick"
version = "0.7.20"
@@ -95,6 +106,15 @@ dependencies = [
"system-deps 6.0.3",
]
[[package]]
name = "atoi"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7c57d12312ff59c811c0643f4d80830505833c9ffaebd193d819392b265be8e"
dependencies = [
"num-traits",
]
[[package]]
name = "atomic"
version = "0.5.1"
@@ -420,6 +440,21 @@ dependencies = [
"libc",
]
[[package]]
name = "crc"
version = "3.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe"
dependencies = [
"crc-catalog",
]
[[package]]
name = "crc-catalog"
version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484"
[[package]]
name = "crc32fast"
version = "1.3.2"
@@ -439,6 +474,16 @@ dependencies = [
"crossbeam-utils",
]
[[package]]
name = "crossbeam-queue"
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add"
dependencies = [
"cfg-if",
"crossbeam-utils",
]
[[package]]
name = "crossbeam-utils"
version = "0.8.15"
@@ -630,6 +675,12 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b"
[[package]]
name = "dotenvy"
version = "0.15.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b"
[[package]]
name = "dtoa"
version = "0.4.8"
@@ -704,6 +755,12 @@ dependencies = [
"libc",
]
[[package]]
name = "event-listener"
version = "2.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
[[package]]
name = "fastrand"
version = "1.9.0"
@@ -759,6 +816,18 @@ dependencies = [
"miniz_oxide",
]
[[package]]
name = "flume"
version = "0.10.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577"
dependencies = [
"futures-core",
"futures-sink",
"pin-project",
"spin 0.9.8",
]
[[package]]
name = "fnv"
version = "1.0.7"
@@ -840,6 +909,17 @@ dependencies = [
"futures-util",
]
[[package]]
name = "futures-intrusive"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a604f7a68fbf8103337523b1fadc8ade7361ee3f112f7c680ad179651616aed5"
dependencies = [
"futures-core",
"lock_api",
"parking_lot 0.11.2",
]
[[package]]
name = "futures-io"
version = "0.3.28"
@@ -1197,6 +1277,18 @@ name = "hashbrown"
version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
dependencies = [
"ahash",
]
[[package]]
name = "hashlink"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69fe1fcf8b4278d860ad0548329f892a3631fb63f82574df68275f34cdbe0ffa"
dependencies = [
"hashbrown",
]
[[package]]
name = "heck"
@@ -1212,6 +1304,9 @@ name = "heck"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
dependencies = [
"unicode-segmentation",
]
[[package]]
name = "hermit-abi"
@@ -1228,6 +1323,12 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
[[package]]
name = "hex"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
name = "html5ever"
version = "0.25.2"
@@ -1420,6 +1521,15 @@ dependencies = [
"windows-sys 0.48.0",
]
[[package]]
name = "itertools"
version = "0.10.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
dependencies = [
"either",
]
[[package]]
name = "itoa"
version = "0.4.8"
@@ -1528,6 +1638,17 @@ dependencies = [
"pkg-config",
]
[[package]]
name = "libsqlite3-sys"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "898745e570c7d0453cc1fbc4a701eb6c662ed54e8fec8b7d14be137ebeeb9d14"
dependencies = [
"cc",
"pkg-config",
"vcpkg",
]
[[package]]
name = "line-wrap"
version = "0.1.1"
@@ -1661,6 +1782,12 @@ version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
[[package]]
name = "minimal-lexical"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
[[package]]
name = "minisign-verify"
version = "0.2.1"
@@ -1702,7 +1829,7 @@ dependencies = [
"log",
"memchr",
"mime",
"spin",
"spin 0.9.8",
"tokio",
"tokio-util",
"version_check",
@@ -1766,6 +1893,16 @@ version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
[[package]]
name = "nom"
version = "7.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
dependencies = [
"memchr",
"minimal-lexical",
]
[[package]]
name = "notify-rust"
version = "4.8.0"
@@ -2001,6 +2138,17 @@ dependencies = [
"system-deps 6.0.3",
]
[[package]]
name = "parking_lot"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
dependencies = [
"instant",
"lock_api",
"parking_lot_core 0.8.6",
]
[[package]]
name = "parking_lot"
version = "0.12.1"
@@ -2008,7 +2156,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
dependencies = [
"lock_api",
"parking_lot_core",
"parking_lot_core 0.9.7",
]
[[package]]
name = "parking_lot_core"
version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
dependencies = [
"cfg-if",
"instant",
"libc",
"redox_syscall",
"smallvec",
"winapi",
]
[[package]]
@@ -2163,6 +2325,26 @@ dependencies = [
"siphasher",
]
[[package]]
name = "pin-project"
version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc"
dependencies = [
"pin-project-internal",
]
[[package]]
name = "pin-project-internal"
version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "pin-project-lite"
version = "0.2.9"
@@ -2488,6 +2670,21 @@ dependencies = [
"windows 0.37.0",
]
[[package]]
name = "ring"
version = "0.16.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
dependencies = [
"cc",
"libc",
"once_cell",
"spin 0.5.2",
"untrusted",
"web-sys",
"winapi",
]
[[package]]
name = "rocket"
version = "0.5.0-rc.3"
@@ -2508,7 +2705,7 @@ dependencies = [
"memchr",
"multer",
"num_cpus",
"parking_lot",
"parking_lot 0.12.1",
"pin-project-lite",
"rand 0.8.5",
"ref-cast",
@@ -2606,6 +2803,27 @@ dependencies = [
"windows-sys 0.45.0",
]
[[package]]
name = "rustls"
version = "0.20.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f"
dependencies = [
"log",
"ring",
"sct",
"webpki",
]
[[package]]
name = "rustls-pemfile"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b"
dependencies = [
"base64 0.21.0",
]
[[package]]
name = "rustversion"
version = "1.0.11"
@@ -2654,6 +2872,16 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
[[package]]
name = "sct"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
dependencies = [
"ring",
"untrusted",
]
[[package]]
name = "security-framework"
version = "2.8.2"
@@ -2912,11 +3140,121 @@ dependencies = [
"system-deps 5.0.0",
]
[[package]]
name = "spin"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
[[package]]
name = "spin"
version = "0.9.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
dependencies = [
"lock_api",
]
[[package]]
name = "sqlformat"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c12bc9199d1db8234678b7051747c07f517cdcf019262d1847b94ec8b1aee3e"
dependencies = [
"itertools",
"nom",
"unicode_categories",
]
[[package]]
name = "sqlx"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8de3b03a925878ed54a954f621e64bf55a3c1bd29652d0d1a17830405350188"
dependencies = [
"sqlx-core",
"sqlx-macros",
]
[[package]]
name = "sqlx-core"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa8241483a83a3f33aa5fff7e7d9def398ff9990b2752b6c6112b83c6d246029"
dependencies = [
"ahash",
"atoi",
"bitflags 1.3.2",
"byteorder",
"bytes",
"crc",
"crossbeam-queue",
"dotenvy",
"either",
"event-listener",
"flume",
"futures-channel",
"futures-core",
"futures-executor",
"futures-intrusive",
"futures-util",
"hashlink",
"hex",
"indexmap",
"itoa 1.0.6",
"libc",
"libsqlite3-sys",
"log",
"memchr",
"once_cell",
"paste",
"percent-encoding",
"rustls",
"rustls-pemfile",
"serde",
"serde_json",
"sha2",
"smallvec",
"sqlformat",
"sqlx-rt",
"stringprep",
"thiserror",
"time",
"tokio-stream",
"url",
"webpki-roots",
]
[[package]]
name = "sqlx-macros"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9966e64ae989e7e575b19d7265cb79d7fc3cbbdf179835cb0d716f294c2049c9"
dependencies = [
"dotenvy",
"either",
"heck 0.4.1",
"once_cell",
"proc-macro2",
"quote",
"serde_json",
"sha2",
"sqlx-core",
"sqlx-rt",
"syn 1.0.109",
"url",
]
[[package]]
name = "sqlx-rt"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "804d3f245f894e61b1e6263c84b23ca675d96753b5abfd5cc8597d86806e8024"
dependencies = [
"once_cell",
"tokio",
"tokio-rustls",
]
[[package]]
name = "stable-pattern"
@@ -2950,7 +3288,7 @@ checksum = "7d69e88b23f23030bf4d0e9ca7b07434f70e1c1f4d3ca7e93ce958b373654d9f"
dependencies = [
"new_debug_unreachable",
"once_cell",
"parking_lot",
"parking_lot 0.12.1",
"phf_shared 0.10.0",
"precomputed-hash",
"serde",
@@ -2968,6 +3306,16 @@ dependencies = [
"quote",
]
[[package]]
name = "stringprep"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ee348cb74b87454fff4b551cbf727025810a004f88aeacae7f85b87f4e9a1c1"
dependencies = [
"unicode-bidi",
"unicode-normalization",
]
[[package]]
name = "strsim"
version = "0.10.0"
@@ -3076,7 +3424,7 @@ dependencies = [
"ndk-sys",
"objc",
"once_cell",
"parking_lot",
"parking_lot 0.12.1",
"paste",
"png",
"raw-window-handle",
@@ -3208,6 +3556,7 @@ dependencies = [
"serde_json",
"tauri",
"tauri-build",
"tauri-plugin-sql",
]
[[package]]
@@ -3224,6 +3573,22 @@ dependencies = [
"tauri-utils",
]
[[package]]
name = "tauri-plugin-sql"
version = "0.1.0"
source = "git+https://github.com/tauri-apps/plugins-workspace?branch=dev#7acf865ffbb82c6d00334926a4527dd5ff3163a4"
dependencies = [
"futures-core",
"log",
"serde",
"serde_json",
"sqlx",
"tauri",
"thiserror",
"time",
"tokio",
]
[[package]]
name = "tauri-runtime"
version = "0.12.1"
@@ -3435,6 +3800,17 @@ dependencies = [
"syn 1.0.109",
]
[[package]]
name = "tokio-rustls"
version = "0.23.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"
dependencies = [
"rustls",
"tokio",
"webpki",
]
[[package]]
name = "tokio-stream"
version = "0.1.12"
@@ -3627,6 +4003,18 @@ version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
[[package]]
name = "unicode_categories"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e"
[[package]]
name = "untrusted"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
[[package]]
name = "url"
version = "2.3.1"
@@ -3846,6 +4234,25 @@ dependencies = [
"system-deps 6.0.3",
]
[[package]]
name = "webpki"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
dependencies = [
"ring",
"untrusted",
]
[[package]]
name = "webpki-roots"
version = "0.22.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87"
dependencies = [
"webpki",
]
[[package]]
name = "webview2-com"
version = "0.19.1"

View File

@@ -74,6 +74,7 @@ fn read_cookie() -> String {
fn main() {
tauri::Builder::default()
.plugin(tauri_plugin_sql::Builder::default().build())
.invoke_handler(tauri::generate_handler![mys_login, read_cookie])
.setup(|_app| {
tauri::async_runtime::spawn(
@@ -89,7 +90,6 @@ fn main() {
}
Ok(())
})
.plugin(tauri_plugin_sql::Builder::default().build())
.run(tauri::generate_context!())
.expect("error while running tauri application");
}

View File

@@ -38,7 +38,7 @@ import { useAchievementsStore } from "./store/modules/achievements";
import { InitTGData, DeleteTGData, WriteTGData } from "./utils/TGIndex";
import { getBuildTime } from "./utils/TGBuild";
// data
import { TGGetDataList } from "./data";
import { TGGetDataList, TGInitDBT } from "./data";
import { restoreUiafData } from "./utils/UIAF";
const appStore = useAppStore();
@@ -107,6 +107,9 @@ async function writeIndex () {
await WriteTGData(item.name, item.data);
});
console.info("IndexedDB 写入完成!");
console.info("开始写入 SQLite...");
await TGInitDBT();
console.info("SQLite 写入完成!");
}
// 恢复数据
async function writeData () {

View File

@@ -2,13 +2,14 @@
* @file data index
* @description data index
* @author BTMuli<bt-muli@outlook.com>
* @since Alpha
* @since Alpha v0.1.4
*/
import { AppData, AppDataList } from "./app";
import { ConfigList, getDataList } from "./init";
import { ConfigList, getDataList, initDBT } from "./init";
export const TGAppData = AppData;
export const TGAppDataList = AppDataList;
export const TGConfigList = ConfigList;
export const TGGetDataList = getDataList;
export const TGInitDBT = initDBT;

View File

@@ -4,6 +4,7 @@
* @author BTMuli<bt-muli@outlook.com>
* @since Alpha v0.1.2
*/
import { AppData } from "../app";
/**
@@ -28,3 +29,45 @@ export function getData (): BTMuli.Genshin.AchievementSeries[] {
return data[Number(key)];
});
}
/**
* @description 创建表的 SQL 语句
* @since Alpha v0.1.4
* @see BTMuli.Genshin.AchievementSeries
* @returns {string}
*/
export const CTS = `CREATE TABLE IF NOT EXISTS ${Config.storeName} (
id INTEGER PRIMARY KEY,
'order' INTEGER NOT NULL,
name TEXT NOT NULL,
version TEXT NOT NULL,
total INTEGER NOT NULL,
finished INTEGER NOT NULL,
card TEXT NOT NULL,
icon TEXT NOT NULL
);`;
/**
* @description 初始化数据的 SQL 语句
* @since Alpha v0.1.4
* @see BTMuli.Genshin.AchievementSeries
* @returns {string[]}
*/
export function getInsertSqls (): string[] {
const data = getData();
const sql: string[] = [];
data.forEach((item) => {
const card = item.card ? item.card : "";
sql.push(`INSERT INTO ${Config.storeName} VALUES (
${item.id},
${item.order},
"${item.name}",
"${item.version}",
${item.total_count},
${item.completed_count},
"${card}",
"${item.icon}"
)`);
});
return sql;
}

View File

@@ -28,3 +28,50 @@ export function getData (): BTMuli.Genshin.Achievement[] {
return data[Number(key)];
});
}
/**
* @description 创建表的 SQLite 语句
* @since Alpha v0.1.4
* @todo 外键约束
* @see BTMuli.Genshin.Achievement
*/
export const CTS: string = `CREATE TABLE IF NOT EXISTS ${Config.storeName} (
id INTEGER PRIMARY KEY,
series INTEGER NOT NULL,
'order' INTEGER NOT NULL,
name TEXT NOT NULL,
description TEXT NOT NULL,
reward INTEGER NOT NULL,
completed INTEGER NOT NULL,
completed_time TEXT NOT NULL,
progress INTEGER NOT NULL,
version TEXT NOT NULL
);`;
/**
* @description 初始化数据的 SQL 语句
* @since Alpha v0.1.4
* @see BTMuli.Genshin.Achievement
* @returns {string[]}
*/
export function getInsertSqls (): string[] {
const data = getData();
const sql: string[] = [];
data.forEach((item) => {
const completedTime = item.completed_time ? item.completed_time : "";
const completed = item.completed ? 1 : 0;
sql.push(`INSERT INTO ${Config.storeName} VALUES (
${item.id},
${item.series},
${item.order},
'${item.name}',
'${item.description}',
${item.reward},
${completed},
'${completedTime}',
${item.progress},
'${item.version}'
)`);
});
return sql;
}

View File

@@ -2,10 +2,16 @@
* @file data init index
* @description data init index
* @author BTMuli<bt-muli@outlook.com>
* @since Alpha v0.1.3
* @since Alpha v0.1.4
*/
import { Config as AchievementsConfig, getData as getAchievementsData } from "./achievements";
import { Config as SeriesConfig, getData as getSeriesData } from "./achievementSeries";
// tauri-pligin
import Database from "tauri-plugin-sql-api";
// local-data
import { Config as AchievementsConfig, getData as getAchievementsData, CTS as ctsAchievement, getInsertSqls as gisAchievement } from "./achievements";
import { Config as SeriesConfig, getData as getSeriesData, CTS as ctsSeries, getInsertSqls as gisSeries } from "./achievementSeries";
export const SqlitePath = "sqlite:tauri-genshin.db";
export const ConfigList = [AchievementsConfig, SeriesConfig];
@@ -19,3 +25,24 @@ export const getDataList = [
data: getSeriesData(),
},
];
/**
* @description 初始化数据表
* @since Alpha v0.1.4
* @returns {Promise<void>}
*/
export async function initDBT (): Promise<void> {
const SQlite = await Database.load(SqlitePath);
// 创建表
await SQlite.execute(ctsSeries);
console.log("AchievementSeries 表创建成功");
await SQlite.execute(ctsAchievement);
console.log("Achievements 表创建成功");
// 初始化数据
const sqls = gisAchievement().concat(gisSeries());
sqls.map(async (sql) => {
console.log(sql);
await SQlite.execute(sql);
});
await SQlite.close();
}