| import fileDownload from 'js-file-download' | 
| import message from './message' | 
|   | 
| export default function (response, decode = true, mime = 'application/octet-stream') { | 
|   // 当下载接口没有成功返回流并且接口返回的是JSON时需要对响应流进行解析并提示错误。(处理下载接口出现未知异常的情况) | 
|   if (response.headers['content-type'] === 'application/json') { | 
|     const blob = new Blob([response.data]) | 
|     const fileReader = new FileReader() | 
|     fileReader.readAsText(blob, 'utf-8') | 
|     fileReader.onload = function () { | 
|       message.apiFailed(JSON.parse(fileReader.result)) | 
|     } | 
|     return | 
|   } | 
|   if (response.headers['content-length'] === '0') { | 
|     message.error('无法下载文件,可能因为数据处理错误导致文件大小为0B') | 
|     return | 
|   } | 
|   // 下载接口在响应头eva-download-filename中存放文件名称,接口的返回的文件名称需采用url encode的方式进行编码 | 
|   fileDownload(response.data, decode ? decodeURI(response.headers['eva-download-filename']) : response.headers['eva-download-filename'], mime) | 
| } |