uniapp小程序_mac电脑端分享不生效的问题_onShareAppMessage异步处理方法
在uniapp打包生成小程序的过程中,发现线上环境在mac电脑端不能正常分享,记录下如何处理
uniapp小程序_mac电脑端分享不生效的问题_onShareAppMessage异步处理方法-MakerLi

问题:

在工作中使用 onShareAppMessage 设置分享页面,在macPC打开小程序,发现不能分享

 onShareAppMessage(res) {
    if (res.from === 'button') {// 来自页面内分享按钮
      return {
      title: '自定义分享标题',
      path: '/pages/test/test?id=123'
      }
    }
}


处理方法:

对比其他小程序与uniapp官方小程序的代码之后,初步排查是mac的res里面from 不是button,取消之后即可解决此问题

onShareAppMessage(res) {
   return {
      title: '自定义分享标题',
      path: '/pages/test/test?id=123'
    }
 }

附分享onShareAppMessage的一个异步处理方法

onShareAppMessage(){
	return new Promise((resolve,reject)=>{
		uni.showLoading()
		fnPost(data).then(res=>{
			uni.hideLoading()
			if(res.code == 200){
				resolve({
					title:'示例焚香',
					path:'/pages/test/test?id=123', 
					imageUrl:'...'
				})
			}else{}
		}).catch(err => {
			uni.hideLoading()
		})
	})
}