Leo
|
aaf0338f1c
|
refactor(icon): 重构图标系统使用CoiIcon组件
- 更新 utils/icon.ts 使用 CoiIcon 替代原有图标实现
- 重构 IconSelect 组件使用 CoiIcon 统一图标渲染
- 移除对 @iconify/vue 的直接依赖
- 简化图标组件创建逻辑
|
2025-07-07 22:35:07 +08:00 |
|
Leo
|
b8d6e5d781
|
fix(router): 解决页面刷新时NavigationGuard阻止路由跳转的问题
- 修复NavigationGuard在页面刷新时错误地阻止路由导航的问题
- 添加页面刷新检测逻辑,允许刷新场景下的正常导航
- 优化防抖机制,使用时间戳进行更精确的重复点击检测
- 修复"Navigation aborted from '/' to '/system/user'"错误
问题原因:
NavigationGuard的beforeEach守卫与主路由守卫冲突,在页面刷新时
误判正常的路由重定向为重复导航而阻止跳转。
解决方案:
1. 检测页面刷新场景(from.name为空或路径为'/')
2. 使用时间戳替代简单的路径对比进行防抖判断
3. 优化导航状态重置逻辑,保持防抖效果的同时允许正常导航
|
2025-07-06 03:21:12 +08:00 |
|
Leo
|
5e13342f7b
|
fix(router): 修复Vue Router导航错误和组件生命周期问题
* 新增导航防护机制
- NavigationGuard类防止快速路由切换导致的错误
- 实现防抖和安全导航方法(safePush/safeReplace)
* 新增组件安全加载机制
- safeAsyncComponent包装器处理异步组件加载错误
- 支持重试机制和ChunkLoadError恢复
* 增强路由守卫错误处理
- 全面的try-catch错误捕获
- 统一的路由错误处理函数
* 优化路由配置
- 使用安全组件加载器包装所有异步组件
- 改进路由重定向逻辑
解决了"Cannot read properties of null (reading 'isUnmounted')"等Vue Router错误
|
2025-07-06 02:33:37 +08:00 |
|
Leo
|
8eaea603af
|
feat(utils): 完善工具函数库
- 优化coi.ts工具函数
- 完善消息提示封装
- 改进通用工具方法
- 加强错误处理机制
提供更强大的工具函数支持
|
2025-07-06 00:59:50 +08:00 |
|
Leo
|
d09a400ad0
|
feat(user-management): 实现用户管理导入导出功能
- 新增用户数据导出功能:
* 支持导出当前查询条件下的数据
* 支持导出全部用户数据
* 支持下载用户导入模板
* 自动生成带时间戳的文件名
- 新增用户数据导入功能:
* 拖拽上传Excel文件支持
* 文件类型和大小验证(.xlsx/.xls, 最大10MB)
* 覆盖已存在数据选项
* 实时上传进度显示
* 详细的导入结果反馈
- 完善API接口:
* downloadExcelTemplate: 下载Excel模板
* exportExcelData: 导出用户数据(支持查询参数)
* importUserData: 导入用户数据(支持覆盖选项)
- UI/UX优化:
* 下拉菜单式导出按钮设计
* 专业的导入模态框界面
* 完善的错误处理和用户反馈
* 导入说明和操作指导
技术实现:
- 使用Blob处理文件下载
- FormData处理文件上传
- Naive UI组件深度集成
- TypeScript类型安全保障
|
2025-07-06 00:58:26 +08:00 |
|
Leo
|
5fb45f8f07
|
init project
|
2025-07-04 15:08:19 +08:00 |
|