项目场景:
当用户点击小程序右上角分享小程序时,如果我们没有设置,会默认分享当前小程序的名称和当前页面,例如下面:
需求
此时客户要求每次用户点进来小程序都跳转到小程序的首页,而且无论用户在哪一个页面分享小程序,分享的都是固定的图片。
解决方案:
在全局 app.js 中添加如下代码:
onLaunch() {
this.onShareAppMessage()
},
onShareAppMessage() {
wx.onAppRoute(() => {
console.log('当前页面路由发生变化 触发该事件onShareAppMessage')
const pages = getCurrentPages() //获取加载的页面
const view = pages[pages.length - 1] //获取当前页面的对象
if (!view) return false //如果不存在页面对象 则返回
view.onShareAppMessage = () => { //重写分享配置
return {
title: '分享的标题',
imageUrl: 'image_path',
path: '/pages/apply_introduce/index' //点击分享链接进入指定页面
}
}
// }
})
},
同时注意,在每一个页面的 js 中,一定要存在onShareAppMessage()
方法,此方法在创建文件时默认就也有了,不过当时手欠的我给删除了。