• 微信公众号开发--微信JS-SDK分享到朋友圈和分享给朋友


    之前写过一篇使用微信JS-SDK来实现扫一扫功能的博客

    微信公众号开发–微信JS-SDK扫一扫功能

    在该博客里介绍了微信JS-SDK的基本用法,其中包括以下几个步骤

    这里写图片描述

    还详细介绍了通过config接口注入权限验证配置以及签名算法实现的Java版本

    前两天在做微信分享的时候发现按照以前的思路每次都不能正确获取“分享到朋友圈”按钮点击状态及自定义分享内容接口,而是必须通过一个按钮先点击帮点事件,然后才能获取“分享到朋友圈”按钮点击状态及自定义分享内容接口。

    回顾一下以前扫一扫的js代码

    下面是wx.config的主代码

        <script type="text/javascript">
            $(function() {
                var timestamp = $("#timestamp").val();//时间戳
                var nonceStr = $("#noncestr").val();//随机串
                var signature = $("#signature").val();//签名
                wx.config({
                    debug : true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
                    appId : 'wx622ca8545e5c354b', // 必填,公众号的唯一标识
                    timestamp : timestamp, // 必填,生成签名的时间戳
                    nonceStr : nonceStr, // 必填,生成签名的随机串
                    signature : signature,// 必填,签名,见附录1
                    jsApiList : [ 'scanQRCode' ]
                // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
                });
            });
        </script>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    下面是扫一扫的代码

    前提是有一个

    <button id="scanQRCode">扫码</button>
    
    • 1
    • 2
            $("#scanQRCode").click(function() {
                wx.scanQRCode({
                    needResult : 1,
                    desc : 'scanQRCode desc',
                    success : function(res) {
                        //扫码后获取结果参数:htpp://xxx.com/c/?6123,截取到url中的防伪码后,赋值给Input
                        var url = res.resultStr;
                        /* var tempArray = url.split('?');
                        var tempNum = tempArray[1]; */
                        if(url.indexOf(",")>=0){
                            var tempArray = url.split(',');
                            var tempNum = tempArray[1];
                            $("#id_securityCode_input").val(tempNum);
                        }else{
                        $("#id_securityCode_input").val(url);
                        }
    
                    }
                });
            });
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    以上代码完全没有问题,但是当我配置获取“分享到朋友圈”按钮点击状态及自定义分享内容接口的时候却始终不能成功

    解决方案

    原来是wx.config执行需要时间,而我们把扫一扫放在外面完全没影响。是因为,我们点击扫码的时候wx.config已经加载好了,而我之前的点击一下再分享和扫码是一个道理,为了不让用户点击一下再分享需要将我上面讲的微信JS-SDK使用步骤中的第四步用到


    转自 :
    http://blog.csdn.net/frankcheng5143/article/details/51026996

  • 相关阅读:
    Android之旅十六 android中各种资源的使用
    XTU OJ 1207 Welcome to XTCPC (字符串签到题)
    scala并发编程原生线程Actor、Case Class下的消息传递和偏函数实战
    【云图】怎样设置支付宝里的家乐福全国连锁店地图?
    怎样在QML中使用multitouch
    软件project师周兆熊给IT学子的倾情奉献
    Linux系统下怎样配置SSH?怎样开启SSH?
    数学之路-python计算实战(4)-Lempel-Ziv压缩(2)
    Day5上午解题报告
    一份只有巨佬才能看懂的代码
  • 原文地址:https://www.cnblogs.com/honey01/p/8023153.html
Copyright © 2020-2023  润新知