张翔
|
000a137a3d
|
fix(guards): 修复 SPA 直接导航重定向到登录页
authLoader 中 initFromStorage() 后需重新调用 getState() 获取最新状态,
否则 isAuthenticated 检查使用过时的快照值导致已登录用户被重定向到登录页。
同步修复 usePermissionStore 的相同问题。
|
2026-05-06 19:43:39 +08:00 |
|
张翔
|
e2b332dda7
|
feat(web): Phase 5 - 业务页面迁移完成
完成所有业务页面从 Vue 3 到 React 19 的迁移:
页面迁移:
- Login: 表单验证 + 认证集成
- Dashboard: 统计卡片 + G2 图表占位
- UserManagement: 表格 + 分页 + CRUD + 权限控制
- RoleManagement: 表格 + 弹窗 + TreeSelect 权限分配
- MenuManagement: 树形表格 + 层级菜单管理
- ConfigManagement: 参数配置 CRUD
- DictManagement: 字典类型/数据双面板管理
- FileManagement: 文件上传 + 图片预览
- NoticeManagement: 通知公告 CRUD
- LoginLog/OpLog/ExLog: 审计日志只读查询
- 403: 权限拒绝页面
API 层补充:
- loginLog.ts: 新增 LoginLog/OpLog/ExLog 接口与 API
- status.ts: 新增 userStatusMap/roleStatusMap/menuStatusMap/noticeStatusMap
路由修正:
- routes.ts: 日志页面路径对齐实际目录结构
验证:tsc --noEmit 零错误,dev server 正常启动
|
2026-05-06 19:43:39 +08:00 |
|
张翔
|
c86a4ef5cd
|
feat(react19-migration): 阶段4 - 布局与通用组件
- T4.1: DefaultLayout (ProLayout + Suspense + Outlet)
- T4.2: SideMenu (AntD Menu + 递归菜单转换 + 图标映射)
- T4.3: HeaderRight (Dropdown + Avatar + 退出登录)
- T4.4: AuthGuard (认证守卫 → Navigate /login)
- T4.5: PermissionGuard (权限守卫 → permission/role 检查)
- T4.6: ChartContainer (AntV 图表容器)
- T4.7: useAntV Hook (图表生命周期管理)
- T4.8: usePermission Hook (权限检查封装)
- 安装 @ant-design/pro-components @ant-design/icons
验证: npx tsc --noEmit 通过
|
2026-05-06 19:43:39 +08:00 |
|
张翔
|
434a81dc71
|
feat(react19-migration): 阶段3 - 状态管理与路由
- T3.1: 创建 useAuthStore (Zustand) - login/logout/initFromStorage
- T3.2: 创建 usePermissionStore (Zustand) - fetchUserMenus/hasPermission/hasRole
- T3.3: 创建 useAppStore (Zustand) - collapsed 状态管理
- T3.4: 创建 React Router v7 数据路由配置 (createBrowserRouter)
- T3.5: 创建 authLoader 路由守卫 (token校验→初始化→权限加载)
- 创建占位页面组件 (13个路由页面 + DefaultLayout)
- 更新 App.tsx 使用 RouterProvider
- 安装 jwt-decode 依赖
验证: npx tsc --noEmit 通过, npm run dev 启动成功
|
2026-05-06 19:43:39 +08:00 |
|
张翔
|
01ddf0a5f6
|
feat(react19-migration): 阶段2 - 核心框架层迁移
- T2.1: request.ts 确认无 Vue 依赖,无需修改
- T2.5: errorHandler.ts ElMessage → antd message
- T2.7: 新增 API (menu/config/dict/file/notice/loginLog) + 类型定义 (menu/permission/user)
- 清理旧 Vue 测试文件、views、stores、router、directives
- 修复 tsconfig: 添加 module:ESNext + types:vite/client
验证: npx tsc --noEmit 无类型错误
|
2026-05-06 19:43:39 +08:00 |
|
张翔
|
f0746d06db
|
feat(web): 迁移前端源代码(任务 T4.1)
- 删除 novalon 前端 src/ 下所有文件
- 从 gym-manage 复制前端 src/ 完整目录树
- 替换 gym-manage-api → novalon-manage-api
- 替换 gym_system → manage_system
- 无 gym 残留引用
|
2026-04-27 14:57:45 +08:00 |
|
张翔
|
7420afa380
|
feat(权限): 实现基于角色的路由权限控制
- 新增路由元信息类型定义 (requiresAuth, roles, title)
- 实现路由守卫中的角色权限校验逻辑
- 新增 403 禁止访问页面
- 提取权限校验函数 checkRoutePermission,提高可测试性
- 修复 JSON.parse 异常处理,增强健壮性
- 优化页面标题动态设置
测试优化:
- 重构 global-setup.ts,支持 JAR 文件启动后端服务
- 优化测试用例等待逻辑,减少硬编码延迟
- 简化 playwright 配置,移除多浏览器支持
- 新增路由权限守卫单元测试
关联需求:权限系统完善
|
2026-04-08 15:29:03 +08:00 |
|
张翔
|
a05368d306
|
feat(登录): 添加路由守卫和异步导航处理
fix(表单验证): 为用户、角色和菜单管理添加表单验证规则
test(e2e): 增加页面导航超时时间和网络空闲等待
refactor(数据库): 移除Flyway配置并更新数据源配置
|
2026-03-27 14:40:55 +08:00 |
|
张翔
|
be5d5ede90
|
feat: 添加异常日志功能并优化UI样式
refactor: 重构后端查询逻辑和API响应处理
fix: 修复用户角色更新和文件上传问题
test: 添加前端性能测试脚本和E2E测试用例
chore: 更新依赖版本和配置文件
docs: 添加环境检查脚本和测试文档
style: 统一表格标签样式和路由命名
perf: 优化前端页面加载速度和响应时间
|
2026-03-24 13:32:20 +08:00 |
|
张翔
|
fe2e4110dd
|
feat: add system quality improvement plan and implementation
|
2026-03-12 18:20:50 +08:00 |
|
张翔
|
52c66444a5
|
feat: 添加系统配置、审计中心、通知中心、文件管理模块
|
2026-03-11 12:11:59 +08:00 |
|