public AuthorizePage() { InitializeComponent(); Title = "登录"; var cancel = new ToolbarItem { Text = "关闭", Command = new Command(async() => { await Navigation.PopModalAsync(); }) }; ToolbarItems.Add(cancel); if (Device.Android == Device.RuntimePlatform) { cancel.Icon = "toolbar_close.png"; } FormsWebView.OnNavigationCompleted += OnNavigationCompleted; FormsWebView.Source = string.Format(Apis.Authorize, TokenHttpClient.ClientId); popupPage = new ActivityIndicatorPopupPage(); Navigation.PushPopupAsync(popupPage); }
public BookmarksDetailsPage(Bookmarks bookmarks) : base() { InitializeComponent(); Title = bookmarks.Title; var cancel = new ToolbarItem { Text = "分享", Command = new Command(() => { DependencyService.Get <IShares>().Shares(bookmarks.LinkUrl, bookmarks.Title); }) }; ToolbarItems.Add(cancel); if (Device.Android == Device.RuntimePlatform) { cancel.Icon = "toolbar_share.png"; } FormsWebView.OnNavigationCompleted += OnNavigationCompleted; FormsWebView.OnNavigationError += OnNavigationError; FormsWebView.Source = bookmarks.LinkUrl; popupPage = new ActivityIndicatorPopupPage(); }
private async void OnNavigationCompleted(object sender, string url) { if (url.IndexOf("https://passport.cnblogs.com/user/signin?returnUrl=") > -1) { await Navigation.RemovePopupPageAsync(popupPage); } if (url.IndexOf("https://oauth.cnblogs.com/auth/callback#code=") > -1) { if (popupPage == null) { popupPage = new ActivityIndicatorPopupPage(); } await Navigation.PushPopupAsync(popupPage); try { FormsWebView.IsVisible = false; var codeindex = url.IndexOf("#code=") + 6; var tokenindex = url.IndexOf("&id_token="); var code = url.Substring(codeindex, tokenindex - codeindex); if (code != "") { var result = await TokenHttpClient.Current.PostTokenAsync(code); if (result.Success) { var token = JsonConvert.DeserializeObject <Token>(result.Message.ToString()); token.RefreshTime = DateTime.Now; UserTokenSettings.Current.UpdateUserToken(token); var userResult = await UserHttpClient.Current.GetAsyn(Apis.Users); if (userResult.Success) { var user = JsonConvert.DeserializeObject <User>(userResult.Message.ToString()); UserSettings.Current.UpdateUser(user); await Navigation.PopModalAsync(); } else { await DisplayAlert("登录", "登录失败", "确定"); } } else { await DisplayAlert("登录", "获取token失败", "确定"); } } else { await DisplayAlert("登录", "获取Code失败", "确定"); } } catch (Exception ex) { await DisplayAlert("登录", ex.Message, "确定"); } } }
public async Task ExecuteBookmarkEditAsync() { var toast = DependencyService.Get <IToast>(); var title = this.EntryTitle.Text; var link = this.EntryLink.Text; var tags = this.EntryTags.Text; var summary = this.EditorSummary.Text; if (title == null) { toast.SendToast("请输入标题"); } else if (title.Length < 3) { toast.SendToast("标题最少要3个字."); } else if (link == null) { toast.SendToast("请输入网址."); } else if (link.Length < 3) { toast.SendToast("网址最少要3个字."); } else { bookmarks.Title = title; if (tags != null) { bookmarks.Tags = tags.Split(',').ToList(); } bookmarks.LinkUrl = link; bookmarks.Summary = summary; bookmarks.DateAdded = DateTime.Now; if (popupPage == null) { popupPage = new ActivityIndicatorPopupPage(); } await Navigation.PushPopupAsync(popupPage); if (await ViewModel.ExecuteBookmarkEditCommandAsync(bookmarks)) { await Navigation.RemovePopupPageAsync(popupPage); if (result != null) { result.Invoke(bookmarks); } Navigation.RemovePage(this); } else { await Navigation.RemovePopupPageAsync(popupPage); } } }
public async Task ExecuteQuestionkEditAsync() { var toast = DependencyService.Get <IToast>(); var title = this.entryTitle.Text; var tags = this.entryTags.Text; var content = this.editorContent.Text; if (title == null) { toast.SendToast("请输入标题"); } else if (title.Length < 3) { toast.SendToast("标题最少要3个字."); } else { if (AboutSettings.Current.WeibaToggled && questions.Qid == 0) { content += "\r\n[" + AboutSettings.Current.WeibaContent + "]"; } questions.Title = title; questions.Tags = tags; questions.Summary = content; questions.Content = content; questions.DateAdded = DateTime.Now; questions.QuestionUserInfo = new QuestionUserInfo() { UserID = UserSettings.Current.SpaceUserId, UserName = UserSettings.Current.DisplayName, IconName = UserSettings.Current.Avatar }; if (popupPage == null) { popupPage = new ActivityIndicatorPopupPage(); } await Navigation.PushPopupAsync(popupPage); if (await ViewModel.ExecuteQuestionsEditCommandAsync(questions)) { await Navigation.RemovePopupPageAsync(popupPage); if (result != null) { result.Invoke(questions); } Navigation.RemovePage(this); } else { await Navigation.RemovePopupPageAsync(popupPage); } } }
public AuthorizePage() { InitializeComponent(); Title = "登录"; FormsWebView.OnNavigationCompleted += OnNavigationCompleted; FormsWebView.OnNavigationError += OnNavigationError; FormsWebView.Source = string.Format(Apis.Authorize, TokenHttpClient.ClientId); popupPage = new ActivityIndicatorPopupPage(); }
public async Task ExecuteStatusesEditAsync() { var toast = DependencyService.Get <IToast>(); var content = this.editorContent.Text; if (content == null) { toast.SendToast("Please Enter Content"); } else if (content.Length < 3) { toast.SendToast("Content At Least 3 Words."); } else { if (AboutSettings.Current.WeibaToggled && statuses.Id == 0) { content += "\r\n[" + AboutSettings.Current.WeibaContent + "]"; } statuses.Content = content; statuses.DateAdded = DateTime.Now; statuses.UserId = UserSettings.Current.SpaceUserId; statuses.UserDisplayName = UserSettings.Current.DisplayName; statuses.UserIconUrl = UserSettings.Current.Avatar; }; if (popupPage == null) { popupPage = new ActivityIndicatorPopupPage(); } await Navigation.PushPopupAsync(popupPage); if (await ViewModel.ExecuteStatusesEditCommandAsync(statuses)) { await Navigation.RemovePopupPageAsync(popupPage); if (result != null) { result.Invoke(statuses); } Navigation.RemovePage(this); } else { await Navigation.RemovePopupPageAsync(popupPage); } }
public async Task ExecuteStatusesEditAsync() { var toast = DependencyService.Get <IToast>(); var content = this.editorContent.Text; if (content == null) { toast.SendToast("请输入内容"); } else if (content.Length < 3) { toast.SendToast("内容最少要3个字."); } else { statuses.Content = content; statuses.DateAdded = DateTime.Now; statuses.UserId = UserSettings.Current.SpaceUserId; statuses.UserDisplayName = UserSettings.Current.DisplayName; statuses.UserIconUrl = UserSettings.Current.Avatar; }; if (popupPage == null) { popupPage = new ActivityIndicatorPopupPage(); } await Navigation.PushPopupAsync(popupPage); if (await ViewModel.ExecuteStatusesEditCommandAsync(statuses)) { await Navigation.RemovePopupPageAsync(popupPage); if (result != null) { result.Invoke(statuses); } Navigation.RemovePage(this); } else { await Navigation.RemovePopupPageAsync(popupPage); } }