From ff59eb9415d3df520df98e14ef66d9a3d9804c5b Mon Sep 17 00:00:00 2001
From: Runt <qingingrunt2010@qq.com>
Date: Sun, 18 May 2025 17:50:11 +0000
Subject: [PATCH] 封装dialog,popup,loading弹框, 优化权限申请 优化文件选择

---
 libmvi/src/main/java/com/runt/open/mvi/base/LayoutView.kt |   19 ++++++++++++++++++-
 1 files changed, 18 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..5a863fc 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,12 @@
 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)
@@ -13,5 +18,17 @@
     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();
 }
\ No newline at end of file

--
Gitblit v1.9.1