收藏
回答

微信自定义分享h5页面,安卓端分享正常显示小卡片,ios分享同页面自定义内容不生效签名失败?

测试机型:iphone 12 15.4.1

微信版本:8.0.20

appID: wx9ff02935f22ca85c

vue spa, history mode

因为是配置在公众号菜单里面的,所以需要关注下。入口:掌上营业厅 - 投顾商城 - 首页tab 服务包 - 服务包列表 - 服务包详情 - 分享

// 导入jssdk
<script charset="utf-8" type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>

// 通用分享方法 在每个需要分享的页面 create 钩子调用
// url: 要分享的页面完整path
export async function initWxShare(title, intro, url, imgUrl) {
  try {
    if (!title || !intro || !url) return;
    url = url.split('#')[0];
    const { data } = await axios.get(`${window.CONFIG.wxSignatureUrl}${url}`);
    if (data.error_no !== '0') return;
    const result = data.results[0];

    wx.error((res) => {
      console.error(res);
    });

    wx.config({
      debug: false,
      appId: result.appid,
      timestamp: result.timestamp,
      nonceStr: result.nonceStr,
      signature: result.signature,
      jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareAppMessage', 'onMenuShareTimeline']
    });


    wx.ready(() => { // 需在用户可能点击分享按钮前就先调用
      const shareData = {
        title,
        desc: intro.replace(/<\/?.+?\/?>/g, ''),
        link: url,
        imgUrl: imgUrl || `${window.location.origin}${window.PUBLIC_PATH}user.png`,
        success(d) {
          // 设置成功
          console.log('success', d);
        },
      };
      // 1.4.0 新接口 (只调用这个接口在安卓下是无效的)
      wx.updateAppMessageShareData(shareData); // 好友
      wx.updateTimelineShareData(shareData); // 朋友圈


      // 1.2.0 老接口 兼容
      wx.onMenuShareAppMessage(shareData);
      wx.onMenuShareTimeline(shareData);
    });
  } catch (e) {
    // ...
  }
}


ios 端报错 config: invalid signature, realAuthUrl: Array[1]...

查资料说的是ios端微信浏览器打开的h5链接跳转时,wkwebview上的url永远是首次打开的地址,与真实要分享的页面url不一致,导致签名校验失败;而安卓无此问题。

请问这一个问题怎么处理?


另外,ios端直接分享一个h5链接出去仍然是链接,但是收藏这个链接之后,从收藏里面打开分享就是自定义内容的卡片形式,这是什么策略?

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

1 个回答

  • 拾忆
    拾忆
    2022-04-08

    自从上次微信调整开放链接访问后就这情况。

    2022-04-08
    有用 1
    回复 2
    • X
      X
      2022-04-08
      你好,这种问题目前好的解决方案么?
      2022-04-08
      回复
    • 拾忆
      拾忆
      2022-04-08回复X
      目前没有
      2022-04-08
      回复
登录 后发表内容