关于微信Js签名

1、当微信Js签名不成功时,微信公众号不会有任何提示,什么 wx.ready、wx.error都不会执行,此时可以通过微信js 调试客户端定位错误。

2、微信Js签名,可以用微信Js签名工具(http://work.weixin.qq.com/api/jsapisign)对比你的签名是否正确:签名条件:jsapi_ticket(生成时又需要access_token)

       a)引入js:    <script src='https://res.wx.qq.com/open/js/jweixin-1.0.0.js'></script>

       b)调用wx.config方法,如:

        wx.config({
            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
            appId: "@weiXinJs.appId", // 必填,公众号的唯一标识
            timestamp: "@weiXinJs.timestamp", // 必填,生成签名的时间戳
            nonceStr: "@weiXinJs.noncestr", // 必填,生成签名的随机串
            signature: "@weiXinJs.signature",// 必填,签名,见附录1
            jsApiList: ['checkJsApi', 'scanQRCode'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2

        });

3、 当调用扫一扫或其它功能在子页iframe中,在子页中注册签名会失败,所以将注册签名放大主页面中,子页面调用此主页面方法,例:

父页面:

        //注:因为扫一扫在子页iframe中,在子页中注册签名会失败,所以将注册签名放大主页面中,子页面调用此主页面方法
        wx.config({
            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
            appId: "@weiXinJs.appId", // 必填,公众号的唯一标识
            timestamp: "@weiXinJs.timestamp", // 必填,生成签名的时间戳
            nonceStr: "@weiXinJs.noncestr", // 必填,生成签名的随机串
            signature: "@weiXinJs.signature",// 必填,签名,见附录1
            jsApiList: ['checkJsApi', 'scanQRCode'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2

        });

子页面:parent.wx.scanQRCode

 parent.wx.scanQRCode({
            needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
            scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码,默认二者都有
            success: function (res) {
                console.log(res);
                var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
            }
        });

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章