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

  • 相关阅读:
    组合问题的递归实现
    递归解决全排列算法
    字符串专题练习
    Linux系统目录架构
    Linux命令行文本处理工具
    Linux扩展权限
    Linux权限机制
    Linux用户基础
    Linux文件系统挂载管理
    Sensors Grouping Model for Wireless Sensor Network*
  • 原文地址:https://www.cnblogs.com/httpL/p/8892249.html
Copyright © 2011-2022 走看看