From ad43b15b2e8545d44a380deb3c7a338259e3933d Mon Sep 17 00:00:00 2001
From: tj <1378534974@qq.com>
Date: 星期三, 09 四月 2025 10:27:39 +0800
Subject: [PATCH] 1.1
---
app/src/main/java/com/example/firstapp/activity/PhoneLoginActivity.kt | 27 ++++++++++++++++++++++++++-
1 files changed, 26 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 caec2fe..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,7 +29,11 @@
private fun setupViews() {
binding.apply {
+ // 设置上次登录的手机号
+ etPhone.setText(PreferencesManager.getLastLoginPhone())
+
btnBack.setOnClickListener {
+ startActivity(Intent(this@PhoneLoginActivity, LoginActivity::class.java))
finish()
}
@@ -37,7 +42,6 @@
if (phone.length == 11) {
viewModel.sendVerificationCode(phone)
startCountDown()
-// 17625318565 111111
} else {
Toast.makeText(this@PhoneLoginActivity,
"请输入正确的手机号", Toast.LENGTH_SHORT).show()
@@ -48,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,
@@ -58,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