This commit is contained in:
CJK_mkp
2025-12-27 16:51:46 +08:00
parent 3f8cabc7e0
commit 2f957374e3
+31 -10
View File
@@ -298,22 +298,36 @@ 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()
{ {
var client = new HttpClient
{
Timeout = TimeSpan.FromSeconds(5)
};
try try
{ {
client.DefaultRequestHeaders.UserAgent.ParseAdd("InkCanvas-Hitokoto/1.0"); var client = new HttpClient
{
Timeout = TimeSpan.FromSeconds(5)
};
try
{
client.DefaultRequestHeaders.UserAgent.ParseAdd("InkCanvas-Hitokoto/1.0");
}
catch
{
}
return client;
} }
catch catch (Exception ex)
{ {
try
{
LogHelper.WriteLogToFile($"无法创建 HttpClient (System.Net.Http 可能缺失): {ex.Message}", LogHelper.LogType.Warning);
}
catch
{
}
return null;
} }
return client;
} }
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();