收藏
回答

公众号网页使用JSSDK微信朋友圈分享失效-jweixin-1.6.0?

环境:微信开发者工具、真实手机、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>


回答关注问题邀请回答
收藏

1 个回答

  • _天马行空_
    _天马行空_
    2020-06-10

    你需要自己点击右上角三个点,弹出分享弹窗,然后点击分享朋友圈

    2020-06-10
    有用
    回复
登录 后发表内容
问题标签