欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

关于微信Js签名的生成讲解

程序员文章站 2022-03-28 19:12:59
1、当微信js签名不成功时,微信公众号不会有任何提示,什么 wx.ready、wx.error都不会执行,此时可以通过微信js 调试客户端定位错误。 2、微信js签名,可以用微信js签名工具(htt...

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 时,扫码返回的结果

            }

        });