public VideoInfoService(string input) { if (input == null) { return; } if (ParseEntrance.IsAvId(input) || ParseEntrance.IsAvUrl(input)) { long avid = ParseEntrance.GetAvId(input); videoView = VideoInfo.VideoViewInfo(null, avid); } if (ParseEntrance.IsBvId(input) || ParseEntrance.IsBvUrl(input)) { string bvid = ParseEntrance.GetBvId(input); videoView = VideoInfo.VideoViewInfo(bvid); } }
/// <summary> /// 输入avid事件 /// </summary> private async void ExecuteAvidCommand(string parameter) { if (parameter == null) { return; } if (!ParseEntrance.IsAvId(parameter)) { return; } long avid = ParseEntrance.GetAvId(parameter); if (avid == -1) { return; } await Task.Run(() => { Bvid = BvId.Av2Bv((ulong)avid); }); }
/// <summary> /// 解析支持的输入, /// 支持的格式有:<para/> /// av号:av170001, AV170001, https://www.bilibili.com/video/av170001 <para/> /// BV号:BV17x411w7KC, https://www.bilibili.com/video/BV17x411w7KC, https://b23.tv/BV17x411w7KC <para/> /// 番剧(电影、电视剧)ss号:ss32982, SS32982, https://www.bilibili.com/bangumi/play/ss32982 <para/> /// 番剧(电影、电视剧)ep号:ep317925, EP317925, https://www.bilibili.com/bangumi/play/ep317925 <para/> /// 番剧(电影、电视剧)md号:md28228367, MD28228367, https://www.bilibili.com/bangumi/media/md28228367 <para/> /// 课程ss号:https://www.bilibili.com/cheese/play/ss205 <para/> /// 课程ep号:https://www.bilibili.com/cheese/play/ep3489 <para/> /// 收藏夹:ml1329019876, ML1329019876, https://www.bilibili.com/medialist/detail/ml1329019876, https://www.bilibili.com/medialist/play/ml1329019876/ <para/> /// 用户空间:uid928123, UID928123, uid:928123, UID:928123, https://space.bilibili.com/928123 /// </summary> /// <param name="input"></param> /// <param name="parentViewName"></param> /// <param name="eventAggregator"></param> /// <returns></returns> public bool BiliInput(string input, string parentViewName, IEventAggregator eventAggregator) { // 视频 if (ParseEntrance.IsAvId(input)) { NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, $"{ParseEntrance.VideoUrl}{input.ToLower()}"); } else if (ParseEntrance.IsAvUrl(input)) { NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, input); } else if (ParseEntrance.IsBvId(input)) { NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, $"{ParseEntrance.VideoUrl}{input}"); } else if (ParseEntrance.IsBvUrl(input)) { NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, input); } // 番剧(电影、电视剧) else if (ParseEntrance.IsBangumiSeasonId(input)) { NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, $"{ParseEntrance.BangumiUrl}{input.ToLower()}"); } else if (ParseEntrance.IsBangumiSeasonUrl(input)) { NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, input); } else if (ParseEntrance.IsBangumiEpisodeId(input)) { NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, $"{ParseEntrance.BangumiUrl}{input.ToLower()}"); } else if (ParseEntrance.IsBangumiEpisodeUrl(input)) { NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, input); } else if (ParseEntrance.IsBangumiMediaId(input)) { NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, $"{ParseEntrance.BangumiMediaUrl}{input.ToLower()}"); } else if (ParseEntrance.IsBangumiMediaUrl(input)) { NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, input); } // 课程 else if (ParseEntrance.IsCheeseSeasonUrl(input) || ParseEntrance.IsCheeseEpisodeUrl(input)) { NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, parentViewName, input); } // 用户(参数传入mid) else if (ParseEntrance.IsUserId(input)) { NavigateToView.NavigateToViewUserSpace(eventAggregator, ViewIndexViewModel.Tag, ParseEntrance.GetUserId(input)); } else if (ParseEntrance.IsUserUrl(input)) { NavigateToView.NavigateToViewUserSpace(eventAggregator, ViewIndexViewModel.Tag, ParseEntrance.GetUserId(input)); } // 收藏夹 else if (ParseEntrance.IsFavoritesId(input)) { NavigateToView.NavigationView(eventAggregator, ViewPublicFavoritesViewModel.Tag, parentViewName, ParseEntrance.GetFavoritesId(input)); } else if (ParseEntrance.IsFavoritesUrl(input)) { NavigateToView.NavigationView(eventAggregator, ViewPublicFavoritesViewModel.Tag, parentViewName, ParseEntrance.GetFavoritesId(input)); } else { return(false); } return(true); }