post
export async function CjExportExcel(params: any, mode: ErrorMessageMode = 'modal') {
return await defHttp.post(
{
url: Api.exportExcel,
method: 'POST',
data: params,
responseType: 'blob',
headers: {
'Content-type': 'application/json',
},
},
{
errorMessageMode: mode,
}
);
}
get
export async function CjExportExcel(params: any, mode: ErrorMessageMode = 'modal') {
return await defHttp.get(
{
url: Api.exportExcel,
method: 'GET',
params: params, // GET 请求应使用 params 传递参数
responseType: 'blob',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
},
{
errorMessageMode: mode,
}
);
}
下载随便一个方法
async function btnExport() {
const form = getForm().getFieldsValue();
const params = { ...form };
try {
const res = await CjExportExcel(params);
console.log("🚀 ~ btnExport ~ res:", res);
// 创建 Blob 对象
const blob = new Blob([res.data], { type: 'application/vnd.ms-excel' });
// 创建临时 URL
const url = window.URL.createObjectURL(blob);
// 创建 <a> 标签并模拟点击
const link = document.createElement('a');
link.href = url;
link.download = '场景管理.xlsx'; // 设置文件名
document.body.appendChild(link);
link.click();
// 清理 URL 释放内存
window.URL.revokeObjectURL(url);
createMessage.success('已导出');
} catch (error) {
console.error('导出失败', error);
createMessage.error('导出失败');
}
}