This commit is contained in:
Zhe Fang
2025-12-15 15:36:50 -05:00
parent 29a6879e45
commit 90e7fa42d0
4 changed files with 16 additions and 5 deletions

View File

@@ -12,7 +12,7 @@
<Identity
Name="37412.BetterLyrics"
Publisher="CN=E1428B0E-DC1D-4EA4-ACB1-4556569D5BA9"
Version="1.1.190.0" />
Version="1.1.193.0" />
<mp:PhoneIdentity PhoneProductId="ca4a4830-fc19-40d9-b823-53e2bff3d816" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>

View File

@@ -8,6 +8,7 @@ using System.Text.Json.Serialization;
namespace BetterLyrics.WinUI3.Serialization
{
[JsonSerializable(typeof(LibreTranslateResponse))]
[JsonSerializable(typeof(CutletDockerRequest))]
[JsonSerializable(typeof(CutletDockerResponse))]
[JsonSerializable(typeof(JsonElement))]
[JsonSerializable(typeof(AppSettings))]

View File

@@ -704,8 +704,15 @@ namespace BetterLyrics.WinUI3.Services.MediaSessionsService
_logger.LogInformation("Target LibreTranslate language code changed: {code}", _settingsService.AppSettings.TranslationSettings.SelectedTargetLanguageCode);
UpdateLyrics();
}
else if (message.PropertyName == nameof(TranslationSettings.CutletDockerServer))
{
UpdateLyrics();
}
else if (message.PropertyName == nameof(TranslationSettings.LibreTranslateServer))
{
UpdateLyrics();
}
}
}
public void Receive(PropertyChangedMessage<ChineseRomanization> message)

View File

@@ -36,13 +36,16 @@ namespace BetterLyrics.WinUI3.Services.TransliterationService
throw new Exception("cutlet-docker server URL is not set in settings.");
}
var request = new CutletDockerRequest { Text = text };
var reqJson = System.Text.Json.JsonSerializer.Serialize(request, SourceGenerationContext.Default.CutletDockerRequest);
var url = $"{_settingsService.AppSettings.TranslationSettings.CutletDockerServer}/convert";
var response = await _httpClient.PostAsJsonAsync(url, new CutletDockerRequest { Text = text }, token);
var response = await _httpClient.PostAsync(url, new StringContent(reqJson, Encoding.UTF8, "application/json"));
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync(token);
var resJson = await response.Content.ReadAsStringAsync(token);
var result = System.Text.Json.JsonSerializer.Deserialize(json, SourceGenerationContext.Default.CutletDockerResponse);
var result = System.Text.Json.JsonSerializer.Deserialize(resJson, SourceGenerationContext.Default.CutletDockerResponse);
return result?.RomajiText ?? string.Empty;
}
}