package com.example.firstapp.ui.login
|
|
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.viewModelScope
|
import kotlinx.coroutines.launch
|
import androidx.lifecycle.ViewModel
|
import com.example.firstapp.database.service.RetrofitClient
|
import com.example.firstapp.utils.Log
|
|
|
class LoginViewModel : ViewModel() {
|
private val _loginState = MutableLiveData<Boolean>()
|
val loginState: LiveData<Boolean> = _loginState
|
|
private val _loginMessage = MutableLiveData<String>()
|
val loginMessage: LiveData<String> = _loginMessage
|
|
private val _isLoading = MutableLiveData<Boolean>()
|
val isLoading: LiveData<Boolean> = _isLoading
|
|
fun sendVerificationCode(phone: String) {
|
viewModelScope.launch {
|
_isLoading.value = true
|
try {
|
// val response = RetrofitClient.apiService.sendVerificationCode(phone)
|
// if (response.code == 200) {
|
_loginMessage.value = "验证码已发送"
|
// } else {
|
// _loginMessage.value = response.msg.ifEmpty { "发送验证码失败" }
|
// }
|
} catch (e: Exception) {
|
Log.e("LoginError", "Login failed: ${e.message}", e)
|
_loginMessage.value = "网络错误,请稍后重试"
|
} finally {
|
_isLoading.value = false
|
}
|
}
|
}
|
|
fun login(phone: String, code: String) {
|
viewModelScope.launch {
|
_isLoading.value = true
|
try {
|
// val response = RetrofitClient.apiService.verifyCode(phone, code)
|
// if (response.code == 200 && response.data) {
|
_loginState.value = true
|
// } else {
|
// _loginMessage.value = response.msg.ifEmpty { "登录失败" }
|
// }
|
} catch (e: Exception) {
|
Log.e("LoginError", "Login failed: ${e.message}", e)
|
_loginMessage.value = "网络错误,请稍后重试"
|
} finally {
|
_isLoading.value = false
|
}
|
}
|
}
|
|
}
|