This commit is contained in:
CJK_mkp
2025-12-27 16:51:46 +08:00
parent 3f8cabc7e0
commit 2f957374e3
+24 -3
View File
@@ -298,9 +298,11 @@ namespace Ink_Canvas
} }
} }
private static readonly HttpClient HitokotoHttpClient = CreateHitokotoClient(); private static readonly Lazy<object> HitokotoHttpClient = new Lazy<object>(CreateHitokotoClient, System.Threading.LazyThreadSafetyMode.ExecutionAndPublication);
private static HttpClient CreateHitokotoClient() private static object CreateHitokotoClient()
{
try
{ {
var client = new HttpClient var client = new HttpClient
{ {
@@ -315,6 +317,18 @@ namespace Ink_Canvas
} }
return client; return client;
} }
catch (Exception ex)
{
try
{
LogHelper.WriteLogToFile($"无法创建 HttpClient (System.Net.Http 可能缺失): {ex.Message}", LogHelper.LogType.Warning);
}
catch
{
}
return null;
}
}
private async Task UpdateChickenSoupTextAsync() private async Task UpdateChickenSoupTextAsync()
{ {
@@ -346,7 +360,14 @@ namespace Ink_Canvas
try try
{ {
var response = await HitokotoHttpClient.GetAsync("https://v1.hitokoto.cn/?encode=text"); var clientObj = HitokotoHttpClient.Value;
if (clientObj == null || !(clientObj is HttpClient client))
{
BlackBoardWaterMark.Text = "一言功能不可用(缺少 System.Net.Http";
return;
}
var response = await client.GetAsync("https://v1.hitokoto.cn/?encode=text");
response.EnsureSuccessStatusCode(); response.EnsureSuccessStatusCode();
var text = await response.Content.ReadAsStringAsync(); var text = await response.Content.ReadAsStringAsync();