refactor: 前端 antd 组件使用最佳实践重构

- 修正 API 响应类型,增加 ProjectResponse 包装类型
- ConfigProvider 配置中文 locale (zhCN)
- 生产入口启用 ErrorBoundary,使用 Result 组件
- ReactQueryDevtools 仅开发环境渲染
- Sider 增加 collapsible 配置,使用 antd 默认折叠行为
- 项目页面拆分为 ProjectToolbar/ProjectTable/ProjectFormModal
- 搜索改用 Input.Search,表单增加 whitespace 校验
- 404/ErrorBoundary/Dashboard 使用 antd Result/Typography/Card/Descriptions
- 清理未使用的 ProtectedRoute 和冗余样式类
- styles.css 仅保留必要布局样式,无 antd 内部类覆盖
- 更新测试覆盖,避免依赖 antd 内部类名
- 更新 docs/development/frontend.md 开发规范
This commit is contained in:
2026-05-28 16:09:01 +08:00
parent 1f232e69fc
commit b5301ec7d1
22 changed files with 458 additions and 432 deletions

View File

@@ -7,11 +7,11 @@
"dependencies": {
"@ant-design/icons": "^6.2.3",
"@sinclair/typebox": "^0.34.49",
"@tanstack/react-query": "^5.100.10",
"@tanstack/react-query": "^5.100.14",
"ajv": "^8.20.0",
"antd": "^6.4.3",
"drizzle-orm": "^0.45.2",
"es-toolkit": "^1.46.1",
"es-toolkit": "^1.47.0",
"pino": "^10.3.1",
"pino-pretty": "^13.1.3",
"pino-roll": "^4.0.0",
@@ -24,15 +24,15 @@
"@commitlint/cli": "^21.0.1",
"@commitlint/config-conventional": "^21.0.1",
"@eslint/js": "^10.0.1",
"@tanstack/react-query-devtools": "^5.100.10",
"@tanstack/react-query-devtools": "^5.100.14",
"@testing-library/react": "^16.3.2",
"@types/bun": "^1.3.14",
"@types/jsdom": "^28.0.3",
"@types/react": "^19.2.14",
"@types/react": "^19.2.15",
"@types/react-dom": "^19.2.3",
"@vitejs/plugin-react": "^6.0.2",
"drizzle-kit": "^0.31.10",
"eslint": "^10.3.0",
"eslint": "^10.4.0",
"eslint-config-prettier": "^10.1.8",
"eslint-import-resolver-typescript": "^4.4.4",
"eslint-plugin-import": "^2.32.0",
@@ -42,11 +42,11 @@
"eslint-plugin-react-refresh": "^0.5.2",
"husky": "^9.1.7",
"jsdom": "^29.1.1",
"lint-staged": "^17.0.4",
"lint-staged": "^17.0.5",
"prettier": "^3.8.3",
"typescript": "^6.0.3",
"typescript-eslint": "^8.59.3",
"vite": "^8.0.13",
"typescript-eslint": "^8.60.0",
"vite": "^8.0.14",
},
},
},