From ce1b0fc398c6fc32d1ad8a02969b4e043506a801 Mon Sep 17 00:00:00 2001 From: BTMuli Date: Fri, 5 May 2023 18:47:59 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=A4=94=20add(sth):=20=E5=8A=A0=E4=BA=86?= =?UTF-8?q?=E4=B8=80=E4=BA=9B=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/api/TGApi.ts | 8 +++++++- src/core/api/Takumi.ts | 11 +++++++++-- src/core/constant/TGConstant.ts | 5 +++++ src/core/constant/bbs.ts | 9 +++++++++ src/core/utils/getRequestHeader.ts | 8 ++++++-- 5 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 src/core/constant/bbs.ts diff --git a/src/core/api/TGApi.ts b/src/core/api/TGApi.ts index f0dfb8f6..e9d493d5 100644 --- a/src/core/api/TGApi.ts +++ b/src/core/api/TGApi.ts @@ -8,7 +8,7 @@ import { ENKA_API } from "./ENKA"; import { Hk4eAnnoListApi, Hk4eAnnoContentApi, Hk4eAnnoQuery } from "./Hk4e"; import { PassportTokenApi, PassportCookieTokenApi, PassportVetifyApi } from "./Passport"; -import { TakumiTokensApi } from "./Takumi"; +import { TakumiTokensApi, TakumiRecordCardApi, TakumiRecordGenshinCharacterApi, TakumiRecordGenshinIndexApi, TakumiRecordGenshinSpiralAbyssApi } from "./Takumi"; // 应用 API const TGApi = { @@ -22,6 +22,12 @@ const TGApi = { getCookieToken: PassportCookieTokenApi, // 根据 Cookie 获取 Token vetifyStoken: PassportVetifyApi, // 验证 stoken 有效性 }, + GameData: { + getUserCard: TakumiRecordCardApi, // 获取用户卡片 + getUserBase: TakumiRecordGenshinIndexApi, // 获取用户基本信息 + getCharacter: TakumiRecordGenshinCharacterApi, // 获取角色信息 + getAbyss: TakumiRecordGenshinSpiralAbyssApi, // 获取深境螺旋信息 + }, }; export default TGApi; diff --git a/src/core/api/Takumi.ts b/src/core/api/Takumi.ts index e64d4316..cb9a9cbc 100644 --- a/src/core/api/Takumi.ts +++ b/src/core/api/Takumi.ts @@ -1,11 +1,18 @@ /** * @file core api Takumi.ts * @description 定义 Takumi API - * @see https://gitee.com/ultradream/Genshin-Tools * @author BTMuli - * @since Alpha v0.1.3 + * @since Alpha v0.2.0 */ const TakumiApi = "https://api-takumi.mihoyo.com/"; // 基础 API +const TakumiRecordApi = "https://api-takumi-record.mihoyo.com"; // 游戏记录 API +const TakumiRecordGenshinApi = `${TakumiRecordApi}game_record/app/genshin/api/`; // 原神游戏记录 API const TaukumiAuthApi = `${TakumiApi}auth/api/`; // 认证 API + export const TakumiTokensApi = `${TaukumiAuthApi}getMultiTokenByLoginTicket`; // 登录票据 API +export const TakumiActionTicketsApi = `${TaukumiAuthApi}getActionTicketByStoken`; // 行为票据 API +export const TakumiRecordCardApi = `${TakumiRecordApi}game_record/app/card/wapi/getGameRecordCard`; // 游戏记录卡片 API +export const TakumiRecordGenshinIndexApi = `${TakumiRecordGenshinApi}index`; // 原神游戏记录索引 API +export const TakumiRecordGenshinCharacterApi = `${TakumiRecordGenshinApi}character`; // 原神游戏记录角色 API +export const TakumiRecordGenshinSpiralAbyssApi = `${TakumiRecordGenshinApi}spiralAbyss`; // 原神游戏记录深境螺旋 API diff --git a/src/core/constant/TGConstant.ts b/src/core/constant/TGConstant.ts index 458ffad4..e753a96d 100644 --- a/src/core/constant/TGConstant.ts +++ b/src/core/constant/TGConstant.ts @@ -5,10 +5,15 @@ * @since Alpha v0.2.0 */ +import { BBS_VERSION, BBS_HEADER_AGENT } from "./bbs"; import SALT from "./salt"; const TGConstant = { SALT, + BBS: { + VERSION: BBS_VERSION, + USER_AGENT: BBS_HEADER_AGENT, + }, }; export default TGConstant; diff --git a/src/core/constant/bbs.ts b/src/core/constant/bbs.ts new file mode 100644 index 00000000..42afdd79 --- /dev/null +++ b/src/core/constant/bbs.ts @@ -0,0 +1,9 @@ +/** + * @file core constant bbs.ts + * @description 常量-应用数据 + * @author BTMuli + * @since Alpha v0.2.0 + */ + +export const BBS_VERSION = "2.49.1"; +export const BBS_HEADER_AGENT = `Mozilla/5.0 (iPhone; CPU iPhone OS 16_0_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) miHoYoBBS/${BBS_VERSION}`; diff --git a/src/core/utils/getRequestHeader.ts b/src/core/utils/getRequestHeader.ts index 71999c3b..5e94b4e7 100644 --- a/src/core/utils/getRequestHeader.ts +++ b/src/core/utils/getRequestHeader.ts @@ -5,10 +5,14 @@ * @since Alpha v0.2.0 */ +import TGConstant from "../constant/TGConstant"; + export function getRequestHeader (cookie: BTMuli.User.Base.Cookie): Record { const header = { - "User-Agent": "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.34 Tauri.Genshin/0.1.2", - "x-rpc-app_version": "2.0.0", + "User-Agent": TGConstant.BBS.USER_AGENT, + "content-type": "application/json;charset=UTF-8", + "x-requested-with": "com.mihoyo.hyperion", + "x-rpc-app_version": TGConstant.BBS.VERSION, "x-rpc-client_type": "5", "x-rpc-device_id": cookie.DEVICEFP, Origin: "https://www.miyoushe.com",