feat(router): 为H5环境添加hashchange路由拦截

添加对H5环境的路由拦截支持,通过监听hashchange事件实现页面跳转拦截
This commit is contained in:
feige996
2025-08-06 20:25:31 +08:00
parent c69c350e0f
commit 447e8e4626

View File

@@ -63,5 +63,15 @@ export const routeInterceptor = {
uni.addInterceptor('reLaunch', navigateToInterceptor)
uni.addInterceptor('redirectTo', navigateToInterceptor)
uni.addInterceptor('switchTab', navigateToInterceptor)
// #ifdef H5
// 一个粗糙的实现方式不满意可以自行修改https://github.com/unibest-tech/unibest/issues/192
// H5环境路由拦截监听hashchange事件
window.addEventListener('hashchange', () => {
// 获取当前路径
const currentPath = `/${window.location.hash.split('#/')[1]?.split('?')[0]}`
navigateToInterceptor.invoke({ url: currentPath })
})
// #endif
},
}