| | |
| | | package com.runt.open.mvi.base |
| | | |
| | | import androidx.compose.runtime.Composable |
| | | import androidx.compose.runtime.collectAsState |
| | | import androidx.compose.runtime.getValue |
| | | import com.runt.open.mvi.base.model.BaseViewModel |
| | | import com.runt.open.mvi.views.LoadingDialog |
| | | import com.runt.open.mvi.views.MessageDialog |
| | | import com.runt.open.mvi.views.PopupWindow |
| | | |
| | | /** |
| | | * @author Runt(qingingrunt2010@qq.com) |
| | |
| | | val TAG : String = javaClass.simpleName |
| | | |
| | | @Composable |
| | | abstract fun layout(); |
| | | fun layoutFrame(){ |
| | | val isLoading by mViewModel.isLoading.collectAsState() |
| | | val messageState by mViewModel.messageState.collectAsState() |
| | | val popupState by mViewModel.popupState.collectAsState() |
| | | layout() |
| | | // 显示 loading 弹窗 |
| | | LoadingDialog(isLoading) |
| | | MessageDialog(messageState) |
| | | PopupWindow(popupState) |
| | | } |
| | | |
| | | @Composable |
| | | protected abstract fun layout(); |
| | | } |