public JsonResult EncryptedBindPhone(string code, string iv, string data, string nickname, string city) { var bus = new Bus(this.DataSource); var pay = new JsApiPay(this.Request); pay.GetOpenidAndSession(code, city); Phone phone = new Phone(); bool state = false; exterData exdata = null; var wxuser = bus.GetUserInfo(pay.openid, WxPayConfig.APPID(city)); var isSign = bus.isSign(pay.openid, WxPayConfig.APPID(city), city); if (!string.IsNullOrEmpty(pay.session_key)) { string result = bus.AESDecrypt(iv, pay.session_key, data); phone = Bus.JsonDeserialize <Phone>(result); state = true; wxuser.Mobile = phone.phoneNumber; wxuser.DataDriver = this.DataSource; wxuser.Store(); exdata = bus.Sign(pay.openid, nickname, Request.UserHostAddress, city); } return(Json(new { exdata = exdata, isSign = isSign, state = state, phone = phone }, JsonRequestBehavior.AllowGet)); }