tj
2025-04-15 0a730b84c41f44129bf5ecc112450d2edf4312c9
app/src/main/java/com/example/firstapp/activity/PhoneLoginActivity.kt
@@ -10,6 +10,7 @@
import com.example.firstapp.databinding.ActivityPhoneLoginBinding
import com.example.firstapp.ui.login.LoginViewModel
import com.example.firstapp.utils.Log
import com.example.firstapp.utils.PreferencesManager
class PhoneLoginActivity : AppCompatActivity() {
    private lateinit var binding: ActivityPhoneLoginBinding
@@ -28,6 +29,9 @@
    private fun setupViews() {
        binding.apply {
            // 设置上次登录的手机号
            etPhone.setText(PreferencesManager.getLastLoginPhone())
            btnBack.setOnClickListener {
                startActivity(Intent(this@PhoneLoginActivity, LoginActivity::class.java))
                finish()
@@ -38,33 +42,58 @@
                if (phone.length == 11) {
                    viewModel.sendVerificationCode(phone)
                    startCountDown()
//                    17625318565 111111
                } else {
                    Toast.makeText(this@PhoneLoginActivity,
                        "请输入正确的手机号", Toast.LENGTH_SHORT).show()
                    Toast.makeText(
                        this@PhoneLoginActivity,
                        "请输入正确的手机号", Toast.LENGTH_SHORT
                    ).show()
                }
            }
            btnLogin.setOnClickListener {
                val phone = etPhone.text.toString()
                val code = etCode.text.toString()
                val invite = etInvite.text.toString()
                if (phone.length == 11 && code.length == 6) {
                    viewModel.login(phone, code)
                    // 保存登录的手机号
                    PreferencesManager.saveLastLoginPhone(phone)
                    viewModel.login(phone, code, invite)
                } else {
                    Toast.makeText(this@PhoneLoginActivity,
                        "请输入完整信息", Toast.LENGTH_SHORT).show()
                    Toast.makeText(
                        this@PhoneLoginActivity,
                        "请输入完整信息", Toast.LENGTH_SHORT
                    ).show()
                }
            }
        }
    }
    private fun observeViewModel() {
        // 观察登录状态
        viewModel.loginState.observe(this) { isLoggedIn ->
            if (isLoggedIn) {
                startActivity(Intent(this, MainActivity::class.java))
                finishAffinity() // 结束所有之前的Activity
            }
        }
        // 观察消息提示
        viewModel.loginMessage.observe(this) { message ->
            Toast.makeText(this, message, Toast.LENGTH_SHORT).show()
            if (message == "验证码已发送") {
                startCountDown()
            }
        }
        // 观察加载状态
        viewModel.isLoading.observe(this) { isLoading ->
            binding.btnLogin.isEnabled = !isLoading
            if (isLoading) {
                binding.btnLogin.text = "登录中..."
            } else {
                binding.btnLogin.text = "登录"
            }
        }
    }
    private fun startCountDown() {