微信自定义分享,在开发者工具和安卓正常,ios端错误怎么解决?

发布于 2022-09-11 19:19:15 字数 2432 浏览 29 评论 0

微信自定义分享,在开发者工具和安卓端可以正常分享,在ios手机上标题描述和链接图片显示不对,打开debug弹出invalid signature,在开发者工具显示ok
我获取签名方式如下

 _this.sharewx = function(){
   var url = _this.HOST + '/data/getJDKSign';
   var dataJson = {url:window.location.href}
  _this.$post(url,dataJson)
  .then((res) => { 
  console.log(res)        
  _this.appId = res.data.appId;
  _this.timestamp = res.data.timestamp;
  _this.nonceStr = res.data.nonceStr;
  _this.signature = res.data.signature;
  _this.whatshar();
       })
  }

调用方法:

 clickshare(){
    this.title = this.$emit('id').title;
    this.desc = this.$emit('id').desc;
    this.imgUrl = this.$emit('id').imgUrl;
    this.link = this.$emit('id').link;
    this.sharewx();
    },
    
 whatshar(){
    var _this = this;
    if(this.$emit('id').urlshare){
     this.link = this.$emit('id').urlshare;
     }else{
       this.link = this.$emit('id').link;
    }

   wx.config({
       debug: false, 
       appId: _this.appId, 
       timestamp: _this.timestamp, 
       nonceStr: _this.nonceStr, 
       signature: _this.signature,
       jsApiList: ['onMenuShareAppMessage','onMenuShareTimeline']
        });
    wx.ready(function(){
       wx.onMenuShareAppMessage({
       title: _this.title, // 分享标题
       desc: _this.desc, // 分享描述
       link: _this.link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
       imgUrl: _this.imgUrl, // 分享图标
       dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
       success: function () {
          _this.sharebg = false;
           Toast.fail({duration: 1500,message: '分享成功',type: 'text'})
         },
       cancel: function () {
          _this.sharebg = false;
          Toast.fail({duration: 1500,message: '取消分享',type: 'text'})
         }
        });
       wx.onMenuShareTimeline({
         title: _this.title, // 分享标题
         desc: _this.desc, // 分享描述
         link: _this.link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
         imgUrl: _this.imgUrl, // 分享图标
            success: function () {
           _this.sharebg = false;
           Toast.fail({duration: 1500,message: '分享成功',type: 'text'})
          },
          cancel: function () {
            _this.sharebg = false;
            Toast.fail({duration: 1500,message: '取消分享',type: 'text'})
            }
         });
      });  
   }

获取签名方式直接传当前url,我尝试弹出当前url,是正确传入url;现在的问题是微信开发者工具显示ok;安卓正确分享,问题出现在ios手机上,有时候分享成功,有时候分享错误;debug显示invalid signature;请问这个问题如何解决?

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

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

发布评论

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

评论(1

浅暮の光 2022-09-18 19:19:15

我猜是 iOS 版本的问题,iOS 和浏览器版本是绑定关系。感受一下移动端的 (XP + IE)
你用了箭头函数,对于 iOS 来说太先进了。

重点用 iOS 9 和 iOS 10 的设备测一下。我之前也遇到类似的问题,因为没有 Mac 和 iPhone ,所以我用 UA 把 iOS 都屏蔽了。

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