Axios封装

/**

* 封装get方法

* @param url

* @param params

* @returns {Promise}

*/

export function fetch(url,params={}){

  return new Promise((resolve,reject) => {

    axios.get(url,{

      params:params

    })

      .then(response => {

        if(response.data.code === 200){

          resolve(response.data.data);

        }else if(response.data.code === 501){

          router.push({

            name:'login'//从哪个页面跳转

          })

        }else if(response.data.code === 503){

          // Vue.prototype.$message.error('请勿频繁操作')

        }else{

          Vue.prototype.$message.error(response.data.msg)

          reject()

        }

      })

      .catch(err => {

        reject(err);

        let message = '请求失败!请检查网络';

        if(err.response)message=err.response.data.message;

        Vue.prototype.$msgbox({

          title:'错误!',

          message:message,

          type:'error',

        })

      })

  })

}

/**

* 封装post请求

* @param url

* @param data

* @returns {Promise}

*/

export function post(url,data = {}){

  return new Promise((resolve,reject) => {

    axios.post(url,data)

      .then(response => {

        if(response.data.code === 200){

          resolve(response.data.data);

        }else if(response.data.code === 501){

          router.push({

            name:'login'//从哪个页面跳转

          })

        }else if(response.data.code === 503){

          // Vue.prototype.$message.error('请勿平凡操作')

        }else{

          Vue.prototype.$message.error(response.data.msg)

        }

      },err => {

        reject(err);

        let message = '请求失败!请检查网络';

        if(err.response)message=err.response.data.message;

        Vue.prototype.$msgbox({

          title:'错误!',

          message:message,

          type:'error',

        })

      })

  })

}

/**

* 封装patch请求

* @param url

* @param data

* @returns {Promise}

*/

export function patch(url,data = {}){

  return new Promise((resolve,reject) => {

    axios.patch(url,data)

      .then(response => {

        if(response.data.code === 200){

          resolve(response.data.data);

        }else if(response.data.code === 501){

          router.push({

            name:'login'//从哪个页面跳转

          })

        }else if(response.data.code === 503){

          // Vue.prototype.$message.error('请勿平凡操作')

        }else{

          Vue.prototype.$message.error(response.data.msg)

        }

      },err => {

        reject(err);

        let message = '请求失败!请检查网络';

        if(err.response)message=err.response.data.message;

        Vue.prototype.$msgbox({

          title:'错误!',

          message:message,

          type:'error',

        })

      })

  })

}

/**

* 封装put请求

* @param url

* @param data

* @returns {Promise}

*/

export function put(url,data = {}){

  return new Promise((resolve,reject) => {

    axios.put(url,data)

      .then(response => {

        if(response.data.code === 200){

          resolve(response.data.data);

        }else if(response.data.code === 501){

          router.push({

            name:'login'//从哪个页面跳转

          })

        }else if(response.data.code === 503){

          // Vue.prototype.$message.error('请勿平凡操作')

        }else{

          Vue.prototype.$message.error(response.data.msg)

        }

      },err => {

        reject(err);

        let message = '请求失败!请检查网络';

        if(err.response)message=err.response.data.message;

        Vue.prototype.$msgbox({

          title:'错误!',

          message:message,

          type:'error',

        })

      })

  })

}

export function del(url,data = {}){

  return new Promise((resolve,reject) => {

    axios.delete(url,data)

      .then(response => {

        if(response.data.code === 200){

          resolve(response.data.data);

        }else if(response.data.code === 501){

          router.push({

            name:'login'//从哪个页面跳转

          })

        }else if(response.data.code === 503){

          // Vue.prototype.$message.error('请勿平凡操作')

        }else{

          Vue.prototype.$message.error(response.data.msg)

        }

      },err => {

        reject(err);

        let message = '请求失败!请检查网络';

        if(err.response)message=err.response.data.message;

        Vue.prototype.$msgbox({

          title:'错误!',

          message:message,

          type:'error',

        })

      })

  })

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容