mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2026-03-25 05:29:45 +08:00
💄 深境螺旋UI迭代
This commit is contained in:
@@ -1,19 +1,18 @@
|
||||
/**
|
||||
* @file plugins/Sqlite/utils/transCharacter.ts
|
||||
* @description Sqlite 数据转换
|
||||
* @since Beta v0.6.0
|
||||
* 深境螺旋数据转换
|
||||
* @since Beta v0.9.0
|
||||
*/
|
||||
|
||||
import { timestampToDate } from "@utils/toolFunc.js";
|
||||
|
||||
/**
|
||||
* @description 将通过 api 获取到的深渊数据转换为数据库中的数据
|
||||
* 转换角色数据
|
||||
* @since Alpha v0.2.0
|
||||
* @param {TGApp.Game.Abyss.CharacterData[]} data 深渊数据
|
||||
* @returns {string} 转换后的深渊数据
|
||||
* @param {Array<TGApp.Game.Abyss.CharacterData>} data 接口获取角色数据
|
||||
* @returns {string} 转换后的角色数据
|
||||
*/
|
||||
export function transCharacterData(data: TGApp.Game.Abyss.CharacterData[]): string {
|
||||
const res: TGApp.Sqlite.Abyss.Character[] = data.map((item) => ({
|
||||
export function transCharacterData(data: Array<TGApp.Game.Abyss.CharacterData>): string {
|
||||
const res: Array<TGApp.Sqlite.Abyss.CharacterData> = data.map((item) => ({
|
||||
id: item.avatar_id,
|
||||
value: item.value,
|
||||
star: item.rarity,
|
||||
@@ -22,27 +21,28 @@ export function transCharacterData(data: TGApp.Game.Abyss.CharacterData[]): stri
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 将通过 api 获取到的深渊数据转换为数据库中的数据
|
||||
* @since Beta v0.3.9
|
||||
* @param {TGApp.Game.Abyss.Floor} data 深渊数据
|
||||
* @returns {string} 转换后的深渊数据
|
||||
* 转换楼层数据
|
||||
* @since Beta v0.9.0
|
||||
* @param {Array<TGApp.Game.Abyss.Floor>} data 接口获取楼层数据
|
||||
* @returns {string} 转换后的楼层数据
|
||||
*/
|
||||
export function transFloorData(data: TGApp.Game.Abyss.Floor[]): string {
|
||||
export function transFloorData(data: Array<TGApp.Game.Abyss.Floor>): string {
|
||||
const floor: TGApp.Sqlite.Abyss.Floor[] = data.map((item) => ({
|
||||
id: item.index,
|
||||
winStar: item.star,
|
||||
maxStar: item.max_star,
|
||||
isUnlock: item.is_unlock ? 1 : 0,
|
||||
levels: item.levels.map((level) => transLevelData(level)),
|
||||
levels: item.levels.map(transLevelData),
|
||||
buff: item.ley_line_disorder,
|
||||
}));
|
||||
return JSON.stringify(floor);
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 将通过 api 获取到的深渊数据转换为数据库中的数据
|
||||
* @since Beta v0.3.9
|
||||
* @param {TGApp.Game.Abyss.Level} data 深渊数据
|
||||
* @returns {TGApp.Sqlite.Abyss.Level} 转换后的深渊数据
|
||||
* 转换关卡数据
|
||||
* @since Beta v0.9.0
|
||||
* @param {TGApp.Game.Abyss.Level} data 接口获取关卡数据
|
||||
* @returns {TGApp.Sqlite.Abyss.Level} 转换后的关卡数据
|
||||
*/
|
||||
function transLevelData(data: TGApp.Game.Abyss.Level): TGApp.Sqlite.Abyss.Level {
|
||||
const res: TGApp.Sqlite.Abyss.Level = {
|
||||
@@ -51,19 +51,23 @@ function transLevelData(data: TGApp.Game.Abyss.Level): TGApp.Sqlite.Abyss.Level
|
||||
maxStar: data.max_star,
|
||||
};
|
||||
for (const battle of data.battles) {
|
||||
if (battle.index === 1) res.upBattle = transBattleData(battle);
|
||||
else res.downBattle = transBattleData(battle);
|
||||
if (battle.index === 1) res.upBattle = transBattleData(battle, data.top_half_floor_monster);
|
||||
else res.downBattle = transBattleData(battle, data.bottom_half_floor_monster);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 将通过 api 获取到的深渊数据转换为数据库中的数据
|
||||
* @since Beta v0.6.0
|
||||
* @param {TGApp.Game.Abyss.Battle} data 深渊数据
|
||||
* 转换战斗数据
|
||||
* @since Beta v0.9.0
|
||||
* @param {TGApp.Game.Abyss.Battle} data 接口获取战斗数据
|
||||
* @param {Array<TGApp.Game.Abyss.MonsterInfo>} monsters 对应战斗怪物数据
|
||||
* @returns {TGApp.Sqlite.Abyss.Battle} 转换后的深渊数据
|
||||
*/
|
||||
function transBattleData(data: TGApp.Game.Abyss.Battle): TGApp.Sqlite.Abyss.Battle {
|
||||
function transBattleData(
|
||||
data: TGApp.Game.Abyss.Battle,
|
||||
monsters: Array<TGApp.Sqlite.Abyss.MonsterInfo>,
|
||||
): TGApp.Sqlite.Abyss.Battle {
|
||||
return {
|
||||
time: timestampToDate(Number(data.timestamp) * 1000),
|
||||
characters: data.avatars.map((item) => ({
|
||||
@@ -71,5 +75,6 @@ function transBattleData(data: TGApp.Game.Abyss.Battle): TGApp.Sqlite.Abyss.Batt
|
||||
level: item.level,
|
||||
star: item.rarity,
|
||||
})),
|
||||
monsters: monsters,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user