From d03d0df13ca4047d9c4bef7aaf54fa374f52cc33 Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Wed, 11 Oct 2023 11:08:59 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=87=AA=E5=8A=A8=E6=88=98=E6=96=97?= =?UTF-8?q?=E5=9C=B0=E5=9B=BE=E9=93=BE=E6=8E=A5=E6=8C=87=E5=90=91PRTS.Map?= =?UTF-8?q?=E5=AF=B9=E5=BA=94=E7=9A=84=E5=9C=B0=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit close #6227 --- .../ViewModels/UI/CopilotViewModel.cs | 39 +++++++++++++------ src/MaaWpfGui/Views/UI/CopilotView.xaml | 4 +- 2 files changed, 30 insertions(+), 13 deletions(-) diff --git a/src/MaaWpfGui/ViewModels/UI/CopilotViewModel.cs b/src/MaaWpfGui/ViewModels/UI/CopilotViewModel.cs index 42242eb35c..ca9f295e10 100644 --- a/src/MaaWpfGui/ViewModels/UI/CopilotViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/CopilotViewModel.cs @@ -160,7 +160,8 @@ namespace MaaWpfGui.ViewModels.UI private async Task UpdateFileDoc(string filename) { ClearLog(); - Url = CopilotUiUrl; + CopilotUrl = CopilotUiUrl; + MapUrl = MapUiUrl; _isVideoTask = false; string jsonStr; @@ -256,6 +257,11 @@ namespace MaaWpfGui.ViewModels.UI return; } + if (json.TryGetValue("stage_name", out var stageNameValue)) + { + MapUrl = MapUiUrl.Replace("areas", "map/" + stageNameValue); + } + AddLog(LocalizationHelper.GetString("CopilotTip")); var doc = (JObject)json["doc"]; @@ -264,7 +270,6 @@ namespace MaaWpfGui.ViewModels.UI { title = titleValue.ToString(); - do { // 为自动作战列表匹配名字 @@ -314,21 +319,21 @@ namespace MaaWpfGui.ViewModels.UI AddLog(details, detailsColor); { - Url = CopilotUiUrl; + CopilotUrl = CopilotUiUrl; var linkParser = new Regex(@"(?:av\d+|bv[a-z0-9]{10})(?:\/\?p=\d+)?", RegexOptions.Compiled | RegexOptions.IgnoreCase); foreach (Match match in linkParser.Matches(details)) { - Url = MaaUrls.BilibiliVideo + match.Value; + CopilotUrl = MaaUrls.BilibiliVideo + match.Value; break; } - if (string.IsNullOrEmpty(Url)) + if (string.IsNullOrEmpty(CopilotUrl)) { linkParser = new Regex(@"(?:https?://)\S+\b", RegexOptions.Compiled | RegexOptions.IgnoreCase); foreach (Match m in linkParser.Matches(details)) { - Url = m.Value; + CopilotUrl = m.Value; break; } } @@ -945,8 +950,6 @@ namespace MaaWpfGui.ViewModels.UI AddLog(LocalizationHelper.GetString("ThanksForLikeWebJson"), UiLogColor.Info); } - private const string CopilotUiUrl = MaaUrls.PrtsPlus; - private string _url = MaaUrls.PrtsPlus; private string _urlText = LocalizationHelper.GetString("PrtsPlus"); /// @@ -958,19 +961,33 @@ namespace MaaWpfGui.ViewModels.UI private set => SetAndNotify(ref _urlText, value); } + private const string CopilotUiUrl = MaaUrls.PrtsPlus; + + private string _copilotUrl = CopilotUiUrl; + /// /// Gets or private sets the copilot URL. /// - public string Url + public string CopilotUrl { - get => _url; + get => _copilotUrl; private set { UrlText = value == CopilotUiUrl ? LocalizationHelper.GetString("PrtsPlus") : LocalizationHelper.GetString("VideoLink"); - SetAndNotify(ref _url, value); + SetAndNotify(ref _copilotUrl, value); } } + private const string MapUiUrl = MaaUrls.MapPrts; + + private string _mapUrl = MapUiUrl; + + public string MapUrl + { + get => _mapUrl; + private set => SetAndNotify(ref _mapUrl, value); + } + /// /// 点击后移除界面中元素焦点 /// diff --git a/src/MaaWpfGui/Views/UI/CopilotView.xaml b/src/MaaWpfGui/Views/UI/CopilotView.xaml index 152fd7f478..cb8fa9fae7 100644 --- a/src/MaaWpfGui/Views/UI/CopilotView.xaml +++ b/src/MaaWpfGui/Views/UI/CopilotView.xaml @@ -285,7 +285,7 @@ Block.TextAlignment="Center"> @@ -351,7 +351,7 @@ Block.TextAlignment="Center">