fix(download): 修复文件下载和错误处理功能
- 添加了对 text/plain 和 application/zip 格式的支持 - 在详情页面增加了 URL 输出调试信息 - 修复了跳转页面时的 URL 和 referer 处理逻辑 - 添加了下载失败时的错误事件推送和提示 - 在前端实现了错误消息的类型区分和显示 - 优化了侧边栏菜单组件的配置参数
This commit is contained in:
@@ -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/>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user