收藏
回答

鸿蒙NEXT 微信分享网页链接有bug?

const webpageObject = new wxopensdk.WXWebpageObject()
webpageObject.webpageUrl = "http://www.qq.com"

const mediaMessage = new wxopensdk.WXMediaMessage()
mediaMessage.mediaObject = webpageObject
mediaMessage.title = "测试网页链接"
mediaMessage.description = "测试网页摘要"

const thumbData = await getContext(this).resourceManager.getMediaContent($r("app.media.thumb_img"))
const thumbPixel = image.createImageSource(thumbData.buffer).createPixelMapSync()
const thumbBuffer = await image.createImagePacker().packToData(thumbPixel, { format: "image/png", quality: 100 })
mediaMessage.thumbData = new Uint8Array(thumbBuffer)

const req = new wxopensdk.SendMessageToWXReq()
req.callbackAbility = kDemoEntryAbility
req.scene = wxopensdk.SendMessageToWXReq.WXSceneSession
req.message = mediaMessage

this.wxApi.sendReq(getContext(this) as common.UIAbilityContext, req)


回答关注问题邀请回答
收藏

3 个回答

  • 社区技术运营专员--许涛
    社区技术运营专员--许涛
    2024-12-25

    你好,机型,微信版本号和复现链接,普通微信分享正常是吗?

    2024-12-25
    有用
    回复 6
    查看更多(1)
  • 时光-漫步
    时光-漫步
    2024-12-31

     你好,我最近也在接微信分享链接和分享小程序功能,也遇到过你这问题。目前已经解决。

    鸿蒙环境:微信opensdk:1.0.6 + 微信版本:1.0.3.36

    现在分享失败有两种情况:

    一: 微信分享链接或者小程序拉不起来,这个是图片太大,必须保证thumbData的 ArraBuffer大小在64k以内,文档有说明,如果超限,this.wxApi.sendReq(getContext(this) as common.UIAbilityContext, req) 返回false
    二:微信分享能拉起来,但是白屏,这个跟图片pack方式有关,首页原图如果是jpg,那么image.PackingOption 中的format一定要传:'image/jpeg',不能是别的,会导致微信起来后白屏,如果原图是png,那么packing参数format可以是'image/jpeg'或者'image/png'。综上统一使用format可以是'image/jpeg'可以避免因为packing问题导致的微信起来白屏,该原因不清楚到底是鸿蒙的问题还是微信的问题。希望对你有帮助
    
    另外我遇到一个从鸿蒙微信分享出去的链接或者小程序,在Android或者iOS机型上几率性出现分享卡片的封面图加载不出来,不清楚是什么原因导致的,目前尚未解决 @社区技术运营专员--许涛
    
    2024-12-31
    有用
    回复 7
    • 社区技术运营专员--许涛
      社区技术运营专员--许涛
      01-02
      你好,麻烦跟进问题重新发帖,我们会在你的帖子下方重新跟进,帖子内请提供鸿蒙分享卡片的封面图在安卓和iOS加载不出来的问题提供下对应的问题截图和上传微信日志
      01-02
      回复
    • 时光-漫步
      时光-漫步
      01-02回复社区技术运营专员--许涛
      你好,已单独开贴,辛苦跟进一下:https://developers.weixin.qq.com/community/develop/doc/000aa4f66dc998c5bea2d20d866800?fromCreate=0
      01-02
      回复
    • 小武
      小武
      01-20
      你好,请问上面例子中的图片thumb_img,有么,另外怎么确定thumb_img ArrayBuffer大小在64k以内
      01-20
      回复
    • 小武
      小武
      01-20
      你好,请问缩率图大小,你这边是多大的,我这边换了几种小分辨率的都不行,还是不显示
      01-20
      回复
    • 时光-漫步
      时光-漫步
      01-21回复小武
      是这样的,如果图片本身就小,那么采用质量压缩(质量损失就小),如果分享图片链接是走的cdn(以oss对象存储为例),可以采用@200w.webp这种来减小图片本身的体积,这样质量压缩默认100,每次减少5,大部分可以做到一次性就能压缩成功到64k以内。如果图片本身就很大,那么多次采用质量压缩可以分享,但是图片可能会糊掉。以下是关于图片压缩的思路,首先需要下载原图片,然后进行质量压缩:
      01-21
      1
      回复
    查看更多(2)
  • 秦
    2024-12-25

    我也遇到了,可能跟微信版本有关?

    2024-12-25
    有用
    回复 8
    查看更多(3)
登录 后发表内容