예제 #1
0
        /// <summary>
        /// 20200629 用户授权 通过解密获取unionid  再查询是否是泰便利注册用户
        /// </summary>

        public UserInfoResModel EasyDecryptByDE(WeChatCodeDEModel codeModel, string appId, string appSecret)
        {
            UserInfoResModel resModel = new UserInfoResModel();
            BaseViewModel    model    = new BaseViewModel();

            Dtol.Easydtol.UserInfo user = new Dtol.Easydtol.UserInfo();

            if (codeModel.code == null || codeModel.code == "")
            {
                model.ResponseCode = 9;
                model.Message      = "参数为空";
            }

            WeChatInfoModel oiask = JsonConvert.DeserializeObject <WeChatInfoModel>(GetOpenIdAndSessionKeyString(codeModel.code, appId, appSecret));

            if (!string.IsNullOrEmpty(oiask.session_key))
            {
                WechatUserInfoResModel res = new WechatUserInfoResModel();

                res = Decrypt(codeModel.encryptedData, codeModel.iv, oiask.session_key);
                if (!string.IsNullOrEmpty(res.unionId))
                {
                    V_OpenidUnionid v_Openid = new V_OpenidUnionid();
                    v_Openid.openid  = oiask.openid;
                    v_Openid.unionid = res.unionId;
                    v_OpenidUnionidRepository.Add(v_Openid);
                    v_OpenidUnionidRepository.SaveChanges();

                    user = GetEasyUser(res.unionId);

                    if (!String.IsNullOrEmpty(user.ID))
                    {
                        model.ResponseCode = 5;
                        model.Message      = "unionid不为空,已注册泰便利";
                    }
                    else
                    {
                        model.ResponseCode = 6;
                        model.Message      = "unionid不为空,未注册泰便利";
                    }
                }
                else
                {
                    model.ResponseCode = 7;
                    model.Message      = "授权未获取unionid";
                }
            }
            else
            {
                model.ResponseCode = 8;
                model.Message      = "授权未获取session_key";
            }
            resModel.baseView = model;
            resModel.userInfo = user;

            return(resModel);
        }
예제 #2
0
        /// <summary>
        /// 20200510 Easy 用户初次进入自愿者小程序验证用户是否是泰便利注册用户,如果是返回泰便利用户中心信息,如果不是返回空
        /// </summary>
        public Dtol.Easydtol.UserInfo GetEasyUserInfo(string code)
        {
            Dtol.Easydtol.UserInfo user_Info = _IWeChatClientRepository.EasyDecrypt(code, _IOptions.Value.appid, _IOptions.Value.secret);
            //判断 是否注册泰便利
            if (user_Info.ID != null)
            {
                DEncrypt encrypt       = new DEncrypt();
                string   Name          = encrypt.Decrypt(user_Info.Name);
                string   CertificateID = encrypt.Decrypt(user_Info.CertificateID);
                string   Mobile        = encrypt.Decrypt(user_Info.Mobile);

                user_Info.Name          = Name;
                user_Info.CertificateID = CertificateID;
                user_Info.Mobile        = Mobile;
            }
            return(user_Info);
        }
예제 #3
0
        //注册志愿者时 获取 泰便利用户信息 20200510
        public virtual Dtol.Easydtol.UserInfo GetEasyUser(string unionid)
        {
            Dtol.Easydtol.UserInfo userInfo = new Dtol.Easydtol.UserInfo();
            var predicate = WhereExtension.True <Dtol.Easydtol.UserInfo>();

            predicate = predicate.And(p => p.Status.Equals("1"));
            if (!string.IsNullOrEmpty(unionid))
            {
                predicate = predicate.And(p => p.unionid.Equals(unionid));
            }

            var result = EasyDbSet.Where(predicate).ToList();

            if (result.Count() > 0)
            {
                userInfo = result.First();
            }

            return(userInfo);
        }
예제 #4
0
        /// <summary>
        /// 用户初次进入自愿者小程序验证用户是否是泰便利已注册用户,如果是返回泰便利用户中心信息,如果不是返回空  20200510
        /// </summary>
        public Dtol.Easydtol.UserInfo EasyDecrypt(string code, string appId, string appSecret)
        {
            Dtol.Easydtol.UserInfo userInfo = new Dtol.Easydtol.UserInfo();

            if (code == null || code == "")
            {
                return(userInfo);
            }

            if (String.IsNullOrEmpty(code))
            {
                return(userInfo);
            }
            WeChatInfoModel oiask = JsonConvert.DeserializeObject <WeChatInfoModel>(GetOpenIdAndSessionKeyString(code, appId, appSecret));

            if (!String.IsNullOrEmpty(oiask.unionid))
            {
                userInfo = GetEasyUser(oiask.unionid);
            }

            return(userInfo);
        }
예제 #5
0
        /// <summary>
        /// 20200629  用户初次进入自愿者小程序验证用户是否是泰便利已注册用户,如果是返回泰便利用户中心信息,如果不是返回空  20200510
        /// </summary>
        public UserInfoResModel EasyDecryptByCode(string code, string appId, string appSecret)
        {
            UserInfoResModel resModel = new UserInfoResModel();
            BaseViewModel    model    = new BaseViewModel();

            Dtol.Easydtol.UserInfo user = new Dtol.Easydtol.UserInfo();

            if (code == null || code == "")
            {
                model.ResponseCode = 9;
                model.Message      = "参数为空";

                resModel.baseView = model;
                resModel.userInfo = user;
                return(resModel);
            }

            WeChatInfoModel oiask = JsonConvert.DeserializeObject <WeChatInfoModel>(GetOpenIdAndSessionKeyString(code, appId, appSecret));

            if (!String.IsNullOrEmpty(oiask.unionid))
            {
                user = GetEasyUser(oiask.unionid);

                if (!String.IsNullOrEmpty(user.ID))
                {
                    model.ResponseCode = 7;
                    model.Message      = "unionid不为空,已注册泰便利";
                }
                else
                {
                    model.ResponseCode = 6;
                    model.Message      = "unionid不为空,未注册泰便利";
                }
                resModel.baseView = model;
                resModel.userInfo = user;
            }
            else
            {
                if (!String.IsNullOrEmpty(oiask.openid))
                {
                    var mm = v_OpenidUnionidRepository.GetByParasOne(oiask.openid);
                    if (mm != null)
                    {
                        user = GetEasyUser(mm.unionid);
                        if (!String.IsNullOrEmpty(user.ID))
                        {
                            model.ResponseCode = 7;
                            model.Message      = "unionid不为空,已注册泰便利";
                        }
                        else
                        {
                            model.ResponseCode = 6;
                            model.Message      = "unionid不为空,未注册泰便利";
                        }
                        resModel.baseView = model;
                        resModel.userInfo = user;
                    }
                    else
                    {
                        model.ResponseCode = 8;
                        model.Message      = "unionid为空,未授权";
                        resModel.baseView  = model;
                        resModel.userInfo  = user;
                    }
                }
                else
                {
                    model.ResponseCode = 8;
                    model.Message      = "unionid为空,未授权";
                    resModel.baseView  = model;
                    resModel.userInfo  = user;
                }
            }

            return(resModel);
        }