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

时间:2020-04-06 11:38:24   收藏:0   阅读:162

为了微信小程序接口的安全,我们需要通过一种方法,使得每次请求都需要验证一个key.但是因为异步处理的问题,我们需要先获得这个key存储后才进入下一步

1、获取开发服务器生成的key

技术图片
//app.js
App({
  
    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

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!