From 3caaa52ff6a747f17c5dcd013a06f109eafc6966 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=AD=E5=AD=94=E6=B3=89?= Date: Mon, 6 Mar 2023 18:50:30 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=AD=A3=E5=A4=A7=E5=B1=8F?= =?UTF-8?q?=E9=A2=84=E8=A7=88=E7=95=8C=E9=9D=A2=EF=BC=8C=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?query=E5=8F=82=E6=95=B0=E7=9A=84=E6=97=B6=E5=80=99ID=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit http://localhost:3000/#/chart/preview/792622755697790976?t=123 并把参数放入sessionStorage,后续动态接口可以使用 例如动态请求参数中使用javascript: return window.sessionStorage.getItem('t') --- src/utils/router.ts | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/utils/router.ts b/src/utils/router.ts index 7c04b96f..b6d81093 100644 --- a/src/utils/router.ts +++ b/src/utils/router.ts @@ -169,7 +169,24 @@ export const fetchRouteParams = () => { */ export const fetchRouteParamsLocation = () => { try { - return document.location.hash.split('/').pop() || '' + // http://localhost:3000/#/chart/preview/792622755697790976?t=123 + // 修正大屏预览界面,添加query参数的时候ID获取异常。 + const url = document.location.hash + const queryIndex = url.indexOf('?') + if (queryIndex > 0) { + const queryUrl = url.substring(queryIndex+1) + const queryParams = queryUrl.split('&') + // 并把参数放入sessionStorage,后续动态接口可以使用 + // 例如请求参数中使用javascript: return window.sessionStorage.getItem('t') + queryParams.forEach((str: string) => { + const kv = str.split('=') + if (kv.length === 2) window.sessionStorage.setItem(kv[0], kv[1]) + }) + const uri = url.substring(0, queryIndex) + return uri.split('/').pop() || '' + } else { + return url.split('/').pop() || '' + } } catch (error) { window['$message'].warning('查询路由信息失败,请联系管理员!') return '' @@ -203,7 +220,7 @@ export const loginCheck = () => { /** * * 预览地址 - * @returns + * @returns */ export const previewPath = (id?: string | number) => { const { origin, pathname } = document.location