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