언어/유니티

4. 뒤끝- 계정 생성

깡 딱 2023. 6. 5. 22:08
728x90

앞 1,2 와 같이 똑같이 만들어 준다.

 

 

 

RegisterAccount 코드

 

 

OnClickRegisterAccount() - 계정 생성 버튼을 눌렀을 때 호출
ResetUI(imageID, imagePW, imageConfirmPW, imageEmail);

 if (IsFieldDataEmpty(imageID, inputFieldID.text, "아이디")) return;

// 초기화 시키고 
//아이디 , 비밀번호, 비밀번호 확인, 메일 주소

 

초기화 , 

 

 

 

	   if (!inputFieldPW.text.Equals(inputFieldConfirmPW.text))
        {
            GuideForIncorrectlyEnteredData(imageConfirmPW, "비밀번호가 일치하지 않습니다.");
            return;
        }

 비밀번호와 비밀번호 확인의 내용이 다를 때 색이 변한다. 

 

 

        if (!inputFieldEmail.text.Contains("@"))
        {
            GuideForIncorrectlyEnteredData(imageEmail, "메일 형식이 잘못되었습니다.(ex. address@xx.xx)");
            return;
        }

inputFieldEmail.text 오브젝트에 @를 적지 않았을때

 

 

        btnRegisterAccount.interactable = false;
        SetMessage("계정 생성중입니다.");
        
// 뒤끝 서버 계정 생성 시도
        CustomSignUp();

 

interactable 앞에서 계정을 연타하지 못하도록 할때 썻던 것이다

CustomSignUp(); 은 밑에서 설명 

 

 

CustomSignUp()
 Backend.BMember.CustomSignUp(inputFieldID.text, inputFieldPW.text, callback =>

서버에 가입을 위한 서버 연결코드 

 

저번에 로그인을했을때 .CustomLogin 을 이용했었음 

 

 

만약에 계정생성이 성공하면 

   // 계정 생성 성공
            if (callback.IsSuccess())
            {
                // E-mail 정보 업데이트
                Backend.BMember.UpdateCustomEmail(inputFieldEmail.text, callback =>
                {
               
                });
            }

이메일 정보를 업데이트하고 

 

	   if (callback.IsSuccess())
                    {
                        SetMessage($"계정 생성 성공. {inputFieldID.text}님 환영합니다.");

                        // Lobby 씬으로 이동
                        Utils.LoadScene(SceneNames.Lobby);
                    }

계정생성 성공 메시지를 띄우고 

씬이동을 위한 utils 참조 

 

 

 

계정 생성 실패를 했을때 

                string message = string.Empty;

                switch (int.Parse(callback.GetStatusCode()))
                {
                    case 409:   // 중복된 customId 가 존재하는 경우
                        message = "이미 존재하는 아이디입니다.";
                        break;
                    case 403:   // 차단당한 디바이스일 경우
                        message = callback.GetMessage();
                        break;
                    case 401:   // 프로젝트 상태가 '점검'일 경우
                    case 400:   // 디바이스 정보가 null일 경우
                    default:
                        message = callback.GetMessage();
                        break;
                }

 

에러코드는 여기를 참고 

뒤끝 개발자 | 모든 Error Cases (thebackend.io)

 

                if (message.Contains("아이디"))
                {
                    GuideForIncorrectlyEnteredData(imageID, message);
                }
                else
                {
                    SetMessage(message);
                }

 

암거도 안적었을떄 띄우는 것이다. 아이디가 아니면 메시지가 뜬다.

728x90