Ejemplo n.º 1
0
        /// <summary>
        /// 登录账号,返回一个ErrorCode,用户登录情况的枚举
        /// </summary>
        /// <param name="token"></param>
        /// <param name="account"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public ErrorCode Login(UserToken token, string account, string password)
        {
            //验证账号密码的合法性
            if (string.IsNullOrEmpty(account) || string.IsNullOrEmpty(password))
            {
                return(ErrorCode.AccountPasswordIsNotSafe);
            }
            //验证账号是否注册
            if (!accountCache.HasAccount(account))
            {
                return(ErrorCode.NotHasAccount);
            }

            //验证是否已经登录
            if (accountCache.IsOnline(token))
            {
                return(ErrorCode.HasLogin);
            }
            //验证账号密码是否匹配
            if (!accountCache.Matching(account, password))
            {
                return(ErrorCode.NotMatch);
            }
            //上线
            accountCache.Online(token, account);
            return(ErrorCode.Success);
        }