# Bug 修复计划 ## 问题描述 ### 问题1:查询条件布局优化 前端页面中用户、角色、权限的页面中查询条件和查询、重置按钮需要放到一行,并且去掉展开按钮。 ### 问题2:查询方法修改 查询目前使用 GET 方法进行的,需要改为 POST 方法。 ## 项目结构分析 ``` frontend/ └── src/ └── modules/ └── admin/ ├── views/ │ ├── users/ │ │ ├── UserManage.vue # 用户管理页面 │ │ └── user-crud.ts # 用户 CRUD 配置 │ ├── roles/ │ │ ├── RoleManage.vue # 角色管理页面 │ │ └── role-crud.ts # 角色 CRUD 配置 │ └── permissions/ │ ├── PermissionManage.vue # 权限管理页面 │ └── permission-crud.ts # 权限 CRUD 配置 └── api/ └── http.ts # HTTP 请求封装 ``` ## 修复方案 ### 问题1:查询条件布局优化 在 fast-crud 中,可以通过配置 `search` 属性来控制搜索表单的布局: | 配置项 | 值 | 说明 | |--------|-----|------| | `show` | `true` | 显示搜索表单 | | `inline` | `true` | 查询条件和按钮在一行 | | `expand` | `false` | 隐藏展开按钮 | 需要修改的文件: - `frontend/src/modules/admin/views/users/user-crud.ts` - `frontend/src/modules/admin/views/roles/role-crud.ts` - `frontend/src/modules/admin/views/permissions/permission-crud.ts` ### 问题2:查询方法修改 需要同时修改前端和后端: **前端修改**: - 将 `pageRequest` 中的 `http.get` 改为 `http.post` - 将查询参数从 URL 参数改为请求体 **后端修改**: - 将 `/users/`、`/roles/`、`/permissions/` 的 GET 请求改为 POST 请求 - 修改参数接收方式,从 Query 参数改为请求体 需要修改的文件: - 前端:`user-crud.ts`、`role-crud.ts`、`permission-crud.ts` - 后端:`users/urls.py`、`roles/urls.py`、`permissions/urls.py` ## 修改步骤 ### 步骤1:修改前端 CRUD 配置(问题1+问题2) 修改三个 CRUD 配置文件: 1. `user-crud.ts`: - 添加 `search: { inline: true, expand: false }` 配置 - 将 `pageRequest` 中的 `http.get` 改为 `http.post` 2. `role-crud.ts`: - 添加 `search: { inline: true, expand: false }` 配置 - 将 `pageRequest` 中的 `http.get` 改为 `http.post` 3. `permission-crud.ts`: - 添加 `search: { inline: true, expand: false }` 配置 - 将 `pageRequest` 中的 `http.get` 改为 `http.post` ### 步骤2:修改后端 API(问题2) 修改三个后端路由文件: 1. `users/urls.py`: - 将 `@router.get("/")` 改为 `@router.post("/search")` - 修改参数接收方式 2. `roles/urls.py`: - 将 `@router.get("/")` 改为 `@router.post("/search")` - 修改参数接收方式 3. `permissions/urls.py`: - 将 `@router.get("/")` 改为 `@router.post("/search")` - 修改参数接收方式 ### 步骤3:验证修改 启动项目,验证: 1. 查询条件和按钮是否在一行显示 2. 展开按钮是否已隐藏 3. 查询请求是否使用 POST 方法 4. 查询功能是否正常工作 ## 风险评估 | 风险项 | 风险等级 | 应对措施 | |--------|----------|----------| | 后端 API 变更可能影响其他功能 | 中 | 保留原 GET 接口,新增 POST 接口 | | fast-crud 配置不生效 | 低 | 检查 fast-crud 文档确认配置项 | | 查询参数传递方式变更 | 低 | 修改前端传递方式,确保与后端一致 | ## 注意事项 1. 后端修改时,建议保留原 GET 接口,新增 POST `/search` 接口,避免影响其他功能 2. 修改完成后需要测试所有查询功能是否正常工作 3. 确保前后端参数传递方式一致