张翔
|
778b846fb3
|
feat(dept): 实现部门管理前端页面
dept.ts API: CRUD + buildTree 树形构建;
DeptManagement 页面: 树形表格 + 新增/编辑/删除 + 权限守卫;
修复 validation-rules.ts 的 as const 导致 readonly 类型不兼容问题。
|
2026-05-06 19:43:39 +08:00 |
|
张翔
|
80693c5f09
|
refactor(validation): 应用统一验证规则到菜单/字典/配置/通知页面
菜单名称添加长度校验,排序使用 VALIDATION 常量;
字典名称/类型添加长度校验,字典标签/值添加长度校验;
配置名称/键/值添加长度校验;
通知标题添加长度校验,内容添加长度校验。
|
2026-05-06 19:43:39 +08:00 |
|
张翔
|
9c4f08a544
|
refactor(role): 应用统一验证规则到角色管理表单
角色名称添加长度(2-50)校验,角色标识添加长度和格式校验,
排序使用 VALIDATION 常量的 initialValue 和 rules。
|
2026-05-06 19:43:39 +08:00 |
|
张翔
|
ad68be5c43
|
fix(user): 应用统一验证规则到用户管理表单
用户名添加长度(3-50)和格式校验,密码添加长度(8-20)和强度校验,
邮箱添加格式和长度校验,手机添加格式校验,昵称添加长度校验。
|
2026-05-06 19:43:39 +08:00 |
|
张翔
|
481e2fe825
|
feat(validation): 创建前端验证规则常量文件
以后端 @Valid 注解为唯一真相源,建立 VALIDATION 常量映射,
统一前后端验证规则,消除 roleSort 类不一致问题。
|
2026-05-06 19:43:39 +08:00 |
|
张翔
|
555410b534
|
docs: 更新 dogfood 全链路测试报告
包含 5 个问题(1 Critical、1 High、2 Medium、1 Low),
其中 4 个已修复,1 个为已知限制(antd v5 + React 19 兼容性警告)。
附截图与视频证据。
|
2026-05-06 19:43:39 +08:00 |
|
张翔
|
3e8e14d662
|
feat: 新增监控页面、部门管理占位与单元测试
- 新增系统监控模块(在线用户、定时任务、数据监控、服务器监控、缓存监控)
- 新增部门管理占位页面
- 路由注册新增模块与懒加载
- DefaultLayout 侧边菜单与布局优化
- 新增前端单元测试与后端 RoleUpdateRequest 测试
|
2026-05-06 19:43:39 +08:00 |
|
张翔
|
e8f51309e5
|
test: E2E 测试用例更新与新增
- 更新 Page Object 模型适配新字段名
- 新增 UAT 测试套件与 journey 测试用例
- 优化测试辅助工具与数据工厂
- 更新 playwright 认证状态
|
2026-05-06 19:43:39 +08:00 |
|
张翔
|
9e635b1483
|
chore: 配置与基础设施更新
- 开发服务器端口从 3002 改为 5174
- vitest 配置从 vue plugin 改为 react plugin
- playwright 新增 uat 项目配置,修正 baseURL
- 添加 less 依赖支持
- 修复各页面 catch 块空语句为注释标记
|
2026-05-06 19:43:39 +08:00 |
|
张翔
|
c362894948
|
fix(api): 修复通知模块字段名与后端不匹配
通知模块字段从 title/type/content 改为 noticeTitle/noticeType/noticeContent,
与后端 DTO 字段名对齐;API 层补充完整类型定义与错误处理。
|
2026-05-06 19:43:39 +08:00 |
|
张翔
|
feb7bee171
|
refactor(antd): 替换 Modal destroyOnClose 为 destroyOnHidden
antd 新版本将 destroyOnClose 重命名为 destroyOnHidden,
消除控制台废弃警告。涉及 user、menu、notify、dict、config 页面。
|
2026-05-06 19:43:39 +08:00 |
|
张翔
|
380a7a7dbe
|
fix(role): 修复 roleSort 默认值与后端验证不一致
前端 initialValue 从 0 改为 1,min 从 0 改为 1,添加前端验证规则;
后端 RoleUpdateRequest.roleSort 补充 @Min(value=1) 验证注解。
统一前后端约束,避免默认值提交时触发验证错误。
|
2026-05-06 19:43:39 +08:00 |
|
张翔
|
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 |
|
张翔
|
e4111ddb1a
|
feat(react19-migration): 阶段1 - 项目基础设施重建
- T1.1: 卸载 Vue 依赖,安装 React 19 + Ant Design 5 + Zustand 5 + AntV 全家桶
- T1.2: Vite 配置迁移 (plugin-vue → plugin-react, manualChunks 更新)
- T1.3: TypeScript 配置迁移 (jsx: preserve → react-jsx, 移除 .vue)
- T1.4: ESLint 配置迁移 (Vue 规则 → React/Hooks/Refresh 规则)
- T1.5: 入口文件迁移 (main.ts → main.tsx, App.vue → App.tsx, div#app → div#root)
验证: npm run dev 成功启动空白 React 应用
|
2026-05-06 19:43:39 +08:00 |
|
张翔
|
49b1264df1
|
test(e2e): 修复测试套件并提升通过率至97.30%
- 更新网关配置以符合Spring Boot 3.x最佳实践
- 修复数据字典和系统配置测试的UI元素定位问题
- 改进Playwright测试配置,增加超时时间和日志
- 新增TestDataCleaner工具类用于测试数据清理
- 更新全局设置使用test profile禁用签名验证
测试通过率从59.57%提升至97.30%,提升了37.73%
|
2026-05-06 19:43:39 +08:00 |
|
张翔
|
b8fbe9c020
|
chore: 更新测试用户认证令牌和权限数据
|
2026-04-28 16:33:36 +08:00 |
|
张翔
|
330828f585
|
test: 修复测试用例并提升测试覆盖率
- 修复 User Journey 测试中的菜单导航和登出问题
- 更新 vitest 配置以包含 role-based-tests
- 修复 role-auth-manager 测试中的 mock 问题
- 测试通过率从 70% 提升到 100%
|
2026-04-28 16:32:50 +08:00 |
|
张翔
|
f44cee4958
|
fix(docker,test): 修复 Docker 构建和测试配置
- 更新 Dockerfile 使用本地编译的 jar 文件
- 修复 vite.config.ts 移除未使用的 lodash-es 依赖
- 更新测试密码为 Test@123
|
2026-04-28 16:04:45 +08:00 |
|
张翔
|
0c3b67eb64
|
chore(ci): 移除 Woodpecker CI 配置,全面采用 Jenkins
- 删除 .woodpecker.yml
- 删除 .woodpecker-e2e.yml
- 删除 .woodpecker-test-suite.yml
|
2026-04-27 15:38:41 +08:00 |
|
张翔
|
d03253617c
|
feat(web): 迁移前端配置文件(任务 T4.2)
- 替换 package.json,适配项目名 novalon-manage-web
- 替换环境配置文件 .env.example、.env.test
- 替换 vite.config.ts
- 替换 tsconfig.json、tsconfig.node.json
- 替换 vitest.config.ts
|
2026-04-27 15:00:43 +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 |
|
张翔
|
2971258fa0
|
chore(frontend): 更新前端配置和依赖
- 更新Dockerfile配置
- 更新测试环境配置
- 更新依赖锁定文件
|
2026-04-15 23:35:19 +08:00 |
|
张翔
|
3244232be1
|
test(frontend): 添加API连通性和认证测试用例
- 添加API连通性测试
- 添加认证和授权测试
- 添加菜单管理测试
- 添加参数配置测试
- 添加字典管理测试
- 添加Playwright配置文件
|
2026-04-15 23:34:44 +08:00 |
|
张翔
|
69aa566e3f
|
test: 修复用户管理和角色管理测试
- 增加展开系统管理菜单的步骤
- 修复菜单元素不可见导致的测试失败
- 测试通过率从80%提升到100%
|
2026-04-15 23:14:39 +08:00 |
|
张翔
|
d6b15acf5b
|
test: 添加字典管理功能测试用例
- 测试字典管理列表显示
- 验证字典管理的基本功能
|
2026-04-15 22:09:49 +08:00 |
|
张翔
|
154928c4ec
|
test: 添加参数配置功能测试用例
- 测试参数配置列表显示
- 验证参数配置的基本功能
|
2026-04-15 22:08:25 +08:00 |
|
张翔
|
59c15f7f99
|
test: 添加菜单管理功能测试用例
- 测试菜单列表显示
- 验证菜单管理的基本功能
- 更新Playwright配置文件添加新的测试项目
|
2026-04-15 22:06:07 +08:00 |
|
张翔
|
8896362bd3
|
test: 优化系统配置菜单测试选择器
- 增加展开系统管理菜单的步骤
- 更新选择器以匹配实际的菜单文本
- 提高测试稳定性
|
2026-04-15 22:02:35 +08:00 |
|
张翔
|
b547db9ace
|
test: 优化登出功能测试选择器
- 增加点击用户头像展开下拉菜单的步骤
- 更新选择器以匹配Element Plus下拉菜单项
- 提高测试稳定性
|
2026-04-15 22:00:33 +08:00 |
|
张翔
|
7e54d7fb46
|
refactor(审计日志): 优化审计日志架构和 E2E 测试质量
架构改进:
- 引入审计日志服务层,实现业务逻辑与数据访问分离
- 添加 Spring Data 审计注解,自动填充创建人、创建时间等字段
- 修复切面范围,避免 Repository 和 Dao 层重复记录
代码优化:
- 移除构造函数中的冗余 info 日志,降低生产环境日志量
- 恢复 SQL 文件格式,提高可读性
- 优化 E2E 测试等待策略,移除硬编码等待时间,提高测试稳定性
影响范围:
- 后端:审计日志模块(Service、Repository、Aspect、Entity)
- 前端:E2E 测试文件(4 个 workflow 测试)
- 数据库:审计日志表结构
|
2026-04-08 19:49:55 +08:00 |
|
张翔
|
99c78954a3
|
fix(用户管理): 修复用户搜索参数名称不一致问题
- 将前端搜索参数从 username 改为 keyword,与后端 API 保持一致
- 更新 UserPageRequest 接口,添加 keyword 字段
问题原因:
- 前端传递 username 参数,但后端期望 keyword 参数
- 导致后端无法正确处理搜索请求,搜索关键字为 null
影响范围:
- 用户管理页面的搜索功能
- E2E 测试中的用户搜索步骤
|
2026-04-08 15:42:09 +08:00 |
|
张翔
|
7420afa380
|
feat(权限): 实现基于角色的路由权限控制
- 新增路由元信息类型定义 (requiresAuth, roles, title)
- 实现路由守卫中的角色权限校验逻辑
- 新增 403 禁止访问页面
- 提取权限校验函数 checkRoutePermission,提高可测试性
- 修复 JSON.parse 异常处理,增强健壮性
- 优化页面标题动态设置
测试优化:
- 重构 global-setup.ts,支持 JAR 文件启动后端服务
- 优化测试用例等待逻辑,减少硬编码延迟
- 简化 playwright 配置,移除多浏览器支持
- 新增路由权限守卫单元测试
关联需求:权限系统完善
|
2026-04-08 15:29:03 +08:00 |
|
张翔
|
9b2c8a47a4
|
fix: 修复 Login 组件测试的 Pinia 初始化问题
|
2026-04-08 07:09:51 +08:00 |
|
张翔
|
6c0e510d64
|
feat: 完成动态菜单和API权限检查功能
|
2026-04-08 07:08:42 +08:00 |
|
张翔
|
76a7735099
|
feat: 添加递归菜单组件 MenuItem
|
2026-04-08 07:07:10 +08:00 |
|
张翔
|
b6600ad59a
|
feat: 集成 Permission Store 到登录流程
|
2026-04-08 07:05:30 +08:00 |
|
张翔
|
20d12c1b94
|
feat: 添加 v-permission 指令实现按钮级权限控制
|
2026-04-08 07:04:26 +08:00 |
|
张翔
|
8fb3166356
|
feat: 添加 Permission Store 实现权限数据管理
|
2026-04-08 07:03:08 +08:00 |
|
张翔
|
39be801e6e
|
test: 完成E2E测试精简,从38个文件减少到5个(任务 8/8)
|
2026-04-07 22:55:10 +08:00 |
|
张翔
|
044866429d
|
docs: 添加E2E测试说明文档(任务 7/8)
|
2026-04-07 22:54:01 +08:00 |
|
张翔
|
395f4bef31
|
fix: 修复冒烟测试用户菜单选择器(任务 6/8)
|
2026-04-07 22:21:46 +08:00 |
|
张翔
|
8a0c954d8c
|
test: 更新E2E测试脚本,支持分层运行(任务 5/8)
|
2026-04-07 21:49:38 +08:00 |
|
张翔
|
39174f09d2
|
test: 删除journeys目录下的重复测试文件(任务 4/8)
|
2026-04-07 21:47:53 +08:00 |
|
张翔
|
105ad30cc6
|
test: 删除role-based-tests目录(任务 3/8)
|
2026-04-07 21:46:50 +08:00 |
|
张翔
|
0c8c993995
|
test: 删除根目录下的非核心E2E测试文件(任务 2/8)
|
2026-04-07 21:45:28 +08:00 |
|
张翔
|
a01ed2553e
|
test: 添加冒烟测试 - 登录登出基础流程(任务 1/8)
|
2026-04-07 21:44:42 +08:00 |
|