const xhr = new XMLHttpRequest()
xhr.open('get', `${process.env.VUE_APP_BASE_API}/store/registrationActivitiesApplies/export/excel`, true)
xhr.setRequestHeader('token', getToken())
xhr.responseType = 'blob' // 返回类型blob
// 定义请求完成的处理函数,请求前也可以增加加载框/禁用下载按钮逻辑
xhr.onload = (res) => {
// 请求完成
if (res.target.status === 200) {
setTimeout(() => {
const blob = res.target.response
const reader = new FileReader()
reader.readAsDataURL(blob) // 转换为base64,可以直接放入a标签href
reader.onload = (e) => {
// 转换完成,创建一个a标签用于下载
const a = document.createElement('a')
a.className = 'downExcel'
a.href = e.target.result
a.download = `活动报名名单_${d().get('year')}${d().get('month') + 1}${d().get('date')}${d().get('hour')}${d().get('minute')}${d().get('second')}.xls`
document.querySelector('body').append(a) // 修复firefox中无法触发click
a.click()
document.querySelector('.downExcel').remove()
}
}, 500)
}
}
// 发送ajax请求
xhr.send()
// d()为引入的dayjs插件