mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2025-12-15 09:48:14 +08:00
🎨 代码格式化
This commit is contained in:
@@ -50,9 +50,9 @@ class Sqlite {
|
||||
* @since Alpha v0.2.0
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
public async initDB (): Promise<void> {
|
||||
public async initDB(): Promise<void> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
const sql = [...initTableSql(), ...await initDataSql()];
|
||||
const sql = [...initTableSql(), ...(await initDataSql())];
|
||||
for (const item of sql) {
|
||||
await db.execute(item);
|
||||
}
|
||||
@@ -64,7 +64,7 @@ class Sqlite {
|
||||
* @since Alpha v0.2.0
|
||||
* @returns {Promise<TGApp.Sqlite.AppData.Item[]>}
|
||||
*/
|
||||
public async getAppData (): Promise<TGApp.Sqlite.AppData.Item[]> {
|
||||
public async getAppData(): Promise<TGApp.Sqlite.AppData.Item[]> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
const sql = "SELECT * FROM AppData;";
|
||||
const res: TGApp.Sqlite.AppData.Item[] = await db.select(sql);
|
||||
@@ -77,7 +77,7 @@ class Sqlite {
|
||||
* @since Alpha v0.2.0
|
||||
* @returns {Promise<Record<string, string>>}
|
||||
*/
|
||||
public async getCookie (): Promise<Record<string, string>> {
|
||||
public async getCookie(): Promise<Record<string, string>> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
const sql = "SELECT value FROM AppData WHERE key='cookie';";
|
||||
const res: Array<{ value: string }> = await db.select(sql);
|
||||
@@ -91,7 +91,7 @@ class Sqlite {
|
||||
* @param {TGApp.User.Account.Game[]} accounts
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
public async saveAccount (accounts: TGApp.User.Account.Game[]): Promise<void> {
|
||||
public async saveAccount(accounts: TGApp.User.Account.Game[]): Promise<void> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
for (const a of accounts) {
|
||||
const sql = insertGameAccountData(a);
|
||||
@@ -105,7 +105,7 @@ class Sqlite {
|
||||
* @since Alpha v0.2.0
|
||||
* @returns {Promise<TGApp.Sqlite.Account.Game|false>}
|
||||
*/
|
||||
public async getCurAccount (): Promise<TGApp.Sqlite.Account.Game | false> {
|
||||
public async getCurAccount(): Promise<TGApp.Sqlite.Account.Game | false> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
const sql = "SELECT * FROM GameAccount WHERE isChosen=1;";
|
||||
const res: TGApp.Sqlite.Account.Game[] = await db.select(sql);
|
||||
@@ -120,7 +120,7 @@ class Sqlite {
|
||||
* @param {string} value
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
public async saveAppData (key: string, value: string): Promise<void> {
|
||||
public async saveAppData(key: string, value: string): Promise<void> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
const sql = insertAppData(key, value);
|
||||
await db.execute(sql);
|
||||
@@ -132,7 +132,7 @@ class Sqlite {
|
||||
* @since Alpha v0.2.0
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
public async update (): Promise<void> {
|
||||
public async update(): Promise<void> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
const sqlD = await initDataSql();
|
||||
for (const item of sqlD) {
|
||||
@@ -146,7 +146,7 @@ class Sqlite {
|
||||
* @since Alpha v0.2.0
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
public async check (): Promise<boolean> {
|
||||
public async check(): Promise<boolean> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
let isVerified = false;
|
||||
// 检测数据表是否都存在
|
||||
@@ -166,7 +166,7 @@ class Sqlite {
|
||||
* @since Alpha v0.2.0
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
public async reset (): Promise<void> {
|
||||
public async reset(): Promise<void> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
this.tables.map(async (item) => {
|
||||
const sql = `DROP TABLE IF EXISTS ${item};`;
|
||||
@@ -181,7 +181,7 @@ class Sqlite {
|
||||
* @since Alpha v0.2.0
|
||||
* @returns {Promise<TGApp.Sqlite.Achievement.SeriesTable[]>}
|
||||
*/
|
||||
public async getAchievementSeries (): Promise<TGApp.Sqlite.Achievement.SeriesTable[]> {
|
||||
public async getAchievementSeries(): Promise<TGApp.Sqlite.Achievement.SeriesTable[]> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
const sql = "SELECT * FROM AchievementSeries ORDER BY `order`;";
|
||||
const res: TGApp.Sqlite.Achievement.SeriesTable[] = await db.select(sql);
|
||||
@@ -195,7 +195,7 @@ class Sqlite {
|
||||
* @param {number} seriesId 系列 ID
|
||||
* @returns {Promise<TGApp.Sqlite.NameCard.Item>}
|
||||
*/
|
||||
public async getNameCard (seriesId: number): Promise<TGApp.Sqlite.NameCard.SingleTable> {
|
||||
public async getNameCard(seriesId: number): Promise<TGApp.Sqlite.NameCard.SingleTable> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
const sql = `SELECT *
|
||||
FROM NameCard
|
||||
@@ -211,7 +211,7 @@ class Sqlite {
|
||||
* @param {number} [seriesId] 系列 ID
|
||||
* @returns {Promise<TGApp.Sqlite.Achievement.SingleTable[]>}
|
||||
*/
|
||||
public async getAchievements (seriesId?: number): Promise<TGApp.Sqlite.Achievement.SingleTable[]> {
|
||||
public async getAchievements(seriesId?: number): Promise<TGApp.Sqlite.Achievement.SingleTable[]> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
let sql;
|
||||
if (seriesId) {
|
||||
@@ -232,10 +232,13 @@ class Sqlite {
|
||||
* @since Alpha v0.2.0
|
||||
* @returns {Promise<{total:number,fin:number}>}
|
||||
*/
|
||||
public async getAchievementsOverview (): Promise<{ total: number, fin: number }> {
|
||||
public async getAchievementsOverview(): Promise<{
|
||||
total: number;
|
||||
fin: number;
|
||||
}> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
const sql = "SELECT SUM(totalCount) AS total, SUM(finCount) AS fin FROM AchievementSeries;";
|
||||
const res: Array<{ total: number, fin: number }> = await db.select(sql);
|
||||
const res: Array<{ total: number; fin: number }> = await db.select(sql);
|
||||
await db.close();
|
||||
return res[0];
|
||||
}
|
||||
@@ -245,7 +248,7 @@ class Sqlite {
|
||||
* @since Alpha v0.2.0
|
||||
* @returns {Promise<string>}
|
||||
*/
|
||||
public async getLatestAchievementVersion (): Promise<string> {
|
||||
public async getLatestAchievementVersion(): Promise<string> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
const sql = "SELECT version FROM AchievementSeries ORDER BY version DESC LIMIT 1;";
|
||||
const res: Array<{ version: string }> = await db.select(sql);
|
||||
@@ -259,7 +262,9 @@ class Sqlite {
|
||||
* @param {string} keyword 关键词
|
||||
* @returns {Promise<TGApp.Sqlite.Achievement.SingleTable[]>}
|
||||
*/
|
||||
public async searchAchievements (keyword: string): Promise<TGApp.Sqlite.Achievement.SingleTable[]> {
|
||||
public async searchAchievements(
|
||||
keyword: string,
|
||||
): Promise<TGApp.Sqlite.Achievement.SingleTable[]> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
let sql;
|
||||
if (keyword.startsWith("v")) {
|
||||
@@ -286,7 +291,7 @@ class Sqlite {
|
||||
* @param {TGApp.Plugins.UIAF.Achievement[]} achievements UIAF 数据
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
public async mergeUIAF (achievements: TGApp.Plugins.UIAF.Achievement[]): Promise<void> {
|
||||
public async mergeUIAF(achievements: TGApp.Plugins.UIAF.Achievement[]): Promise<void> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
const sql = importUIAFData(achievements);
|
||||
for (const item of sql) {
|
||||
@@ -300,7 +305,7 @@ class Sqlite {
|
||||
* @since Alpha v0.2.0
|
||||
* @returns {Promise<TGApp.Plugins.UIAF.Achievement[]>}
|
||||
*/
|
||||
public async getUIAF (): Promise<TGApp.Plugins.UIAF.Achievement[]> {
|
||||
public async getUIAF(): Promise<TGApp.Plugins.UIAF.Achievement[]> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
const sql = "SELECT * FROM Achievements WHERE isCompleted = 1 OR progress > 0";
|
||||
const res: TGApp.Sqlite.Achievement.SingleTable[] = await db.select(sql);
|
||||
@@ -312,7 +317,8 @@ class Sqlite {
|
||||
achievements.push({
|
||||
id: item.id,
|
||||
status,
|
||||
timestamp: completed && item.completedTime ? new Date(item.completedTime).getTime() / 1000 : 0,
|
||||
timestamp:
|
||||
completed && item.completedTime ? new Date(item.completedTime).getTime() / 1000 : 0,
|
||||
current: item.progress,
|
||||
});
|
||||
}
|
||||
@@ -326,7 +332,7 @@ class Sqlite {
|
||||
* @param {TGApp.Game.Abyss.FullData} data 深渊数据
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
public async saveAbyss (uid: string, data: TGApp.Game.Abyss.FullData): Promise<void> {
|
||||
public async saveAbyss(uid: string, data: TGApp.Game.Abyss.FullData): Promise<void> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
const sql = insertAbyssData(uid, data);
|
||||
await db.execute(sql);
|
||||
@@ -339,7 +345,7 @@ class Sqlite {
|
||||
* @param {string} uid 游戏 UID
|
||||
* @returns {Promise<TGApp.Game.Abyss.FullData>}
|
||||
*/
|
||||
public async getAbyss (uid?: string): Promise<TGApp.Sqlite.Abyss.SingleTable[]> {
|
||||
public async getAbyss(uid?: string): Promise<TGApp.Sqlite.Abyss.SingleTable[]> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
let sql;
|
||||
if (uid) {
|
||||
@@ -358,7 +364,7 @@ class Sqlite {
|
||||
* @param {TGApp.Sqlite.Abyss.SingleTable[]} data 深渊数据
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
public async restoreAbyss (data: TGApp.Sqlite.Abyss.SingleTable[]): Promise<void> {
|
||||
public async restoreAbyss(data: TGApp.Sqlite.Abyss.SingleTable[]): Promise<void> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
for (const item of data) {
|
||||
const sql = importAbyssData(item);
|
||||
@@ -374,7 +380,7 @@ class Sqlite {
|
||||
* @param {string} uid 用户 uid
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
public async saveUserRecord (data: TGApp.Game.Record.FullData, uid: string): Promise<void> {
|
||||
public async saveUserRecord(data: TGApp.Game.Record.FullData, uid: string): Promise<void> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
const sql = insertRecordData(data, uid);
|
||||
await db.execute(sql);
|
||||
@@ -387,7 +393,7 @@ class Sqlite {
|
||||
* @param {string} uid 用户 uid
|
||||
* @returns {Promise<TGApp.Sqlite.Record.SingleTable|false>}
|
||||
*/
|
||||
public async getUserRecord (uid: string): Promise<TGApp.Sqlite.Record.SingleTable | false> {
|
||||
public async getUserRecord(uid: string): Promise<TGApp.Sqlite.Record.SingleTable | false> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
const sql = `SELECT * FROM UserRecord WHERE uid = '${uid}'`;
|
||||
const res: TGApp.Sqlite.Record.SingleTable[] = await db.select(sql);
|
||||
@@ -402,7 +408,7 @@ class Sqlite {
|
||||
* @param {number} id 角色 ID
|
||||
* @returns {Promise<TGApp.Sqlite.Character.AppData}> 角色数据
|
||||
*/
|
||||
public async getAppCharacter (id: number): Promise<TGApp.Sqlite.Character.AppData> {
|
||||
public async getAppCharacter(id: number): Promise<TGApp.Sqlite.Character.AppData> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
const sql = `SELECT * FROM AppCharacters WHERE id = ${id}`;
|
||||
const res: TGApp.Sqlite.Character.AppData[] = await db.select(sql);
|
||||
@@ -417,7 +423,10 @@ class Sqlite {
|
||||
* @param {TGApp.Game.Character.ListItem[]} data 角色数据
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
public async saveUserCharacter (uid: string, data: TGApp.Game.Character.ListItem[]): Promise<void> {
|
||||
public async saveUserCharacter(
|
||||
uid: string,
|
||||
data: TGApp.Game.Character.ListItem[],
|
||||
): Promise<void> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
const sql = insertRoleData(uid, data);
|
||||
await db.execute(sql);
|
||||
@@ -430,7 +439,7 @@ class Sqlite {
|
||||
* @param {string} uid 用户 uid
|
||||
* @returns {Promise<TGApp.Sqlite.Character.UserRole[]|false>}
|
||||
*/
|
||||
public async getUserCharacter (uid: string): Promise<TGApp.Sqlite.Character.UserRole[] | false> {
|
||||
public async getUserCharacter(uid: string): Promise<TGApp.Sqlite.Character.UserRole[] | false> {
|
||||
const db = await Database.load(this.dbPath);
|
||||
const sql = `SELECT * FROM UserCharacters WHERE uid = '${uid}'`;
|
||||
const res: TGApp.Sqlite.Character.UserRole[] = await db.select(sql);
|
||||
|
||||
@@ -27,7 +27,7 @@ import {
|
||||
* @since Alpha v0.2.0
|
||||
* @returns {Promise<string[]>} sql
|
||||
*/
|
||||
async function initAppData (): Promise<string[]> {
|
||||
async function initAppData(): Promise<string[]> {
|
||||
const sqlRes: string[] = [];
|
||||
const appVersion = await app.getVersion();
|
||||
const buildTime = getBuildTime();
|
||||
@@ -35,20 +35,17 @@ async function initAppData (): Promise<string[]> {
|
||||
sqlRes.push(`
|
||||
INSERT INTO AppData (key, value, updated)
|
||||
VALUES ('appVersion', '${appVersion}', datetime('now', 'localtime'))
|
||||
ON CONFLICT(key) DO UPDATE SET value = '${appVersion}', updated = datetime('now', 'localtime');`,
|
||||
);
|
||||
ON CONFLICT(key) DO UPDATE SET value = '${appVersion}', updated = datetime('now', 'localtime');`);
|
||||
// 初始化应用数据更新时间
|
||||
sqlRes.push(`
|
||||
INSERT INTO AppData (key, value, updated)
|
||||
VALUES ('dataUpdated', '${buildTime}', datetime('now', 'localtime'))
|
||||
ON CONFLICT(key) DO UPDATE SET value = '${buildTime}', updated = datetime('now', 'localtime');`,
|
||||
);
|
||||
ON CONFLICT(key) DO UPDATE SET value = '${buildTime}', updated = datetime('now', 'localtime');`);
|
||||
// 初始化 cookie
|
||||
sqlRes.push(`
|
||||
INSERT INTO AppData (key, value, updated)
|
||||
VALUES ('cookie', '{}', datetime('now', 'localtime'))
|
||||
ON CONFLICT(key) DO NOTHING;`,
|
||||
);
|
||||
ON CONFLICT(key) DO NOTHING;`);
|
||||
return sqlRes;
|
||||
}
|
||||
|
||||
@@ -57,7 +54,7 @@ async function initAppData (): Promise<string[]> {
|
||||
* @since Alpha v0.2.0
|
||||
* @returns {string[]} sql
|
||||
*/
|
||||
function initAchievementSeriesData (): string[] {
|
||||
function initAchievementSeriesData(): string[] {
|
||||
return AppAchievementSeriesData.map((item) => insertAchievementSeriesData(item));
|
||||
}
|
||||
|
||||
@@ -66,7 +63,7 @@ function initAchievementSeriesData (): string[] {
|
||||
* @since Alpha v0.2.0
|
||||
* @returns {string[]} sql
|
||||
*/
|
||||
function initAchievementData (): string[] {
|
||||
function initAchievementData(): string[] {
|
||||
return AppAchievementsData.map((item) => insertAchievementData(item));
|
||||
}
|
||||
|
||||
@@ -75,7 +72,7 @@ function initAchievementData (): string[] {
|
||||
* @since Alpha v0.2.0
|
||||
* @returns {string[]} sql
|
||||
*/
|
||||
function initNameCardData (): string[] {
|
||||
function initNameCardData(): string[] {
|
||||
return AppNameCardsData.map((item) => insertNameCardData(item));
|
||||
}
|
||||
|
||||
@@ -84,7 +81,7 @@ function initNameCardData (): string[] {
|
||||
* @since Alpha v0.2.0
|
||||
* @returns {string[]} sql
|
||||
*/
|
||||
function initCharacterData (): string[] {
|
||||
function initCharacterData(): string[] {
|
||||
return AppCharacterData.map((item) => insertCharacterData(item));
|
||||
}
|
||||
|
||||
@@ -93,9 +90,9 @@ function initCharacterData (): string[] {
|
||||
* @since Alpha v0.2.0
|
||||
* @returns {Promise<string[]>} sql
|
||||
*/
|
||||
async function initDataSql (): Promise<string[]> {
|
||||
async function initDataSql(): Promise<string[]> {
|
||||
const sqlRes: string[] = [];
|
||||
sqlRes.push(...await initAppData());
|
||||
sqlRes.push(...(await initAppData()));
|
||||
sqlRes.push(...initAchievementSeriesData());
|
||||
sqlRes.push(...initAchievementData());
|
||||
sqlRes.push(...initNameCardData());
|
||||
|
||||
@@ -14,11 +14,8 @@ import createTrigger from "./createTrigger.sql?raw";
|
||||
* @since Alpha v0.2.0
|
||||
* @returns {string[]} sql
|
||||
*/
|
||||
function initTableSql (): string[] {
|
||||
return [
|
||||
createTable,
|
||||
createTrigger,
|
||||
];
|
||||
function initTableSql(): string[] {
|
||||
return [createTable, createTrigger];
|
||||
}
|
||||
|
||||
export default initTableSql;
|
||||
|
||||
@@ -17,7 +17,7 @@ import { transUserRecord } from "../utils/transUserRecord";
|
||||
* @param {TGApp.App.Achievement.Item} data 成就数据
|
||||
* @returns {string} sql
|
||||
*/
|
||||
export function insertAchievementData (data: TGApp.App.Achievement.Item): string {
|
||||
export function insertAchievementData(data: TGApp.App.Achievement.Item): string {
|
||||
return `
|
||||
INSERT INTO Achievements (id, series, "order", name, description, reward, completedTime, version, updated)
|
||||
VALUES (${data.id}, ${data.series}, ${data.order}, '${data.name}', '${data.description}', ${data.reward}, '',
|
||||
@@ -39,7 +39,7 @@ export function insertAchievementData (data: TGApp.App.Achievement.Item): string
|
||||
* @param {TGApp.App.Achievement.Series} data 成就系列数据
|
||||
* @returns {string} sql
|
||||
*/
|
||||
export function insertAchievementSeriesData (data: TGApp.App.Achievement.Series): string {
|
||||
export function insertAchievementSeriesData(data: TGApp.App.Achievement.Series): string {
|
||||
return `
|
||||
INSERT INTO AchievementSeries (id, "order", name, version, nameCard, updated)
|
||||
VALUES (${data.id}, ${data.order}, '${data.name}', '${data.version}', '${data.card}',
|
||||
@@ -60,7 +60,7 @@ export function insertAchievementSeriesData (data: TGApp.App.Achievement.Series)
|
||||
* @param {string} value 值
|
||||
* @returns {string} sql
|
||||
*/
|
||||
export function insertAppData (key: string, value: string): string {
|
||||
export function insertAppData(key: string, value: string): string {
|
||||
return `
|
||||
INSERT INTO AppData (key, value, updated)
|
||||
VALUES ('${key}', '${value}', datetime('now', 'localtime'))
|
||||
@@ -75,7 +75,7 @@ export function insertAppData (key: string, value: string): string {
|
||||
* @param {TGApp.User.Account.Game} data 游戏账号数据
|
||||
* @returns {string} sql
|
||||
*/
|
||||
export function insertGameAccountData (data: TGApp.User.Account.Game): string {
|
||||
export function insertGameAccountData(data: TGApp.User.Account.Game): string {
|
||||
const isChosen = data.is_chosen ? 1 : 0;
|
||||
const isOfficial = data.is_official ? 1 : 0;
|
||||
return `
|
||||
@@ -99,7 +99,7 @@ export function insertGameAccountData (data: TGApp.User.Account.Game): string {
|
||||
* @param {TGApp.App.NameCard.Item} data 名片数据
|
||||
* @returns {string} sql
|
||||
*/
|
||||
export function insertNameCardData (data: TGApp.App.NameCard.Item): string {
|
||||
export function insertNameCardData(data: TGApp.App.NameCard.Item): string {
|
||||
return `
|
||||
INSERT INTO NameCard (name, "desc", type, source, updated)
|
||||
VALUES ('${data.name}', '${data.desc}', '${data.type}', '${data.source}', datetime('now', 'localtime'))
|
||||
@@ -116,7 +116,7 @@ export function insertNameCardData (data: TGApp.App.NameCard.Item): string {
|
||||
* @param {TGApp.User.Character.Item} data 角色数据
|
||||
* @returns {string} sql
|
||||
*/
|
||||
export function insertCharacterData (data: TGApp.App.Character.WikiBriefInfo): string {
|
||||
export function insertCharacterData(data: TGApp.App.Character.WikiBriefInfo): string {
|
||||
return `
|
||||
INSERT INTO AppCharacters (id, name, star, element, weapon, nameCard, birthday, updated)
|
||||
VALUES (${data.id}, '${data.name}', ${data.star}, '${data.element}', '${data.weapon}',
|
||||
@@ -138,7 +138,7 @@ export function insertCharacterData (data: TGApp.App.Character.WikiBriefInfo): s
|
||||
* @param {TGApp.User.Abyss} data 深渊数据
|
||||
* @returns {string} sql
|
||||
*/
|
||||
export function insertAbyssData (uid: string, data: TGApp.Game.Abyss.FullData): string {
|
||||
export function insertAbyssData(uid: string, data: TGApp.Game.Abyss.FullData): string {
|
||||
const startTime = timeToSecond(data.start_time);
|
||||
const endTime = timeToSecond(data.end_time);
|
||||
const isUnlock = data.is_unlock ? 1 : 0;
|
||||
@@ -182,7 +182,7 @@ export function insertAbyssData (uid: string, data: TGApp.Game.Abyss.FullData):
|
||||
* @param {TGApp.Sqlite.Abyss.SingleTable} data 深渊数据
|
||||
* @returns {string} sql
|
||||
*/
|
||||
export function importAbyssData (data: TGApp.Sqlite.Abyss.SingleTable): string {
|
||||
export function importAbyssData(data: TGApp.Sqlite.Abyss.SingleTable): string {
|
||||
return `
|
||||
INSERT INTO SpiralAbyss (uid, id, startTime, endTime, totalBattleTimes, totalWinTimes,
|
||||
maxFloor, totalStar, isUnlock, revealRank, defeatRank, damageRank,
|
||||
@@ -218,7 +218,7 @@ export function importAbyssData (data: TGApp.Sqlite.Abyss.SingleTable): string {
|
||||
* @param {string} uid 用户 UID
|
||||
* @returns {string} sql
|
||||
*/
|
||||
export function insertRecordData (data: TGApp.Game.Record.FullData, uid: string): string {
|
||||
export function insertRecordData(data: TGApp.Game.Record.FullData, uid: string): string {
|
||||
const transData = transUserRecord(data);
|
||||
transData.uid = uid;
|
||||
return `
|
||||
@@ -242,8 +242,8 @@ export function insertRecordData (data: TGApp.Game.Record.FullData, uid: string)
|
||||
* @param {TGApp.User.Character.Item[]} data 角色数据
|
||||
* @returns {string} sql
|
||||
*/
|
||||
export function insertRoleData (uid: string, data: TGApp.Game.Character.ListItem[]): string {
|
||||
const sql = data.map(item => {
|
||||
export function insertRoleData(uid: string, data: TGApp.Game.Character.ListItem[]): string {
|
||||
const sql = data.map((item) => {
|
||||
const role = transUserRoles(item);
|
||||
return `
|
||||
INSERT INTO UserCharacters (uid, cid, name, img, name, fetter, level, element, star, weapon, reliquary,
|
||||
|
||||
@@ -11,14 +11,17 @@
|
||||
* @param {TGApp.Plugins.UIAF.Achievement[]} data
|
||||
* @returns {string[]} sql
|
||||
*/
|
||||
export function importUIAFData (data: TGApp.Plugins.UIAF.Achievement[]): string[] {
|
||||
export function importUIAFData(data: TGApp.Plugins.UIAF.Achievement[]): string[] {
|
||||
const sqlRes: string[] = [];
|
||||
data.map((achievement) => {
|
||||
let sql;
|
||||
// 获取完成状态
|
||||
const isCompleted = achievement.status === 2 || achievement.status === 3;
|
||||
if (isCompleted) {
|
||||
const completedTime = new Date(achievement.timestamp * 1000).toISOString().replace("T", " ").slice(0, 19);
|
||||
const completedTime = new Date(achievement.timestamp * 1000)
|
||||
.toISOString()
|
||||
.replace("T", " ")
|
||||
.slice(0, 19);
|
||||
sql = `
|
||||
UPDATE Achievements
|
||||
SET isCompleted = 1, completedTime = '${completedTime}', progress = ${achievement.current}, updated = datetime('now', 'localtime')
|
||||
|
||||
@@ -13,7 +13,7 @@ import { timeToSecond } from "./transTime";
|
||||
* @param {TGApp.Game.Abyss.CharacterData[]} data 深渊数据
|
||||
* @returns {string} 转换后的深渊数据
|
||||
*/
|
||||
export function transCharacterData (data: TGApp.Game.Abyss.CharacterData[]): string {
|
||||
export function transCharacterData(data: TGApp.Game.Abyss.CharacterData[]): string {
|
||||
const res = data.map((item) => {
|
||||
return {
|
||||
id: item.avatar_id,
|
||||
@@ -30,7 +30,7 @@ export function transCharacterData (data: TGApp.Game.Abyss.CharacterData[]): str
|
||||
* @param {TGApp.Game.Abyss.Floor} data 深渊数据
|
||||
* @returns {string} 转换后的深渊数据
|
||||
*/
|
||||
export function transFloorData (data: TGApp.Game.Abyss.Floor[]): string {
|
||||
export function transFloorData(data: TGApp.Game.Abyss.Floor[]): string {
|
||||
const floor = data.map((item) => {
|
||||
return {
|
||||
id: item.index,
|
||||
@@ -42,8 +42,12 @@ export function transFloorData (data: TGApp.Game.Abyss.Floor[]): string {
|
||||
id: level.index,
|
||||
winStar: level.star,
|
||||
maxStar: level.max_star,
|
||||
upBattle: transBattleData(level.battles.find((l) => l.index === 1) as TGApp.Game.Abyss.Battle),
|
||||
downBattle: transBattleData(level.battles.find((l) => l.index === 2) as TGApp.Game.Abyss.Battle),
|
||||
upBattle: transBattleData(
|
||||
level.battles.find((l) => l.index === 1) as TGApp.Game.Abyss.Battle,
|
||||
),
|
||||
downBattle: transBattleData(
|
||||
level.battles.find((l) => l.index === 2) as TGApp.Game.Abyss.Battle,
|
||||
),
|
||||
};
|
||||
}),
|
||||
};
|
||||
@@ -57,7 +61,7 @@ export function transFloorData (data: TGApp.Game.Abyss.Floor[]): string {
|
||||
* @param {TGApp.Game.Abyss.Battle} data 深渊数据
|
||||
* @returns {TGApp.Sqlite.Abyss.Battle} 转换后的深渊数据
|
||||
*/
|
||||
function transBattleData (data: TGApp.Game.Abyss.Battle): TGApp.Sqlite.Abyss.Battle {
|
||||
function transBattleData(data: TGApp.Game.Abyss.Battle): TGApp.Sqlite.Abyss.Battle {
|
||||
return {
|
||||
time: timeToSecond(data.timestamp),
|
||||
characters: data.avatars.map((item) => {
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
* @param {string} timestamp 时间戳 (秒)
|
||||
* @returns {string} 时间字符串,格式为 YYYY-MM-DD HH:mm:ss
|
||||
*/
|
||||
export function timeToSecond (timestamp: string): string {
|
||||
export function timeToSecond(timestamp: string): string {
|
||||
const date = new Date(Number(timestamp) * 1000);
|
||||
const year = date.getFullYear();
|
||||
const month = String(date.getMonth() + 1).padStart(2, "0");
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
* @param {TGApp.Game.Record.FullData} data 用户战绩数据
|
||||
* @returns {TGApp.Sqlite.Record.SingleTable} 转换后的用户战绩数据
|
||||
*/
|
||||
export function transUserRecord (data: TGApp.Game.Record.FullData): TGApp.Sqlite.Record.SingleTable {
|
||||
export function transUserRecord(data: TGApp.Game.Record.FullData): TGApp.Sqlite.Record.SingleTable {
|
||||
return {
|
||||
uid: "",
|
||||
role: transRole(data.role),
|
||||
@@ -29,7 +29,7 @@ export function transUserRecord (data: TGApp.Game.Record.FullData): TGApp.Sqlite
|
||||
* @param {TGApp.Game.Record.Role} data 角色信息
|
||||
* @returns {string} 转换后的角色信息
|
||||
*/
|
||||
function transRole (data: TGApp.Game.Record.Role): string {
|
||||
function transRole(data: TGApp.Game.Record.Role): string {
|
||||
const role: TGApp.Sqlite.Record.Role = {
|
||||
nickname: data.nickname,
|
||||
region: data.region,
|
||||
@@ -44,7 +44,7 @@ function transRole (data: TGApp.Game.Record.Role): string {
|
||||
* @param {TGApp.Game.Record.Avatar[]} data 角色列表
|
||||
* @returns {string} 转换后的角色列表
|
||||
*/
|
||||
function transAvatar (data: TGApp.Game.Record.Avatar[]): string {
|
||||
function transAvatar(data: TGApp.Game.Record.Avatar[]): string {
|
||||
const elementMap: Record<string, string> = {
|
||||
Anemo: "风",
|
||||
Geo: "岩",
|
||||
@@ -54,25 +54,27 @@ function transAvatar (data: TGApp.Game.Record.Avatar[]): string {
|
||||
Cryo: "冰",
|
||||
Dendro: "草",
|
||||
};
|
||||
const avatars: TGApp.Sqlite.Record.Avatar[] = data.map(item => {
|
||||
return {
|
||||
id: item.id,
|
||||
name: item.name,
|
||||
element: elementMap[item.element],
|
||||
fetter: item.fetter,
|
||||
level: item.level,
|
||||
star: item.rarity === 105 ? 5 : item.rarity,
|
||||
constellation: item.actived_constellation_num,
|
||||
isShow: item.is_chosen ? 1 : 0,
|
||||
} as TGApp.Sqlite.Record.Avatar;
|
||||
}).sort((a, b) => {
|
||||
// 先按星级降序
|
||||
if (a.star !== b.star) {
|
||||
return b.star - a.star;
|
||||
}
|
||||
// 再按 id 降序
|
||||
return b.id - a.id;
|
||||
});
|
||||
const avatars: TGApp.Sqlite.Record.Avatar[] = data
|
||||
.map((item) => {
|
||||
return {
|
||||
id: item.id,
|
||||
name: item.name,
|
||||
element: elementMap[item.element],
|
||||
fetter: item.fetter,
|
||||
level: item.level,
|
||||
star: item.rarity === 105 ? 5 : item.rarity,
|
||||
constellation: item.actived_constellation_num,
|
||||
isShow: item.is_chosen ? 1 : 0,
|
||||
} as TGApp.Sqlite.Record.Avatar;
|
||||
})
|
||||
.sort((a, b) => {
|
||||
// 先按星级降序
|
||||
if (a.star !== b.star) {
|
||||
return b.star - a.star;
|
||||
}
|
||||
// 再按 id 降序
|
||||
return b.id - a.id;
|
||||
});
|
||||
return JSON.stringify(avatars);
|
||||
}
|
||||
|
||||
@@ -82,7 +84,7 @@ function transAvatar (data: TGApp.Game.Record.Avatar[]): string {
|
||||
* @param {TGApp.Game.Record.Stats} data 统计信息
|
||||
* @return {string} 转换后的统计信息
|
||||
*/
|
||||
function transStat (data: TGApp.Game.Record.Stats): string {
|
||||
function transStat(data: TGApp.Game.Record.Stats): string {
|
||||
const stats: TGApp.Sqlite.Record.Stats = {
|
||||
activeDays: data.active_day_number,
|
||||
achievementNumber: data.achievement_number,
|
||||
@@ -109,11 +111,11 @@ function transStat (data: TGApp.Game.Record.Stats): string {
|
||||
* @param {TGApp.Game.Record.WorldExplore[]} data 城市探索信息
|
||||
* @returns {string} 转换后的城市探索信息
|
||||
*/
|
||||
function transWorld (data: TGApp.Game.Record.WorldExplore[]): string {
|
||||
const worlds: TGApp.Sqlite.Record.WorldExplore[] = data.map(item => {
|
||||
function transWorld(data: TGApp.Game.Record.WorldExplore[]): string {
|
||||
const worlds: TGApp.Sqlite.Record.WorldExplore[] = data.map((item) => {
|
||||
let offerings;
|
||||
if (item.offerings !== undefined) {
|
||||
offerings = item.offerings.map(offering => {
|
||||
offerings = item.offerings.map((offering) => {
|
||||
return {
|
||||
name: offering.name,
|
||||
icon: offering.icon,
|
||||
@@ -142,8 +144,8 @@ function transWorld (data: TGApp.Game.Record.WorldExplore[]): string {
|
||||
* @param {TGApp.Game.Record.Home[]} data 住宅信息
|
||||
* @returns {string} 转换后的住宅信息
|
||||
*/
|
||||
function transHome (data: TGApp.Game.Record.Home[]): string {
|
||||
const homes: TGApp.Sqlite.Record.Home[] = data.map(item => {
|
||||
function transHome(data: TGApp.Game.Record.Home[]): string {
|
||||
const homes: TGApp.Sqlite.Record.Home[] = data.map((item) => {
|
||||
return {
|
||||
comfortIcon: item.comfort_level_icon,
|
||||
comfortName: item.comfort_level_name,
|
||||
|
||||
@@ -31,7 +31,9 @@ enum EnumElement {
|
||||
* @param {TGApp.Game.Character.ListItem} data 用户角色数据
|
||||
* @returns {TGApp.Sqlite.Character.UserRole} 转换后的用户角色数据
|
||||
*/
|
||||
export function transUserRoles (data: TGApp.Game.Character.ListItem): TGApp.Sqlite.Character.UserRole {
|
||||
export function transUserRoles(
|
||||
data: TGApp.Game.Character.ListItem,
|
||||
): TGApp.Sqlite.Character.UserRole {
|
||||
return {
|
||||
uid: -1,
|
||||
cid: data.id,
|
||||
@@ -57,7 +59,7 @@ export function transUserRoles (data: TGApp.Game.Character.ListItem): TGApp.Sqli
|
||||
* @param {EnumElementEn} data 角色元素
|
||||
* @returns {EnumElement} 转换后的角色元素
|
||||
*/
|
||||
function transElement (data: EnumElementEn): EnumElement {
|
||||
function transElement(data: EnumElementEn): EnumElement {
|
||||
switch (data) {
|
||||
case EnumElementEn.pyro:
|
||||
return EnumElement.pyro;
|
||||
@@ -84,7 +86,7 @@ function transElement (data: EnumElementEn): EnumElement {
|
||||
* @param {TGApp.Game.Character.LIWeapon} data 角色武器
|
||||
* @returns {string} 转换后的角色武器
|
||||
*/
|
||||
function transWeapon (data: TGApp.Game.Character.LIWeapon): string {
|
||||
function transWeapon(data: TGApp.Game.Character.LIWeapon): string {
|
||||
const weapon: TGApp.Sqlite.Character.RoleWeapon = {
|
||||
id: data.id,
|
||||
name: data.name,
|
||||
@@ -104,7 +106,7 @@ function transWeapon (data: TGApp.Game.Character.LIWeapon): string {
|
||||
* @param {TGApp.Game.Character.LIRelic[]} data 角色命座
|
||||
* @returns {string} 转换后的角色命座
|
||||
*/
|
||||
function transReliquary (data: TGApp.Game.Character.LIRelic[]): string {
|
||||
function transReliquary(data: TGApp.Game.Character.LIRelic[]): string {
|
||||
if (data.length === 0) {
|
||||
return "";
|
||||
}
|
||||
@@ -139,7 +141,7 @@ function transReliquary (data: TGApp.Game.Character.LIRelic[]): string {
|
||||
* @param {TGApp.Game.Character.LIConstellation[]} data 角色命座
|
||||
* @returns {string} 转换后的角色命座
|
||||
*/
|
||||
function transConstellation (data: TGApp.Game.Character.LIConstellation[]): string {
|
||||
function transConstellation(data: TGApp.Game.Character.LIConstellation[]): string {
|
||||
const constellation: TGApp.Sqlite.Character.RoleConstellation[] = [];
|
||||
for (const item of data) {
|
||||
constellation.push({
|
||||
|
||||
Reference in New Issue
Block a user