mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2026-04-02 06:45:08 +08:00
🌈 style(eslint): 第一次过 eslint
姑且先把能过的 ts 文件给过了,明天再过其余的 ts 文件跟 vue Signed-off-by: BTMuli <BT-Muli@outlook.com> (cherry picked from commit b7392bddea895b8b8cc1cad5ba0403d2dc738643)
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
* @file utils TGIndex.ts
|
||||
* @description IndexedDB utils
|
||||
* @author BTMuli<bt-muli@outlook.com>
|
||||
* @since Alpha
|
||||
* @since Alpha v0.1.2
|
||||
*/
|
||||
|
||||
import { TGConfigList } from "../data";
|
||||
@@ -14,31 +14,32 @@ export const DB_VERSION = 1;
|
||||
/**
|
||||
* @description 初始化数据库
|
||||
* @description 只会在第一次打开游戏时执行
|
||||
* @since Alpha
|
||||
* @since Alpha v0.1.2
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export async function InitTGData() {
|
||||
const request = window.indexedDB.open(DB_NAME, DB_VERSION);
|
||||
request.onupgradeneeded = () => {
|
||||
const db = request.result;
|
||||
// 创建表
|
||||
TGConfigList.forEach(config => {
|
||||
const store = db.createObjectStore(config.storeName, {
|
||||
keyPath: config.keyPath,
|
||||
});
|
||||
config.indexes.forEach(index => {
|
||||
store.createIndex(index, index, { unique: false });
|
||||
});
|
||||
});
|
||||
};
|
||||
export async function InitTGData (): Promise<void> {
|
||||
const request = window.indexedDB.open(DB_NAME, DB_VERSION);
|
||||
request.onupgradeneeded = () => {
|
||||
const db = request.result;
|
||||
// 创建表
|
||||
TGConfigList.forEach((config) => {
|
||||
const store = db.createObjectStore(config.storeName, {
|
||||
keyPath: config.keyPath,
|
||||
});
|
||||
config.indexes.forEach((index) => {
|
||||
store.createIndex(index, index, { unique: false });
|
||||
});
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 删除数据库
|
||||
* @since Alpha
|
||||
* @return {void}
|
||||
* @returns {void}
|
||||
*/
|
||||
export function DeleteTGData() {
|
||||
window.indexedDB.deleteDatabase(DB_NAME);
|
||||
export function DeleteTGData (): void {
|
||||
window.indexedDB.deleteDatabase(DB_NAME);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -46,18 +47,18 @@ export function DeleteTGData() {
|
||||
* @since Alpha
|
||||
* @param {string} storeName 表名
|
||||
* @param {any[]} data 数据
|
||||
* @return {Promise<void>}
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export async function WriteTGData(storeName: string, data: any[]) {
|
||||
const request = window.indexedDB.open(DB_NAME, DB_VERSION);
|
||||
request.onsuccess = () => {
|
||||
const db = request.result;
|
||||
const transaction = db.transaction(storeName, "readwrite");
|
||||
const store = transaction.objectStore(storeName);
|
||||
data.forEach(item => {
|
||||
store.put(item);
|
||||
});
|
||||
};
|
||||
export async function WriteTGData (storeName: string, data: any[]): Promise<void> {
|
||||
const request = window.indexedDB.open(DB_NAME, DB_VERSION);
|
||||
request.onsuccess = () => {
|
||||
const db = request.result;
|
||||
const transaction = db.transaction(storeName, "readwrite");
|
||||
const store = transaction.objectStore(storeName);
|
||||
data.forEach((item) => {
|
||||
store.put(item);
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -65,16 +66,16 @@ export async function WriteTGData(storeName: string, data: any[]) {
|
||||
* @since Alpha
|
||||
* @param {string} storeName 表名
|
||||
* @param {any} data 数据
|
||||
* @return {Promise<void>}
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export async function UpdateTGDataByKey(storeName: string, data: any): Promise<void> {
|
||||
const request = window.indexedDB.open(DB_NAME, DB_VERSION);
|
||||
request.onsuccess = () => {
|
||||
const db = request.result;
|
||||
const transaction = db.transaction(storeName, "readwrite");
|
||||
const store = transaction.objectStore(storeName);
|
||||
store.put(data);
|
||||
};
|
||||
export async function UpdateTGDataByKey (storeName: string, data: any): Promise<void> {
|
||||
const request = window.indexedDB.open(DB_NAME, DB_VERSION);
|
||||
request.onsuccess = () => {
|
||||
const db = request.result;
|
||||
const transaction = db.transaction(storeName, "readwrite");
|
||||
const store = transaction.objectStore(storeName);
|
||||
store.put(data);
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -84,31 +85,26 @@ export async function UpdateTGDataByKey(storeName: string, data: any): Promise<v
|
||||
* @param {string} indexName 索引名
|
||||
* @param {any} key 索引值
|
||||
* @param {any} data 数据
|
||||
* @return {Promise<void>}
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export async function UpdateTGDataByIndex(
|
||||
storeName: string,
|
||||
indexName: string,
|
||||
key: any,
|
||||
data: any
|
||||
): Promise<void> {
|
||||
const request = window.indexedDB.open(DB_NAME, DB_VERSION);
|
||||
request.onsuccess = () => {
|
||||
const db = request.result;
|
||||
const transaction = db.transaction(storeName, "readwrite");
|
||||
const store = transaction.objectStore(storeName);
|
||||
const index = store.index(indexName);
|
||||
const requestData = index.getAll(key);
|
||||
requestData.onsuccess = () => {
|
||||
const result = requestData.result;
|
||||
result.forEach(item => {
|
||||
Object.keys(data).forEach(key => {
|
||||
item[key] = data[key];
|
||||
});
|
||||
store.put(item);
|
||||
});
|
||||
};
|
||||
};
|
||||
export async function UpdateTGDataByIndex (storeName: string, indexName: string, key: any, data: any): Promise<void> {
|
||||
const request = window.indexedDB.open(DB_NAME, DB_VERSION);
|
||||
request.onsuccess = () => {
|
||||
const db = request.result;
|
||||
const transaction = db.transaction(storeName, "readwrite");
|
||||
const store = transaction.objectStore(storeName);
|
||||
const index = store.index(indexName);
|
||||
const requestData = index.getAll(key);
|
||||
requestData.onsuccess = () => {
|
||||
const result = requestData.result;
|
||||
result.forEach((item) => {
|
||||
Object.keys(data).forEach((key) => {
|
||||
item[key] = data[key];
|
||||
});
|
||||
store.put(item);
|
||||
});
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -116,31 +112,31 @@ export async function UpdateTGDataByIndex(
|
||||
* @since Alpha
|
||||
* @param {string} storeName 表名
|
||||
* @param {any[]} keys 主键值
|
||||
* @return {Promise<any[]>}
|
||||
* @returns {Promise<any[]>}
|
||||
*/
|
||||
export async function ReadTGDataByKey(storeName: string, keys: any[]): Promise<any[]> {
|
||||
const request = window.indexedDB.open(DB_NAME, DB_VERSION);
|
||||
return new Promise((resolve, reject) => {
|
||||
request.onsuccess = () => {
|
||||
const db = request.result;
|
||||
const transaction = db.transaction(storeName, "readonly");
|
||||
const store = transaction.objectStore(storeName);
|
||||
const requestData = store.getAll();
|
||||
requestData.onsuccess = () => {
|
||||
const result = requestData.result;
|
||||
const data = result.filter(item => {
|
||||
return keys.includes(item.id);
|
||||
});
|
||||
resolve(data);
|
||||
};
|
||||
requestData.onerror = () => {
|
||||
reject(requestData.error);
|
||||
};
|
||||
};
|
||||
request.onerror = () => {
|
||||
reject(request.error);
|
||||
};
|
||||
});
|
||||
export async function ReadTGDataByKey (storeName: string, keys: any[]): Promise<any[]> {
|
||||
const request = window.indexedDB.open(DB_NAME, DB_VERSION);
|
||||
return await new Promise((resolve, reject) => {
|
||||
request.onsuccess = () => {
|
||||
const db = request.result;
|
||||
const transaction = db.transaction(storeName, "readonly");
|
||||
const store = transaction.objectStore(storeName);
|
||||
const requestData = store.getAll();
|
||||
requestData.onsuccess = () => {
|
||||
const result = requestData.result;
|
||||
const data = result.filter((item) => {
|
||||
return keys.includes(item.id);
|
||||
});
|
||||
resolve(data);
|
||||
};
|
||||
requestData.onerror = () => {
|
||||
reject(requestData.error);
|
||||
};
|
||||
};
|
||||
request.onerror = () => {
|
||||
reject(request.error);
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -149,57 +145,53 @@ export async function ReadTGDataByKey(storeName: string, keys: any[]): Promise<a
|
||||
* @param {string} storeName 表名
|
||||
* @param {string} indexName 索引名
|
||||
* @param {any} key 索引值
|
||||
* @return {Promise<any[]>}
|
||||
* @returns {Promise<any[]>}
|
||||
*/
|
||||
export async function ReadTGDataByIndex(
|
||||
storeName: string,
|
||||
indexName: string,
|
||||
key: any
|
||||
): Promise<any[]> {
|
||||
const request = window.indexedDB.open(DB_NAME, DB_VERSION);
|
||||
return new Promise((resolve, reject) => {
|
||||
request.onsuccess = () => {
|
||||
const db = request.result;
|
||||
const transaction = db.transaction(storeName, "readonly");
|
||||
const store = transaction.objectStore(storeName);
|
||||
const index = store.index(indexName);
|
||||
const requestData = index.getAll(key);
|
||||
requestData.onsuccess = () => {
|
||||
resolve(requestData.result);
|
||||
};
|
||||
requestData.onerror = () => {
|
||||
reject(requestData.error);
|
||||
};
|
||||
};
|
||||
request.onerror = () => {
|
||||
reject(request.error);
|
||||
};
|
||||
});
|
||||
export async function ReadTGDataByIndex (storeName: string, indexName: string, key: any): Promise<any[]> {
|
||||
const request = window.indexedDB.open(DB_NAME, DB_VERSION);
|
||||
return await new Promise((resolve, reject) => {
|
||||
request.onsuccess = () => {
|
||||
const db = request.result;
|
||||
const transaction = db.transaction(storeName, "readonly");
|
||||
const store = transaction.objectStore(storeName);
|
||||
const index = store.index(indexName);
|
||||
const requestData = index.getAll(key);
|
||||
requestData.onsuccess = () => {
|
||||
resolve(requestData.result);
|
||||
};
|
||||
requestData.onerror = () => {
|
||||
reject(requestData.error);
|
||||
};
|
||||
};
|
||||
request.onerror = () => {
|
||||
reject(request.error);
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 从数据库中读取所有数据
|
||||
* @since Alpha
|
||||
* @param {string} storeName 表名
|
||||
* @return {Promise<any[]>}
|
||||
* @returns {Promise<any[]>}
|
||||
*/
|
||||
export async function ReadAllTGData(storeName: string): Promise<any[]> {
|
||||
const request = window.indexedDB.open(DB_NAME, DB_VERSION);
|
||||
return new Promise((resolve, reject) => {
|
||||
request.onsuccess = () => {
|
||||
const db = request.result;
|
||||
const transaction = db.transaction(storeName, "readonly");
|
||||
const store = transaction.objectStore(storeName);
|
||||
const requestData = store.getAll();
|
||||
requestData.onsuccess = () => {
|
||||
resolve(requestData.result);
|
||||
};
|
||||
requestData.onerror = () => {
|
||||
reject(requestData.error);
|
||||
};
|
||||
};
|
||||
request.onerror = () => {
|
||||
reject(request.error);
|
||||
};
|
||||
});
|
||||
export async function ReadAllTGData (storeName: string): Promise<any[]> {
|
||||
const request = window.indexedDB.open(DB_NAME, DB_VERSION);
|
||||
return await new Promise((resolve, reject) => {
|
||||
request.onsuccess = () => {
|
||||
const db = request.result;
|
||||
const transaction = db.transaction(storeName, "readonly");
|
||||
const store = transaction.objectStore(storeName);
|
||||
const requestData = store.getAll();
|
||||
requestData.onsuccess = () => {
|
||||
resolve(requestData.result);
|
||||
};
|
||||
requestData.onerror = () => {
|
||||
reject(requestData.error);
|
||||
};
|
||||
};
|
||||
request.onerror = () => {
|
||||
reject(request.error);
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
@@ -17,38 +17,38 @@ import { window as TauriWindow } from "@tauri-apps/api";
|
||||
* @param {boolean} resizable 是否可调整大小
|
||||
* @returns {void}
|
||||
*/
|
||||
export function createTGWindow(
|
||||
url: string,
|
||||
label: string,
|
||||
title: string,
|
||||
width: number,
|
||||
height: number,
|
||||
resizable: boolean
|
||||
export function createTGWindow (
|
||||
url: string,
|
||||
label: string,
|
||||
title: string,
|
||||
width: number,
|
||||
height: number,
|
||||
resizable: boolean,
|
||||
): void {
|
||||
// 计算窗口位置
|
||||
const left = (window.screen.width - width) / 2;
|
||||
const top = (window.screen.height - height) / 2;
|
||||
// https://github.com/tauri-apps/tauri/issues/5380
|
||||
new TauriWindow.WebviewWindow(label, {
|
||||
height: height,
|
||||
width: width,
|
||||
x: left,
|
||||
y: top,
|
||||
resizable: resizable,
|
||||
url: url,
|
||||
title: title,
|
||||
visible: false,
|
||||
});
|
||||
new TauriWindow.WindowManager(label).close().then(() => {
|
||||
new TauriWindow.WebviewWindow(label, {
|
||||
height: height,
|
||||
width: width,
|
||||
x: left,
|
||||
y: top,
|
||||
resizable: resizable,
|
||||
url: url,
|
||||
title: title,
|
||||
visible: false,
|
||||
});
|
||||
});
|
||||
// 计算窗口位置
|
||||
const left = (window.screen.width - width) / 2;
|
||||
const top = (window.screen.height - height) / 2;
|
||||
// https://github.com/tauri-apps/tauri/issues/5380
|
||||
void new TauriWindow.WebviewWindow(label, {
|
||||
height,
|
||||
width,
|
||||
x: left,
|
||||
y: top,
|
||||
resizable,
|
||||
url,
|
||||
title,
|
||||
visible: false,
|
||||
});
|
||||
void new TauriWindow.WindowManager(label).close().then(() => {
|
||||
void new TauriWindow.WebviewWindow(label, {
|
||||
height,
|
||||
width,
|
||||
x: left,
|
||||
y: top,
|
||||
resizable,
|
||||
url,
|
||||
title,
|
||||
visible: false,
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user