您现在的位置是:首页 >技术教程 >微信小程序想给每个页面都加上分享功能,可以全局的加吗?网站首页技术教程
微信小程序想给每个页面都加上分享功能,可以全局的加吗?
简介微信小程序想给每个页面都加上分享功能,可以全局的加吗?
每个页面都设置onShareAppMessage
方法,让每个页面都可以分享
然后发现了一个wx.onAppRoute
wx.onAppRoute(() =>{ console.log('当前页面路由发生变化 触发该事件onShareAppMessage') const pages = Taro.getCurrentPages() //获取加载的页面 const view = pages[pages.length - 1] //获取当前页面的对象 if(!view) return false //如果不存在页面对象 则返回 // 若想给个别页面做特殊处理 可以给特殊页面加isOverShare为true 就不会重写了 // const data = view.data // if (!data.isOverShare) { // data.isOverShare = true console.log(123123, view); Taro.showShareMenu({ showShareItems: ['shareAppMessage', 'shareTimeline'] }) view.onShareAppMessage = () => { //重写分享配置 return { title: 'AI 秀(show)出你的美', path: "/pages/index/index", //若无path 默认跳转分享页 imageUrl: 'https://mobvoi-ai-public.cn-bj.ufileos.com/FOLDER/image/generation/2023-03-29/1641026841173315586.png', } } view.onShareTimeline = () => { //重写分享配置 return { title: 'AI 秀(show)出你的美', path: "/pages/index/index", //若无path 默认跳转分享页 imageUrl: 'https://mobvoi-ai-public.cn-bj.ufileos.com/FOLDER/image/generation/2023-03-29/1641026841173315586.png', } } // } })
也可以全局监听页面路由。如果没有登陆并且需要注册就去注册页面
wx.onAppRoute((route) => {
const protectedRoutes = [
'pages/protected/1'
,
'pages/protected/2'
,
'pages/protected/3'
]
if
(!store.userLoggedIn() && protectedRoutes.find(r => route.path.includes(r))) {
wx.redirectTo({
url:
'/pages/register/register'
})
}
})
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。