zoukankan      html  css  js  c++  java
  • vue axios 接口封装

    import axios from 'axios'

    // axios基本配置
    axios.defaults.timeout = 5000
    axios.defaults.baseURL = 'http://192.168.1.8:8500'
    axios.defaults.withCredentials = false

    // http request 拦截器
    axios.interceptors.request.use(
    config => {
    const sid = localStorage.getItem('user_info') ? JSON.parse(localStorage.getItem('user_info')).sessionid : ''
    if (sid) {
    config.headers.sid = sid
    }
    return config
    },
    err => {
    return Promise.reject(err)
    }
    )
    // http response 拦截器
    axios.interceptors.response.use(
    response => {
    switch (response.data.code) {
    case 1:
    return response.data;
    case "200":
    return response.data;
    case 100:
    window.vm.$message({
    message:'请先登录',
    type:'error',
    onClose:function(){
    window.router.push('/login');
    setTimeout(() => {
    window.router.go(0)
    }, 300)
    }
    });
    case 101:
    window.vm.$message({
    message:'登录失效',
    type:'error',
    onClose:function(){
    window.router.push('/login')
    setTimeout(() => {
    window.router.go(0)
    }, 300)
    }
    });
    //清空localStorage
    localStorage.removeItem('user_info');
    default:
    console.log(response.data.msg)
    }
    },
    error => {
    return Promise.reject(error)
    })

    /**

    • post 请求方法
    • @param url
    • @param data
    • @returns {Promise}
      */
      export function post (url, data) {
      return new Promise((resolve, reject) => {
      axios.post(url, data)
      .then(response => {
      resolve(response)
      }, err => {
      reject(err)
      })
      })
      }

    /**

    • get 请求方法
    • @param url
    • @param data
    • @returns {Promise}
      */
      export function get (url, data) {
      return new Promise((resolve, reject) => {
      axios.get(url, data)
      .then(response => {
      resolve(response)
      }, err => {
      reject(err)
      })
      })
      }

    /**

    • put 请求方法
    • @param url
    • @param id
    • @param data
    • @returns {Promise}
      */
      export function put (url, id, data) {
      return new Promise((resolve, reject) => {
      axios.put(url + id, data)
      .then(response => {
      resolve(response)
      }, err => {
      reject(err)
      })
      })
      }

    /**

    • delete 请求方法
    • @param url
    • @param id
    • @returns {Promise}
      */
      export function _delete (url, id) {
      return new Promise((resolve, reject) => {
      axios.delete(url + id)
      .then(response => {
      resolve(response)
      }, err => {
      reject(err)
      })
      })
      }

    export default axios

  • 相关阅读:
    基本数据结构:链表(list)
    字符串函数
    TCHAR
    开源库链接
    视频 链接
    tabbar
    加密
    安全类链接,https
    资本
    审核 -链接 - 发布证书
  • 原文地址:https://www.cnblogs.com/httpL/p/8892249.html
Copyright © 2011-2022 走看看