vue axios网络请求方法封装

新建一个REQUEST.js文件

import axios from 'axios'
// import qs from 'qs'
// import store from '@/store'
import router from '../../router/index'

// get封装
export function getAjax (url, params = {}) {
  return new Promise((resolve, reject) => {
    let userInfo = JSON.parse(sessionStorage.getItem('userInfo'))
    if (userInfo !== null) {
      axios.get(url, {
        params: params,
        headers: {
          'USERNAME': userInfo.SIP_NO,
          'AUTH-TOKEN': userInfo.TOKEN,
          'TIMESTAMP': Math.round(new Date() / 1000)
        }
      })
        .then(response => {
          resolve(response.data)
        })
        .catch(err => {
          reject(err)
        })
    } else {
      console.log('需要登录才能使用的接口')
    }
  })
}
// 使用,引入REQUEST文件,然后使用getAjax就OK了,参数直接拼接在url
// getAjax(url,参数).then(res => {方法})

// delete封装
export function deleteAjax (url, params = {}) {
  return new Promise((resolve, reject) => {
    let userInfo = JSON.parse(sessionStorage.getItem('userInfo'))
    if (userInfo !== null) {
      axios.delete(url, {
        params: params,
        headers: {
          'USERNAME': userInfo.SIP_NO,
          'AUTH-TOKEN': userInfo.TOKEN,
          'TIMESTAMP': Math.round(new Date() / 1000)
        }
      })
        .then(response => {
          resolve(response.data)
        })
        .catch(err => {
          reject(err)
        })
    } else {
      console.log('需要登录才能使用的接口')
    }
  })
}

// post封装
export function postAjax (url, data = {}) {
  return new Promise((resolve, reject) => {
    let userInfo = JSON.parse(sessionStorage.getItem('userInfo'))
    if (userInfo !== null) {
      axios.post(url, data, {
        headers: {
          'USERNAME': userInfo.SIP_NO,
          'AUTH-TOKEN': userInfo.TOKEN,
          'TIMESTAMP': Math.round(new Date() / 1000)
        }
      })
        .then(response => {
          resolve(response.data)
        }, err => {
          reject(err)
        })
    } else {
      console.log('需要登录才能使用的接口')
    }
  })
}
// 使用,引入REQUEST,然后使用postAjax就OK了
// postAjax(url, data).then(res => {方法})

// put封装
export function putAjax (url, data = {}) {
  return new Promise((resolve, reject) => {
    let userInfo = JSON.parse(sessionStorage.getItem('userInfo'))
    if (userInfo !== null) {
      axios.put(url, data, {
        headers: {
          'USERNAME': userInfo.SIP_NO,
          'AUTH-TOKEN': userInfo.TOKEN,
          'TIMESTAMP': Math.round(new Date() / 1000)
        }
      })
        .then(response => {
          resolve(response.data)
        }, err => {
          reject(err)
        })
    } else {
      console.log('需要登录才能使用的接口')
    }
  })
}

 

你可能感兴趣的:(前端)