mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2025-12-18 10:18:14 +08:00
✨ 添加 AppCharacter 表
This commit is contained in:
@@ -42,7 +42,8 @@ create table if not exists AppCharacters
|
||||
star integer,
|
||||
element text,
|
||||
weapon text,
|
||||
nameCard text default '无'
|
||||
nameCard text,
|
||||
updated text
|
||||
);
|
||||
|
||||
-- @brief 创建应用数据表
|
||||
|
||||
@@ -9,11 +9,17 @@
|
||||
import { app } from "@tauri-apps/api";
|
||||
// utils
|
||||
import { getBuildTime } from "../../../utils/TGBuild";
|
||||
import { insertAchievementData, insertAchievementSeriesData, insertNameCardData } from "./insertData";
|
||||
import {
|
||||
insertAchievementData,
|
||||
insertAchievementSeriesData,
|
||||
insertNameCardData,
|
||||
insertCharacterData,
|
||||
} from "./insertData";
|
||||
import {
|
||||
AppAchievementsData,
|
||||
AppAchievementSeriesData,
|
||||
AppNameCardsData,
|
||||
AppCharacterData,
|
||||
} from "../../../data";
|
||||
|
||||
/**
|
||||
@@ -73,6 +79,15 @@ function initNameCardData (): string[] {
|
||||
return AppNameCardsData.map((item) => insertNameCardData(item));
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 初始化角色数据
|
||||
* @since Alpha v0.2.0
|
||||
* @returns {string[]} sql
|
||||
*/
|
||||
function initCharacterData (): string[] {
|
||||
return AppCharacterData.map((item) => insertCharacterData(item));
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 初始化数据
|
||||
* @since Alpha v0.2.0
|
||||
@@ -84,6 +99,7 @@ async function initDataSql (): Promise<string[]> {
|
||||
sqlRes.push(...initAchievementSeriesData());
|
||||
sqlRes.push(...initAchievementData());
|
||||
sqlRes.push(...initNameCardData());
|
||||
sqlRes.push(...initCharacterData());
|
||||
return sqlRes;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,13 +5,17 @@
|
||||
* @since Alpha v0.2.0
|
||||
*/
|
||||
|
||||
// utils
|
||||
import { timeToSecond } from "../utils/transTime";
|
||||
import { transCharacterData, transFloorData } from "../utils/transAbyssData";
|
||||
|
||||
/**
|
||||
* @description 插入成就数据
|
||||
* @since Alpha v0.2.0
|
||||
* @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}, '',
|
||||
@@ -33,16 +37,17 @@ 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}', datetime('now', 'localtime'))
|
||||
VALUES (${data.id}, ${data.order}, '${data.name}', '${data.version}', '${data.card}',
|
||||
datetime('now', 'localtime'))
|
||||
ON CONFLICT(id) DO UPDATE
|
||||
SET name = '${data.name}',
|
||||
"order" = ${data.order},
|
||||
version = '${data.version}',
|
||||
nameCard = '${data.card}',
|
||||
updated = datetime('now', 'localtime');
|
||||
SET name = '${data.name}',
|
||||
"order" = ${data.order},
|
||||
version = '${data.version}',
|
||||
nameCard = '${data.card}',
|
||||
updated = datetime('now', 'localtime');
|
||||
`;
|
||||
}
|
||||
|
||||
@@ -53,11 +58,12 @@ 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'))
|
||||
ON CONFLICT(key) DO UPDATE SET value = '${value}', updated = datetime('now', 'localtime');
|
||||
ON CONFLICT(key) DO UPDATE SET value = '${value}',
|
||||
updated = datetime('now', 'localtime');
|
||||
`;
|
||||
}
|
||||
|
||||
@@ -67,7 +73,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 `
|
||||
@@ -91,7 +97,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'))
|
||||
@@ -101,3 +107,68 @@ export function insertNameCardData (data: TGApp.App.NameCard.Item): string {
|
||||
updated = datetime('now', 'localtime');
|
||||
`;
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 插入角色数据
|
||||
* @since Alpha v0.2.0
|
||||
* @param {TGApp.User.Character.Item} data 角色数据
|
||||
* @returns {string} sql
|
||||
*/
|
||||
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}',
|
||||
'${data.nameCard}', '${data.birthday}', datetime('now', 'localtime'))
|
||||
ON CONFLICT(id) DO UPDATE
|
||||
SET name = '${data.name}',
|
||||
star = ${data.star},
|
||||
element = '${data.element}',
|
||||
weapon = '${data.weapon}',
|
||||
nameCard = '${data.nameCard}',
|
||||
birthday = '${data.birthday}';
|
||||
`;
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 插入深渊数据
|
||||
* @since Alpha v0.2.0
|
||||
* @param {TGApp.User.Abyss} data 深渊数据
|
||||
* @returns {string} sql
|
||||
*/
|
||||
export function insertAbyssData(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;
|
||||
const revealRank = transCharacterData(data.reveal_rank);
|
||||
const defeatRank = transCharacterData(data.defeat_rank);
|
||||
const damageRank = transCharacterData(data.damage_rank);
|
||||
const takeDamageRank = transCharacterData(data.take_damage_rank);
|
||||
const normalSkillRank = transCharacterData(data.normal_skill_rank);
|
||||
const energySkillRank = transCharacterData(data.energy_skill_rank);
|
||||
const floors = transFloorData(data.floors);
|
||||
return `
|
||||
INSERT INTO SpiralAbyss (id, startTime, endTime, totalBattleTimes, totalWinTimes, maxFloor, totalStar, isUnlock,
|
||||
revealRank, defeatRank, damageRank, takeDamageRank, normalSkillRank, energySkillRank,
|
||||
floors, updated)
|
||||
VALUES (${data.schedule_id}, '${startTime}', '${endTime}', ${data.total_battle_times}, ${data.total_win_times},
|
||||
'${data.max_floor}', ${data.total_star},
|
||||
${isUnlock}, '${revealRank}', '${defeatRank}', '${damageRank}', '${takeDamageRank}', '${normalSkillRank}',
|
||||
'${energySkillRank}', '${floors}', datetime('now', 'localtime'))
|
||||
ON CONFLICT(id) DO UPDATE
|
||||
SET startTime = '${startTime}',
|
||||
endTime = '${endTime}',
|
||||
totalBattleTimes = ${data.total_battle_times},
|
||||
totalWinTimes = ${data.total_win_times},
|
||||
maxFloor = '${data.max_floor}',
|
||||
totalStar = ${data.total_star},
|
||||
isUnlock = ${isUnlock},
|
||||
revealRank = '${revealRank}',
|
||||
defeatRank = '${defeatRank}',
|
||||
damageRank = '${damageRank}',
|
||||
takeDamageRank = '${takeDamageRank}',
|
||||
normalSkillRank = '${normalSkillRank}',
|
||||
energySkillRank = '${energySkillRank}',
|
||||
floors = '${floors}',
|
||||
updated = datetime('now', 'localtime');
|
||||
`;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user