From 47670220de335ea4ff9026db6e8f094153c8ae10 Mon Sep 17 00:00:00 2001
From: Runt <qingingrunt2010@qq.com>
Date: Sun, 05 Apr 2026 10:48:56 +0000
Subject: [PATCH] 音频播放问题修复 反馈图片上传问题修复 版本更新优化

---
 libmvi/src/main/java/com/runt/open/mvi/base/LayoutView.kt |   26 +++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/libmvi/src/main/java/com/runt/open/mvi/base/LayoutView.kt b/libmvi/src/main/java/com/runt/open/mvi/base/LayoutView.kt
index 38aa0d7..8a40fea 100644
--- a/libmvi/src/main/java/com/runt/open/mvi/base/LayoutView.kt
+++ b/libmvi/src/main/java/com/runt/open/mvi/base/LayoutView.kt
@@ -1,7 +1,15 @@
 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.data.InputMessageState
+import com.runt.open.mvi.data.MessageState
+import com.runt.open.mvi.views.InputDialog
+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)
@@ -13,5 +21,21 @@
     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)
+        if(messageState is MessageState){
+            MessageDialog(message = messageState as MessageState)
+        }else if(messageState is InputMessageState){
+            InputDialog(message = messageState as InputMessageState)
+        }
+        PopupWindow(popupState)
+    }
+
+    @Composable
+    protected abstract fun layout();
 }
\ No newline at end of file

--
Gitblit v1.9.1