/// <summary>
        /// 获取用户基本信息 20200525
        /// </summary>
        public WechatUserInfo GetWeChartUserInfoNew(WeChatUserModel userModel)
        {
            WeChatInfoModel InfoModel  = _IWeChatClientRepository.Decrypt(userModel.code, _IOptions.Value.appid, _IOptions.Value.secret);
            WechatUserInfo  wechatUser = _IWeChatClientRepository.DecryptUserInfo(userModel.encryptedData, userModel.iv, InfoModel.session_key);

            return(wechatUser);
        }
示例#2
0
        /// <summary>
        /// 根据微信小程序平台提供的解密算法解密数据,推荐直接使用此方法
        /// </summary>
        /// <param name="loginInfo">登陆信息</param>
        /// <returns>用户信息</returns>
        public WechatUserInfo Decrypt(WechatLoginInfo loginInfo)
        {
            if (loginInfo == null)
            {
                return(null);
            }

            if (String.IsNullOrEmpty(loginInfo.code))
            {
                return(null);
            }

            OpenIdAndSessionKey oiask = DecodeOpenIdAndSessionKey(loginInfo);

            if (oiask == null)
            {
                return(null);
            }

            if (!VaildateUserInfo(loginInfo, oiask))
            {
                return(null);
            }

            WechatUserInfo userInfo = Decrypt(loginInfo.encryptedData, loginInfo.iv, oiask.session_key);

            return(userInfo);
        }
示例#3
0
        /// <summary>
        /// 绑定用户
        /// </summary>
        /// <param name="wxuser"></param>

        private MemberInfo BindUser(WechatUserInfo wxuser)
        {
            var memberInfoDal = new MemberInfoDal();
            var memberInfo    = memberInfoDal.GetModel(string.Format("OpenId='{0}'", wxuser.OpenId));

            if (memberInfo == null)
            {
                memberInfo = new MemberInfo
                {
                    OpenId   = wxuser.OpenId,
                    NickName = wxuser.Nickname,
                    Role     = (int)MemberRole.顾客,
                    CreateOn = DateTime.Now.ToUnixStamp()
                };

                memberInfo.Uid = memberInfoDal.Add(memberInfo);
            }
            else
            {
                memberInfo.NickName = wxuser.Nickname;

                memberInfoDal.Update(memberInfo);
            }

            SetCookie(memberInfo);
            return(memberInfo);
        }
示例#4
0
        //        用户绑定后显示信息
        public ActionResult BindingInfo()
        {
            WechatUserInfo CurrentWechatUserInfo = Session["WechatUserInfo"] as WechatUserInfo;
            SQLHelper      dbo = new SQLHelper();

            System.Data.DataTable dt = dbo.getsqlDatable(@"SELECT D.UserID, A.CompanyID,A.StoreID, A.LeaderUserID, A.RoleID,A.EmpNo, A.EmpName, A.CardNo, A.CellPhone, A.Sex, A.HireDate,
                                                     CASE WHEN A.Active = 1 THEN '在职' ELSE '离职' END AS Active,C.RoleName,B.CompanyName,E.StoreName
                                              FROM USERS A
                                              INNER JOIN [Role] C ON A.RoleID = C.RoleID
                                              INNER JOIN [Store] E ON A.StoreID=E.StoreID
                                              INNER JOIN Company B ON E.CompanyID = B.CompanyID
                                              RIGHT JOIN WechatUsers D ON A.UserID = D.UserID
                                              Where D.OpenID =@OpenID ", new SqlParameter("OpenID", CurrentWechatUserInfo.openid));
            if (dt.Rows.Count == 1)
            {
                Session["UserInfo"] = new User
                {
                    UserID       = dt.Rows[0][0].ToString(),
                    CompanyID    = dt.Rows[0][1].ToString(),
                    StoreID      = dt.Rows[0][2].ToString(),
                    LeaderUserID = dt.Rows[0][3].ToString(),
                    RoleID       = dt.Rows[0][4].ToString(),
                    EmpNo        = dt.Rows[0][5].ToString(),
                    EmpName      = dt.Rows[0][6].ToString(),
                    CardNo       = dt.Rows[0][7].ToString(),
                    CellPhone    = dt.Rows[0][8].ToString(),
                    Sex          = dt.Rows[0][9].ToString(),
                    HireDate     = dt.Rows[0][10].ToString(),
                    Active       = dt.Rows[0][11].ToString(),
                    RoleName     = dt.Rows[0][12].ToString(),
                    CompanyName  = dt.Rows[0][13].ToString(),
                    StoreName    = dt.Rows[0][14].ToString()
                };


                ViewBag.nickname     = CurrentWechatUserInfo.nickname;
                ViewBag.headimgurl   = CurrentWechatUserInfo.headimgurl;
                ViewBag.openid       = CurrentWechatUserInfo.openid;
                ViewBag.sex          = CurrentWechatUserInfo.sex;
                ViewBag.province     = CurrentWechatUserInfo.province;
                ViewBag.city         = CurrentWechatUserInfo.city;
                ViewBag.country      = CurrentWechatUserInfo.country;
                ViewBag.CompanyID    = dt.Rows[0][1].ToString();
                ViewBag.CompanyName  = dt.Rows[0][13].ToString();
                ViewBag.RoleName     = dt.Rows[0][12].ToString();
                ViewBag.LeaderUserID = dt.Rows[0][3].ToString();
                ViewBag.CellPhone    = dt.Rows[8][0].ToString();
                ViewBag.UserID       = dt.Rows[0][0].ToString();
                ViewBag.EmpNo        = dt.Rows[0][5].ToString();
                ViewBag.EmpName      = dt.Rows[0][6].ToString();
                ViewBag.StoreName    = dt.Rows[0][14].ToString();
                ViewBag.StoreID      = dt.Rows[0][2].ToString();
                return(View());
            }
            else
            {
                return(Content("系统错误,请重新从公众号进入系统!"));
            }
        }
示例#5
0
        /// <summary>
        /// 数据库连接
        /// </summary>
        /// <returns></returns>
        public int TestDataCon()
        {
            #region


            //创建连接池对象(与数据库服务器进行连接)
            MySqlConnection conn = new MySqlConnection("Database=ourtool;Data Source=101.201.69.84;Port=3306;User=root;Password=qsx123456;CharSet=utf8;Allow User Variables=True;Connect Timeout=300;");
            //conn.ConnectionString = "Database=ourtool;Data Source=101.201.69.84;Port=3306;User=root;Password=qsx123456;CharSet=utf8;Allow User Variables=True;Connect Timeout=300;";
            //打开连接池
            conn.Open();
            //创建命令对象
            string         Qrystr   = "SELECT * FROM WeChatUsers WHERE openId='" + 12 + "'";
            MySqlCommand   cmdQry   = new MySqlCommand(Qrystr, conn);
            object         obj      = cmdQry.ExecuteScalar();
            WechatUserInfo userInfo = new WechatUserInfo();
            userInfo.unionId   = "12";
            userInfo.openId    = "dsds";
            userInfo.nickName  = "dsds";
            userInfo.gender    = "dsds";
            userInfo.city      = "dsds";
            userInfo.province  = "dsds";
            userInfo.country   = "dsds";
            userInfo.avatarUrl = "dsds";



            userInfo.province = "dsds";

            if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
            {
                string str = "INSERT  into `ourtool`.`WeChatUsers` (  `UnionId`, `OpenId`, `NickName`, `Gender`, `City`, `Province`, `Country`, `AvatarUrl`, `Appid`, `Timestamp`, `Memo`, `Counts` ) values('" + userInfo.unionId + "','" + userInfo.openId + "','" + userInfo.nickName + "','" + userInfo.gender + "','" + userInfo.city + "','" + userInfo.province + "','" + userInfo.country + "','" + userInfo.avatarUrl + "','" + "dsdsd" + "','" + "888" + "','来自微信小程序','1')";

                MySqlCommand cmdUp = new MySqlCommand(str, conn);
                // 执行操作
                try
                {
                    int row = cmdUp.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    Response.Write(ex.ToString());
                }
            }
            else
            {
                //多次访问,记录访问次数counts   更新unionId是预防最初没有,后期关联后却仍未记录
                string       str   = "UPDATE dbo.WeChatUsers SET counts = counts+1,UnionId = '" + userInfo.unionId + "' WHERE OpenId='" + userInfo.openId + "'";
                MySqlCommand cmdUp = new MySqlCommand(str, conn);
                int          row   = cmdUp.ExecuteNonQuery();
            }

            //关闭连接池
            conn.Close();
            #endregion


            return(1);
        }
示例#6
0
        public static WechatUserInfo GetUserInfo(string access_token, string userAgent, string openid)
        {
            WechatUserInfo userinfo = new WechatUserInfo();

            string url = string.Format("https://api.weixin.qq.com/cgi-bin/user/info?access_token={0}&openid={1}&lang=zh_CN", access_token, openid);

            HttpWebResponse response = HttpWebResponseUtility.CreateGetHttpResponse(url, null, userAgent, null);

            string result = HttpWebResponseUtility.HttpResponseToString(response);

            userinfo = JsonConvert.DeserializeObject <WechatUserInfo>(result);

            return(userinfo);
        }
示例#7
0
        public ActionResult GetUserInfoByopenid(string openid)
        {
            if (string.IsNullOrEmpty(openid))
            {
                openid = "oChqYt13RL8dBi0zKHo0kao-aSHo";
            }
            string         userAgent    = Request.UserAgent;
            string         access_token = AccessTokenService.GetAccessToken();
            WechatUserInfo userinfo     = new WechatUserInfo();

            userinfo = WechatApi.GetUserInfo(access_token, userAgent, openid);

            return(View(userinfo));
        }
示例#8
0
文件: WeChat.cs 项目: unstephen/Q3
    public void Login(WechatUserInfo user)
    {
        if (network == null)
        {
            network = NetworkManager.Instance;
        }
        C2S_LoginMsg msg = new C2S_LoginMsg();

        msg.openId   = user.openid;
        msg.nickName = user.nickname;
        Packet packet = new Packet(Protocal.LOGIN, msg);

        if (network != null)
        {
            network.EmitPacket(packet);
        }
        else
        {
            Debug.LogError("network is null");
        }
    }
示例#9
0
        public ActionResult <WechatUserInfo> GetWeChartUserInfoNew(WeChatUserModel weChatUser)
        {
            WechatUserInfo resModel = _weChatHttpClient.GetWeChartUserInfoNew(weChatUser);

            return(resModel);
        }
示例#10
0
        /// <summary>
        /// 资讯用户插入
        /// </summary>
        /// <returns></returns>
        public string InsertUserNew()
        {
            string code          = "";
            string iv            = "";
            string encryptedData = "";

            try
            {
                code          = HttpContext.Request.QueryString["code"].ToString();
                iv            = HttpContext.Request.QueryString["iv"].ToString();
                encryptedData = Server.UrlDecode(HttpContext.Request.QueryString["encryptedData"].ToString());
            }


            catch (Exception ex)
            {
                Response.Write("code:" + code + "|iv:" + iv + "|encryptedData:" + encryptedData);
            }

            string Appid      = "wxba92380dc6210082";//资讯的
            string Secret     = "8938f3c2513bfc3883038284b67e0316";
            string grant_type = "authorization_code";

            //向微信服务端 使用登录凭证 code 获取 session_key 和 openid
            string url  = "https://api.weixin.qq.com/sns/jscode2session?appid=" + Appid + "&secret=" + Secret + "&js_code=" + code + "&grant_type=" + grant_type;
            string type = "utf-8";

            GetUsersHelper GetUsersHelper = new GetUsersHelper();
            string         j = GetUsersHelper.GetUrltoHtml(url, type);//获取微信服务器返回字符串
            //return string.Format("j:{0}---"+"code:" + code + "|iv:" + iv ,j);
            //将字符串转换为json格式
            JObject jo = (JObject)JsonConvert.DeserializeObject(j);

            OpenIdAndSessionKey res = new OpenIdAndSessionKey();

            try
            {
                //微信服务器验证成功
                res.openid      = jo["openid"].ToString();
                res.session_key = jo["session_key"].ToString();
            }
            catch (Exception)
            {
                //微信服务器验证失败
                res.errcode = jo["errcode"].ToString();
                res.errmsg  = jo["errmsg"].ToString();
            }
            if (!string.IsNullOrEmpty(res.openid))
            {
                //用户数据解密
                GetUsersHelper.AesIV  = iv;
                GetUsersHelper.AesKey = res.session_key;

                string result = GetUsersHelper.AESDecrypt(encryptedData);

                //return string.Format("j:{0}---" + "code:" + code + "|iv:" + iv + "result:" + result+ "encryptedData:"+ encryptedData+ "AesIV:"+iv+ "AesKey:"+ res.session_key, j);
                //存储用户数据
                JObject _usrInfo = (JObject)JsonConvert.DeserializeObject(result);

                WechatUserInfo userInfo = new WechatUserInfo();
                userInfo.openId = _usrInfo["openId"].ToString();

                try //部分验证返回值中没有unionId
                {
                    userInfo.unionId = _usrInfo["unionId"].ToString();
                }
                catch (Exception)
                {
                    userInfo.unionId = "unionId";
                }

                userInfo.nickName  = _usrInfo["nickName"].ToString();
                userInfo.gender    = _usrInfo["gender"].ToString();
                userInfo.city      = _usrInfo["city"].ToString();
                userInfo.province  = _usrInfo["province"].ToString();
                userInfo.country   = _usrInfo["country"].ToString();
                userInfo.avatarUrl = _usrInfo["avatarUrl"].ToString();

                object watermark = _usrInfo["watermark"].ToString();
                object appid     = _usrInfo["watermark"]["appid"].ToString();
                object timestamp = _usrInfo["watermark"]["timestamp"].ToString();

                //return "code:" + code + "|iv:" + iv + "|encryptedData:" + encryptedData + "openId:" + userInfo.openId;
                #region   插入数据库


                //创建连接池对象(与数据库服务器进行连接)
                MySqlConnection conn = new MySqlConnection("Database=ourtool;Data Source=101.201.69.84;Port=3306;User=root;Password=qsx123456;CharSet=utf8;Allow User Variables=True;Connect Timeout=300;");
                //打开连接池
                conn.Open();
                //创建命令对象
                string       Qrystr = "SELECT * FROM WeChatUsers WHERE openId='" + userInfo.openId + "'";
                MySqlCommand cmdQry = new MySqlCommand(Qrystr, conn);
                object       obj    = cmdQry.ExecuteScalar();
                if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
                {
                    string str = "INSERT  into `ourtool`.`WeChatUsers` (   `OpenId`, `NickName`, `Gender`, `City`, `Province`, `Country`, `AvatarUrl`, `Appid`,  `Memo`, `Counts`,Type,CreateTime ) values('" + userInfo.openId + "','" + userInfo.nickName + "','" + userInfo.gender + "','" + userInfo.city + "','" + userInfo.province + "','" + userInfo.country + "','" + userInfo.avatarUrl + "','" + appid.ToString() + "','来自资讯小程序','1',2,now())";

                    MySqlCommand cmdUp = new MySqlCommand(str, conn);
                    // 执行操作
                    try
                    {
                        int row = cmdUp.ExecuteNonQuery();
                    }
                    catch (Exception ex)
                    {
                        Response.Write(ex.ToString());
                    }
                }
                else
                {
                    //多次访问,记录访问次数counts   更新unionId是预防最初没有,后期关联后却仍未记录
                    string       str   = "UPDATE   WeChatUsers SET counts = counts+1,EditeTime=now()  WHERE OpenId='" + userInfo.openId + "'";
                    MySqlCommand cmdUp = new MySqlCommand(str, conn);
                    int          row   = cmdUp.ExecuteNonQuery();
                }

                //关闭连接池
                conn.Close();
                #endregion

                //返回解密后的用户数据
                //Response.Write(result);
            }
            else
            {
                //Response.Write(j);
            }

            return("code:" + code + "|iv:" + iv + "|encryptedData:" + encryptedData + "openId:" + res.openid);
        }
示例#11
0
        public ActionResult UserBinding(FormCollection collection)
        {
            WechatUserInfo CurrentWechatUserInfo = Session["WechatUserInfo"] as WechatUserInfo;
            string         LastUser = "";

            if (CurrentWechatUserInfo != null)
            {
                LastUser = CurrentWechatUserInfo.openid;
            }
            else
            {
                return(Content("长时间未操作,系统已自动退出,请从微信公众号菜单重新进入!"));
            }
            try
            {
                // Save BindingInfo

                User user = new User();
                user.UserID    = CurrentWechatUserInfo.UserID;
                user.EmpNo     = collection.GetValue("EmpNo").AttemptedValue.Trim();
                user.CompanyID = collection.GetValue("CompanyID").AttemptedValue.Trim();
                user.StoreID   = collection.GetValue("StoreID").AttemptedValue.Trim();
                user.Active    = "1";

                //is exists
                if (string.IsNullOrEmpty(user.EmpNo) || user.EmpNo == "")
                {
                    return(Content("请填写工号!"));
                }
                if (string.IsNullOrEmpty(user.CompanyID) || user.CompanyID == "")
                {
                    return(Content("请选择公司!"));
                }
                if (string.IsNullOrEmpty(user.StoreID) || user.StoreID == "")
                {
                    return(Content("请选择所在!"));
                }
                DataAPI.BasicDataController dtc = new DataAPI.BasicDataController();
                string checkBinding             = "";
                checkBinding = dtc.CheckBindingUser(user);
                if (checkBinding == "1")
                {
                    return(Content("该工号已被绑定,请检查!"));
                }
                if (checkBinding == "2")
                {
                    return(Content("查不到该工号的信息,无法绑定,请联系系统管理员!"));
                }

                if (dtc.AddBindingUser(user, LastUser) == "1")
                {
                    return(Content("1"));
                }
                else
                {
                    return(Content("绑定失败!"));
                }
            }
            catch
            {
                return(Content("-1"));
            }
        }
示例#12
0
        // GET: WechatAuth
        public ActionResult Index()
        {
            string Code = Request.QueryString["Code"];

            if (string.IsNullOrEmpty(Code) || Code == "")
            {
                //string getCodeUrl = @" https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxd682b8b6d9016fb4&redirect_uri="
                //+ Url.Encode("http://www.huangyanling.cn/joinincrm") + @"& response_type = code & scope = snsapi_base & state = 123#wechat_redirect";
                //WechatAuth wa = (WechatAuth)HttpHelper<WechatAuth>(getCodeUrl);
                return(Content("未获取授权Code,请从公众号菜单重新进入本系统。"));
            }
            else
            {
                string appid        = System.Configuration.ConfigurationManager.AppSettings["WeiXinAppID"];
                string secret       = System.Configuration.ConfigurationManager.AppSettings["WeiXinSecret"];
                string getOpenIDUrl = @"https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + appid + "&secret=" + secret + "&code=" + Code + "&grant_type=authorization_code";

                HttpHelper req     = new HttpHelper();
                string     content = req.Requster(getOpenIDUrl);

                if (content.ToLower().Contains("errcode"))
                {
                    ErrorCode er = JsonConvert.DeserializeObject <ErrorCode>(content);
                    return(Content("请重新从公众号进入!"));
                }
                WechatAuth openID = JsonConvert.DeserializeObject <WechatAuth>(content);

                if (string.IsNullOrEmpty(openID.openid) || openID.openid == "")
                {
                    return(Content("获取用户OpenID失败"));
                }
                else
                {
                    //从数据库获取:
                    // List<WechatUserInfo> cl = new List<WechatUserInfo>();
                    // cl.Clear();
                    //ViewBag.openid = openID.openid;
                    SQLHelper dbo = new SQLHelper();
                    DataTable dt  = dbo.getsqlDatable("Select UserID, OpenID, nickname, sex, province, city, country, headimgurl from WechatUsers Where OpenID=@OpenID", new SqlParameter("@OpenID", openID.openid));
                    if (dt.Rows.Count >= 1)
                    {
                        //ViewBag.nickname = dt.Rows[0][1].ToString();
                        //ViewBag.sex = dt.Rows[0][2].ToString();
                        //ViewBag.province = dt.Rows[0][3].ToString();
                        //ViewBag.city = dt.Rows[0][4].ToString();
                        //ViewBag.headimgurl = dt.Rows[0][6].ToString();
                        //ViewBag.country = dt.Rows[0][5].ToString();

                        Session["WechatUserInfo"] = new WechatUserInfo
                        {
                            UserID     = dt.Rows[0][0].ToString(),
                            openid     = dt.Rows[0][1].ToString(),
                            nickname   = dt.Rows[0][2].ToString(),
                            sex        = dt.Rows[0][3].ToString(),
                            province   = dt.Rows[0][4].ToString(),
                            city       = dt.Rows[0][5].ToString(),
                            headimgurl = dt.Rows[0][7].ToString(),
                            country    = dt.Rows[0][6].ToString()
                        };
                    }
                    else
                    {   //从微信拉取用户信息
                        // string getUserInfoUrl = "https://api.weixin.qq.com/sns/userinfo?access_token=XBZlBQdCFKuAC59pm9BPw6MvjGhpHjVr_qwwxM5gg7TC369gZWSllWyEUmpu2wjgdt8r32uSCjWQM987dHS1MU3r3erey5jq_VHYHU5FR04k5nL1AgkPB2SIphni0OGuVGSdAHAQBN&openid=" + openID.openid + "&lang=zh_CN";

                        string tokenContent = req.GetAccessToken();
                        if (tokenContent.ToLower().Contains("errcode"))
                        {
                            return(Content("获取公众号AccessToken失败!" + tokenContent.ToString()));
                        }
                        AccessToken accessToken = JsonConvert.DeserializeObject <AccessToken>(tokenContent);

                        string getUserInfoUrl = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=" + accessToken.access_token + "&openid=" + openID.openid + "&lang=zh_CN";
                        content = req.Requster(getUserInfoUrl);

                        if (content.ToLower().Contains("errcode"))
                        {
                            return(Content("获取用户信息失败!" + accessToken.access_token + accessToken.expires_in + content.ToString()));
                        }
                        WechatUserInfo wui = JsonConvert.DeserializeObject <WechatUserInfo>(content);

                        ViewBag.nickname          = wui.nickname;
                        ViewBag.sex               = wui.sex;
                        ViewBag.province          = wui.province;
                        ViewBag.city              = wui.city;
                        ViewBag.headimgurl        = wui.headimgurl;
                        ViewBag.country           = wui.country;
                        Session["WechatUserInfo"] = wui;
                        //TODO:存入数据库????

                        string         sqlStr = "if not exists (Select OpenID From WechatUsers Where OpenID=@OpenID) begin  Insert into WechatUsers (OpenID, nickname, sex, province, city,headimgurl, country ) values (@OpenID,@NickName,@Sex,@Province,@City,@HeadImgUrl,@Country) end";
                        SqlParameter[] para   =
                        {
                            new SqlParameter("@OpenID",     wui.openid),
                            new SqlParameter("@NickName",   wui.nickname),
                            new SqlParameter("@Sex",        wui.sex),
                            new SqlParameter("@Province",   wui.province),
                            new SqlParameter("@City",       wui.city),
                            new SqlParameter("@HeadImgUrl", wui.headimgurl),
                            new SqlParameter("@Country",    wui.country)
                        };
                        dbo.ExecuteNonQuery(sqlStr, para);
                        //cl.Add(wui);
                    }

                    dt = dbo.getsqlDatable(@"SELECT D.UserID, A.CompanyID,A.StoreID, A.LeaderUserID, A.RoleID,A.EmpNo, A.EmpName, A.CardNo, A.CellPhone, A.Sex, A.HireDate,
                                                     CASE WHEN A.Active = 1 THEN '在职' ELSE '离职' END AS Active,C.RoleName,B.CompanyName,E.StoreName
                                              FROM USERS A
                                              INNER JOIN [Role] C ON A.RoleID = C.RoleID
                                              INNER JOIN [Store] E ON A.StoreID=E.StoreID
                                              INNER JOIN Company B ON E.CompanyID = B.CompanyID
                                              RIGHT JOIN WechatUsers D ON A.UserID = D.UserID
                                              Where D.OpenID =@OpenID ", new SqlParameter("OpenID", openID));
                    if (dt.Rows.Count == 1)
                    {
                        Session["UserInfo"] = new User
                        {
                            UserID       = dt.Rows[0][0].ToString(),
                            CompanyID    = dt.Rows[0][1].ToString(),
                            StoreID      = dt.Rows[0][2].ToString(),
                            LeaderUserID = dt.Rows[0][3].ToString(),
                            RoleID       = dt.Rows[0][5].ToString(),
                            EmpNo        = dt.Rows[0][6].ToString(),
                            EmpName      = dt.Rows[0][6].ToString(),
                            CardNo       = dt.Rows[0][7].ToString(),
                            CellPhone    = dt.Rows[8][0].ToString(),
                            Sex          = dt.Rows[0][9].ToString(),
                            HireDate     = dt.Rows[0][10].ToString(),
                            Active       = dt.Rows[0][11].ToString(),
                            RoleName     = dt.Rows[0][12].ToString(),
                            CompanyName  = dt.Rows[0][13].ToString(),
                            StoreName    = dt.Rows[0][14].ToString()
                        };
                        if (String.IsNullOrEmpty(dt.Rows[0][1].ToString()) || dt.Rows[0][1].ToString() == "")
                        {
                            if (!String.IsNullOrEmpty(dt.Rows[0][0].ToString()))
                            {
                                return(RedirectToAction("UserBinding", "UserBinding"));
                            }
                            else
                            {
                                return(Content("未知错误,请重新从公众号进入系统,如问题仍然出现,请联系系统管理员!"));
                            }
                        }
                    }
                    else
                    {
                        Session["UserInfo"] = new User
                        {
                            UserID       = "",
                            CompanyID    = "",
                            StoreID      = "",
                            LeaderUserID = "",
                            RoleID       = "",
                            EmpNo        = "",
                            EmpName      = "",
                            CardNo       = "",
                            CellPhone    = "",
                            Sex          = "",
                            HireDate     = "",
                            Active       = "",
                            RoleName     = "",
                            CompanyName  = "",
                            StoreName    = ""
                        };
                    }
                }

                return(RedirectToAction("Index", "Home"));
            }
        }
示例#13
0
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            base.OnActionExecuting(filterContext);
            //从Session中得到用户登录信息
            Session["WechatUserInfo"] = new WechatUserInfo
            {
                nickname   = "*ST小散",
                headimgurl = "http://wx.qlogo.cn/mmopen/5mxuSU5RGhY0J2JiaCXazWbGkic0KalhYJVQOWfqxbQIeK3hzQoCAgQaD4eklDVC5Fic2vuNO0j78rdQ4oX5FZT8j0erf3SJQxu/0",
                openid     = "oC86Z09y0dkSbyPXzxz6AOGF1U_o",
                sex        = "",
                province   = "广东",
                city       = "广州",
                country    = "中国"
            };
            Session["UserInfo"] = new User
            {
                CompanyID    = "",
                CompanyName  = "",
                UserID       = "",
                CardNo       = "",
                StoreID      = "",
                RoleID       = "",
                LeaderUserID = "",
                StoreName    = "",
                CellPhone    = "",
                Sex          = "",
                EmpNo        = "",
                EmpName      = "",
                RoleName     = "",
                HireDate     = "",
                Active       = ""
            };

            CurrentWechatUserInfo = Session["WechatUserInfo"] as WechatUserInfo; //绑定的是用户微信基本信息
            CurrentUserInfo       = Session["UserInfo"] as User;                 //绑定的是用户系统基本信息
            if (CurrentWechatUserInfo == null)
            {
                string redirectUrl = System.Configuration.ConfigurationManager.AppSettings["redirectUrl"];
                //从新从微信获取授权
                Response.Redirect(@"https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxd682b8b6d9016fb4&redirect_uri=" + redirectUrl + @"/WechatAuth&response_type=code&scope=snsapi_base&state=1#wechat_redirect");
            }
            else
            {
                ViewBag.nickname     = CurrentWechatUserInfo.nickname;
                ViewBag.headimgurl   = CurrentWechatUserInfo.headimgurl;
                ViewBag.openid       = CurrentWechatUserInfo.openid;
                ViewBag.sex          = CurrentWechatUserInfo.sex;
                ViewBag.province     = CurrentWechatUserInfo.province;
                ViewBag.city         = CurrentWechatUserInfo.city;
                ViewBag.country      = CurrentWechatUserInfo.country;
                ViewBag.CompanyID    = CurrentUserInfo.CompanyID;
                ViewBag.CompanyName  = CurrentUserInfo.CompanyName;
                ViewBag.RoleName     = CurrentUserInfo.RoleName;
                ViewBag.LeaderUserID = CurrentUserInfo.LeaderUserID;
                ViewBag.CellPhone    = CurrentUserInfo.CellPhone;
                ViewBag.UserID       = CurrentUserInfo.UserID;
                ViewBag.EmpNo        = CurrentUserInfo.EmpNo;
                ViewBag.EmpName      = CurrentUserInfo.EmpName;
                ViewBag.StoreName    = CurrentUserInfo.StoreName;
                ViewBag.StoreID      = CurrentUserInfo.StoreID;

                if (String.IsNullOrEmpty(ViewBag.CompanyID) || ViewBag.CompanyID == "")
                {
                    RedirectToAction("UserBinding", "UserBinding");
                }
            }
        }