From cfd949db3b03c0ca788c29f0decb33863b5ed0e8 Mon Sep 17 00:00:00 2001 From: feige996 <1020102647@qq.com> Date: Thu, 21 Aug 2025 16:18:28 +0800 Subject: [PATCH] =?UTF-8?q?feat(router):=20=E5=A2=9E=E5=8A=A0=E8=B7=AF?= =?UTF-8?q?=E7=94=B1=E6=8B=A6=E6=88=AA=E5=99=A8=E7=9A=84query=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E6=94=AF=E6=8C=81=E5=B9=B6=E4=BC=98=E5=8C=96=E8=B7=AF?= =?UTF-8?q?=E7=94=B1=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 处理直接进入页面时传递query参数的情况,同时将路由处理逻辑从onLaunch移到onShow中 --- src/App.vue | 10 +++++----- src/router/interceptor.ts | 5 +++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/App.vue b/src/App.vue index b0d9043..e948c0f 100644 --- a/src/App.vue +++ b/src/App.vue @@ -5,11 +5,14 @@ import { tabbarStore } from './tabbar/store' import 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only' onLaunch((options) => { + console.log('App Launch', options) +}) +onShow((options) => { + console.log('App Show', options) // 处理直接进入页面路由的情况:如h5直接输入路由、微信小程序分享后进入等 // https://github.com/unibest-tech/unibest/issues/192 - console.log('App Launch', options) if (options?.path) { - navigateToInterceptor.invoke({ url: `/${options.path}` }) + navigateToInterceptor.invoke({ url: `/${options.path}`, query: options.query }) } else { navigateToInterceptor.invoke({ url: '/' }) @@ -17,9 +20,6 @@ onLaunch((options) => { // 处理直接进入路由非首页时,tabbarIndex 不正确的问题 tabbarStore.setAutoCurIdx(options.path) }) -onShow((options) => { - console.log('App Show', options) -}) onHide(() => { console.log('App Hide') }) diff --git a/src/router/interceptor.ts b/src/router/interceptor.ts index 14c5535..d4f59e3 100644 --- a/src/router/interceptor.ts +++ b/src/router/interceptor.ts @@ -22,8 +22,9 @@ const isDev = import.meta.env.DEV export const navigateToInterceptor = { // 注意,这里的url是 '/' 开头的,如 '/pages/index/index',跟 'pages.json' 里面的 path 不同 // 增加对相对路径的处理,BY 网友 @ideal - invoke({ url }: { url: string }) { - // console.log(url) // /pages/route-interceptor/index?name=feige&age=30 + invoke({ url, query }: { url: string, query?: Record }) { + console.log(url) // /pages/route-interceptor/index?name=feige&age=30 + console.log(query) // /pages/route-interceptor/index?name=feige&age=30 let path = url.split('?')[0] // 处理相对路径