小程序分享自定义图片问题,使用canvas生成,右上角分享第一次无法替换问题

最近有个需求是要分享出去的商品图片上带上价格和销量,刚开始很顺利,使用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'

}

}

},

这里是方法,由于图片还未生成好,所以没有替换掉
小程序分享自定义图片问题,使用canvas生成,右上角分享第一次无法替换问题
第二次点击后就可以了

现在的方案是进到页面数据加载完毕后,调用方法生成图片,不管有没有分享都会生成,虽然实现了需求,但是总是感觉不妥,也看过别人的小程序,暂时还不知道他们的实现方式,所以,有没有大佬来解惑,这种实现的思路是什么,还有什么可优化的点


回答:

onShareAppMessage 支持 promise 参数,如果该参数存在,则其它的参数将会以其resolve 结果为准,如果三秒内不 resolve,分享会使用上面传入的默认参数。

就是说你可以异步等待图片生成好,完成分享,3秒足够了

以上是 小程序分享自定义图片问题,使用canvas生成,右上角分享第一次无法替换问题 的全部内容, 来源链接: utcz.com/p/936223.html

回到顶部