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