/// <summary> /// 根据默认参数输入参数获取结果 /// </summary> /// <param name="def"></param> /// <param name="entry"></param> /// <returns></returns> public static OutputParametes GetInputParametes(DefaultParametes def, EntryParametes entry) { string url = HttpRequestTool.GetUrl(def, entry); string responsStr = HttpRequestTool.CreateHttpRequest(url); OutputParametes inp = HttpRequestTool.GetOutputParametes(responsStr); return(inp); }
public ActionResult Step3() { try { LogHelper.WriteInfo("Step3"); string imgUrl = string.Empty; string authCode = string.Empty; string phone = Session["Phone"].ToString(); if (Session["AuthCode"] != null) { authCode = Session["AuthCode"].ToString(); } else if (HttpContext.Request.Form["txtAuthCode"] != null && HttpContext.Request.Form["txtAuthCode"] != "") { authCode = HttpContext.Request.Form["txtAuthCode"]; } else { Step2(); } DefaultParametes def = HttpRequestTool.GetDefaultParametes(1, 4); EntryParametes entry = new EntryParametes() { authCode = authCode, phone = phone }; OutputParametes inp = HttpRequestTool.GetInputParametes(def, entry); HttpRequestResult httpResult = HttpRequestTool.CheckInputParametes(inp, 3); if (httpResult.state == 0) //成功 { return(View("Success")); } else if (httpResult.state == 1) //下一步 { Session.Add("AuthCode", authCode); return(View("Step4")); } else //异常 { ViewBag.Message = httpResult.context; return(View("Step3")); } } catch (Exception e) { LogHelper.WriteError(e.Message, e); return(View("Step3")); } }
public ActionResult Step4() { try { LogHelper.WriteInfo("Step4"); string imgUrl = string.Empty; string smsCode = HttpContext.Request.Form["txtSMSCode"]; object authCodeObj = Session["AuthCode"]; string authCode = authCodeObj != null?authCodeObj.ToString() : ""; if (smsCode == null || smsCode == "") { Step3(); return(View("Step4")); } string phone = Session["Phone"].ToString(); DefaultParametes def = HttpRequestTool.GetDefaultParametes(1, 5); EntryParametes entry = new EntryParametes() { smsCode = smsCode, authCode = authCode, phone = phone }; OutputParametes inp = HttpRequestTool.GetInputParametes(def, entry); HttpRequestResult httpResult = HttpRequestTool.CheckInputParametes(inp, 4); if (httpResult.state == 0) //成功 { return(View("Success")); } else //异常 { ViewBag.Message = httpResult.context; return(View("Step4")); } } catch (Exception e) { LogHelper.WriteError(e.Message, e); return(View("Step4")); } }
public ActionResult Step1() { try { LogHelper.WriteInfo("Step1"); string phone = HttpContext.Request["txtPhone"]; if (phone == null) //第二步返回 { phone = Session["Phone"].ToString(); } string imgUrl = string.Empty; DefaultParametes def = HttpRequestTool.GetDefaultParametes(1, 1); EntryParametes entry = new EntryParametes() { index = "1", phone = phone }; OutputParametes inp = HttpRequestTool.GetInputParametes(def, entry); HttpRequestResult httpResult = HttpRequestTool.CheckInputParametes(inp); if (httpResult.state == 0) //成功 { return(View("Success")); } else if (httpResult.state == 1) //失败 { imgUrl = HttpRequestTool.CreateHttpRequest(httpResult.context, 2); Session.Add("Phone", phone); return(View("Step2", (object)imgUrl)); } else //异常 { ViewBag.Message = httpResult.context; return(View("Index")); } } catch (Exception e) { LogHelper.WriteError(e.Message, e); return(View("Index")); } }
/// <summary> /// 获取手机账单信息 /// </summary> /// <param name="phone">手机号</param> /// <returns></returns> public string GetMobileBill(string phone) { try { LogHelper.WriteInfo("GetMobileBill"); DefaultParametes def = HttpRequestTool.GetDefaultParametes(1, 6); EntryParametes entry = new EntryParametes(); entry.loginName = phone; string url = HttpRequestTool.GetUrl(def, entry); string responsStr = HttpRequestTool.CreateHttpRequest(url); OutputParametes inp = HttpRequestTool.GetOutputParametes(responsStr); if (inp != null && inp.phoneList != null && inp.phoneList.Count > 0) { _baseDAL.SavePhoneList(inp.phoneList[0]); } return(responsStr); } catch (Exception e) { LogHelper.WriteError(e.Message, e); return(""); } }
public ActionResult Step2() { try { LogHelper.WriteInfo("Step2"); string imgUrl = string.Empty; string password = string.Empty; string phone = Session["Phone"].ToString(); string authCode = HttpContext.Request.Form["txtAuthCode"]; if (Session["Password"] != null) //如Session不为空 则为第三步返回 { password = Session["Password"].ToString(); } else if (HttpContext.Request.Form["txtPassword"] != null && HttpContext.Request.Form["txtPassword"] != "") //第二步正常点击下一步 { password = HttpContext.Request.Form["txtPassword"]; } else //第二步重新获取验证码 { Step1(); return(View("Step2")); } DefaultParametes def = HttpRequestTool.GetDefaultParametes(1, 2); EntryParametes entry = new EntryParametes() { password = password, authCode = authCode, phone = phone }; OutputParametes inp = HttpRequestTool.GetInputParametes(def, entry); HttpRequestResult httpResult = HttpRequestTool.CheckInputParametes(inp, 2); if (httpResult.state == 0) //成功 { return(View("Success")); } else if (httpResult.state == 2) //需图片验证码 { def = HttpRequestTool.GetDefaultParametes(1, 3); entry = new EntryParametes() { index = "3", phone = phone }; inp = HttpRequestTool.GetInputParametes(def, entry); httpResult = HttpRequestTool.CheckInputParametes(inp); if (httpResult.state == 1) //下一步 { Session.Add("Password", password); Session.Add("AuthCode", authCode); imgUrl = HttpRequestTool.CreateHttpRequest(httpResult.context, 2); return(View("Step3", (object)imgUrl)); } else //异常 { ViewBag.Message = httpResult.context; return(View("Step2")); } } else if (httpResult.state == 3) //需短信验证码 { Session.Add("AuthCode", authCode); return(View("Step4")); } else //异常 { ViewBag.Message = httpResult.context; return(View("Step2")); } } catch (Exception e) { LogHelper.WriteError(e.Message, e); return(View("Step2")); } }
/// <summary> /// 判断输出结果并返回状态(0、成功1、下一步2、需图片验证码3、需短信验证码) ///(1)当errorcode!=0表示错误,不再进行后面的判断,错误代码参考接口请求错误码; ///(2)当errorcode=0表示正确: /// a,当success=false,表示响应失败 /// b,当success=true,表示响应成功 /// i,当status!=1,表示失败,errorMsg表示错误消息,imgUrl不为空,显示验证码地址, /// 如果为空,则需要重新执行第一步获取验证码地址 /// ii,当status=1,表示成功, /// 1. 当result=true时,表示没有下一步,此步登陆成功。 /// 2. 当result=false时,表示还有下一步(比如动态密码或者图片验证码, /// 例如上海电信需要二次图片验证码) /// <1>.当imgUrl="getImg", 则执行第(3)步获取图片验证码 /// <2>. 当imgUrl!="getImg", 执行第(4)步发送动态口令 /// </summary> /// <param name="inp">输出参数</param> /// <param name="step">当前步骤</param> /// <returns></returns> public static HttpRequestResult CheckInputParametes(OutputParametes inp, int step = 1) { HttpRequestResult result = new HttpRequestResult(); result.state = -1; if (inp.errorCode == "0") { if (inp.success == "True") { if (inp.result == "True" && step == 2) { result.state = 0; return(result); } if (inp.status == "1") { if (step == 1 || step == 3) { result.state = 1; result.context = inp.imgUrl; } else if (step == 2) { if (inp.imgUrl == "getImg") { result.state = 2; } else { result.state = 3; } } else { if (inp.imgUrl == "") { result.state = 0; } else { result.state = 1; result.context = inp.imgUrl; } } } else { result.state = -1; result.context = inp.errorMsg; } } else { result.state = -1; result.context = inp.errorMsg; } } else { result.state = -1; switch (inp.errorCode) { #region 系统级错误 case "10001": result.context = "appId为空"; break; case "10002": result.context = "timeunit为空"; break; case "10003": result.context = "timeunit过期"; break; case "10004": result.context = "timeunit属于未来时间,无效"; break; case "10005": result.context = "token生成错误"; break; case "10006": result.context = "appId对应的appkey不存在"; break; case "10007": result.context = "该接口不存在或其他访问异常"; break; case "10008": result.context = "userId为空"; break; case "10009": result.context = "userId不正确"; break; case "10010": result.context = "页面过期,请刷新页面重试"; break; case "10011": result.context = "userId长度超过45个字符"; break; #endregion #region 用户级错误 case "20004": result.context = "手机号码为空"; break; case "20006": result.context = "手机服务密码为空"; break; case "20007": result.context = "手机号码位数不正确"; break; case "20008": result.context = "手机号码格式不正确"; break; #endregion default: break; } } return(result); }