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

发布于 2022-09-30 23:10:45 字数 1576 浏览 47 评论 0

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

这里是方法,由于图片还未生成好,所以没有替换掉

第二次点击后就可以了

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

分开我的手 2022-10-07 23:10:45

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文