Exemple #1
0
 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"]));
     }
 }
Exemple #2
0
        /// <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());
        }
Exemple #3
0
        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("绑定失败")));
            }
        }
Exemple #4
0
        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;
            }
        }