修复监听剪贴板失效的问题

croire 3 years ago
parent 049778b76f
commit 78b247d4a1

@ -26,68 +26,72 @@ namespace DownKyi.Services
/// <returns></returns> /// <returns></returns>
public bool BiliInput(string input, string parentViewName, IEventAggregator eventAggregator) public bool BiliInput(string input, string parentViewName, IEventAggregator eventAggregator)
{ {
// 移除剪贴板id
string justId = input.Replace(AppConstant.ClipboardId, "");
// 视频 // 视频
if (ParseEntrance.IsAvId(input)) if (ParseEntrance.IsAvId(justId))
{ {
NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, $"{ParseEntrance.VideoUrl}{input.ToLower()}"); NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, $"{ParseEntrance.VideoUrl}{input.ToLower()}");
} }
else if (ParseEntrance.IsAvUrl(input)) else if (ParseEntrance.IsAvUrl(justId))
{ {
NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, input); NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, input);
} }
else if (ParseEntrance.IsBvId(input)) else if (ParseEntrance.IsBvId(justId))
{ {
NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, $"{ParseEntrance.VideoUrl}{input}"); NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, $"{ParseEntrance.VideoUrl}{input}");
} }
else if (ParseEntrance.IsBvUrl(input)) else if (ParseEntrance.IsBvUrl(justId))
{ {
NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, input); NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, input);
} }
// 番剧(电影、电视剧) // 番剧(电影、电视剧)
else if (ParseEntrance.IsBangumiSeasonId(input)) else if (ParseEntrance.IsBangumiSeasonId(justId))
{ {
NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, $"{ParseEntrance.BangumiUrl}{input.ToLower()}"); NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, $"{ParseEntrance.BangumiUrl}{input.ToLower()}");
} }
else if (ParseEntrance.IsBangumiSeasonUrl(input)) else if (ParseEntrance.IsBangumiSeasonUrl(justId))
{ {
NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, input); NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, input);
} }
else if (ParseEntrance.IsBangumiEpisodeId(input)) else if (ParseEntrance.IsBangumiEpisodeId(justId))
{ {
NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, $"{ParseEntrance.BangumiUrl}{input.ToLower()}"); NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, $"{ParseEntrance.BangumiUrl}{input.ToLower()}");
} }
else if (ParseEntrance.IsBangumiEpisodeUrl(input)) else if (ParseEntrance.IsBangumiEpisodeUrl(justId))
{ {
NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, input); NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, input);
} }
else if (ParseEntrance.IsBangumiMediaId(input)) else if (ParseEntrance.IsBangumiMediaId(justId))
{ {
NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, $"{ParseEntrance.BangumiMediaUrl}{input.ToLower()}"); NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, $"{ParseEntrance.BangumiMediaUrl}{input.ToLower()}");
} }
else if (ParseEntrance.IsBangumiMediaUrl(input)) else if (ParseEntrance.IsBangumiMediaUrl(justId))
{ {
NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, input); NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, input);
} }
// 课程 // 课程
else if (ParseEntrance.IsCheeseSeasonUrl(input) || ParseEntrance.IsCheeseEpisodeUrl(input)) else if (ParseEntrance.IsCheeseSeasonUrl(justId)
|| ParseEntrance.IsCheeseEpisodeUrl(justId))
{ {
NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, input); NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, input);
} }
// 用户参数传入mid // 用户参数传入mid
else if (ParseEntrance.IsUserId(input)) else if (ParseEntrance.IsUserId(justId))
{ {
NavigateToView.NavigateToViewUserSpace(eventAggregator, ViewIndexViewModel.Tag, ParseEntrance.GetUserId(input)); NavigateToView.NavigateToViewUserSpace(eventAggregator, ViewIndexViewModel.Tag, ParseEntrance.GetUserId(input));
} }
else if (ParseEntrance.IsUserUrl(input)) else if (ParseEntrance.IsUserUrl(justId))
{ {
NavigateToView.NavigateToViewUserSpace(eventAggregator, ViewIndexViewModel.Tag, ParseEntrance.GetUserId(input)); NavigateToView.NavigateToViewUserSpace(eventAggregator, ViewIndexViewModel.Tag, ParseEntrance.GetUserId(input));
} }
// 收藏夹 // 收藏夹
else if (ParseEntrance.IsFavoritesId(input)) else if (ParseEntrance.IsFavoritesId(justId))
{ {
NavigateToView.NavigationView(eventAggregator, ViewPublicFavoritesViewModel.Tag, parentViewName, ParseEntrance.GetFavoritesId(input)); NavigateToView.NavigationView(eventAggregator, ViewPublicFavoritesViewModel.Tag, parentViewName, ParseEntrance.GetFavoritesId(input));
} }
else if (ParseEntrance.IsFavoritesUrl(input)) else if (ParseEntrance.IsFavoritesUrl(justId))
{ {
NavigateToView.NavigationView(eventAggregator, ViewPublicFavoritesViewModel.Tag, parentViewName, ParseEntrance.GetFavoritesId(input)); NavigateToView.NavigationView(eventAggregator, ViewPublicFavoritesViewModel.Tag, parentViewName, ParseEntrance.GetFavoritesId(input));
} }

@ -753,10 +753,10 @@ namespace DownKyi.ViewModels
{ {
string param = navigationContext.Parameters.GetValue<string>("Parameter"); string param = navigationContext.Parameters.GetValue<string>("Parameter");
// 移除剪贴板id // 移除剪贴板id
string intput = param.Replace(AppConstant.ClipboardId, ""); string input = param.Replace(AppConstant.ClipboardId, "");
// 检测是否从剪贴板传入 // 检测是否从剪贴板传入
if (InputText == intput && param.EndsWith(AppConstant.ClipboardId)) if (InputText == input && param.EndsWith(AppConstant.ClipboardId))
{ {
return; return;
} }
@ -764,7 +764,7 @@ namespace DownKyi.ViewModels
// 正在执行任务时不开启新任务 // 正在执行任务时不开启新任务
if (LoadingVisibility != Visibility.Visible) if (LoadingVisibility != Visibility.Visible)
{ {
InputText = intput; InputText = input;
PropertyChangeAsync(ExecuteInputCommand); PropertyChangeAsync(ExecuteInputCommand);
} }
} }

Loading…
Cancel
Save