微信公众平台提供了一个JS-SDK用于开发者能够与微信进行本地交互,包括调用摄像头、语音和获取位置信息等。开发者在使用时需要在页面中加入如下代码:
<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> <script type="text/javascript"> wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: '${config.appId}', // 必填,公众号的唯一标识 timestamp: '${config.timestamp}', // 必填,生成签名的时间戳 nonceStr: '${config.nonceStr}', // 必填,生成签名的随机串 signature: '${config.signature}',// 必填,签名,见附录1 jsApiList: ['scanQRCode','getLocation'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); </script>
其中,${config.appId}、${config.timestamp}、${config.nonceStr}和${config.signature}都需要通过后台经过一系列繁琐的步骤进行获取,并传递到此页面上才可以使用JS-SDK的功能。
和accessToken一样,WX SDK中封装了这些配置信息的获取步骤,开发者仅需要在控制器中加入如下代码即可轻松获取到,包括JsTicket的过期重新获取WX SDK都在内部自行处理,无需开发者操心:
JSSdkConfig config = WXContext.getJSSDKConfig(request); model.addAttribute("config", config);