关于axios:axios-二次封装的两个小点文件下载和-put-请求的-params-传参

一、应用 axios 下载文件

1、创立一个对象,用于配置接口信息

  let myObj={
    url: process.env.VUE_APP_BASE_API + api/studentList',
    method: 'get',
    fileName: 'studengListFile',
    params:{接口的params参数}
  }

2、封装一个 axios 下载文件的办法

exportMethod(data) {
  axios({
    method: data.method,
    url: `${data.url}`,
    responseType: 'blob',
    params:data.params?data.params:null
  }).then((res) => {
    if(res.data.type=='application/octet-stream'){
      const link = document.createElement('a')
      let blob = new Blob([res.data], {type: 'application/vnd.ms-excel'})
      link.style.display = 'none'
      link.href = URL.createObjectURL(blob)
      link.download = data.fileName //下载的文件名
      document.body.appendChild(link)
      link.click()
      document.body.removeChild(link)
      return;
    }
    var reader=new FileReader()
    reader.onload=e=>{
      let res=JSON.parse(e.target.result);
      let error_html="<p><div>"+(i18n.tc(res.key) || 'Error');
      error_html+="</div></p>";
      let msg= Message({
        dangerouslyUseHTMLString:true,
        message: error_html,
        type: 'error',
        duration: 5 * 1000
      })
    }
    reader.readAsText(res.data)

  }).catch(error => {
    console.log('接口调用失败:',error)
  })
}

3、调用办法,并传入后面配置的接口对象

exportMethod(myObj)

二、PUT 申请 params 传参蕴含数组的解决方法

先写代码了,今天持续

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理