18034727885
2026-06-26 253f680fb9666751e0f9a8e5e8f2f9e3eb1894e3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package com.example.smart.ui.login
 
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.viewModelScope
import com.example.basecore.base.BaseViewModel
import com.example.smart.reqeust.RetrofitClient
import kotlinx.coroutines.launch
import com.example.basecore.net.http.Result
import com.example.smart.bean.LoginBean
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
 
 
class LoginViewModel : BaseViewModel() {
 
    val loginBean = MutableLiveData<LoginBean>()
 
 
    fun loginRequest(phone: String, password: String, fail: (String) -> Unit) {
 
        val bean = LoginRequestBean(phone, password)
        viewModelScope.launch(Dispatchers.Main) {
            safeCall {
                execute(RetrofitClient.api.login(bean)) }.apply {
                if (this is Result.Success) {
                    loginBean.value = data
                } else if (this is Result.Error) {
                    fail(exception.message ?: "未知错误")
                }
            }
        }
    }
    //延时2000毫秒,返回一个String结果
    suspend fun requestUserInfo(): String {
        delay(2000)
        return "result form userInfo"
    }
 
}