From 48ef1b9434e8028d71d586531f2fa6250f3365fb Mon Sep 17 00:00:00 2001 From: ruchong Date: Wed, 29 Oct 2025 23:09:45 +0800 Subject: [PATCH] =?UTF-8?q?iframe=E8=B7=AF=E7=94=B1=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E5=85=81=E8=AE=B8=E4=BD=BF=E7=94=A8$store=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../layout/components/IframeToggle/index.vue | 27 ++++++++++++++++++- ruoyi-ui/src/views/system/menu/index.vue | 2 +- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/ruoyi-ui/src/layout/components/IframeToggle/index.vue b/ruoyi-ui/src/layout/components/IframeToggle/index.vue index 02ba4c38a7..f117b999ca 100644 --- a/ruoyi-ui/src/layout/components/IframeToggle/index.vue +++ b/ruoyi-ui/src/layout/components/IframeToggle/index.vue @@ -23,10 +23,35 @@ export default { methods: { iframeUrl(url, query) { if (Object.keys(query).length > 0) { - let params = Object.keys(query).map((key) => key + "=" + query[key]).join("&") + let params = Object.keys(query).map((key) => { + let value = this.parseStoreValue(query[key]) + return key + "=" + value + }).join("&") return url + "?" + params } return url + }, + parseStoreValue(value){ + // eg. $store.getters.name + if(value!=null && value.startsWith("$store") && value.indexOf(".")>-1){ + const storeRouter = value.split("\."); + let temp = this.$store + for (const index in storeRouter) { + if (index==0) continue + const storeRouterKey = storeRouter[index] + if(storeRouterKey.endsWith("?")){ + const realKey = storeRouterKey.substring(0,storeRouterKey.length-1) + if(temp[realKey]==null){ + return "" + } + temp = temp[realKey] + continue + } + temp = temp[storeRouterKey]; + } + return temp; + } + return value; } } } diff --git a/ruoyi-ui/src/views/system/menu/index.vue b/ruoyi-ui/src/views/system/menu/index.vue index b61cf6f0dc..38bdafc6d9 100644 --- a/ruoyi-ui/src/views/system/menu/index.vue +++ b/ruoyi-ui/src/views/system/menu/index.vue @@ -231,7 +231,7 @@ - + 路由参数 -- Gitee