private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e) { try { var uri = e.Url; if (uri.AbsoluteUri.StartsWith(AMicroblogAPI.Environment.RedirectUri))//如果成功授权 { var authCode = uri.ToString().Split(new string[] { "?code=" }, StringSplitOptions.None)[1]; AMicroblogAPI.Environment.AccessToken = AMicroblog.GetAccessTokenByAuthorizationCode(authCode, AMicroblogAPI.Environment.RedirectUri); accessToken = AMicroblogAPI.Environment.AccessToken.Token; try { if (!containImage)//如果不带图片 { AMicroblog.PostStatus(content); } else//如果带图片 { var u = new UpdateStatusWithPicInfo(); u.Pic = "weiboTemp.png"; u.Status = content; AMicroblog.PostStatusWithPic(u); } this.Close(); MessageBox.Show("分享到微博成功!", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception a) { MessageBox.Show("更新微博错误!原因如下:\n" + a.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } catch (Exception a) { MessageBox.Show(a.Message, "错误"); } }
private AdvancedResult <string> Login(string username, string password, ref AdUser loginUser) { UserServiceClient client = new UserServiceClient(); AdvancedResult <string> response = new AdvancedResult <string>(); if (string.IsNullOrEmpty(username) || username.Length < 4 || username.Length > 16) { response.Error = AppError.ERROR_FAILED; response.ExMessage = "登陆失败!用户名长度不合法!"; return(response); } if (string.IsNullOrEmpty(password) || password.Length < 6 || password.Length > 18) { response.Error = AppError.ERROR_FAILED; response.ExMessage = "登陆失败!密码长度不合法!"; return(response); } response = client.Login(username, SecurityHelper.MD5(password)); if (response.Error == AppError.ERROR_SUCCESS) { WriteAuthCookie(username, response.Data); AdvancedResult <AdUser> aduser = client.GetUserInfo(response.Data); loginUser = aduser.Data; //绑定第三方账号 //object su = Session[sKey_SocialUserKey]; //SocialUser socialUser = su != null ? su as SocialUser : null; SocialUser socialUser = SecurityHelper.DecryptObject <SocialUser>(CookieHelper.Get(sKey_SocialUserKey), null); if (socialUser != null) { AdvancedResult <string> result = client.IsBindSocialUser(socialUser); if (result.Error != AppError.ERROR_SUCCESS) { socialUser.UserId = aduser.Data.AdUserId; AdvancedResult <string> bindresponse = client.BindSocialUserAfterLogin(response.Data, socialUser); if (bindresponse.Error == AppError.ERROR_SUCCESS) { switch (socialUser.SocialUserType) { case SocialUserTypeEnum.QQ: try { OAuthToken oToken = new OAuthToken(); oToken.AccessToken = socialUser.AccessToken; oToken.OpenId = socialUser.Uid; QOpenClient qclient = new QOpenClient(oToken); var postresult = qclient.AddTopic(Config.Instance.RegisteredTwitter, "2", SiteUrl); } catch { } break; case SocialUserTypeEnum.Sina: try { OAuthAccessToken stoken = new OAuthAccessToken(); stoken.Token = socialUser.AccessToken; stoken.UserID = socialUser.Uid; UpdateStatusInfo statusInfo = new UpdateStatusInfo(); statusInfo.Status = Config.Instance.RegisteredTwitter + SiteUrl; var postresult = AMicroblog.PostStatus(statusInfo, stoken); } catch { } break; } //绑定成功 response.ExMessage = "绑定成功!"; //Session[sKey_SocialUserKey] = null; CookieHelper.Remove(sKey_SocialUserKey); } else { //绑定失败 response.ExMessage = "绑定失败!请确认该第三方账号未与本站已注册账户绑定!"; } } else { response.ExMessage = "绑定失败!该第三方账号已经于本站现有账号绑定!"; } } } client.Close(); client = null; return(response); }