public Task <HttpResponseMessage> OtherDeviceLogin(PhoneLogin phoneLogin) { ResponseBase response = new ResponseBase(); var result = _wechat.GetA8Key(phoneLogin.WxId, "", phoneLogin.Url); Util.Log.Logger.GetLog(this.GetType()).Info("################OtherDeviceLogin_FullURL:" + result.fullURL + "################"); if (result.fullURL.Contains("https://open.weixin.qq.com/")) { SeleniumHelper seleniumHelper = new SeleniumHelper(Browsers.Chrome); try { seleniumHelper.GoToUrl(result.fullURL); seleniumHelper.ClickElement(seleniumHelper.FindElementByXPath(@"//*[@id=""js_allow""]")); response.Message = "登录成功"; } catch (Exception e) { response.Success = false; response.Code = "501"; response.Message = "登录失败,二维码已过期-" + e.Message; } seleniumHelper.Cleanup(); } else { response.Success = false; response.Code = "501"; response.Message = "登录失败"; } return(response.ToHttpResponseAsync()); }
/// <summary> /// 登录 /// </summary> /// <param name="type"></param> /// <returns></returns> public bool Login(LoginType type) { ILoginStrategy strategy = null; switch (type) { case LoginType.Email: strategy = new EmailLogin(); break; case LoginType.Phone: strategy = new PhoneLogin(); break; case LoginType.QrCode: strategy = new QrCodeLogin(); break; } _loginContext = new LoginContext(strategy, this); JObject j = _loginContext.Login(); //解析返回值 AuthInfoHelper auth = new AuthInfoHelper(j); if (auth.Code == 200) { ID = auth.UserID; return(true); } return(false); }
public Task <HttpResponseMessage> PhoneDeviceLogin(PhoneLogin phoneLogin) { ResponseBase response = new ResponseBase(); var result = _wechat.GetA8Key(phoneLogin.WxId, "", phoneLogin.Url); Util.Log.Logger.GetLog(this.GetType()).Info("################PhoneDeviceLogin_FullURL:" + result.fullURL + "################"); if (result.fullURL.Contains("https://login.weixin.qq.com")) { SeleniumHelper seleniumHelper = new SeleniumHelper(Browsers.Chrome); try { seleniumHelper.GoToUrl(result.fullURL); seleniumHelper.ClickElement(seleniumHelper.FindElementByXPath("/html/body/form/div[3]/p/button")); response.Message = "辅助成功,请在手机再次登录"; } catch (Exception e) { response.Success = false; response.Code = "501"; response.Message = "登录失败,二维码已过期-" + e.Message; } seleniumHelper.Cleanup(); } else { response.Success = false; response.Code = "501"; response.Message = "登录失败"; } return(response.ToHttpResponseAsync()); }