Skip to content

Sign 로그인, 회원가입

Jo Hyun Jin edited this page Jan 15, 2021 · 2 revisions

로그인

  • 온보딩에서 사용자가 선택한 깊이에 따라 메인로그인뷰의 Background Color 변경

    image

    • 기본(default)는 1,005m 깊이의 배경색으로 지정
      val depth = intent.getIntExtra("deep", 5)
      setDepthBackground(depth)

  • 이메일 로그인 - MOMO 자체 로그인 기능

    image

    • response.code()가 200일 때 : 로그인, SharedPreferences에 토큰과 userId 저장
    • response.code()가 400일 때 : 존재하지 않는 회원일 경우 에러메시지 띄우기
private fun postLogin() {
    RequestToServer.service.postLogin(
        RequestUserData(
            email = binding.etEmail.text.toString(),
            password = binding.etPasswd.text.toString()
        )
    ).enqueue(object : Callback<ResponseUserData> {
        override fun onResponse(
            call: Call<ResponseUserData>,
            response: Response<ResponseUserData>
        ) {
            when {
                response.code() == 200 -> {
                    // 토큰 저장
                    SharedPreferenceController.setAccessToken(applicationContext, response.body()!!.data.token)
                    // 유저 아이디 저장
                    SharedPreferenceController.setUserId(applicationContext, response.body()!!.data.user.id)

                    // 홈으로 이동
                    val intent = Intent(applicationContext, HomeActivity::class.java)
                    startActivity(intent)
                    finishAffinity()
                }
                response.code() == 400 -> {
                    Log.d("postSignUp 400", response.message())
                    binding.etEmail.isCursorVisible = false
                    binding.etPasswd.isCursorVisible = false
                    if(binding.etEmail.text.isNotEmpty() || binding.etPasswd.text.isNotEmpty()) {
                        binding.etEmail.unshowKeyboard()
                        binding.tvLoginAlert.setVisible()
                    }
                }
                else -> {
                    Log.d("postSignUp 500", response.message())
                }
            }
        }

        override fun onFailure(call: Call<ResponseUserData>, t: Throwable) {
            Log.d("postLogin ERROR", "$t")
        }

    })
}

회원가입

image

  • 아이디, 비밀번호, 비밀번호 확인, 약관동의 체크박스 각각의 에러메시지를 컨트롤러(함수)로 만들어서 체크
  • 버튼 눌렀을 때와 다음 칸으로 이동했을 때 모두 에러 체크