()
| 886 | closeModal() |
| 887 | |
| 888 | function downloadLogFile() { |
| 889 | |
| 890 | if (!downloadLogFileA) { |
| 891 | console.log('日志下载已被跳过') |
| 892 | return |
| 893 | } |
| 894 | if (Object.keys(errorLogs).length === 0) { |
| 895 | // 如果错误日志为空,直接下载正常日志文件 |
| 896 | const logBlob = new Blob([JSON.stringify(downloadLog, null, 4)], { type: 'application/json' }) |
| 897 | const logUrl = URL.createObjectURL(logBlob) |
| 898 | const logLink = document.createElement('a') |
| 899 | logLink.href = logUrl |
| 900 | logLink.download = 'download_log.json' |
| 901 | logLink.click() |
| 902 | URL.revokeObjectURL(logUrl) |
| 903 | } else { |
| 904 | // 创建一个JSZip实例 |
| 905 | const zip = new JSZip() |
| 906 | |
| 907 | // 添加正常日志文件到压缩包 |
| 908 | const logBlob = new Blob([JSON.stringify(downloadLog, null, 4)], { type: 'application/json' }) |
| 909 | zip.file('download_log.json', logBlob) |
| 910 | |
| 911 | // 添加错误日志文件到压缩包 |
| 912 | const errorLogBlob = new Blob([JSON.stringify(errorLogs, null, 4)], { type: 'application/json' }) |
| 913 | zip.file('error_log.json', errorLogBlob) |
| 914 | |
| 915 | // 生成压缩包并触发下载 |
| 916 | zip.generateAsync({ type: 'blob' }).then(function (content) { |
| 917 | const zipUrl = URL.createObjectURL(content) |
| 918 | const link = document.createElement('a') |
| 919 | link.href = zipUrl |
| 920 | link.download = 'logs.zip' |
| 921 | link.click() |
| 922 | URL.revokeObjectURL(zipUrl) |
| 923 | }) |
| 924 | } |
| 925 | } |
| 926 | |
| 927 | function sanitizeFileName(name) { |
| 928 | return name.replace(/[\\/:*?"<>|]/g, '_') |
no outgoing calls
no test coverage detected