MVC 게시판

회원가입-3

beejaem 2022. 1. 10. 19:51

앱에서도 새로운 요청을 위한 인터페이스 추가를 먼저 해주었습니다.

loginService.kt 

데이터는 같은 클래스를 이용해 통신할 예정이기 때문에 새로 추가하지는 않았습니다.

interface loginService{
    @POST("/login")
    fun requestLogin( //인풋
    @Body jsonparams: Login
    ) : Call<LoginResult> //아웃풋
}

interface signupService{
    @POST("/signup")
    fun requestLogin( //인풋
        @Body jsonparams: Login
    ) : Call<LoginResult> //아웃풋
}

interface idCheckService{
    @POST("/idcheck")
    fun requestLogin( //인풋
        @Body jsonparams: Login
    ) : Call<LoginResult> //아웃풋
}

 

그리고 회원가입 페이지를 만들고 로그인 화면에서 회원가입 버튼을 만들어 화면을 넘기는 방식으로 만들었습니다.

MainActivity.kt

btn2.setOnClickListener {
    var intent : Intent = Intent(this,SingupActivity::class.java)
    startActivity(intent)
}

SignupActivity.kt

ID중복확인요청

//아이디 중복확인
btn_id.setOnClickListener {
    var loginService = retrofit.create(idCheckService::class.java)
    var id = et_id.text.toString()
    val builder = AlertDialog.Builder(this)
    loginService.requestLogin(Login(id)).enqueue(object : Callback<LoginResult> {
        override fun onResponse(call: Call<LoginResult>, response: Response<LoginResult>) {
            var login = response.body()
            var dialog = AlertDialog.Builder(this@SingupActivity)
            dialog.setTitle("ID중복확인")
            if(login?.msg != null){
                dialog.setMessage("입력하신 ID는 이미 존재하는 ID입니다.")
                et_id.setText("")
            }else{
                dialog.setMessage("사용가능한 ID입니다.")
                dialog.setPositiveButton("확인") { dialogInterface: DialogInterface, i: Int ->
                    check_id = true
                }
            }
            dialog.show()
        }

        override fun onFailure(call: Call<LoginResult>, t: Throwable) {
            var dialog = AlertDialog.Builder(this@SingupActivity)
            Log.d("abcd",t.message.toString())
            dialog.setTitle("실패")
            dialog.setMessage("$id")
            dialog.show()
        }
    })
}

회원가입 요청

//회원가입
btn_signup.setOnClickListener {
    var id = et_id.text.toString()
    var pwd = et_pw.text.toString()
    var loginService = retrofit.create(signupService::class.java)
    if(id != "" && pwd != ""){
        if(check_id){
            var data = Login(id,pwd)
            loginService.requestLogin(data).enqueue(object : Callback<LoginResult> {
                override fun onResponse(call: Call<LoginResult>, response: Response<LoginResult>) {
                    var login = response.body()
                    var dialog = AlertDialog.Builder(this@SingupActivity)
                    dialog.setTitle("성공")
                    dialog.setMessage("id : ${login?.id}, pw:${login?.pwd},msg : ${login?.msg}")
                    dialog.setPositiveButton("확인") { dialogInterface: DialogInterface, i: Int ->
                        var intent : Intent = Intent(baseContext,MainActivity::class.java)
                        startActivity(intent)
                    }
                    dialog.show()
                }

                override fun onFailure(call: Call<LoginResult>, t: Throwable) {
                    var dialog = AlertDialog.Builder(this@SingupActivity)
                    Log.d("abcd",t.message.toString())
                    dialog.setTitle("실패")
                    dialog.setMessage("$id,$pwd")
                    dialog.show()
                }
            })
        }else{
            val builder = AlertDialog.Builder(this)
            builder.setTitle("ID중복확인")
            builder.setMessage("ID 중복 확인을 해주세요")
            builder.setPositiveButton("확인") { dialogInterface: DialogInterface, i: Int ->
            }
            builder.show()
        }
    }else{
        val builder = AlertDialog.Builder(this)
        builder.setTitle("회원가입")
        builder.setMessage("ID 또는 Password를 입력해주세요")
        builder.setPositiveButton("확인") { dialogInterface: DialogInterface, i: Int ->
        }
        builder.show()
    }

}

이렇게 회원가입도 완성했습니다.

'MVC 게시판' 카테고리의 다른 글

Oauth 카카오로그인 웹  (0) 2022.01.10
Oauth 카카오 로그인 앱  (0) 2022.01.10
회원가입-2  (0) 2022.01.06
회원가입-1  (0) 2022.01.06
로그인-5  (0) 2022.01.03