fix(download): 修复文件下载和错误处理功能

- 添加了对 text/plain 和 application/zip 格式的支持
- 在详情页面增加了 URL 输出调试信息
- 修复了跳转页面时的 URL 和 referer 处理逻辑
- 添加了下载失败时的错误事件推送和提示
- 在前端实现了错误消息的类型区分和显示
- 优化了侧边栏菜单组件的配置参数
This commit is contained in:
2026-05-11 22:31:30 +08:00
parent c14a55ffd1
commit 9380af19de
4 changed files with 31 additions and 20 deletions
@@ -10,11 +10,7 @@ const {isCollapse} = storeToRefs(isCollapseStore)
<template>
<el-aside :width="!isCollapse?'200px':'auto'">
<el-scrollbar>
<el-menu
default-active="2"
:collapse="isCollapse"
class="el-menu-vertical-demo"
router>
<el-menu default-active="2" :collapse="isCollapse" router>
<el-menu-item index="1" route="index">
<el-icon>
<Menu/>
+16 -8
View File
@@ -14,7 +14,8 @@ import {
// 警告项接口
interface messageItem {
id: number
text: string
text: string,
type?: "success" | "error" | "warning" | "info" | "default"
}
interface BtnItem {
@@ -89,12 +90,19 @@ const connect = (url: string) => {
closeConnection()
})
// 错误处理
eventSource.addEventListener('error', () => {
console.log('连接断开或失败', new Date());
// 如果这里也频繁触发,确认了是断连重连
if (eventSource.readyState === EventSource.CLOSED) {
console.log('状态为 CLOSED');
}
// eventSource.addEventListener('error', () => {
// console.log('连接断开或失败', new Date());
// // 如果这里也频繁触发,确认了是断连重连
// if (eventSource.readyState === EventSource.CLOSED) {
// console.log('状态为 CLOSED');
// }
// })
eventSource.addEventListener('mes_error', (event) => {
messages.value.unshift({
id: Date.now() + messages.value.length,
text: event.data,
type: "error"
})
})
}
const closeConnection = () => {
@@ -116,7 +124,7 @@ onUnmounted(() => {
<template #default>
<div v-loading="loading" :style="{height: '100%'}">
<el-alert v-for="item in messages" :key="item.id" :title="item.text"
type="primary"
:type="item.type?item.type:'primary'"
@close="closeAlert(item.id)"/>
</div>
</template>