Commit Graph

6 Commits

Author SHA1 Message Date
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