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

小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。

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

2、微信Js签名,可以用微信Js签名工具(https://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 时,扫码返回的结果

            }

        });

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

2、微信Js签名,可以用微信Js签名工具(https://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 时,扫码返回的结果

            }

        });

觉得可用,就经常来吧!Javascript技巧 脚本宝典 欢迎评论哦! js技巧,巧夺天工,精雕玉琢。小宝典献丑了!

本文固定链接: http://www.js-code.com/js/js_1613.html