Exemple #1
0
        /// <summary>
        /// 获取token
        /// author:陶林辉
        /// </summary>
        /// <param name="userId">用户id</param>
        /// <returns></returns>
        public UserTokenView GetToken(long userId)
        {
            var    vInfo      = _context.UserLogin.Where(e => e.Userid == userId).FirstOrDefault();
            string strToken   = Guid.NewGuid().ToString();
            string strId      = _sys.Md5Encode($"{vInfo.Userid}{vInfo.Createtime}");
            string strSession = Guid.NewGuid().ToString();
            var    entity     = new UserLoginDto
            {
                Createtime = vInfo.Createtime,
                Updatetime = vInfo.Updatetime,
                Is_first   = vInfo.Is_first,
                Password   = vInfo.Password,
                Phone      = vInfo.Phone,
                Salt       = vInfo.Salt,
                Status     = vInfo.Status,
                Token      = strToken,
                Userid     = vInfo.Userid
            };
            UserTokenView Token = new UserTokenView
            {
                SessionToken = strSession,
                UserOpenId   = strId,
                UserToken    = strToken
            };

            RedisHelper.KeyDelete($"{CacheKey.Token}{strId}");
            RedisHelper.KeyDelete($"{CacheKey.SessionToken}{strId}");
            RedisHelper.StringSet($"{CacheKey.Token}{strId}", entity, RedisFolderEnum.token, RedisEnum.Three);
            RedisHelper.StringSet($"{CacheKey.SessionToken}{strId}", strSession, 5, RedisFolderEnum.sessionToken, RedisEnum.Three);
            return(Token);
        }
Exemple #2
0
        public async Task <ResponseViewModel <UserTokenView> > PwdLogin([FromBody] RequestViewModel obj)
        {
            var result = new UserTokenView();
            ResponseViewModel <UserTokenView> response = null;

            obj = JsonHelper.DeserializeJsonToObject <RequestViewModel>(Content(User.Identity.Name).Content);
            var    code     = SysCode.Ok;
            string strPhone = (string)obj.Data.phone;
            bool   isExist  = await _user.PhoneExistAsync(strPhone);

            if (isExist)
            {
                var userLogin = await _user.GetUserLoginAsync(strPhone);

                string strPwd = _sys.Md5Encode($"{(string)obj.Data.password}{userLogin.Salt}");
                long   userId = _user.UserLoginOrPwd(strPhone, strPwd);
                if (userId != 0)
                {
                    result   = _token.GetToken(userId);
                    response = new ResponseViewModel <UserTokenView>(SysCode.Ok, result, obj.Encrypt, _sys, obj.Secret);
                    await _user.RecordLoginLogAsync(new userLoginLogDto
                    {
                        App_version = obj.Client.Version,
                        Createtime  = TimeHelper.GetDateTime(),
                        Device_code = obj.Client.DeviceCode,
                        Gps         = obj.Client.Gps,
                        Os_type     = obj.Client.OsType,
                        Os_version  = obj.Client.OsVersion,
                        Phone       = obj.Data.phone,
                        Userid      = userId
                    });
                }
                else
                {
                    code = SysCode.PwdErr;
                }
            }
            else
            {
                //未注册
                code = SysCode.PhoneNonentity;
            }
            response = new ResponseViewModel <UserTokenView>(code, code == SysCode.Ok ? result : null, obj.Encrypt, _sys, obj.Secret);
            return(response);
        }
Exemple #3
0
        public ResponseViewModel <UserTokenView> CodeLogin([FromBody] RequestViewModel obj)
        {
            var result = new UserTokenView();
            ResponseViewModel <UserTokenView> response = null;

            obj = JsonHelper.DeserializeJsonToObject <RequestViewModel>(Content(User.Identity.Name).Content);
            string strPhone = (string)obj.Data.phone;
            string strCode  = (string)obj.Data.verifyCode;
            string strKey   = $"{ CacheKey.LogIn.ToString()}{strPhone}";

            if (RedisHelper.KeyExists(strKey, RedisFolderEnum.code, RedisEnum.Four) && RedisHelper.StringGet(strKey, RedisFolderEnum.code, RedisEnum.Four).Equals(strCode))
            {
                long userId = _user.GetUserIdByPhone(strPhone);
                result   = _token.GetToken(userId);
                response = new ResponseViewModel <UserTokenView>(SysCode.Ok, result, obj.Encrypt, _sys, obj.Secret);
                RedisHelper.KeyDelete(strKey, RedisFolderEnum.code, RedisEnum.Four);
            }
            else
            {
                //不存在
                response = new ResponseViewModel <UserTokenView>(SysCode.CodeErr, null, obj.Encrypt, _sys, obj.Secret);
            }
            return(response);
        }
Exemple #4
0
        public ResponseViewModel <UserTokenView> register([FromBody] RequestViewModel obj)
        {
            UserTokenView token = new UserTokenView();
            ResponseViewModel <UserTokenView> response = null;

            obj = JsonHelper.DeserializeJsonToObject <RequestViewModel>(Content(User.Identity.Name).Content);
            string strKey = $"{CacheKey.Rgister.ToString()}{obj.Data.phone}";

            if (RedisHelper.KeyExists(strKey, RedisFolderEnum.code, RedisEnum.Four) && RedisHelper.StringGet(strKey, RedisFolderEnum.code, RedisEnum.Four).Equals((string)obj.Data.verifyCode))
            {
                var  salt   = _sys.GetRandomSeed(8);
                long userId = _user.Register(new RegisterDto
                {
                    App_version = obj.Client.Version,
                    Channel     = obj.Client.Channel,
                    Createtime  = DateTime.Now,
                    Device_code = obj.Client.DeviceCode,
                    Os_type     = obj.Client.OsType,
                    Gps         = obj.Client.Gps,
                    Os_version  = obj.Client.OsVersion,
                    Phone       = obj.Data.phone,
                    Platform    = obj.Client.Platform,
                    Updatetime  = DateTime.Now
                }, new UserLoginDto
                {
                    Createtime = TimeHelper.GetDateTime(),
                    Is_first   = 1,
                    Password   = _sys.Md5Encode($"{(string)obj.Data.password}{salt}"),
                    Phone      = obj.Data.phone,
                    Status     = 0,
                    Updatetime = TimeHelper.GetDateTime(),
                    Salt       = salt
                }, new UserInfoDto
                {
                    Createtime = TimeHelper.GetDateTime(),
                    //Head = "",
                    Updatetime = TimeHelper.GetDateTime(),
                    //Nick_name = ""
                });
                if (userId != 0)
                {
                    //获取token
                    token    = _token.GetToken(userId);
                    response = new ResponseViewModel <UserTokenView>(SysCode.Ok, token, obj.Encrypt, _sys, obj.Secret);
                    _user.RecordLoginLogAsync(new userLoginLogDto
                    {
                        App_version = obj.Client.Version,
                        Createtime  = TimeHelper.GetDateTime(),
                        Device_code = obj.Client.DeviceCode,
                        Gps         = obj.Client.Gps,
                        Os_type     = obj.Client.OsType,
                        Os_version  = obj.Client.OsVersion,
                        Phone       = obj.Data.phone,
                        Userid      = userId
                    });
                    RedisHelper.KeyDelete(strKey, RedisFolderEnum.code, RedisEnum.Four);
                }
                else
                {
                    response = new ResponseViewModel <UserTokenView>(SysCode.Err, null, obj.Encrypt, _sys, obj.Secret);
                }
            }
            else
            {
                /*不存在验证码,返回验证码错误*/
                response = new ResponseViewModel <UserTokenView>(SysCode.CodeErr, null, obj.Encrypt, _sys, obj.Secret);
            }
            return(response);
        }
Exemple #5
0
        /// <summary>
        /// 查询Token
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public UserTokenView GetToken(UserTokenInput model)
        {
            UserTokenView result = new UserTokenView();

            return(result);
        }