微信公众号分享给朋友onMenuShareAppMessage失效
解决方案:
之前用的是1.6.0版本,改成jweixin-1.2.0.js,wx.onMenuShareTimeline,wx.onMenuShareAppMessage就成功了。
不知道是不是微信的bug?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>微信js分享接口</title>
</head>
<body>
{$name}<br />
{$nonceStr}<br />
{$signature}<br />
<div id="div" style="border:1px solid red;width:100px;height:100px;"></div>
<script src="https://cdn.staticfile.org/jquery/1.10.0/jquery.js" ></script>
<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script>
// alert(location.href.split('#')[0]);
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: 'wx9d6a08c4c094a2ab', // 必填,公众号的唯一标识
timestamp: '{$time}', // 必填,生成签名的时间戳
nonceStr: '{$nonceStr}', // 必填,生成签名的随机串
signature: '{$signature}',// 必填,签名
jsApiList: [
'chooseImage', // 拍照
'scanQRCode', // 微信扫一扫
'updateAppMessageShareData',
'onMenuShareAppMessage',
] // 必填,需要使用的JS接口列表
});
wx.ready(function(){
wx.onMenuShareAppMessage({
title: 'title', // 分享标题
desc: 'desc', // 分享描述
link: 'https://h5.kehu.fun', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: 'https://h5.kehu.fun/static/img/2.jpg', // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
// 用户点击了分享后执行的回调函数
$('#div').html('已经分享了哦~');
setTimeout(function(){
//回调要执行的代码
$('#div').html('已经分享了哦~');
}, 500);
}
});
});
// 微信拍照
function show(){
$('#div').html('show');
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
}
});
}
// 微信扫一扫
function scan(){
$('#div').html('scan');
wx.scanQRCode({
needResult: 0, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码,默认二者都有
success: function (res) {
var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
}
});
}
wx.error(function(res){
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
});
</script>
<button onclick="show()">拍照</button>
<button onclick="scan()">扫一扫</button>
</body>
</html>
赞 (0)
