微信自定义分享,在开发者工具和安卓正常,ios端错误怎么解决?
微信自定义分享,在开发者工具和安卓端可以正常分享,在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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我猜是 iOS 版本的问题,iOS 和浏览器版本是绑定关系。感受一下移动端的 (XP + IE)
你用了箭头函数,对于 iOS 来说太先进了。
重点用 iOS 9 和 iOS 10 的设备测一下。我之前也遇到类似的问题,因为没有 Mac 和 iPhone ,所以我用 UA 把 iOS 都屏蔽了。