修复角色创建时出现的 AttributeError: 'dict' object has no attribute 'model_dump' 错误,将 role_data.model_dump() 改为 dict(role_data) 以兼容 Pydantic v1 和 v2。 同时优化了搜索布局和样式,确保查询条件和按钮在同一行显示: 1. 修改 admin-crud.css 添加搜索区域不换行样式 2. 调整 role-crud.ts 中的 search 配置 3. 将 GET 查询接口改为 POST /search 方式 4. 修复角色权限分配时的权限加载问题
64 lines
1.8 KiB
Markdown
64 lines
1.8 KiB
Markdown
|
||
# Bug 修复计划(版本2)
|
||
|
||
## 问题描述
|
||
|
||
### 问题1:查询条件布局仍未生效
|
||
前端页面中用户、角色、权限的查询条件和查询、重置按钮没有在同一行显示,需要重新检查配置。
|
||
|
||
### 问题2:删除 GET 查询接口
|
||
用户要求删除原有的 GET 方式查询接口,只保留 POST 方式。
|
||
|
||
## 分析
|
||
|
||
### 问题1原因分析
|
||
fast-crud 的搜索布局配置可能需要调整。当前配置:
|
||
```javascript
|
||
search: {
|
||
show: true,
|
||
inline: true,
|
||
expand: false,
|
||
}
|
||
```
|
||
可能需要调整为:
|
||
```javascript
|
||
search: {
|
||
show: true,
|
||
form: {
|
||
inline: true,
|
||
},
|
||
expand: false,
|
||
}
|
||
```
|
||
|
||
### 问题2修改方案
|
||
删除后端三个路由文件中的 GET 查询接口(`@router.get("/")`),只保留 POST `/search` 接口。
|
||
|
||
## 修改步骤
|
||
|
||
### 步骤1:修复前端搜索布局配置
|
||
修改三个 CRUD 配置文件,调整搜索布局配置:
|
||
|
||
1. `user-crud.ts`: 调整 search 配置
|
||
2. `role-crud.ts`: 调整 search 配置
|
||
3. `permission-crud.ts`: 调整 search 配置
|
||
|
||
### 步骤2:删除后端 GET 查询接口
|
||
删除三个后端路由文件中的 GET 查询接口:
|
||
|
||
1. `users/urls.py`: 删除 `@router.get("/")` 接口
|
||
2. `roles/urls.py`: 删除 `@router.get("/")` 接口
|
||
3. `permissions/urls.py`: 删除 `@router.get("/")` 接口
|
||
|
||
## 修改文件清单
|
||
|
||
| 文件 | 修改内容 |
|
||
|------|----------|
|
||
| `frontend/src/modules/admin/views/users/user-crud.ts` | 调整 search 布局配置 |
|
||
| `frontend/src/modules/admin/views/roles/role-crud.ts` | 调整 search 布局配置 |
|
||
| `frontend/src/modules/admin/views/permissions/permission-crud.ts` | 调整 search 布局配置 |
|
||
| `backend/auth/apps/users/urls.py` | 删除 GET `/users/` 查询接口 |
|
||
| `backend/auth/apps/roles/urls.py` | 删除 GET `/roles/` 查询接口 |
|
||
| `backend/auth/apps/permissions/urls.py` | 删除 GET `/permissions/` 查询接口 |
|
||
|