public void Login(Dictionary <string, string> requestParams) { if (requestParams.ContainsKey("mp") && !string.IsNullOrWhiteSpace(requestParams["mp"])) { WX_Info user = new WX_Info(); user.OpenID = string.Empty; user.UserType = 0; user.FollowState = (int)WxUserState.UnAttention; user.CompanyID = requestParams["cid"]; user.City = string.Empty; user.Country = string.Empty; user.Headimgurl = string.Empty; user.Language = string.Empty; user.NickName = string.Empty; user.Province = string.Empty; user.Sex = "M"; user.MobilePhone = requestParams["mp"]; user.LastSubscribeDate = DateTime.Now; WX_Info result = WXAccountServices.AddOrGetWXInfo(user); if (result == null) { throw new MyException("保存用户信息失败"); } Session["SmartSystem_H5_WX_Info"] = result; Response.Cookies.Add(new HttpCookie("SmartSystem_H5_MobilePhone", requestParams["mp"])); } }
/// <summary> /// 微信帐户信息 /// </summary> /// <returns></returns> public string Search_WXAccount() { int page = string.IsNullOrEmpty(Request.Params["page"]) ? 0 : int.Parse(Request.Params["page"]); int rows = string.IsNullOrEmpty(Request.Params["rows"]) ? 0 : int.Parse(Request.Params["rows"]); string accountname = Request.Params["accountname"]; string mobile = Request.Params["mobile"]; DateTime starttime = DateTime.Parse(Request.Params["starttime"]); DateTime endtime = DateTime.Parse(Request.Params["endtime"]); if (string.IsNullOrWhiteSpace(Request.Params["CompanyID"])) { return(string.Empty); } string companyId = Request.Params["CompanyID"].ToString(); Pagination pagination = WXAccountServices.Search_WXAccount(companyId, accountname, mobile, starttime, endtime, page, rows); StringBuilder sb = new StringBuilder(); string str = JsonHelper.GetJsonString(pagination.WXAccountList); sb.Append("{"); sb.Append("\"total\":" + pagination.Total + ","); sb.Append("\"rows\":" + str + ","); sb.Append("\"index\":" + rows); sb.Append("}"); return(sb.ToString()); }
public ActionResult SaveBindMobile(string phone, string code) { try { var companyCookie = Request.Cookies["SmartSystem_H5_CompanyID"]; if (companyCookie == null || string.IsNullOrWhiteSpace(companyCookie.Value)) { throw new MyException("获取单位信息失败,请重新进入页面"); } if (string.IsNullOrWhiteSpace(phone) || !new Regex("^1[0-9]{10}$").Match(phone).Success) { throw new MyException("手机号码格式错误"); } CheckBindTradePasswordCode(code, phone); WX_Info user = new WX_Info(); user.OpenID = string.Empty; user.UserType = 0; user.FollowState = (int)WxUserState.UnAttention; user.CompanyID = companyCookie.Value; user.City = string.Empty; user.Country = string.Empty; user.Headimgurl = string.Empty; user.Language = string.Empty; user.NickName = string.Empty; user.Province = string.Empty; user.Sex = "M"; user.MobilePhone = phone; user.LastSubscribeDate = DateTime.Now; WX_Info result = WXAccountServices.AddOrGetWXInfo(user); if (result == null) { throw new MyException("绑定失败"); } RemoveTradePasswordCooike(); Session["SmartSystem_H5_WX_Info"] = result; Response.Cookies.Add(new HttpCookie("SmartSystem_H5_MobilePhone", phone)); return(Json(MyResult.Success())); } catch (MyException ex) { return(Json(MyResult.Error(ex.Message))); } catch (Exception ex) { ExceptionsServices.AddExceptionToDbAndTxt("H5BindMobileError", "绑定手机号失败", ex, LogFrom.WeiXin); return(Json(MyResult.Error("绑定失败"))); } }
public override void OnAuthorization(AuthorizationContext filterContext) { try { var mobilePhone = string.Empty; WX_Info user = null; var cookie = filterContext.RequestContext.HttpContext.Request.Cookies["SmartSystem_H5_MobilePhone"]; if (cookie != null && !string.IsNullOrWhiteSpace(cookie.Value)) { mobilePhone = cookie.Value; } var companyCookie = filterContext.RequestContext.HttpContext.Request.Cookies["SmartSystem_H5_CompanyID"]; if (companyCookie == null || string.IsNullOrWhiteSpace(companyCookie.Value)) { filterContext.HttpContext.Response.Redirect(string.Format("~/ErrorPrompt/Error?message={0}", "获取单位信息失败,请重新进入页面")); filterContext.HttpContext.Response.End(); filterContext.Result = new EmptyResult(); return; } // string mobilePhone = string.Empty; var permission = Roles.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (permission.Contains("Login")) { if (string.IsNullOrWhiteSpace(mobilePhone)) { #if DEBUG mobilePhone = "18711015805"; #endif } if (string.IsNullOrWhiteSpace(mobilePhone)) { var queryString = filterContext.RequestContext.HttpContext.Request.Url.PathAndQuery; if (filterContext.RequestContext.HttpContext.Request["returnUrl"] != null) { queryString = filterContext.RequestContext.HttpContext.Request["returnUrl"]; } filterContext.HttpContext.Response.Redirect(string.Format("~/H5BindMobile/Index?returnUrl={0}", queryString)); filterContext.HttpContext.Response.End(); filterContext.Result = new EmptyResult(); return; } } if (filterContext.HttpContext.Session["SmartSystem_H5_WX_Info"] != null) { user = (WX_Info)filterContext.HttpContext.Session["SmartSystem_H5_WX_Info"]; } if (user == null) { user = WXAccountServices.QueryWXInfoByMobilePhone(mobilePhone, companyCookie.Value); } if (user == null) { var queryString = filterContext.RequestContext.HttpContext.Request.Url.PathAndQuery; if (filterContext.RequestContext.HttpContext.Request["returnUrl"] != null) { queryString = filterContext.RequestContext.HttpContext.Request["returnUrl"]; } filterContext.HttpContext.Response.Redirect(string.Format("~/H5BindMobile/Index?returnUrl={0}", queryString)); filterContext.HttpContext.Response.End(); filterContext.Result = new EmptyResult(); return; } HttpContext.Current.Session["SmartSystem_LogFrom"] = LogFrom.WeiXin; filterContext.HttpContext.Session["SmartSystem_H5_WX_Info"] = user; } catch (Exception ex) { ExceptionsServices.AddExceptions(ex, "验证H5登录信息失败", LogFrom.WeiXin); TxtLogServices.WriteTxtLogEx("H5LoginPurview", ex); return; } }