🔧 更新 AppData 类型定义,简化插入数据逻辑

This commit is contained in:
BTMuli
2026-03-25 15:15:45 +08:00
parent 99a87cc2ac
commit e01c6cf474
2 changed files with 15 additions and 41 deletions

View File

@@ -1,6 +1,6 @@
/**
* Sqlite 数据库操作类
* @since Beta v0.9.5
* @since Beta v0.9.9
*/
import showSnackbar from "@comp/func/snackbar.js";
@@ -104,33 +104,25 @@ class Sqlite {
return localVersion !== dbVersion;
}
/**
* 插入应用数据
* @since Alpha v0.2.0
* @param key - 键
* @param value - 值
* @returns sql
*/
insertAppData(key: string, value: string): string {
return `
INSERT INTO AppData (key, value, updated)
VALUES ('${key}', '${value}', datetime('now', 'localtime'))
ON CONFLICT(key) DO UPDATE SET value = '${value}',
updated = datetime('now', 'localtime');
`;
}
/**
* 保存 appData
* @since Beta v0.3.3
* @since Beta v0.9.9
* @param key - 键
* @param value - 值
* @returns 无返回值
*/
public async saveAppData(key: string, value: string): Promise<void> {
const db = await this.getDB();
const sql = this.insertAppData(key, value);
await db.execute(sql);
await db.execute(
`
INSERT INTO AppData (key, value, updated)
VALUES ($1, $2, datetime('now', 'localtime'))
ON CONFLICT(key)
DO UPDATE SET value = $2,
updated = datetime('now', 'localtime');
`,
[key, value],
);
}
/**

View File

@@ -1,34 +1,16 @@
/**
* AppData 表类型定义文件
* @since Beta v0.4.1
* @since Beta v0.9.9
*/
declare namespace TGApp.Sqlite.AppData {
/**
* AppData 表键值
* @since Beta v0.4.1
* @TODO 枚举
*/
enum DBKey {
/** 应用版本 */
APP_VERSION = "appVersion",
/** 数据库更新时间 */
DATA_UPDATED = "dataUpdated",
/** 当前用户 Cookie */
COOKIE = "cookie",
/** 设备信息 */
DEVICE_INFO = "deviceInfo",
/** 数据目录 */
USER_DIR = "userDir",
}
/**
* AppData 行数据
* @since Beta v0.3.3
* @since Beta v0.9.9
*/
type Item = {
/** 键 */
key: DBKey;
key: string;
/** 值 */
value: string;
/** 更新时间 */