Exemple #1
0
        public async Task <Oauth2MemberfoResponse> GetWeixinInfoAsync(string access_token, string openId)
        {
            var infoReq = new Oauth2MemberInfoRequest();

            infoReq.access_token = access_token;
            infoReq.openid       = openId;
            var infoResp = new Oauth2MemberfoResponse();

            try
            {
                infoResp = await _clientService.ExecuteAsync(infoReq, RequestStringDataTypes.Json);
            }
            //这个异常一般可以忽略,这里是为了不影响程序正常运行
            catch (Exception e)
            {
                _logger.LogError("执行GetWeixinInfo异常:{0}", e.Message);
            }
            return(infoResp);
        }
Exemple #2
0
        protected virtual bool Register(Oauth2MemberfoResponse wxInfo, int inviteCode)
        {
            bool registerResult = false;
            var  member         = new MemberModel
            {
                WeixinName    = wxInfo.NickName,
                HeadImgUrl    = wxInfo.HeadImgUrl,
                Sex           = wxInfo.Sex,
                OpenID        = wxInfo.OpenId,
                UnionID       = wxInfo.UnionID ?? wxInfo.OpenId,
                Province      = wxInfo.Province,
                City          = wxInfo.City,
                LastLoginDate = System.DateTime.Now
            };

            using (var trans = _db.Database.BeginTransaction())
            {
                try
                {
                    // member.Password = _pwdHasher.HashPassword(member, "123456");
                    int result = _memberManager.CreateMemberAsync(member, inviteCode);
                    if (result > 0)
                    {
                        //var sign = _commonContext.SignInAsync(new MemberModel
                        //{
                        //    OpenID = member.OpenID,
                        //    WeixinName = member.WeixinName,
                        //    HeadImgUrl = member.HeadImgUrl,
                        //    Sex = member.Sex
                        //}, 24);
                    }
                    trans.Commit();
                    _logger.LogInformation("用户注册成功:{0}", member.WeixinName);
                    registerResult = true;
                }
                catch (System.Exception e)
                {
                    trans.Rollback();
                    _logger.LogInformation("用户注册失败:{0},原因是:{1}", member.WeixinName, e.StackTrace);
                }
            }
            return(registerResult);
        }