diff --git a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt index f9537ee..c44a711 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt @@ -90,13 +90,6 @@ else -> LoadingDialog.dismiss() } } - - applyViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialog.show(this, "申请中,请稍后...") - else -> LoadingDialog.dismiss() - } - } } override fun initEvent() { @@ -198,7 +191,6 @@ val currentTime = System.currentTimeMillis().timestampToCompleteDate() applyViewModel.enter( - this, RuntimeCache.projectId, "2", "", @@ -216,14 +208,19 @@ "", binding.workerNameView.text.toString(), "0", - "" - ) - - applyViewModel.resultModel.observe(this) { - if (it.code == 200) { + "", + onLoading = { + LoadingDialog.show(this, "申请中,请稍后...") + }, + onSuccess = { + LoadingDialog.dismiss() finish() + }, + onFailed = { + LoadingDialog.dismiss() + it.show(this) } - } + ) } } diff --git a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt index f9537ee..c44a711 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt @@ -90,13 +90,6 @@ else -> LoadingDialog.dismiss() } } - - applyViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialog.show(this, "申请中,请稍后...") - else -> LoadingDialog.dismiss() - } - } } override fun initEvent() { @@ -198,7 +191,6 @@ val currentTime = System.currentTimeMillis().timestampToCompleteDate() applyViewModel.enter( - this, RuntimeCache.projectId, "2", "", @@ -216,14 +208,19 @@ "", binding.workerNameView.text.toString(), "0", - "" - ) - - applyViewModel.resultModel.observe(this) { - if (it.code == 200) { + "", + onLoading = { + LoadingDialog.show(this, "申请中,请稍后...") + }, + onSuccess = { + LoadingDialog.dismiss() finish() + }, + onFailed = { + LoadingDialog.dismiss() + it.show(this) } - } + ) } } diff --git a/app/src/main/java/com/casic/br/operationsite/vm/AlarmViewModel.kt b/app/src/main/java/com/casic/br/operationsite/vm/AlarmViewModel.kt index 514b74c..f810780 100644 --- a/app/src/main/java/com/casic/br/operationsite/vm/AlarmViewModel.kt +++ b/app/src/main/java/com/casic/br/operationsite/vm/AlarmViewModel.kt @@ -1,13 +1,13 @@ package com.casic.br.operationsite.vm +import androidx.lifecycle.ViewModel import com.casic.br.operationsite.extensions.getResponseHeader import com.casic.br.operationsite.model.AlarmListModel import com.casic.br.operationsite.retrofit.RetrofitServiceManager -import com.pengxh.kt.lite.base.BaseViewModel import com.pengxh.kt.lite.extensions.launch import com.pengxh.kt.lite.extensions.unpackingResponse -class AlarmViewModel : BaseViewModel() { +class AlarmViewModel : ViewModel() { fun getAlarmListByPage( alarmType: String, page: Int, diff --git a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt index f9537ee..c44a711 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt @@ -90,13 +90,6 @@ else -> LoadingDialog.dismiss() } } - - applyViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialog.show(this, "申请中,请稍后...") - else -> LoadingDialog.dismiss() - } - } } override fun initEvent() { @@ -198,7 +191,6 @@ val currentTime = System.currentTimeMillis().timestampToCompleteDate() applyViewModel.enter( - this, RuntimeCache.projectId, "2", "", @@ -216,14 +208,19 @@ "", binding.workerNameView.text.toString(), "0", - "" - ) - - applyViewModel.resultModel.observe(this) { - if (it.code == 200) { + "", + onLoading = { + LoadingDialog.show(this, "申请中,请稍后...") + }, + onSuccess = { + LoadingDialog.dismiss() finish() + }, + onFailed = { + LoadingDialog.dismiss() + it.show(this) } - } + ) } } diff --git a/app/src/main/java/com/casic/br/operationsite/vm/AlarmViewModel.kt b/app/src/main/java/com/casic/br/operationsite/vm/AlarmViewModel.kt index 514b74c..f810780 100644 --- a/app/src/main/java/com/casic/br/operationsite/vm/AlarmViewModel.kt +++ b/app/src/main/java/com/casic/br/operationsite/vm/AlarmViewModel.kt @@ -1,13 +1,13 @@ package com.casic.br.operationsite.vm +import androidx.lifecycle.ViewModel import com.casic.br.operationsite.extensions.getResponseHeader import com.casic.br.operationsite.model.AlarmListModel import com.casic.br.operationsite.retrofit.RetrofitServiceManager -import com.pengxh.kt.lite.base.BaseViewModel import com.pengxh.kt.lite.extensions.launch import com.pengxh.kt.lite.extensions.unpackingResponse -class AlarmViewModel : BaseViewModel() { +class AlarmViewModel : ViewModel() { fun getAlarmListByPage( alarmType: String, page: Int, diff --git a/app/src/main/java/com/casic/br/operationsite/vm/ApplyViewModel.kt b/app/src/main/java/com/casic/br/operationsite/vm/ApplyViewModel.kt index 5508af8..82eb26d 100644 --- a/app/src/main/java/com/casic/br/operationsite/vm/ApplyViewModel.kt +++ b/app/src/main/java/com/casic/br/operationsite/vm/ApplyViewModel.kt @@ -1,24 +1,12 @@ package com.casic.br.operationsite.vm -import android.content.Context -import androidx.lifecycle.MutableLiveData -import com.casic.br.operationsite.extensions.getResponseCode -import com.casic.br.operationsite.extensions.getResponseMessage -import com.casic.br.operationsite.model.CommonResultModel +import androidx.lifecycle.ViewModel +import com.casic.br.operationsite.extensions.getResponseHeader import com.casic.br.operationsite.retrofit.RetrofitServiceManager -import com.google.gson.Gson -import com.google.gson.reflect.TypeToken -import com.pengxh.kt.lite.base.BaseViewModel import com.pengxh.kt.lite.extensions.launch -import com.pengxh.kt.lite.extensions.show -import com.pengxh.kt.lite.utils.LoadState -class ApplyViewModel : BaseViewModel() { - private val gson = Gson() - val resultModel = MutableLiveData() - +class ApplyViewModel : ViewModel() { fun enter( - context: Context, projectId: String, workerType: String, deptName: String, @@ -36,9 +24,12 @@ id: String, workerName: String, isRegister: String, - status: String + status: String, + onLoading: () -> Unit, + onSuccess: () -> Unit, + onFailed: (String) -> Unit ) = launch({ - loadState.value = LoadState.Loading + onLoading() val response = RetrofitServiceManager.enter( projectId, workerType, @@ -59,21 +50,13 @@ isRegister, status ) - when (response.getResponseCode()) { - 200 -> { - loadState.value = LoadState.Success - resultModel.value = gson.fromJson( - response, object : TypeToken() {}.type - ) - } - - else -> { - loadState.value = LoadState.Fail - response.getResponseMessage().show(context) - } + val header = response.getResponseHeader() + if (header.first == 200) { + onSuccess() + } else { + onFailed(header.second) } }, { - loadState.value = LoadState.Fail - it.printStackTrace() + onFailed(it.message ?: "Unknown error") }) } \ No newline at end of file