问题描述
从app中分享到微信里正常,安卓分享出去正常,ios分享不行,信息都丢失,但是打开内容是正确的
问题出现的环境背景及自己尝试过哪些方法
试过很多方法,图片大小裁剪了,域名也在白名单,本来在测试的地址试好了,放到线上过了段时间又失效了,同样是安卓正常,IOS失效
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
// 初始化分享
initShare(pageData) {
let that = this
// 获取签名
that.$http.get(
that.signature, {
params: {
url: that.signatureUrl
},
headers: {
'xfrom': 7
},
}).then(res => {
if (res.data.success) {
that.shareData = res.data.data
console.log('获取签名结果');
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: that.shareData.appId, // 必填,公众号的唯一标识
timestamp: that.shareData.timestamp, // 必填,生成签名的时间戳
nonceStr: that.shareData.nonceStr, // 必填,生成签名的随机串
signature: that.shareData.signature,// 必填,签名
jsApiList: [
'checkJsApi',
'updateAppMessageShareData',
'updateTimelineShareData',
'onMenuShareTimeline',
'onMenuShareAppMessage',
'onMenuShareQQ',
'onMenuShareWeibo',
'onMenuShareQZone'
] // 必填,需要使用的JS接口列表
});
wx.error((error) => {
console.log('分享报错');
console.log(that.shareData.signature);
console.log('分享报错');
})
// 120 *120 居中裁剪的图片
let imgUrl = that.song_img + '?x-oss-process=image/resize,m_fill,h_120,w_120'
let dateStamp = (new Date()).valueOf();
// 分享后跳转的连接
let jumpLink = that.jumpLink + '&dateStamp=' + dateStamp
// 检测分享接口是否可用的对象
let checkJsApiRes = {}
wx.checkJsApi({
jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareQZone'],
success: function (res) {
// 以键值对的形式返回,可用的api值true,不可用为false
// 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
console.log('接口是否可以使用');
console.log(jumpLink);
checkJsApiRes = res
}
});
wx.ready(function () { //需在用户可能点击分享按钮前就先调用
if (checkJsApiRes.updateAppMessageShareData) {
// 自定义“分享给朋友”及“分享到QQ”按钮的分享内容
wx.updateAppMessageShareData({
title: that.song_title, // 分享标题
desc: that.audioTilte, // 分享描述
link: jumpLink, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: imgUrl, // 分享图标
success: function () {
// 设置成功
}
});
} else {
/** 分享给朋友或者群--即将废弃 */
wx.onMenuShareAppMessage({
title: that.song_title, // 分享标题
desc: that.audioTilte, // 分享描述
link:jumpLink, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl:imgUrl, // 分享图标
});
// 获取“分享到QQ”按钮点击状态及自定义分享内容接口(即将废弃)
wx.onMenuShareQQ({
title: that.song_title, // 分享标题
desc: that.audioTilte, // 分享描述
link: jumpLink, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: imgUrl, // 分享图标
});
}
你期待的结果是什么?实际看到的错误信息又是什么?
希望有大神能帮忙解决
自己解决了,记录一下,原因出在特别简单的问题上,确保图片大小,跳转链接在白名单,链接内不带中文参数等等常见问题后。需要检查分享出去的链接,如果是http开头,那么引入的jweixin文件的开头需要对应上,https当然同理