2.4 KiB
2.4 KiB
界面重构完成
✅ 完成的改进
1. UploadPage.vue 重构
- 共用配置区域:过期策略和备注信息现在在同一个配置卡片中
- 自定义Tab样式:
- 移除了shadcn-vue的Tabs组件,使用自定义样式
- 修复了tab指示器高度超出背景的问题
- 采用圆角背景+白色选中状态的现代设计
- 内容区域优化:
- 文件上传和文本输入区域独立显示
- 配置区域根据内容动态显示
- 统一的操作按钮和进度显示
2. SVG路径错误修复
- 修复了控制台中的SVG
<path>属性错误 - 所有加载动画图标使用正确的SVG路径语法
3. 错误处理优化
- HomePage.vue 和 UploadPage.vue:
- 404等业务异常不再输出到控制台
- 客户端错误(4xx)只显示Toast提示
- 服务器错误(5xx)和网络错误才记录到控制台
- 改善开发和生产环境的错误显示
4. 用户体验提升
- Tab切换:
- 更平滑的过渡动画
- 清晰的视觉反馈
- 更好的视觉层次
- 配置共用:
- 减少重复界面元素
- 统一的配置体验
- 更直观的操作流程
🎯 技术细节
自定义Tab设计
<div class="flex rounded-lg bg-gray-100 p-1 mb-8">
<button :class="activeTab === 'file' ? 'bg-white shadow-sm' : 'text-gray-500'">
文件上传
</button>
</div>
错误处理策略
const handleUploadError = (error: any, defaultMessage: string) => {
if (error.response?.status >= 400 && error.response?.status < 500) {
// 业务异常:只显示Toast,不记录控制台
toast.error(error.response?.data?.msg || defaultMessage)
} else {
// 系统异常:记录控制台用于调试
console.error(`${defaultMessage}:`, error)
toast.error(`${defaultMessage},请重试`)
}
}
共用配置逻辑
- 文件上传和文本保存共享相同的过期策略配置
- 根据activeTab动态显示不同的标签文本
- 统一的配置验证和提交逻辑
🌟 界面效果
- 更简洁的Tab设计:圆角背景,选中状态有明显对比
- 统一的配置体验:所有上传配置在同一个区域
- 清爽的错误提示:控制台不再被业务异常污染
- 流畅的交互体验:加载状态、进度显示、即时反馈
界面现在更加现代化和用户友好!🎉