您现在的位置是:首页 >技术教程 >微信小程序想给每个页面都加上分享功能,可以全局的加吗?网站首页技术教程
微信小程序想给每个页面都加上分享功能,可以全局的加吗?
简介微信小程序想给每个页面都加上分享功能,可以全局的加吗?
每个页面都设置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'
})
}
})
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。





U8W/U8W-Mini使用与常见问题解决
QT多线程的5种用法,通过使用线程解决UI主界面的耗时操作代码,防止界面卡死。...
stm32使用HAL库配置串口中断收发数据(保姆级教程)
分享几个国内免费的ChatGPT镜像网址(亲测有效)
Allegro16.6差分等长设置及走线总结