最新在开发项目时候,发现分享总是不正常的。分享总是带有链接,而且也没有图片。最开始以为是不是相关参数没有填写正确,或者域名没有备案等等问题,但是全部核对一遍,还是现实不正确。
在需要调用微信config和reday的函数的js文件头部引入wx,代码如下:
import wx from 'weixin-js-sdk'
export default {
/**
* 申请使用微信JS接口
* @param data
*/
wxConfig: function (data) {
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: data.appId, // 必填,公众号的唯一标识
timestamp: data.timestamp, // 必填,生成签名的时间戳
nonceStr: data.nonceStr, // 必填,生成签名的随机串
signature: data.signature,// 必填,签名,见附录1
jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
},
/**
* 微信对象已准备好时,初始化右上角分享按钮(分享给朋友,分享到朋友圈)
*/
wxReady: function (shareInfo) {
wx.ready(function () {
wx.onMenuShareTimeline({ // 分享到朋友圈
title: shareInfo.title,
link: shareInfo.url, // 分享链接
imgUrl: shareInfo.imgUrl, // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
},
fail: function (res) {
}
});
wx.onMenuShareAppMessage({ // 分享给朋友
title: shareInfo.title,
link: shareInfo.url, // 分享链接
imgUrl: shareInfo.imgUrl, // 分享图标
desc: shareInfo.desc,
type: 'link', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
});
},
}
|
mounted: function() {
if (Common.isWeiXin()) {
this.checkTime();
}
else {
alert("请在微信中打开本页面!");
}
}
|
这样做完后,我在手机上微信测试我的页面,就出现了文章开头介绍的情况,在微信web开发者工具中实际测试发现,调用初始化微信js-sdk还是失败。
最后查询资料 原来是我分享链接标题和描述中出现了“现金”和“红包”这两个敏感词,被微信屏幕了。
去掉分享参数里面敏感字符以后,就分享正常了。如果你遇到这样问题,可以检查下是否有敏感资费哦。