import { getDictByCode } from '@/api/system/dict'
/**
* 导出文件工具
* @param blob 文件
* @param fileName 导出文件名
*/
export function exportFile(blob: Blob, getFileName: string) {
let fileName = getFileName || ''
// getDictByCode('secretUserLevel').then((response) => {
// if (response.code === 200) {
// if (Array.isArray(response.data) && response.data.length) {
// const level = window.sessionStorage.getItem('secretUserLevel')
// const index = response.data.findIndex((item: { value: string | null }) => item.value === level)
// const systemType = window.localStorage.getItem('systemType') as string
// if (index !== -1 && systemType === 'gm') {
// // fileName = `【${response.data[index].name}】${fileName}`
// fileName = `【内部】${fileName}`
// }
// }
// }
const systemType = window.localStorage.getItem('systemType') as string
if (systemType === 'gm') {
fileName = `【内部】${fileName}`
}
if (window.navigator && (window.navigator as any).msSaveOrOpenBlob) {
(navigator as any).msSaveBlob(blob, fileName)
}
else {
const downloadElement = document.createElement('a')
const href = window.URL.createObjectURL(blob) // 创建下载的链接
downloadElement.href = href
downloadElement.download = fileName
document.body.appendChild(downloadElement)
downloadElement.click() // 点击下载
document.body.removeChild(downloadElement) // 下载完成移除元素
window.URL.revokeObjectURL(href) // 释放blob对象
}
// })
}
export const base64ToBlob = (dataurl) => {
const arr = dataurl.split(',')
const mime = arr[0].match(/:(.*?);/)[1]
const bstr = atob(arr[1])
let n = bstr.length
const u8arr = new Uint8Array(n)
while (n--) {
u8arr[n] = bstr.charCodeAt(n)
}
return new Blob([u8arr], { type: mime })
}