Beispiel #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);
        }
Beispiel #2
0
        /// <summary>
        /// 20200629 用户初次进入自愿者小程序  判断是否能获取unionid,如果有unionid验证用户是否是泰便利注册用户,
        /// 如果是返回泰便利用户中心信息,如果不是返回空
        /// </summary>
        public UserInfoResModel GetEasyUserInfoByCode(string code)
        {
            UserInfoResModel resModel = new UserInfoResModel();

            resModel = _IWeChatClientRepository.EasyDecryptByCode(code, _IOptions.Value.appid, _IOptions.Value.secret);
            //判断 是否注册泰便利
            if (resModel.userInfo != null)
            {
                if (resModel.userInfo.ID != null)
                {
                    DEncrypt encrypt       = new DEncrypt();
                    string   Name          = encrypt.Decrypt(resModel.userInfo.Name);
                    string   CertificateID = encrypt.Decrypt(resModel.userInfo.CertificateID);
                    string   Mobile        = encrypt.Decrypt(resModel.userInfo.Mobile);

                    resModel.userInfo.Name          = Name;
                    resModel.userInfo.CertificateID = CertificateID;
                    resModel.userInfo.Mobile        = Mobile;
                }
            }
            return(resModel);
        }
Beispiel #3
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);
        }
        public ActionResult <UserInfoResModel> GetWeChartEasyUserInfoNew(WeChatCodeModel codeModel)
        {
            UserInfoResModel resModel = _weChatHttpClientService.GetEasyUserInfoByCode(codeModel.code);

            return(resModel);
        }
        public ActionResult <UserInfoResModel> GetWeChartUserInfoByDE(WeChatCodeDEModel codeModel)
        {
            UserInfoResModel resModel = _weChatHttpClientService.GetWeChartUserInfoByDE(codeModel);

            return(resModel);
        }