From 2432b1ec5d943553a7146988bb9d081f7bdc3ab5 Mon Sep 17 00:00:00 2001
From: Lightczx <1686188646@qq.com>
Date: Mon, 17 Apr 2023 12:41:06 +0800
Subject: [PATCH] fix #675
---
.../Snap.Hutao/Service/Game/LaunchScheme.cs | 23 ++++++++++++-------
src/Snap.Hutao/Snap.Hutao/Web/ApiEndpoints.cs | 2 +-
.../Snap.Hutao/Web/ApiOsEndpoints.cs | 2 +-
.../Web/Response/KnownReturnCode.cs | 5 ++++
4 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Game/LaunchScheme.cs b/src/Snap.Hutao/Snap.Hutao/Service/Game/LaunchScheme.cs
index 534df145..f5c94fa5 100644
--- a/src/Snap.Hutao/Snap.Hutao/Service/Game/LaunchScheme.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Service/Game/LaunchScheme.cs
@@ -20,18 +20,16 @@ internal sealed class LaunchScheme
// 官服
new()
{
- DisplayName = SH.ModelBindingLaunchGameLaunchSchemeChinese,
LauncherId = "18",
Key = "eYd89JmJ",
Channel = ChannelType.Official,
- SubChannel = SubChannelType.Default,
+ SubChannel = SubChannelType.Official,
IsOversea = false,
},
// 渠道服
new()
{
- DisplayName = SH.ModelBindingLaunchGameLaunchSchemeBilibili,
LauncherId = "17",
Key = "KAtdSsoQ",
Channel = ChannelType.Bili,
@@ -42,7 +40,6 @@ internal sealed class LaunchScheme
// 国际服
new()
{
- DisplayName = SH.ModelBindingLaunchGameLaunchSchemeOversea,
LauncherId = "10",
Key = "gcStgarh",
Channel = ChannelType.Official,
@@ -51,7 +48,6 @@ internal sealed class LaunchScheme
},
new()
{
- DisplayName = SH.ModelBindingLaunchGameLaunchSchemeOversea,
LauncherId = "10",
Key = "gcStgarh",
Channel = ChannelType.Official,
@@ -60,7 +56,6 @@ internal sealed class LaunchScheme
},
new()
{
- DisplayName = SH.ModelBindingLaunchGameLaunchSchemeOversea,
LauncherId = "10",
Key = "gcStgarh",
Channel = ChannelType.Official,
@@ -70,9 +65,21 @@ internal sealed class LaunchScheme
}.ToImmutableList();
///
- /// 名称
+ /// 显示名称
///
- public string DisplayName { get; private set; } = default!;
+ public string DisplayName
+ {
+ get
+ {
+ return (Channel, IsOversea) switch
+ {
+ (ChannelType.Official, false) => SH.ModelBindingLaunchGameLaunchSchemeChinese,
+ (ChannelType.Bili, false) => SH.ModelBindingLaunchGameLaunchSchemeBilibili,
+ (_, true) => $"{SH.ModelBindingLaunchGameLaunchSchemeOversea} | {SubChannel}",
+ _ => throw Must.NeverHappen(),
+ };
+ }
+ }
///
/// 通道
diff --git a/src/Snap.Hutao/Snap.Hutao/Web/ApiEndpoints.cs b/src/Snap.Hutao/Snap.Hutao/Web/ApiEndpoints.cs
index 885cd68a..02ad5ce8 100644
--- a/src/Snap.Hutao/Snap.Hutao/Web/ApiEndpoints.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Web/ApiEndpoints.cs
@@ -323,7 +323,7 @@ internal static class ApiEndpoints
/// 启动器资源字符串
public static string SdkStaticLauncherResource(LaunchScheme scheme)
{
- return $"{SdkStaticLauncherApi}/resource?key={scheme.Key}&launcher_id={scheme.LauncherId}&channel_id={scheme.Channel}&sub_channel_id={scheme.SubChannel}";
+ return $"{SdkStaticLauncherApi}/resource?key={scheme.Key}&launcher_id={scheme.LauncherId}&channel_id={scheme.Channel:D}&sub_channel_id={scheme.SubChannel:D}";
}
// https://sdk-static.mihoyo.com/hk4e_cn/mdk/launcher/api/content?filter_adv=true&key=eYd89JmJ&language=zh-cn&launcher_id=18
diff --git a/src/Snap.Hutao/Snap.Hutao/Web/ApiOsEndpoints.cs b/src/Snap.Hutao/Snap.Hutao/Web/ApiOsEndpoints.cs
index 35cff726..af5e2ec8 100644
--- a/src/Snap.Hutao/Snap.Hutao/Web/ApiOsEndpoints.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Web/ApiOsEndpoints.cs
@@ -229,7 +229,7 @@ internal static class ApiOsEndpoints
/// 启动器资源字符串
public static string SdkOsStaticLauncherResource(LaunchScheme scheme)
{
- return $"{SdkOsStaticLauncherApi}/resource?key={scheme.Key}&launcher_id={scheme.LauncherId}&channel_id={scheme.Channel}&sub_channel_id={scheme.SubChannel}";
+ return $"{SdkOsStaticLauncherApi}/resource?key={scheme.Key}&launcher_id={scheme.LauncherId}&channel_id={scheme.Channel:D}&sub_channel_id={scheme.SubChannel:D}";
}
#endregion
diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Response/KnownReturnCode.cs b/src/Snap.Hutao/Snap.Hutao/Web/Response/KnownReturnCode.cs
index 25e2887d..b5cc3540 100644
--- a/src/Snap.Hutao/Snap.Hutao/Web/Response/KnownReturnCode.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Web/Response/KnownReturnCode.cs
@@ -59,6 +59,11 @@ internal enum KnownReturnCode
///
SkillLevelLimitExcceed = -1009,
+ ///
+ /// 服务器内部错误
+ ///
+ SomethingWentWrong = -502,
+
///
/// 登录信息已失效,请重新登录
///