zoukankan      html  css  js  c++  java
  • 小程序请求拦截,响应拦截

    前端在使用数据请求的时候,一般为了安全考虑都会添加请求头,以及token检验等操作,还有根据后端返回的不同状态进行不同处理,例如:后台返回token超时,我们就需要重新获取token,然后才能请求数据.

    首先是通用方法:就是参数有点麻烦,每次使用都需要传很多参数,并且很多都是重复的,不是很友好.

    export function wxPromise(fn) {
      return function (obj = {}) {
        return new Promise((resolve, reject) => {
          obj.success = res => {
            resolve(res)
          };
          obj.fail = res => {
            reject(res)
          };
          fn(obj)
        })
      }
    }

    然后优化一下,分别封装POST以及GET请求

    // 这是对post请求的封装
    export function post(url, data = {}) {
      return new Promise((resolve, reject) => {
        //网络请求
        //console.log(baseUrl)
        wx.request({
          url: baseUrl + url,
          data,
          method: 'POST',
          header: {
            "Content-Type": "application/json",
            'token': app.globalData.token,
            'openId': app.globalData.openid
          },
          success: function (res) {//服务器返回数据
          //console.log("cg")
            resolve(res);
          },
          fail: function (error) {
            //console.log("sb")
            reject(error);
          }
        })
      });
    }
    // 这是对get请求的封装
    export function get(url, data = {}) {
      return new Promise((resolve, reject) => {
        //网络请求
        wx.request({
          url: baseUrl + url,
          data,
          method: 'GET',
          header: {
            "Content-Type": "application/json",
            'token': app.globalData.token,
            'openId': app.globalData.openid
          },
          success: function (res) {//服务器返回数据
            resolve(res);
          },
          fail: function (error) {
            reject(error);
          }
        })
      });
    }

    然后我们在使用的时候就只需要传入url以及参数就可以了,如果有需要还可以在以上封装中对参数  以及后端返回的数据进行处理,还有状态的处理等,根据自己项目需要吧.

  • 相关阅读:
    2020软件工程作业04
    2020软件工程作业03
    2020软件工程作业02
    2020软件工程作业01
    Linux操作系统分析-课程学习总结报告
    结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程
    深入理解系统调用
    基于mykernel 2.0编写一个操作系统内核
    交互式多媒体图书平台的设计与实现
    码农放入自我修养之必备技能学习笔记
  • 原文地址:https://www.cnblogs.com/wgs-blog/p/14921462.html
Copyright © 2011-2022 走看看