微信小程序之接口验证问题与处理onLaunch与onload异步同步问题

为了微信小程序接口的安全,我们需要通过一种方法,使得每次请求都需要验证一个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

 

相关文章