小程序分享自定义图片问题,使用canvas生成,右上角分享第一次无法替换问题
最近有个需求是要分享出去的商品图片上带上价格和销量,刚开始很顺利,使用canvas生成完图片,然后替换,但是轮到右上角点击三个点分享出去的时候有个问题
onShareAppMessage(res) { if (res.from === 'button') {// 来自页面内分享按钮
if(res.target.id == 0){
if(this.ifGetImg){
return {
title:this.goods.name,
imageUrl:this.shareImgUrl,
path: '/packageA/pages/goods/goods?id='+this.goods.id+'&promoCode='+promoCode+'&warehouseId='+warehouseId
}
}
}else if(res.target.id == 1){
this.shareGoods(2)
}else if(res.target.id == 2){
return {
title:this.goods.name,
imageUrl:this.shareImgUrl,
path: '/packageA/pages/goods/goods?id='+this.goods.id+'&promoCode='+promoCode+'&warehouseId='+warehouseId
}
}
}else if(res.from === 'menu'){
return {
title:this.goods.name,
imageUrl:this.shareImgUrl,
path: '/packageA/pages/goods/goods?id='+this.goods.id+'&promoCode='+promoCode+'&warehouseId='+warehouseId+'&userType=user'
}
}
},
这里是方法,由于图片还未生成好,所以没有替换掉
第二次点击后就可以了
现在的方案是进到页面数据加载完毕后,调用方法生成图片,不管有没有分享都会生成,虽然实现了需求,但是总是感觉不妥,也看过别人的小程序,暂时还不知道他们的实现方式,所以,有没有大佬来解惑,这种实现的思路是什么,还有什么可优化的点
回答:
onShareAppMessage
支持 promise
参数,如果该参数存在,则其它的参数将会以其resolve 结果为准,如果三秒内不 resolve,分享会使用上面传入的默认参数。
就是说你可以异步等待图片生成好,完成分享,3秒足够了
以上是 小程序分享自定义图片问题,使用canvas生成,右上角分享第一次无法替换问题 的全部内容, 来源链接: utcz.com/p/936223.html