axios封装get,post请求

对get和post请求进行封装(用了elmentPlus进行提示如果未安装可以删掉对应代码)

import {
   axios1,
   axios2,
   axios3,
} from "./http" //封装axios的位置

import {
   ElMessage
} from  element-plus  

const request1 = createRequest(axios1)
const request2 = createRequest(axios2)
const request3 = createRequest(axios3)

export {
   request1,
   request2,
   request3
}

function createRequest(axios) {
   return {
      get(url, data) {
         return new Promise((resolve, reject) => {
            axios.get(url, data ? {
               params: data
            } : "").then(res => {
               if (res.code ? (res.code == 200) : true) {
                  resolve(res)
               } else {
                  console.log("响应值错误", res)
                  ElMessage({ 
                     showClose: true,
                     message: res.msg,
                     type:  error 
                  });
               }
            }).catch(err => {
               //这里做请求错误统一处理
               ElMessage({
                  showClose: true,
                  message: "网络异常",
                  type:  error 
               });
               console.log("连接错误请求失败", err)
               //可以单独进行处理
               reject(err)
            })
         })
      },

      post(url, data) {
         return new Promise((resolve, reject) => {
            axios.post(url, data).then(res => {
               if (res.code && res.code == 200) {
                  resolve(res)
               } else {
                  console.log("响应值错误", res)
                  ElMessage({
                     showClose: true,
                     message: res.msg,
                     type:  error 
                  });
               }
            }).catch(err => {
               ElMessage({
                  showClose: true,
                  message: "网络异常",
                  type:  error 
               });
               console.log("连接错误请求失败", err)
               reject(err)
            })
         })
      }
   }
}

© 版权声明

相关文章

暂无评论

none
暂无评论...