/// <summary>
        /// 登录
        /// </summary>
        /// <param name="username"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public UserInfoDto Login(string username, string password)
        {
            UserInfo userInfo = GetByUsername(username);

            if (userInfo != null)
            {
                string key = userInfo.SaltKey;
                string pwd = userInfo.Password;
                password = password.MDString2(key);
                if (pwd.Equals(password))
                {
                    return(userInfo.Mapper <UserInfoDto>());
                }
            }
            return(null);
        }
        /// <summary>
        /// 注册
        /// </summary>
        /// <param name="userInfo"></param>
        /// <returns></returns>
        public UserInfoDto Register(UserInfo userInfo)
        {
            UserInfo exist = GetFirstEntity(u => u.Username.Equals(userInfo.Username) || (userInfo.Email != null && u.Email.Equals(userInfo.Email)) || (userInfo.PhoneNumber != null && u.PhoneNumber.Equals(userInfo.PhoneNumber)));

            if (exist != null)
            {
                return(null);
            }
            userInfo.Id = Guid.NewGuid();
            var salt = $"{new Random().StrictNext()}{DateTime.Now.GetTotalMilliseconds()}".MDString2(Guid.NewGuid().ToString()).Base64Encrypt();

            userInfo.Password = userInfo.Password.MDString2(salt);
            userInfo.SaltKey  = salt;
            UserInfo added = AddEntitySaved(userInfo);

            return(added?.Mapper <UserInfoDto>());
        }