diff --git a/Authentication/MicrosoftAuthentication.cs b/Authentication/MicrosoftAuthentication.cs index 2cf28fe..1169765 100644 --- a/Authentication/MicrosoftAuthentication.cs +++ b/Authentication/MicrosoftAuthentication.cs @@ -206,8 +206,12 @@ public async ValueTask GetMicrosoftAuthInfo(GetTokenResponse t RelyingParty = "http://auth.xboxlive.com", TokenType = "JWT" }; + var options = new JsonSerializerOptions() + { + WriteIndented = true + }; - var xblLoginContentString = xboxLoginContent.Serialize(); + var xblLoginContentString = xboxLoginContent.Serialize(options); string xboxResponseString; @@ -238,7 +242,7 @@ public async ValueTask GetMicrosoftAuthInfo(GetTokenResponse t TokenType = "JWT" }; - var xstsPostData = getXstsJsonData.Serialize(); + var xstsPostData = getXstsJsonData.Serialize(options); var xstsResponse = await HttpUtil.SendHttpPostRequest("https://xsts.auth.xboxlive.com/xsts/authorize", xstsPostData, "application/json"); diff --git a/Skin/Fetchers/MicrosoftSkinFetcher.cs b/Skin/Fetchers/MicrosoftSkinFetcher.cs index f942f5a..c9d93a3 100644 --- a/Skin/Fetchers/MicrosoftSkinFetcher.cs +++ b/Skin/Fetchers/MicrosoftSkinFetcher.cs @@ -13,7 +13,7 @@ public class MicrosoftSkinFetcher /// /// 获取微软皮肤 /// - /// 皮肤图片字节信息 + /// 微软账户 /// 皮肤图片字节信息 public static async Task GetMicrosoftSkinAsync(MicrosoftAccount account) { diff --git a/Skin/Fetchers/UnifiedPassSkinFetcher.cs b/Skin/Fetchers/UnifiedPassSkinFetcher.cs index 11c7e7b..1a0b0ca 100644 --- a/Skin/Fetchers/UnifiedPassSkinFetcher.cs +++ b/Skin/Fetchers/UnifiedPassSkinFetcher.cs @@ -1,4 +1,5 @@ using System.Text; +using StarLight_Core.Models.Authentication; using StarLight_Core.Models.Skin; using StarLight_Core.Utilities; @@ -12,9 +13,19 @@ public class UnifiedPassSkinFetcher /// /// 获取统一通行证皮肤 /// - /// 微软账户 Uuid + /// 统一通行证账户 /// 皮肤图片字节信息 - public static async Task GetMicrosoftUnifiedPassSkinAsync(string uuid) + public static async Task GetUnifiedPassSkinAsync(UnifiedPassAccount account) + { + return await GetUnifiedPassSkinAsync(account.Uuid); + } + + /// + /// 获取统一通行证皮肤 + /// + /// 统一通行证账户 Uuid + /// 皮肤图片字节信息 + public static async Task GetUnifiedPassSkinAsync(string uuid) { const string baseUrl = "https://auth.mc-user.com:233/sessionserver/session/minecraft/profile/"; var skinJson = await HttpUtil.GetStringAsync(baseUrl + uuid); diff --git a/Skin/SkinProcessor.cs b/Skin/SkinProcessor.cs index c89b253..20f6393 100644 --- a/Skin/SkinProcessor.cs +++ b/Skin/SkinProcessor.cs @@ -30,7 +30,7 @@ public static void ResizeImage(string inputFilePath, string outputFilePath, int /// /// /// - public static void GetLiftLeg(string base64Image, string outputFilePath, bool isDecoration = false) + public static void GetLeftLeg(string base64Image, string outputFilePath, bool isDecoration = false) { var imageBytes = Convert.FromBase64String(base64Image); @@ -126,7 +126,7 @@ public static void GetRightLeg(string base64Image, string outputFilePath, bool i /// /// /// - public static void GetLiftArm_Alex(string base64Image, string outputFilePath, bool isDecoration = false) + public static void GetLeftArm_Alex(string base64Image, string outputFilePath, bool isDecoration = false) { var imageBytes = Convert.FromBase64String(base64Image); @@ -222,7 +222,7 @@ public static void GetRightArm_Alex(string base64Image, string outputFilePath, b /// /// /// - public static void GetLiftArm_Steve(string base64Image, string outputFilePath, bool isDecoration = false) + public static void GetLeftArm_Steve(string base64Image, string outputFilePath, bool isDecoration = false) { var imageBytes = Convert.FromBase64String(base64Image); diff --git a/StarLight.Core.sln b/StarLight.Core.sln index 60cccd6..18fcec9 100644 --- a/StarLight.Core.sln +++ b/StarLight.Core.sln @@ -1,4 +1,5 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 + +Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.7.34202.233 MinimumVisualStudioVersion = 10.0.40219.1 diff --git a/Utilities/JsonUtil.cs b/Utilities/JsonUtil.cs index 91bbdd4..6f6f637 100644 --- a/Utilities/JsonUtil.cs +++ b/Utilities/JsonUtil.cs @@ -79,11 +79,12 @@ public static class JsonUtil /// 将对象序列化为 JSON 字符串 /// /// 要序列化的对象 + /// 可选的序列化选项 /// 表示对象的 JSON 字符串;若 为 null,则返回字符串 "null" /// 为 null 时抛出 - public static string Serialize(this object? obj) + public static string Serialize(this object? obj, JsonSerializerOptions? options = null) { - return obj is null ? throw new ArgumentNullException(nameof(obj)) : JsonSerializer.Serialize(obj, Options); + return obj is null ? throw new ArgumentNullException(nameof(obj)) : JsonSerializer.Serialize(obj, options ?? Options); } /// @@ -95,7 +96,7 @@ public static string Serialize(this object? obj) /// /// JSON 字符串格式无效时抛出 public static JsonNode? ToJsonNode(this string json) => JsonNode.Parse(json); - + /// /// 将 JSON 字符串解析为 对象 ///