主动分享没有图片是怎么回事

doShare(){

    //随机取得分享标题和图片
    var title = "经典打飞机游戏始终好玩如初,来吧!一起回味经典的乐趣。"
    var image = "images/share1"
    // var url = cc.url.raw('resources/images/share1.jpeg')
    // console.log("准备分享8", url)

    //3.主动拉起分享接口
    cc.loader.loadRes(image, function(err, file){
        console.log("准备分享5", file.url)
        wx.shareAppMessage(function(res){
            return {
                title: title,
                imageUrl: file.url,
                query: null,
                fail(res){
                    console.log("取消分享", res)
                } 
            }
        })
    })
},

上面是我点分享按钮执行的代码,但是分享显示时候没有图片。这个图片是放在resources/images/share1.jpeg,根据打印的日志,在build目录中也是有找到该文件的,为啥就是没有显示呢?

  wx.shareAppMessage({
      title: '经典打飞机游戏始终好玩如初,来吧!一起回味经典的乐趣。',
      imageUrl: 'res/raw-assets/resources/images/share1.jpeg'
  });

发布的时候不要勾选md5

微信的分享图片必须是https的链接,而且还得在微信公众后台配置“downloadFile 合法域名”

没有勾选md5的,我没有你说的那个目录(res/raw-assets/resources/images/share1.jpeg),我的目录是:
res/raw-assets/f3/f39a0cf7-4023-4027-b949-089fe97135bf.jpeg
我是不是哪里有问题?

我是用的是本地的图片地址,不是远程服务器上的

:sweat_smile:你传的参数不对,是要传一个json,你传个函数是什么鬼

谢谢 @785293346 ,你是对的,解决了。
同时谢谢 @ewingping ,你给的例子完全正确,是我没看仔细你的代码,呜呜。。。不然早解决了。
非常感谢!

:sweat_smile:放在res里面的话勾选md5出来的名字就会不一样,虽然你可以收到去构建出来的目录里改名,但是那样很麻烦,并且没有md5的话也会造成后续修改麻烦,毕竟没有这个的话如果分享图片后面改了呢?微信会给你重新拉新的吗?所以,建议把分享图片弄到模板里,构建md5勾选。获取时再转换路径就行。附上个方法给你 cc.loader.loadRes(“sharePicture”,function(err,data){ var url=cc.loader.md5Pipe.transformURL(data.url); // console.log(url); wx.shareAppMessage({ title: “风险专家火眼金睛,妙手化解护航幸福。”, imageUrl: url, }) });

你首先得到文件真实的地址啊。