From b233dbcc5d44805111c0ebdf00461ef3d6fb9a0a Mon Sep 17 00:00:00 2001 From: milimoe Date: Tue, 11 Mar 2025 01:44:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=89=A9=E5=B1=95=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Api/Utility/DataExtension.cs | 35 ++++++++++++++++++++++++++++++++++ Api/Utility/General.cs | 18 ----------------- Api/Utility/StringExtension.cs | 20 +++++++++++++++++++ 3 files changed, 55 insertions(+), 18 deletions(-) create mode 100644 Api/Utility/DataExtension.cs create mode 100644 Api/Utility/StringExtension.cs diff --git a/Api/Utility/DataExtension.cs b/Api/Utility/DataExtension.cs new file mode 100644 index 0000000..315ea96 --- /dev/null +++ b/Api/Utility/DataExtension.cs @@ -0,0 +1,35 @@ +namespace Milimoe.FunGame.Core.Api.Utility +{ + public static class DictionaryExtensions + { + /// + /// 从 中获取指定键的值,并将其转换为指定的类型。 + /// + /// 要转换的目标类型 + /// 要从中获取值的字典 + /// 要获取值的键 + /// 转换后的值,如果键不存在或转换失败,则返回默认值。 + public static T? GetValue(this Dictionary dict, string key) + { + if (dict is null || !dict.TryGetValue(key, out object? value) || value is null) + { + return default; + } + + try + { + // 如果已经是目标类型,则直接返回 + if (value is T t) + { + return t; + } + + return NetworkUtility.JsonDeserializeFromDictionary(dict, key); + } + catch (Exception) + { + return default; + } + } + } +} diff --git a/Api/Utility/General.cs b/Api/Utility/General.cs index 5e0edb4..31d7897 100644 --- a/Api/Utility/General.cs +++ b/Api/Utility/General.cs @@ -491,24 +491,6 @@ namespace Milimoe.FunGame.Core.Api.Utility } } - /// - /// 为字符串(string)添加扩展方法 - /// - public static class StringExtension - { - /// - /// 使用 HMAC-SHA512 算法对文本进行加密 - /// 注意:此方法会先将 转为小写并计算两次哈希。 - /// - /// 需要加密的文本 - /// 用于加密的秘钥 - /// 加密后的 HMAC-SHA512 哈希值 - public static string Encrypt(this string text, string key) - { - return Encryption.HmacSha512(text, Encryption.HmacSha512(text, key.ToLower())); - } - } - #endregion #region 验证服务 diff --git a/Api/Utility/StringExtension.cs b/Api/Utility/StringExtension.cs new file mode 100644 index 0000000..6eeaac8 --- /dev/null +++ b/Api/Utility/StringExtension.cs @@ -0,0 +1,20 @@ +namespace Milimoe.FunGame.Core.Api.Utility +{ + /// + /// 为字符串(string)添加扩展方法 + /// + public static class StringExtension + { + /// + /// 使用 HMAC-SHA512 算法对文本进行加密 + /// 注意:此方法会先将 转为小写并计算两次哈希。 + /// + /// 需要加密的文本 + /// 用于加密的秘钥 + /// 加密后的 HMAC-SHA512 哈希值 + public static string Encrypt(this string text, string key) + { + return Encryption.HmacSha512(text, Encryption.HmacSha512(text, key.ToLower())); + } + } +}