一、配置
首先:
通过微信公众号>>设置>>公众号设置>>功能设置JS接口安全域名 需要正确
配置我百度找了2个图片:
js安全域名可以最多配置3个:比如一个安全域名可以是请求地址的域名,一个可以是图片服务器地址的域名(必须是http协议)
二、问题解决
因为ios与Android处理数据机制不同所以有些情况下Android好用而ios在分享中不好用,所以导致图片,描述不显示,只显示链接
在参数进行转义就好了encodeURIComponent
encodeURI:不好用。
encodeURIComponent() 函数 与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。
function shareToFriend() {
var id= $("#id").val();
var type= $("#type").val();
wx.onMenuShareAppMessage({
title : title, // 分享标题
desc : '描述', // 分享描述
link : 'http://bcd.test.cn/details?id='+encodeURIComponent(id)+'&type='+encodeURIComponent(type),
imgUrl : 'http://abc.test.cn/resources/article_8d8-4d18-4b8d-8cfe-33bc330bfe86.jpg', // 分享图标
type : 'link', // 分享类型,music、video或link,不填默认为link
dataUrl : '', // 如果type是music或video,则要提供数据链接,默认为空
success : function() {
}
});
wx.error(function(res){
alert("errorMSG:"+res);
});
}
最近发现一个新问题就是ios11系统以上 微信分享朋友圈回调函数失效,Android无影响:系统问题
分享出去的连接中,参数值中一定要避免“http://”,否则微信分享到朋友圈会自动拦截设置仅自己可见,或分享出去的图片不显示
欢迎提问交流