对象深拷贝
/**
* 深拷贝
* @param {*} obj
*/
function clone (obj) {
const objClone = Array.isArray(obj) ? [] : {}
if (obj && typeof obj === 'object') {
for (const key in obj) {
if (obj[key]) {
if (obj[key] && typeof obj[key] === 'object') {
objClone[key] = this.clone(obj[key])
} else {
objClone[key] = obj[key]
}
}
}
}
return objClone
}
下载文件
/**
* 下载文件
* @param {url} 下载文件的 URL
* @param {fileName} 设置下载文件的文件名
*/
function downloadFile (url, fileName) {
const res = await fetch(url)
const blob = await res.blob()
const objectUrl = window.URL.createObjectURL(blob)
const alink = document.createElement('a')
alink.setAttribute('download', fileName)
alink.setAttribute('href', objectUrl)
document.body.appendChild(alink)
alink.click()
document.body.removeChild(alink)
}