为了微信小程序接口的安全,我们需要通过一种方法,使得每次请求都需要验证一个key.但是因为异步处理的问题,我们需要先获得这个key存储后才进入下一步
1、获取开发服务器生成的key
//app.jsApp({ userLogin:function() { var that = this; //定义promise方法 return new Promise(function (resolve, reject) { // that.getUserLocation(that,null); /*获取当前用户的地理位置 */ wx.login({ success(res) { if (res.code) { //发起网络请求 wx.request({ url: ‘***/index/zzcxe/getuserinfo‘, data: { code: res.code }, success: res => { console.log(res.data); if (res.data.openid) { wx.setStorageSync(‘open_id‘, res.data.openid); /*session_key为服务器通过code及其它组合成生的一个token*/ wx.setStorageSync(‘session_key‘, res.data.session_key); } } }) } else { console.log(‘登录失败!‘ + res.errMsg) } resolve(res); },fail:function() { reject(); } }); }); },
View Code
2、在页面中使用:
//获取应用实例const app = getApp();onLoad: function () { var that=this; app.userLogin().then(res=>{console.log(‘sucess‘);});
View Code
3、在请求是提前key
wx.request({ url: webUrl + model.url, data: model.param, header: { "Content-Type": "application/json", "token": wx.getStorageSync(‘session_key‘) },
View Code