Add some hoyolab endpoints

This commit is contained in:
xhichn
2023-03-12 23:20:09 +08:00
parent a832ea96ea
commit d85811ee99

View File

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