예제 #1
0
 internal HttpResponseMessage OnDailyCheck()
 {
     if (ApiDateTime.IsSameDay(LastDailyCheckTime))
     {
         return(ResultToJson.GetErrorJsonResponse(ErrorDefs.DailyChecked));
     }
     LastDailyCheckTime = ApiDateTime.SecondsFromBegin();
     AvatarGold        += 1000;
     return(GetDiryParamResponse());
 }
        public HttpResponseMessage CheckToken(string username, string token)
        {
            var eCheck = ATokenManager.Instance.OnCheckToken(username, token);

            if (!eCheck)
            {
                return(ResultToJson.GetErrorJsonResponse("Invalid token."));
            }
            return(ResultToJson.GetJsonResponse(InfoNameDefs.UserToken, token));
        }
        public HttpResponseMessage Logout(string username, string token)
        {
            var eCheck = ATokenManager.Instance.OnCheckToken(username, token);

            if (!eCheck)
            {
                return(ResultToJson.GetErrorJsonResponse("Invalid token."));
            }

            ATokenManager.Instance.OnRemoveToken(username);
            ADatabaseConfigsManager.userDB.UpdateOneData(ADatabaseConfigsManager.tUserData, ADBAccessor.filter_eq(InfoNameDefs.Username, username), ADBAccessor.update_unset(InfoNameDefs.UserToken));
            return(ResultToJson.GetErrorJsonResponse());
        }
        public HttpResponseMessage DailyCheck(string username, string token)
        {
            if (!ATokenManager.Instance.OnCheckToken(username, token))
            {
                return(ResultToJson.GetErrorJsonResponse("Invalid token."));
            }
            var avatar = AAvatarManager.Instance.OnGetAvatar(username);

            if (avatar == null)
            {
                return(ResultToJson.GetErrorJsonResponse(ErrorDefs.NoAvatar));
            }
            return(avatar.OnDailyCheck());
        }
예제 #5
0
        public HttpResponseMessage SelectAvatar(string username, string token)
        {
            if (!ATokenManager.Instance.OnCheckToken(username, token))
            {
                return(ResultToJson.GetErrorJsonResponse("Invalid token."));
            }
            var avatar = AAvatarManager.Instance.OnGetAvatar(username);

            if (avatar == null)
            {
                return(ResultToJson.GetErrorJsonResponse(ErrorDefs.NoAvatar));
            }
            return(ResultToJson.GetJsonResponse("avatar", ResultToJson.JsonFormat(avatar.ToAll())));
        }
        public HttpResponseMessage CaiDaXiao(string username, string token, int multi, int isBig)
        {
            if (!ATokenManager.Instance.OnCheckToken(username, token))
            {
                return(ResultToJson.GetErrorJsonResponse("Invalid token."));
            }
            var avatar = AAvatarManager.Instance.OnGetAvatar(username);

            if (avatar == null)
            {
                return(ResultToJson.GetErrorJsonResponse(ErrorDefs.NoAvatar));
            }

            return(avatar.OnCaiDaXiao(multi, isBig));
        }
        public HttpResponseMessage GetOne(string username, string token)
        {
            var eCheck = ATokenManager.Instance.OnCheckToken(username, token);

            if (!eCheck)
            {
                return(ResultToJson.GetErrorJsonResponse("Invalid token."));
            }
            var avatar = AAvatarManager.Instance.OnGetAvatar(username);

            if (avatar == null)
            {
                return(ResultToJson.GetErrorJsonResponse("No avatar."));
            }
            var q = avatar.OnGetOneQuestion();

            return(ResultToJson.GetJsonResponse("q", q));
        }
        public HttpResponseMessage CreateAvatar(string username, string token, string avatarname, string sex)
        {
            var check = ATokenManager.Instance.OnCheckToken(username, token);

            if (!check)
            {
                return(ResultToJson.GetErrorJsonResponse(ErrorDefs.InvalidToken));
            }
            avatarname = CommonUtil.filtername(avatarname);
            var len = CommonUtil.GetStringLength(avatarname);

            if (len <= 2 || len > 12)
            {
                return(ResultToJson.GetErrorJsonResponse(ErrorDefs.AvatarNameInvalidLength));
            }
            var isex = typeParser.intParse(sex);

            if (isex != 0 && isex != 1)
            {
                return(ResultToJson.GetErrorJsonResponse(ErrorDefs.InvalidSex));
            }
            {
                var a = AAvatarManager.Instance.OnGetAvatar(username);
                if (a != null)
                {
                    return(ResultToJson.GetErrorJsonResponse(ErrorDefs.AlreadyHasAvatar));
                }
            }
            var findRes = ADatabaseConfigsManager.avatarDB.FindOneData(ADatabaseConfigsManager.tAvatarData, ADBAccessor.filter_eq(InfoNameDefs.AvatarName, avatarname));

            if (findRes != null && findRes.Contains(InfoNameDefs.AvatarName))
            {
                return(ResultToJson.GetErrorJsonResponse(ErrorDefs.DuplicateAvatarName));
            }
            else
            {
                var avatar = AAvatarManager.Instance.OnCreateAvatar(username, avatarname, isex);
                if (avatar != null)
                {
                    return(avatar.GetAllParamResponse());
                }
                return(ResultToJson.GetErrorJsonResponse(ErrorDefs.DBError));
            }
        }
        public HttpResponseMessage Login(string username, string password)
        {
            var res = ADatabaseConfigsManager.userDB.FindOneData(ADatabaseConfigsManager.tUserData, ADBAccessor.filter_eq(InfoNameDefs.Username, username) & ADBAccessor.filter_eq(InfoNameDefs.UserPassword, MD5String.Hash32(password)));

            if (res == null)
            {
                return(ResultToJson.GetErrorJsonResponse("Username and password mismatch."));
            }
            var token = "";

            if (res.Contains(InfoNameDefs.UserToken))
            {
                token = res[InfoNameDefs.UserToken].ToString();
            }
            else
            {
                token = AWebServerUtils.GetEncryptCode(12);
                ADatabaseConfigsManager.userDB.UpdateOneData(ADatabaseConfigsManager.tUserData, ADBAccessor.filter_eq(InfoNameDefs.Username, username), ADBAccessor.update(InfoNameDefs.UserToken, token));
            }
            return(ResultToJson.GetJsonResponse(InfoNameDefs.UserToken, res[InfoNameDefs.UserToken].ToString()));
        }
예제 #10
0
        public HttpResponseMessage Register(string username, string password, string mail)
        {
            if (!mail.Contains("@") || !mail.Contains(".") || mail.IndexOf("@") > mail.IndexOf("."))
            {
                return(ResultToJson.GetErrorJsonResponse("Invalid mail address."));
            }

            if (username.Length < 4)
            {
                return(ResultToJson.GetErrorJsonResponse("Too short username."));
            }
            if (username.Length > 16)
            {
                return(ResultToJson.GetErrorJsonResponse("Too long username."));
            }

            var res = ADatabaseConfigsManager.userDB.FindOneData(ADatabaseConfigsManager.tUserData, ADBAccessor.filter_eq(InfoNameDefs.Username, username));

            if (res != null)
            {
                return(ResultToJson.GetErrorJsonResponse("Username registered."));
            }
            var token = AWebServerUtils.GetEncryptCode(12);
            var ures  = ADatabaseConfigsManager.userDB.UpdateOneData(ADatabaseConfigsManager.tUserData, ADBAccessor.filter_eq(InfoNameDefs.Username, username)
                                                                     , ADBAccessor.updates_build(
                                                                         ADBAccessor.update(InfoNameDefs.UserToken, token)
                                                                         , ADBAccessor.update(InfoNameDefs.Username, username)
                                                                         , ADBAccessor.update(InfoNameDefs.UserMail, mail)
                                                                         , ADBAccessor.update(InfoNameDefs.UserPassword, MD5String.Hash32(password))
                                                                         )
                                                                     , true);

            if (!ures)
            {
                return(ResultToJson.GetErrorJsonResponse(ErrorDefs.DBError));
            }

            ATokenManager.Instance.OnSetToken(username, token);
            return(ResultToJson.GetJsonResponse(InfoNameDefs.Username, username, InfoNameDefs.UserToken, token));
        }
        public HttpResponseMessage Answer(string username, string token, string answer)
        {
            var eCheck = ATokenManager.Instance.OnCheckToken(username, token);

            if (!eCheck)
            {
                return(ResultToJson.GetErrorJsonResponse("Invalid token."));
            }
            var avatar = AAvatarManager.Instance.OnGetAvatar(username);

            if (avatar == null)
            {
                return(ResultToJson.GetErrorJsonResponse("No avatar."));
            }
            var res = avatar.OnAnswer(answer);

            if (res)
            {
                return(avatar.GetDiryParamResponse());
            }
            return(ResultToJson.GetErrorJsonResponse("wrong"));
        }
예제 #12
0
    internal HttpResponseMessage OnCaiDaXiao(int multi, int isBig)
    {
        if (!InitValueDefs.CaiDaXiaoMultis.Contains(multi))
        {
            return(ResultToJson.GetErrorJsonResponse($"multi {multi}"));
        }
        if (AvatarGold < multi * InitValueDefs.CaiDaXiaoCost)
        {
            return(ResultToJson.GetErrorJsonResponse(ErrorDefs.NotEnoughGold));
        }
        int rdm = ApiRandom.Instance.Next(6);

        if ((isBig == 1 && rdm >= 3) || (isBig == 0 && rdm < 3))
        {
            AvatarGold += multi * InitValueDefs.CaiDaXiaoCost;
        }
        else
        {
            AvatarGold -= multi * InitValueDefs.CaiDaXiaoCost;
        }
        return(GetDiryParamResponse("res", rdm.ToString()));
    }
 public HttpResponseMessage Get()
 {
     return(ResultToJson.GetErrorJsonResponse("0"));
 }