环境:微信开发者工具、真实手机、Android oppoR9
Jweixin版本:1.6.0
时间:Wed Jun 10 2020 15:36:51 GMT+0800 (中国标准时间)
AppId: wx9e1cc97bd843532a
问题:在微信网页里面使用API : updateTimelineShareData无法分享。wx.config 成功,wx.updateTimelineShareData成功,并有回调。但没有弹出分享无法分享。
补充:
开启debug模式的话,提示 {"errMsg":"config:ok"}, 以及 {"errMsg":"updateTimelineShareData:ok"},也成功的回调了success 回调函数。但没有弹出分享操作。
之后啥反应都没有。通过开发者工具,也看起来很正常,但无法分享。 wx.updateTimelineShareData begin wx.updateTimelineShareData end 怎么解决?
后台反馈如下:
Wed Jun 10 2020 15:36:50 GMT+0800 (中国标准时间) wx.config begin
VM261:1 {appId: "wx9e1cc97bd843532a", jsApiList: Array(5), nonceStr: "84uufnhqkj7", signature: "79f4b63e61786fb1d2110bca8b32b83cf253f5f1", timestamp: "1591770748"}
VM261:1 Wed Jun 10 2020 15:36:51 GMT+0800 (中国标准时间) wx.config end
VM261:1 {errMsg: "config:ok", jsApiList: Array(0)}
VM261:1 Wed Jun 10 2020 15:36:51 GMT+0800 (中国标准时间) 当前页面通过 wx.config 获取到的 JSSDK 权限如下
VM261:1 (index)012340"checkJsApi""updateAppMessageShareData""updateTimelineShareData""onMenuShareAppMessage""onMenuShareTimeline"Array(1)0: (5) ["checkJsApi", "updateAppMessageShareData", "updateTimelineShareData", "onMenuShareAppMessage", "onMenuShareTimeline"]length: 1__proto__: Array(0)
wxshare.html:70 微信已准备好
VM261:1 Wed Jun 10 2020 15:36:51 GMT+0800 (中国标准时间) wx.updateTimelineShareData begin
VM261:1 {title: "曲靖市禁毒委员会"绿色无毒,健康生活"线上答题证书", link: "http://jdgame.cndv.com/jz/jiangzhuang.html?JZtype=…F8P7UQnxPTY2GhsicjL42LhxRdsw/132&Nickname=Arthrus", imgUrl: ""}
VM261:1 Wed Jun 10 2020 15:36:51 GMT+0800 (中国标准时间) wx.updateTimelineShareData end
VM261:1 {errMsg: "updateTimelineShareData:ok"}
wxshare.html:76 分享成功
代码如下:
<!DOCTYPE html>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<!-- weixin jssdk -->
<script src='http://res.wx.qq.com/open/js/jweixin-1.6.0.js'></script>
<style>
</style>
<body style='margin : 0px; overflow: hidden; font-family: Monospace;' ><div style='position: absolute; top: 10px; width:100%; text-align: center; z-index: 1;'>
<div id="Stats-output">
</div>
分享朋友圈
<br/>
</div>
<script>
var JZid = localStorage.getItem('jdJZid');
var JZtime = localStorage.getItem('jdJZtime');
var JZtype = localStorage.getItem('jdJZtype');
var HeadimgUrl = localStorage.getItem('jdheadimgurl');
var Nickname = localStorage.getItem('jdnickname');
var data = {
appId:'',
timestamp:'',
nonceStr:'',
signature:'',
}
// var myDate = new Date();
window.onload = gogogo();
function gogogo(){
console.log('准备发送微信分享请求');
var httpRequest = new XMLHttpRequest();//第一步:建立所需的对象
var url = 'http://arpy.cndv.com/infobs/wxsdk';
httpRequest.open('GET', url, true);//第二步:打开连接 将请求withCredentials参数写在url中
httpRequest.send();//第三步:发送请求 将请求参数写在URL中
httpRequest.onreadystatechange = function () {
if (httpRequest.readyState == 4 && httpRequest.status == 200) {
var json = httpRequest.responseText;//获取到json字符串,还需解析
console.log('微信分享授权信息',json);
try {
var resobj = JSON.parse(json);
if (resobj.err === 0){
console.log('sign数据',resobj.sign);
data.appId = resobj.appid;
data.timestamp = resobj.sign.timestamp;
data.nonceStr = resobj.sign.nonceStr;
data.signature = resobj.sign.signature;
console.log('微信签名',data.signature);
console.log('时间戳',data.timestamp);
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: data.appId, // 必填,公众号的唯一标识
timestamp: data.timestamp, // 必填,生成签名的时间戳
nonceStr: data.nonceStr, // 必填,生成签名的随机串
signature: data.signature,// 必填,签名
jsApiList: ['checkJsApi',
'updateAppMessageShareData',
'updateTimelineShareData',
'onMenuShareAppMessage',
'onMenuShareTimeline'] // 必填,需要使用的JS接口列表
});
wx.ready(function () { //需在用户可能点击分享按钮前就先调用
console.log('微信已准备好');
wx.updateTimelineShareData({
title: '曲靖市禁毒委员会\"绿色无毒,健康生活\"线上答题证书', // 分享标题
link: 'http://jdgame.cndv.com/jz/jiangzhuang.html?JZtype='+JZtype+'&JZid='+JZid+'&JZtime='+JZtime+'&HeadimgUrl='+HeadimgUrl+'&Nickname='+Nickname, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: '', // 分享图标
success: function () {
console.log('分享成功');
},
cancel: function() {
console.log('取消分享');
}
});
});
wx.error(function(res){ // 返回错误信息
console.log(res);
});
}else{
}
}
catch (e) {
console.log('解析错误',e);
}
}
};
}
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]);
return null;
}
</script></body>
你需要自己点击右上角三个点,弹出分享弹窗,然后点击分享朋友圈