fetch(modify):修复BUG
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 3m27s

This commit is contained in:
sexygoat
2026-02-03 14:39:45 +08:00
parent 2c6fe4375b
commit de9753f42d
28 changed files with 4344 additions and 5092 deletions

View File

@@ -0,0 +1,62 @@
# Implementation Tasks
## 1. 类型定义
- [x] 1.1 在 `src/types/api/shop.ts` 中添加 `ShopRoleResponse` 接口
- [x] 1.2 在 `src/types/api/shop.ts` 中添加 `ShopRolesResponse` 接口
- [x] 1.3 在 `src/types/api/shop.ts` 中添加 `AssignShopRolesRequest` 接口
## 2. API 服务层
- [x] 2.1 在 `ShopService` 中添加 `getShopRoles(shopId)` 方法
- [x] 2.2 在 `ShopService` 中添加 `assignShopRoles(shopId, roleIds)` 方法
- [x] 2.3 在 `ShopService` 中添加 `deleteShopRole(shopId, roleId)` 方法
## 3. UI 组件开发
- [x] 3.1 检查店铺管理列表页面 (`src/views/product/shop/index.vue` 已存在)
- [x] 3.2 在店铺列表操作列中添加"默认角色"按钮
- [x] 3.3 创建店铺默认角色管理对话框组件
- [x] 3.4 实现查询店铺默认角色列表功能
- [x] 3.5 实现添加默认角色功能(支持多选角色)
- [x] 3.6 实现删除默认角色功能
- [x] 3.7 添加角色选择器(从系统角色列表中选择)
- [x] 3.8 添加加载状态和错误处理
## 4. 验证和测试
- [ ] 4.1 测试查询店铺默认角色列表
- [ ] 4.2 测试添加默认角色(单个和多个)
- [ ] 4.3 测试删除默认角色
- [ ] 4.4 测试边界情况(角色已存在、店铺不存在等)
- [ ] 4.5 测试权限控制(只有有权限的用户才能操作)
## 实现说明
### 完成的功能
1. **类型定义** - 已在 `src/types/api/shop.ts` 添加了三个接口:
- `ShopRoleResponse`: 店铺角色响应实体
- `ShopRolesResponse`: 店铺角色列表响应
- `AssignShopRolesRequest`: 分配角色请求
2. **API 服务层** - 已在 `src/api/modules/shop.ts``ShopService` 类中添加:
- `getShopRoles(shopId)`: 获取店铺默认角色列表
- `assignShopRoles(shopId, data)`: 分配店铺默认角色
- `deleteShopRole(shopId, roleId)`: 删除店铺默认角色
3. **UI 实现** - 已在 `src/views/product/shop/index.vue` 中实现:
- 操作列新增"默认角色"按钮 (宽度从220改为280)
- 默认角色管理对话框,显示当前默认角色列表,支持删除操作
- 添加角色对话框,支持多选角色,已分配的角色显示为禁用状态
- 完整的加载状态(loading indicators)
- 错误处理和友好的提示消息
- 使用 `ShopService``RoleService` 调用后端API
### 待测试项
所有开发任务已完成,现在需要进行功能测试以确保:
- API 调用正常工作
- UI 交互符合预期
- 边界情况处理正确
- 权限控制生效