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 | 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