From 879ec1ae04b37eb7bf9357903d10acc860d84d5b Mon Sep 17 00:00:00 2001
From: zhujie <leon.zhu@cloudroam.com.cn>
Date: 星期二, 15 四月 2025 03:02:18 +0800
Subject: [PATCH] 1

---
 app/src/main/java/com/example/firstapp/activity/PhoneLoginActivity.kt |   42 ++++++++++++++++++++++++++++++++++++------
 1 files changed, 36 insertions(+), 6 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 caec2fe..8931e27 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,7 +29,11 @@
 
     private fun setupViews() {
         binding.apply {
+            // 设置上次登录的手机号
+            etPhone.setText(PreferencesManager.getLastLoginPhone())
+
             btnBack.setOnClickListener {
+                startActivity(Intent(this@PhoneLoginActivity, LoginActivity::class.java))
                 finish()
             }
 
@@ -37,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() {

--
Gitblit v1.9.3