package com.example.firstapp.ui.login
|
|
import android.app.Application
|
import android.content.Context
|
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.viewModelScope
|
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.launch
|
import androidx.lifecycle.AndroidViewModel
|
|
|
class LoginViewModel(application: Application) : AndroidViewModel(application) {
|
private val _loginState = MutableLiveData<Boolean>()
|
val loginState: LiveData<Boolean> = _loginState
|
|
fun sendVerificationCode(phone: String) {
|
viewModelScope.launch {
|
// 这里实现发送验证码的逻辑
|
// 模拟网络请求
|
delay(1000)
|
// 实际应用中需要调用后端API
|
}
|
}
|
|
fun login(phone: String, code: String) {
|
viewModelScope.launch {
|
// 模拟登录请求
|
delay(1000)
|
// 保存登录状态和手机号
|
saveLoginInfo(phone)
|
_loginState.value = true
|
}
|
}
|
|
private fun saveLoginInfo(phone: String) {
|
getApplication<Application>().getSharedPreferences(
|
"user_info", Context.MODE_PRIVATE
|
).edit().apply {
|
putBoolean("is_logged_in", true)
|
putString("phone", phone)
|
apply()
|
}
|
}
|
}
|