From 46da1d5ed1398e458213a4646ff7e9e23382dc68 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期五, 10 十一月 2023 11:13:38 +0800
Subject: [PATCH] 修复内链iframe没有传递参数问题(I8DUOJ)

---
 src/layout/components/IframeToggle/index.vue |   16 ++++++++++++----
 src/layout/index.vue                         |    2 +-
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/src/layout/components/IframeToggle/index.vue b/src/layout/components/IframeToggle/index.vue
index 0b8c868..2109c20 100644
--- a/src/layout/components/IframeToggle/index.vue
+++ b/src/layout/components/IframeToggle/index.vue
@@ -5,15 +5,23 @@
       :key="item.path"
       :iframeId="'iframe' + index"
       v-show="route.path === item.path"
-      :src="item.meta.link"
+      :src="iframeUrl(item.meta.link, item.query)"
     ></inner-link>
   </transition-group>
 </template>
 
 <script setup>
-import InnerLink from "../InnerLink/index"
-import useTagsViewStore from '@/store/modules/tagsView'
+import InnerLink from "../InnerLink/index";
+import useTagsViewStore from "@/store/modules/tagsView";
 
 const route = useRoute();
-const tagsViewStore = useTagsViewStore()
+const tagsViewStore = useTagsViewStore();
+
+function iframeUrl(url, query) {
+  if (Object.keys(query).length > 0) {
+    let params = Object.keys(query).map((key) => key + "=" + query[key]).join("&");
+    return url + "?" + params;
+  }
+  return url;
+}
 </script>
diff --git a/src/layout/index.vue b/src/layout/index.vue
index 4d04ea0..52d821b 100644
--- a/src/layout/index.vue
+++ b/src/layout/index.vue
@@ -9,7 +9,7 @@
       </div>
       <app-main />
       <settings ref="settingRef" />
-    </div> 
+    </div>
   </div>
 </template>
 

--
Gitblit v1.9.3