package com.example.personalwork.fragment.register
import User
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Toast
import android.widget.Toast.LENGTH_SHORT
import androidx.lifecycle.lifecycleScope
import androidx.navigation.fragment.findNavController
import com.example.personalwork.R
import com.example.personalwork.databinding.FragmentRegisterBinding
import com.example.personalwork.utils.ApiClient
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
class RegisterFragment : Fragment() {
var _binding: FragmentRegisterBinding? = null
val binding get() = _binding!!
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
_binding = FragmentRegisterBinding.inflate(inflater,container,false)
init()
return binding.root
}
fun init(){
val editNo = binding.editNo
val editPassword = binding.editPassword
val editName = binding.editName
val editPhone = binding.editPhone
val editClass = binding.editClass
val btnRegister = binding.btnRegister
btnRegister.setOnClickListener {
val textNo = editNo.text.toString()
val textPassword = editPassword.text.toString()
val textName = editName.text.toString()
val textPhone = editPhone.text.toString()
val textClass = editClass.text.toString()
val user = User(textNo,textPassword,textName,textPhone,textClass)
add(user)
}
}
fun add(user: User){
lifecycleScope.launch {
try {
val addResponse = ApiClient.apiService.add(user);
val result = addResponse.body()?.code
if(result == 200){
Toast.makeText(requireContext(),"注册成功",LENGTH_SHORT).show()
withContext(Dispatchers.Main){
findNavController().navigate(R.id.action_registerFragment_to_loginFragment)
}
}else{
Toast.makeText(requireContext(),"请检查账号和密码", LENGTH_SHORT).show()
}
}catch (e:Exception){
e.printStackTrace()
}
}
}
override fun onDestroy() {
super.onDestroy()
_binding = null;
}
}