public void ShowPopup() { UserNameInputBox.SetText(""); PasswordInputBox.SetText(""); CaptchaBlock.Visibility = Visibility.Collapsed; WebContainer.Visibility = Visibility.Collapsed; BackupWebView.NavigateToString(""); UIHelper.PopupShow(this); PopupIn.Begin(); }
private async void BackupWebView_NavigationCompleted(WebView sender, WebViewNavigationCompletedEventArgs args) { if (args.Uri == null) { return; } if (args.Uri.AbsoluteUri == "https://passport.bilibili.com/ajax/miniLogin/redirect") { var results = await BiliTool.GetTextFromWebAsync("https://passport.bilibili.com/login/app/third?appkey=27eb53fc9058f8c3&api=http%3A%2F%2Flink.acg.tv%2Fforum.php&sign=67ec798004373253d60114caaad89a8c", true); var obj = JObject.Parse(results); if (Convert.ToInt32(obj["code"].ToString()) == 0) { BackupWebView.Navigate(new Uri(obj["data"]["confirm_uri"].ToString())); } else { new TipPopup("登陆失败,请重试").ShowError(); } } }
private async void BackupWebView_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { if (args.Uri == null) { return; } if (args.Uri.AbsoluteUri.Contains("access_key=")) { var access = Regex.Match(args.Uri.AbsoluteUri, "access_key=(.*?)&").Groups[1].Value; await App.BiliViewModel._client.Account.SetLoginStatusAsync(access); await App.BiliViewModel.GetMeAsync(); HidePopup(); } try { BackupWebView.AddWebAllowedObject("biliapp", App.BiliViewModel._webClient); BackupWebView.AddWebAllowedObject("secure", App.BiliViewModel._secure); } catch (Exception) { } }