// 通用下载方法
export function download(url, params, ) {
downloadLoadingInstance = Loading.service({
text: "正在下载数据,请稍候",
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)",
});
return service
.post(url, params, {
// transformRequest: [
// (params) => {
// return params;
// },
// ],
// headers: { "Content-Type": "application/x-www-form-urlencoded" },
responseType: "blob",
})
.then(async (data) => {
// 切割出文件名
const fileNameEncode = data.headers['content-disposition'].split('filename=')[1]
// 解码
const fileName = decodeURIComponent(fileNameEncode)
console.log(fileName)
const isLogin = await blobValidate(data.data);
if (isLogin) {
const blob = new Blob([data.data]);
saveAs(blob, fileName);
} else {
const resText = await data.data.text();
const rspObj = JSON.parse(resText);
const errMsg =
errorCode[rspObj.code] || rspObj.msg || errorCode["default"];
Message.error(errMsg);
}
downloadLoadingInstance.close();
})
.catch((r) => {
console.error(r);
Message.error("下载文件出现错误,请联系管理员!");
downloadLoadingInstance.close();
});
}