1.1
tj
2025-04-09 2b446a5fd5d8f9b8c0f1e3acef1eef7ad9adb6f9
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,7 +42,6 @@
                if (phone.length == 11) {
                    viewModel.sendVerificationCode(phone)
                    startCountDown()
//                    17625318565 111111
                } else {
                    Toast.makeText(this@PhoneLoginActivity,
                        "请输入正确的手机号", Toast.LENGTH_SHORT).show()
@@ -49,6 +52,8 @@
                val phone = etPhone.text.toString()
                val code = etCode.text.toString()
                if (phone.length == 11 && code.length == 6) {
                    // 保存登录的手机号
                    PreferencesManager.saveLastLoginPhone(phone)
                    viewModel.login(phone, code)
                } else {
                    Toast.makeText(this@PhoneLoginActivity,
@@ -59,12 +64,31 @@
    }
    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() {