diff --git a/src/Snap.Hutao/Snap.Hutao/Web/ApiOsEndpoints.cs b/src/Snap.Hutao/Snap.Hutao/Web/ApiOsEndpoints.cs index 6743bd2d..4dc726ac 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/ApiOsEndpoints.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/ApiOsEndpoints.cs @@ -1,7 +1,9 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. +using Snap.Hutao.Model.Primitive; using Snap.Hutao.Service.Game; +using Snap.Hutao.Web.Hoyolab; namespace Snap.Hutao.Web; @@ -13,6 +15,76 @@ namespace Snap.Hutao.Web; [SuppressMessage("", "SA1124")] internal static class ApiOsEndpoints { + #region ApiOsTaKumiApi + + /// + /// 用户游戏角色 + /// + /// 用户游戏角色字符串 + public const string UserGameRolesByCookie = $"{ApiOsTaKumiBindingApi}/getUserGameRolesByCookie?game_biz=hk4e_global"; + + #endregion + + #region BbsApiOsApi + + /// + /// 查询其他用户详细信息 + /// + /// bbs Uid + /// 查询其他用户详细信息字符串 + public static string UserFullInfoQuery(string bbsUid) + { + return $"{BbsApiOs}/community/painter/wapi/user/full"; + } + + /// + /// 国际服角色基本信息 + /// + /// uid + /// 角色基本信息字符串 + public static string GameRecordRoleBasicInfo(PlayerUid uid) + { + return $"{BbsApiOsGameRecordApi}/roleBasicInfo?role_id={uid.Value}&server={uid.Region}"; + } + + /// + /// 国际服角色信息 + /// + public const string GameRecordCharacter = $"{BbsApiOsGameRecordApi}/character"; + + /// + /// 国际服游戏记录实时便笺 + /// + /// uid + /// 游戏记录实时便笺字符串 + public static string GameRecordDailyNote(PlayerUid uid) + { + return $"{BbsApiOsGameRecordApi}/dailyNote?server={uid.Region}&role_id={uid.Value}"; + } + + /// + /// 国际服游戏记录主页 + /// + /// uid + /// 游戏记录主页字符串 + public static string GameRecordIndex(PlayerUid uid) + { + return $"{BbsApiOsGameRecordApi}/index?server={uid.Region}&role_id={uid.Value}"; + } + + /// + /// 国际服深渊信息 + /// + /// 深渊类型 + /// Uid + /// 深渊信息字符串 + public static string GameRecordSpiralAbyss(Hoyolab.Takumi.GameRecord.SpiralAbyssSchedule scheduleType, PlayerUid uid) + { + return $"{BbsApiOsGameRecordApi}/spiralAbyss?schedule_type={(int)scheduleType}&role_id={uid.Value}&server={uid.Region}"; + } + + #endregion + #region Hk4eApiOsGachaInfoApi /// @@ -40,6 +112,12 @@ internal static class ApiOsEndpoints #endregion #region Hosts | Queries + private const string ApiOsTaKumi = "https://api-os-takumi.hoyoverse.com"; + private const string ApiOsTaKumiBindingApi = $"{ApiOsTaKumi}/binding/api"; + + private const string BbsApiOs = "https://bbs-api-os.hoyolab.com"; + private const string BbsApiOsGameRecordApi = $"{BbsApiOs}/game_record/genshin/api"; + private const string Hk4eApiOs = "https://hk4e-api-os.hoyoverse.com"; private const string Hk4eApiOsGachaInfoApi = $"{Hk4eApiOs}/event/gacha_info/api";