mirror of
https://github.com/babalae/better-genshin-impact.git
synced 2026-04-03 11:05:16 +08:00
重构了 `AvatarClassifyGen.cs` 中的图像读取逻辑,现在只读取一个图像文件。`AllConfig.cs` 中添加了 `ScriptConfig` 类的配置,并监听其属性变化。`ScriptRepoUpdater.cs` 中引入了多个新命名空间,添加了 `_logger` 和 `_webWindow` 字段,新增了 `AutoUpdate` 方法,修改了 `UpdateCenterRepo` 方法,新增了 `FindCenterRepoPath`、`ImportScriptFromUri` 和 `OpenLocalRepoInWebView` 方法。`WebpagePanel.cs` 中添加了 `OnWebViewInitializedAction` 属性。`WebpageWindow.cs` 中注释掉了背景色设置。`MainWindow.xaml` 中修改了标题栏图标路径。`JsListPage.xaml`、`KeyMouseRecordPage.xaml` 和 `MapPathingPage.xaml` 中修改了按钮命令绑定。`MainWindowViewModel.cs` 中添加了 `AutoUpdate` 方法调用。`JsListViewModel.cs`、`KeyMouseRecordPageViewModel.cs` 和 `MapPathingViewModel.cs` 中添加了 `Config` 属性和 `OnOpenLocalScriptRepo` 命令。新增了 `ScriptConfig.cs` 和 `RepoWebBridge.cs` 文件,定义了 `ScriptConfig` 和 `RepoWebBridge` 类。
53 lines
1.5 KiB
C#
53 lines
1.5 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace BetterGenshinImpact.Core.Script.WebView;
|
|
|
|
/// <summary>
|
|
/// 给 WebView 提供的桥接类
|
|
/// 用于调用 C# 方法
|
|
/// </summary>
|
|
[ClassInterface(ClassInterfaceType.AutoDual)]
|
|
[ComVisible(true)]
|
|
public class RepoWebBridge
|
|
{
|
|
public string GetRepoJson()
|
|
{
|
|
try
|
|
{
|
|
var localRepoJsonPath = Directory.GetFiles(ScriptRepoUpdater.CenterRepoPath, "repo.json", SearchOption.AllDirectories).FirstOrDefault();
|
|
if (localRepoJsonPath is null)
|
|
{
|
|
_ = ScriptRepoUpdater.Instance.UpdateCenterRepo().ConfigureAwait(false);
|
|
localRepoJsonPath = Directory.GetFiles(ScriptRepoUpdater.CenterRepoPath, "repo.json", SearchOption.AllDirectories).FirstOrDefault();
|
|
if (localRepoJsonPath is null)
|
|
{
|
|
throw new Exception("本地仓库缺少 repo.json");
|
|
}
|
|
}
|
|
|
|
var json = File.ReadAllText(localRepoJsonPath);
|
|
return json;
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
MessageBox.Show(e.Message, "获取仓库信息失败!");
|
|
return "";
|
|
}
|
|
}
|
|
|
|
public void ImportUri(string url)
|
|
{
|
|
try
|
|
{
|
|
ScriptRepoUpdater.Instance.ImportScriptFromUri(url, false).ConfigureAwait(false);
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
MessageBox.Show(e.Message, "订阅脚本链接失败!");
|
|
}
|
|
}
|
|
}
|