Vue:用promise封装各种axios请求

1.封装get请求

httpGet: function(url, params){
    params.appName = appName
    params.token = localStorage.getItem('token')
    return new Promise((resolve, reject) => {
      axios.get(url, {params}).then(res => {
        if(res.data.resultCode == 1){
          resolve(res.data)
        }else{
          reject(res.data)
        }
      })
    })
  },

2.封装post请求

 httpPost: function(url, data){
    data.appName = appName
    data.token = localStorage.getItem('token')
    return new Promise((resolve, reject) => {
      var params = new URLSearchParams();
      for(let key in data){
        params.append(key, data[key]);
      }
      axios.post(url, params).then(res => {
        if(res.data.resultCode == 1){
          resolve(res.data)
        }else{
          reject(res.data)
        }
      })
    })
  },

3.封装post文件上传

  httpUpload: function(url, data){
    data.appName = appName
    data.token = localStorage.getItem('token')
    return new Promise((resolve, reject) => {
      let formData = new FormData();
      for(let key in data){
        formData.append(key, data[key]);
      }
      let config = {
        headers: {
          'Content-Type': 'multipart/form-data'
        }
      }
      axios.post(url, formData, config).then(res => {
        if(res.data.resultCode == 1){
          resolve(res.data)
        }else{
          reject(res.data)
        }
      })
    })
  },

你可能感兴趣的:(vue)