1、进一步封装微信的JS SDK,使开发人员在使用JS SDk相关功能时,只需在页面上引入一次Script,不再需要引用微信的js及进行config的注入配置等;
2、在页面中引入此代码<scriptsrc=" http://127.0.0.1/weixin/jssdk.js?currpageurl=http://ee"></script>即可完成引入微信的js及通过config接口注入权限配置;
3、流程:
- 页面引入<scriptsrc=" http://127.0.0.1/weixin/jssdk.js?currpageurl=http://ee"></script>
- 页面向服务器请求http://127.0.0.1/weixin/jssdk.js?currpageurl=http://ee
- 服务器响应http://127.0.0.1/weixin/jssdk.js?currpageurl=http://ee
- jssdk.js对应的Action从服务器获得config需要的参数(appid、timestamp、nonceStr、signature),并返回
document.write("<script type='text/javascript' src='http://http://res.wx.qq.com/open/js/jweixin-1.0.0.js'>" + "</scr" + "ipt>"); var wxjssdkConfigData = { "debug": {{ debug }}, "appId": "{{ appId }}", "timestamp": "{{ timestamp }}", "nonceStr": "{{ nonceStr }}", "signature": "{{ signature }}" }; document.write("<script type='text/javascript' src='http://127.0.0.1/weixin/js/jssdkconfig.js') }}'>" + "</scr" + "ipt>");
- jssdkconfig.js:
wx.config({ debug:wxjssdkConfigData.debug, appId: wxjssdkConfigData.appId, timestamp: wxjssdkConfigData.timestamp, nonceStr: wxjssdkConfigData.nonceStr, signature: wxjssdkConfigData.signature, jsApiList: [ 'checkJsApi', 'onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo', 'hideMenuItems', 'showMenuItems', 'hideAllNonBaseMenuItem', 'showAllNonBaseMenuItem', 'translateVoice', 'startRecord', 'stopRecord', 'onRecordEnd', 'playVoice', 'pauseVoice', 'stopVoice', 'uploadVoice', 'downloadVoice', 'chooseImage', 'previewImage', 'uploadImage', 'downloadImage', 'getNetworkType', 'openLocation', 'getLocation', 'hideOptionMenu', 'showOptionMenu', 'closeWindow', 'scanQRCode', 'chooseWXPay', 'openProductSpecificView', 'addCard', 'chooseCard', 'openCard' ] });