♻️ 深渊数据库重构,概览显示差距

This commit is contained in:
目棃
2024-10-29 17:05:14 +08:00
parent 06345bf5db
commit 05cee4d8e9
13 changed files with 387 additions and 191 deletions

View File

@@ -1,19 +1,17 @@
/**
* @file plugins Hutao api abyss.ts
* @file plugins/Hutao/api/abyss.ts
* @description Hutao API 深渊相关
* @author BTMuli <bt-muli@outlook.com>
* @since Alpha v0.2.0
* @since Beta v0.6.2
*/
const BaseUrl = "https://homa.snapgenshin.com/";
const AbyssUrl = `${BaseUrl}Statistics/`;
export const DataUploadApi = `${BaseUrl}Record/Upload?returningRank=false`;
export const UidCheckApi = `${BaseUrl}Record/Check?Uid={uid}`;
export const UidRankApi = `${BaseUrl}Record/Rank?Uid={uid}`;
export const OverviewApi = `${BaseUrl}Statistics/Overview`;
export const AvatarUpRateApi = `${BaseUrl}Statistics/Avatar/AttendanceRate`;
export const AvatarUseRateApi = `${BaseUrl}Statistics/Avatar/UtilizationRate`;
export const AvatarHoldRateApi = `${BaseUrl}Statistics/Avatar/HoldingRate`;
export const AvatarCollocationApi = `${BaseUrl}Statistics/Avatar/AvatarCollocation`;
export const WeaponCollocationApi = `${BaseUrl}Statistics/Weapon/WeaponCollocation`;
export const TeamCombinationApi = `${BaseUrl}Statistics/Team/Combination`;
export const OverviewApi = `${AbyssUrl}Overview`;
export const AvatarUpRateApi = `${AbyssUrl}Avatar/AttendanceRate`;
export const AvatarUseRateApi = `${AbyssUrl}Avatar/UtilizationRate`;
export const AvatarHoldRateApi = `${AbyssUrl}Avatar/HoldingRate`;
export const AvatarCollocationApi = `${AbyssUrl}Avatar/AvatarCollocation`;
export const WeaponCollocationApi = `${AbyssUrl}Weapon/WeaponCollocation`;
export const TeamCombinationApi = `${AbyssUrl}Team/Combination`;

View File

@@ -1,7 +1,6 @@
/**
* @file plugins Hutao api index.ts
* @file plugins/Hutao/api/index.ts
* @description Hutao API
* @author BTMuli <bt-muli@outlook.com>
* @since Alpha v0.2.0
*/
@@ -13,18 +12,12 @@ import {
DataUploadApi,
OverviewApi,
TeamCombinationApi,
UidCheckApi,
UidRankApi,
WeaponCollocationApi,
} from "./abyss.js";
const HutaoApi = {
Abyss: {
upload: DataUploadApi,
user: {
check: UidCheckApi,
rank: UidRankApi,
},
overview: OverviewApi,
avatar: {
upRate: AvatarUpRateApi,

View File

@@ -1,8 +1,7 @@
/**
* @file plugins Hutao index.ts
* @file plugins/Hutao/index.ts
* @description Hutao 插件入口
* @author BTMuli <bt-muli@outlook.com>
* @since Beta v0.3.0
* @since Beta v0.6.2
*/
import getAvatarCollect from "./request/getAvatarCollect.js";
@@ -11,7 +10,6 @@ import getAvatarUpRate from "./request/getAvatarUpRate.js";
import getAvatarUseRate from "./request/getAvatarUseRate.js";
import getOverview from "./request/getOverview.js";
import getTeamCollect from "./request/getTeamCollect.js";
import getWeaponCollect from "./request/getWeaponCollect.js";
import uploadData from "./request/uploadData.js";
import { transAvatars, transLocal } from "./utils/transLocal.js";
@@ -25,7 +23,6 @@ const Hutao = {
},
getOverview,
getTeamCollect,
getWeaponCollect,
postData: uploadData,
utils: {
transData: transLocal,

View File

@@ -1,7 +1,7 @@
/**
* @file plugins/Hutao/request/getAvatarCollect.ts
* @description 获取角色搭配数据
* @since Beta v0.5.0
* @since Beta v0.6.2
*/
import TGHttp from "../../../utils/TGHttp.js";
@@ -9,13 +9,17 @@ import HutaoApi from "../api/index.js";
/**
* @description 获取角色搭配数据
* @since Beta v0.5.0
* @since Beta v0.6.2
* @param {boolean} isLast 是否获取上期数据
* @return {Promise<TGApp.Plugins.Hutao.Abyss.AvatarCollocation[]>}
*/
async function getAvatarCollect(): Promise<TGApp.Plugins.Hutao.Abyss.AvatarCollocation[]> {
async function getAvatarCollect(
isLast: boolean = false,
): Promise<TGApp.Plugins.Hutao.Abyss.AvatarCollocation[]> {
const url = HutaoApi.Abyss.avatar.collect;
const resp = await TGHttp<TGApp.Plugins.Hutao.Abyss.AvatarCollocationResponse>(url, {
method: "GET",
query: { Last: isLast },
});
return resp.data;
}

View File

@@ -1,7 +1,7 @@
/**
* @file plugins/Hutao/request/getAvatarHoldRate.ts
* @description Hutao API 获取角色持有率数据请求方法
* @since Beta v0.5.0
* @since Beta v0.6.2
*/
import TGHttp from "../../../utils/TGHttp.js";
@@ -9,12 +9,18 @@ import HutaoApi from "../api/index.js";
/**
* @description 获取角色持有率数据
* @since Beta v0.5.0
* @since Beta v0.6.2
* @param {boolean} isLast 是否获取上期数据
* @returns {Promise<TGApp.Plugins.Hutao.Abyss.AvatarHold[]>}
*/
async function getAvatarHoldRate(): Promise<TGApp.Plugins.Hutao.Abyss.AvatarHold[]> {
async function getAvatarHoldRate(
isLast: boolean = false,
): Promise<TGApp.Plugins.Hutao.Abyss.AvatarHold[]> {
const url = HutaoApi.Abyss.avatar.holdRate;
const resp = await TGHttp<TGApp.Plugins.Hutao.Abyss.AvatarHoldResponse>(url, { method: "GET" });
const resp = await TGHttp<TGApp.Plugins.Hutao.Abyss.AvatarHoldResponse>(url, {
method: "GET",
query: { Last: isLast },
});
return resp.data;
}

View File

@@ -1,7 +1,7 @@
/**
* @file plugins/Hutao/request/getAvatarUpRate.ts
* @description 获取角色上场率数据
* @since Beta v0.5.0
* @since Beta v0.6.2
*/
import TGHttp from "../../../utils/TGHttp.js";
@@ -9,12 +9,18 @@ import HutaoApi from "../api/index.js";
/**
* @description 获取角色上场率数据
* @since Beta v0.5.0
* @since Beta v0.6.2
* @param {boolean} isLast 是否获取上期数据
* @return {Promise<TGApp.Plugins.Hutao.Abyss.AvatarUp[]>}
*/
async function getAvatarUpRate(): Promise<TGApp.Plugins.Hutao.Abyss.AvatarUp[]> {
async function getAvatarUpRate(
isLast: boolean = false,
): Promise<TGApp.Plugins.Hutao.Abyss.AvatarUp[]> {
const url = HutaoApi.Abyss.avatar.upRate;
const resp = await TGHttp<TGApp.Plugins.Hutao.Abyss.AvatarUpResponse>(url, { method: "GET" });
const resp = await TGHttp<TGApp.Plugins.Hutao.Abyss.AvatarUpResponse>(url, {
method: "GET",
query: { Last: isLast },
});
return resp.data;
}

View File

@@ -1,7 +1,7 @@
/**
* @file plugins/Hutao/request/getAvatarUseRate.ts
* @description 获取角色使用率
* @since Beta v0.5.0
* @since Beta v0.6.2
*/
import TGHttp from "../../../utils/TGHttp.js";
@@ -9,12 +9,18 @@ import HutaoApi from "../api/index.js";
/**
* @description 获取角色使用率
* @since Beta v0.5.0
* @since Beta v0.6.2
* @param {boolean} isLast 是否获取上期数据
* @return {Promise<TGApp.Plugins.Hutao.Abyss.AvatarUse[]>}
*/
async function getAvatarUseRate(): Promise<TGApp.Plugins.Hutao.Abyss.AvatarUse[]> {
async function getAvatarUseRate(
isLast: boolean = false,
): Promise<TGApp.Plugins.Hutao.Abyss.AvatarUse[]> {
const url = HutaoApi.Abyss.avatar.useRate;
const resp = await TGHttp<TGApp.Plugins.Hutao.Abyss.AvatarUseResponse>(url, { method: "GET" });
const resp = await TGHttp<TGApp.Plugins.Hutao.Abyss.AvatarUseResponse>(url, {
method: "GET",
query: { Last: isLast },
});
return resp.data;
}

View File

@@ -1,7 +1,7 @@
/**
* @file plugins/Hutao/request/getOverview.ts
* @description 获取深渊概览数据
* @since Beta v0.5.0
* @since Beta v0.6.2
*/
import TGHttp from "../../../utils/TGHttp.js";
@@ -9,12 +9,18 @@ import HutaoApi from "../api/index.js";
/**
* @description 获取深渊概览数据
* @since Beta v0.5.0
* @since Beta v0.6.2
* @param {boolean} isLast 是否获取上期数据
* @return {Promise<TGApp.Plugins.Hutao.Abyss.OverviewData>}
*/
async function getOverview(): Promise<TGApp.Plugins.Hutao.Abyss.OverviewData> {
async function getOverview(
isLast: boolean = false,
): Promise<TGApp.Plugins.Hutao.Abyss.OverviewData> {
const url = HutaoApi.Abyss.overview;
const resp = await TGHttp<TGApp.Plugins.Hutao.Abyss.OverviewResponse>(url, { method: "GET" });
const resp = await TGHttp<TGApp.Plugins.Hutao.Abyss.OverviewResponse>(url, {
method: "GET",
query: { Last: isLast },
});
return resp.data;
}

View File

@@ -1,7 +1,7 @@
/**
* @file plugins/Hutao/request/getTeamCollect.ts
* @description 获取队伍搭配数据
* @since Beta v0.5.0
* @since Beta v0.6.2
*/
import TGHttp from "../../../utils/TGHttp.js";
@@ -9,13 +9,17 @@ import HutaoApi from "../api/index.js";
/**
* @description 获取队伍搭配数据
* @since Beta v0.5.0
* @since Beta v0.6.2
* @param {boolean} isLast 是否获取上期数据
* @return {Promise<TGApp.Plugins.Hutao.Abyss.TeamCombination[]>}
*/
async function getTeamCollect(): Promise<TGApp.Plugins.Hutao.Abyss.TeamCombination[]> {
async function getTeamCollect(
isLast: boolean = false,
): Promise<TGApp.Plugins.Hutao.Abyss.TeamCombination[]> {
const url = HutaoApi.Abyss.team;
const resp = await TGHttp<TGApp.Plugins.Hutao.Abyss.TeamCombinationResponse>(url, {
method: "GET",
query: { Last: isLast },
});
return resp.data;
}

View File

@@ -1,23 +0,0 @@
/**
* @file plugins/Hutao/request/getWeaponCollect.ts
* @description 获取武器搭配
* @since Beta v0.5.0
*/
import TGHttp from "../../../utils/TGHttp.js";
import HutaoApi from "../api/index.js";
/**
* @description 获取武器搭配
* @since Beta v0.5.0
* @return {Promise<TGApp.Plugins.Hutao.Abyss.WeaponCollocation[]>}
*/
async function getWeaponCollect(): Promise<TGApp.Plugins.Hutao.Abyss.WeaponCollocation[]> {
const url = HutaoApi.Abyss.weapon;
const resp = await TGHttp<TGApp.Plugins.Hutao.Abyss.WeaponCollocationResponse>(url, {
method: "GET",
});
return resp.data;
}
export default getWeaponCollect;