From 5fc9567cfa6b6beee4f52a9f835f304865d693e1 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期四, 10 四月 2025 18:13:58 +0800
Subject: [PATCH] add: 消息提醒后版本

---
 app/src/main/java/com/example/firstapp/activity/PhoneLoginActivity.kt |   26 +++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/app/src/main/java/com/example/firstapp/activity/PhoneLoginActivity.kt b/app/src/main/java/com/example/firstapp/activity/PhoneLoginActivity.kt
index eb53f35..8432373 100644
--- a/app/src/main/java/com/example/firstapp/activity/PhoneLoginActivity.kt
+++ b/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() {

--
Gitblit v1.9.3