uniapp 微信小程序分享页面路由被清空

onShareAppMessage分享分包页面,点进分享卡片进入小程序后路由未保留,被分享的页面变成了首页,导致返回键失效
处理方式:
做一个全局路由拦截,路由被清空时返回小程序首页
创建一个拦截器interceptor.js:

// 路由拦截
function addRouteInterceptor() {
    // 增加一个返回键的拦截,从分享页面进入小程序,路由只有一级,这时点返回使其回到首页
    uni.addInterceptor("navigateBack", {
        invoke(e) {
            let routes =  getCurrentPages()
            // console.log('navigateBack', routes)
            if (routes.length > 1) {
                return true
            } else {
                uni.reLaunch({
                    url: '/pages/index/index'
                })
                return false
            }
        }
    })
}

export default {
    addRouteInterceptor,
}

如果路由栈只有一个,那就重定向到首页

在App.vue的onLaunch里注册下路由拦截器

export default {
    onLaunch: function(options) {
        // 路由拦截
        interceptor.addRouteInterceptor()
    },
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容