提交 e38580ba 编写于 作者: A Aigio Liu

🎨 加载配置文件失败的提示

上级 57c393e7
......@@ -5605,6 +5605,15 @@ namespace BD.WTTS.Client.Resources {
}
}
/// <summary>
/// 查找类似 无效的配置文件 的本地化字符串。
/// </summary>
public static string Settings_InvalidConfigurationFile {
get {
return ResourceManager.GetString("Settings_InvalidConfigurationFile", resourceCulture);
}
}
/// <summary>
/// 查找类似 语言 的本地化字符串。
/// </summary>
......
......@@ -2718,4 +2718,7 @@
<data name="SettingsModifiedRestartThisSoft" xml:space="preserve">
<value>设置已修改,需重启软件后生效</value>
</data>
<data name="Settings_InvalidConfigurationFile" xml:space="preserve">
<value>无效的配置文件</value>
</data>
</root>
\ No newline at end of file
......@@ -302,6 +302,17 @@ public interface ISettings<TSettings> : ISettings where TSettings : class, ISett
{
settings = new();
isInvalid = true;
// 尝试将错误的配置保存为 .json.i.bak 防止启动软件当前配置被覆盖
var settingsFilePath_i_bak = $"{settingsFilePath}.i.bak";
try
{
File.Move(settingsFilePath, settingsFilePath_i_bak);
}
catch
{
}
}
}
......
......@@ -96,13 +96,15 @@ public sealed partial class MainWindowViewModel : WindowViewModel
{
if (!IsInitialized)
{
var startup = Startup.Instance;
#if (WINDOWS || MACCATALYST || MACOS || LINUX) && !(IOS || ANDROID)
if (OperatingSystem.IsWindows())
{
// 等待 Ipc 管理员权限服务初始化完毕
await IPlatformService.IPCRoot.Instance;
}
if (Startup.Instance.TryGetPlugins(out var plugins))
if (startup.TryGetPlugins(out var plugins))
{
PluginCount = plugins.Count;
foreach (var plugin in plugins)
......@@ -143,6 +145,28 @@ public sealed partial class MainWindowViewModel : WindowViewModel
// item.Initialize();
// //Task.Run(item.Initialize).ForgetAndDispose();
//});
#region 提示设置项配置文件,如果存在无效的文件时
if (startup.InvalidConfiguration)
{
MainThread2.BeginInvokeOnMainThread(() =>
{
StringBuilder b = new(Strings.Settings_InvalidConfigurationFile);
b.AppendLine(Environment.NewLine);
foreach (var item in startup.InvalidConfigurationFileNames)
{
if (string.IsNullOrWhiteSpace(item))
continue;
b.Append(item);
b.AppendLine(FileEx.JSON);
}
MessageBox.Show(b.ToString(), Strings.Error, icon: MessageBox.Image.Error);
});
}
#endregion
IsInitialized = true;
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册