mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2025-12-12 09:18:14 +08:00
🎨 del(bbs): 删除 bbsTable
This commit is contained in:
@@ -83,7 +83,7 @@ onMounted(async () => {
|
|||||||
positionTimeGet.value[card.post_id] = getLastPositionTime(card.time.end_stamp - Date.now());
|
positionTimeGet.value[card.post_id] = getLastPositionTime(card.time.end_stamp - Date.now());
|
||||||
positionTimeEnd.value[card.post_id] = card.time.end_stamp;
|
positionTimeEnd.value[card.post_id] = card.time.end_stamp;
|
||||||
});
|
});
|
||||||
await setInterval(() => {
|
setInterval(() => {
|
||||||
positionCards.value.forEach((card) => {
|
positionCards.value.forEach((card) => {
|
||||||
const time = card.time.end_stamp - Date.now();
|
const time = card.time.end_stamp - Date.now();
|
||||||
if (time <= 0) {
|
if (time <= 0) {
|
||||||
|
|||||||
@@ -317,7 +317,10 @@ async function backupData () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function restoreData () {
|
async function restoreData () {
|
||||||
|
loadingTitle.value = "正在恢复数据...";
|
||||||
|
loading.value = true;
|
||||||
const res = await restoreUiafData();
|
const res = await restoreUiafData();
|
||||||
|
loading.value = false;
|
||||||
if (res !== false) {
|
if (res !== false) {
|
||||||
snackbarText.value = "数据已恢复!";
|
snackbarText.value = "数据已恢复!";
|
||||||
snackbarColor.value = "success";
|
snackbarColor.value = "success";
|
||||||
@@ -434,7 +437,10 @@ async function checkDB () {
|
|||||||
|
|
||||||
// 重置 SQLite 数据库
|
// 重置 SQLite 数据库
|
||||||
async function resetDB () {
|
async function resetDB () {
|
||||||
|
loadingTitle.value = "正在重置数据库...";
|
||||||
|
loading.value = true;
|
||||||
await TGSqlite.reset();
|
await TGSqlite.reset();
|
||||||
|
loading.value = false;
|
||||||
snackbarText.value = "数据库已重置!请载入备份数据。";
|
snackbarText.value = "数据库已重置!请载入备份数据。";
|
||||||
snackbarColor.value = "success";
|
snackbarColor.value = "success";
|
||||||
snackbar.value = true;
|
snackbar.value = true;
|
||||||
|
|||||||
23
src/types/BBS.d.ts
vendored
23
src/types/BBS.d.ts
vendored
@@ -1,23 +0,0 @@
|
|||||||
/**
|
|
||||||
* @file types BBS.d.ts
|
|
||||||
* @description 米游社BBS相关类型定义
|
|
||||||
* @auther BTMuli<bt-muli@outlook.com>
|
|
||||||
* @since Alpha v0.1.4
|
|
||||||
*/
|
|
||||||
|
|
||||||
declare namespace BTMuli.SQLite {
|
|
||||||
/**
|
|
||||||
* @description BBS帖子数据
|
|
||||||
* @interface BBSPost
|
|
||||||
* @since Alpha v0.1.4
|
|
||||||
* @property {number} id 帖子ID
|
|
||||||
* @property {created} created 帖子创建时间
|
|
||||||
* @property {modified} modified 帖子修改时间
|
|
||||||
* @return BBSPost
|
|
||||||
*/
|
|
||||||
export interface BBSPost {
|
|
||||||
id: number
|
|
||||||
created: string
|
|
||||||
modified: string
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -15,7 +15,6 @@ const TGSql = {
|
|||||||
app: initAppTable(),
|
app: initAppTable(),
|
||||||
achievement: initAchievementTable(),
|
achievement: initAchievementTable(),
|
||||||
achievementSeries: initAchievementSeriesTable(),
|
achievementSeries: initAchievementSeriesTable(),
|
||||||
bbsPost: initBbsPostTable(),
|
|
||||||
},
|
},
|
||||||
initData: {
|
initData: {
|
||||||
all: initSQLiteData(),
|
all: initSQLiteData(),
|
||||||
@@ -26,12 +25,10 @@ const TGSql = {
|
|||||||
insert: {
|
insert: {
|
||||||
achievement: insertAchievementData,
|
achievement: insertAchievementData,
|
||||||
achievementSeries: insertAchievementSeriesData,
|
achievementSeries: insertAchievementSeriesData,
|
||||||
bbsPost: insertBBSPostData,
|
|
||||||
UIAF: importUIAFData,
|
UIAF: importUIAFData,
|
||||||
},
|
},
|
||||||
update: {
|
update: {
|
||||||
achievement: updateAchievementData,
|
achievement: updateAchievementData,
|
||||||
bbsPost: updateBBSPostData,
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -136,28 +133,6 @@ function initAchievementTable (): string[] {
|
|||||||
`);
|
`);
|
||||||
return sqlRes;
|
return sqlRes;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @description 初始化米游社帖子数据表
|
|
||||||
* @since Alpha v0.1.4
|
|
||||||
* @returns {string[]} sql
|
|
||||||
*/
|
|
||||||
function initBbsPostTable (): string[] {
|
|
||||||
const sqlRes = [];
|
|
||||||
// 创建米游社帖子数据表
|
|
||||||
sqlRes.push(`
|
|
||||||
CREATE TABLE IF NOT EXISTS BBSPost
|
|
||||||
(
|
|
||||||
id INTEGER PRIMARY KEY,
|
|
||||||
created TEXT DEFAULT NULL,
|
|
||||||
modified TEXT DEFAULT NULL,
|
|
||||||
isRead BOOLEAN DEFAULT 0,
|
|
||||||
updated TEXT DEFAULT NULL
|
|
||||||
);
|
|
||||||
`);
|
|
||||||
return sqlRes;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 初始化数据库表
|
* @description 初始化数据库表
|
||||||
* @since Alpha v0.1.4
|
* @since Alpha v0.1.4
|
||||||
@@ -168,7 +143,6 @@ function initSQLiteTable (): string[] {
|
|||||||
sqlRes.push(...initAppTable());
|
sqlRes.push(...initAppTable());
|
||||||
sqlRes.push(...initAchievementSeriesTable());
|
sqlRes.push(...initAchievementSeriesTable());
|
||||||
sqlRes.push(...initAchievementTable());
|
sqlRes.push(...initAchievementTable());
|
||||||
sqlRes.push(...initBbsPostTable());
|
|
||||||
return sqlRes;
|
return sqlRes;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -192,11 +166,6 @@ async function initAppData (): Promise<string[]> {
|
|||||||
INSERT INTO AppData (key, value, updated)
|
INSERT INTO AppData (key, value, updated)
|
||||||
VALUES ('dataUpdated', '${dataUpdated}', datetime('now', 'localtime'));
|
VALUES ('dataUpdated', '${dataUpdated}', datetime('now', 'localtime'));
|
||||||
`);
|
`);
|
||||||
// 初始化米游社帖子数据更新时间
|
|
||||||
sqlRes.push(`
|
|
||||||
INSERT INTO AppData (key, value, updated)
|
|
||||||
VALUES ('bbsPostLine', datetime('now', 'localtime'), datetime('now', 'localtime'));
|
|
||||||
`);
|
|
||||||
return sqlRes;
|
return sqlRes;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -279,25 +248,6 @@ function insertAchievementData (data: BTMuli.Genshin.Achievement): string {
|
|||||||
return sql;
|
return sql;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @description 插入数据-米游社帖子
|
|
||||||
* @since Alpha v0.1.4
|
|
||||||
* @param {BTMuli.SQLite.BBSPost} data
|
|
||||||
* @param {string} bbsPostLine 米游社帖子数据更新时间
|
|
||||||
* @returns {string} sql
|
|
||||||
*/
|
|
||||||
function insertBBSPostData (data: BTMuli.SQLite.BBSPost, bbsPostLine: string): string {
|
|
||||||
// 将 bbsPostLine 与 data.created 跟 data.modified 比较,取最新的时间
|
|
||||||
const isRead = data.created <= bbsPostLine && data.modified <= bbsPostLine;
|
|
||||||
const sql = `
|
|
||||||
INSERT INTO BBSPost (id, created, modified, isRead, updated)
|
|
||||||
VALUES (${data.id}, '${data.created}', '${data.modified}', ${isRead ? 1 : 0}, datetime('now', 'localtime'))
|
|
||||||
ON CONFLICT(id) DO UPDATE
|
|
||||||
SET modified = '${data.modified}' WHERE id = ${data.id} AND modified != '${data.modified}';
|
|
||||||
`;
|
|
||||||
return sql;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 更新数据-成就
|
* @description 更新数据-成就
|
||||||
* @since Alpha v0.1.4
|
* @since Alpha v0.1.4
|
||||||
@@ -323,31 +273,6 @@ function updateAchievementData (data: BTMuli.Genshin.Achievement): string {
|
|||||||
return sql;
|
return sql;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @description 更新数据-米游社帖子
|
|
||||||
* @since Alpha v0.1.4
|
|
||||||
* @param {BTMuli.SQLite.BBSPost} data
|
|
||||||
* @param {boolean} isRead 是否已读
|
|
||||||
* @returns {string} sql
|
|
||||||
*/
|
|
||||||
function updateBBSPostData (data: BTMuli.SQLite.BBSPost, isRead: boolean = false): string {
|
|
||||||
let sql;
|
|
||||||
if (isRead) {
|
|
||||||
sql = `
|
|
||||||
UPDATE BBSPost
|
|
||||||
SET isRead = 1, updated = datetime('now', 'localtime')
|
|
||||||
WHERE id = ${data.id};
|
|
||||||
`;
|
|
||||||
} else {
|
|
||||||
sql = `
|
|
||||||
UPDATE BBSPost
|
|
||||||
SET modified = '${data.modified}', isRead = 0, updated = datetime('now', 'localtime')
|
|
||||||
WHERE id = ${data.id} AND OLD.modified != '${data.modified}';
|
|
||||||
`;
|
|
||||||
}
|
|
||||||
return sql;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 导入UIAF数据
|
* @description 导入UIAF数据
|
||||||
* @since Alpha v0.1.4
|
* @since Alpha v0.1.4
|
||||||
|
|||||||
@@ -8,7 +8,6 @@
|
|||||||
import Database from "tauri-plugin-sql-api";
|
import Database from "tauri-plugin-sql-api";
|
||||||
import TGSql from "./TGSql";
|
import TGSql from "./TGSql";
|
||||||
import { getUiafStatus } from "./UIAF";
|
import { getUiafStatus } from "./UIAF";
|
||||||
import { TGAppData } from "../data";
|
|
||||||
|
|
||||||
const dbLink = await Database.load("sqlite:tauri-genshin.db");
|
const dbLink = await Database.load("sqlite:tauri-genshin.db");
|
||||||
|
|
||||||
@@ -40,7 +39,6 @@ class TGSqlite {
|
|||||||
"AppData",
|
"AppData",
|
||||||
"Achievements",
|
"Achievements",
|
||||||
"AchievementSeries",
|
"AchievementSeries",
|
||||||
"BBSPost",
|
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -117,22 +115,6 @@ class TGSqlite {
|
|||||||
return { version, buildTime };
|
return { version, buildTime };
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @description 清除 BBSPost 数据
|
|
||||||
* @memberof TGSqlite
|
|
||||||
* @since Alpha v0.1.4
|
|
||||||
* @returns {Promise<void>}
|
|
||||||
*/
|
|
||||||
public async clearBbsPost (): Promise<void> {
|
|
||||||
const sql = [];
|
|
||||||
sql.push("DROP TABLE IF EXISTS BBSPost;");
|
|
||||||
sql.push(...TGSql.initTable.bbsPost);
|
|
||||||
sql.push("UPDATE AppData SET value=datetime('now', 'localtime') WHERE key='bbsPostLine';");
|
|
||||||
for (const item of sql) {
|
|
||||||
await this.db.execute(item);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 获取成就系列列表
|
* @description 获取成就系列列表
|
||||||
* @memberof TGSqlite
|
* @memberof TGSqlite
|
||||||
@@ -224,7 +206,7 @@ class TGSqlite {
|
|||||||
achievements.push({
|
achievements.push({
|
||||||
id: item.id,
|
id: item.id,
|
||||||
status,
|
status,
|
||||||
timestamp: completed && item.completedTime ? new Date(item.completedTime).getTime() : 0,
|
timestamp: completed && item.completedTime ? new Date(item.completedTime).getTime() / 1000 : 0,
|
||||||
current: item.progress,
|
current: item.progress,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user