3.4 KiB
3.4 KiB
Change: 企业设备授权管理
Why
当前系统中已存在企业客户管理和企业卡授权功能,但缺少企业设备授权管理能力。企业客户需要能够查看和管理被授权的设备列表,运营人员需要能够将设备授权给企业客户使用,并支持撤销授权操作。
根据业务需求文档 (docs/企业设备授权.md),需要在资产管理模块下新增"企业设备列表"功能,实现以下核心能力:
- 授权设备给企业 - 支持批量授权,最多100个设备号
- 查看企业设备列表 - 支持分页和按设备号搜索
- 撤销设备授权 - 支持批量撤销授权
What Changes
新增企业设备授权管理功能,包括:
类型定义
- 新增
src/types/api/enterpriseDevice.ts文件 - 定义设备列表项、查询参数、分页结果类型
- 定义授权/撤销请求和响应类型
- 在
src/types/api/index.ts中导出新类型
API 服务层
- 扩展
EnterpriseService类,新增3个方法:allocateDevices(enterpriseId, data)- POST 授权设备getEnterpriseDevices(enterpriseId, params)- GET 设备列表recallDevices(enterpriseId, data)- POST 撤销授权
视图层
- 新增
src/views/asset-management/enterprise-devices/index.vue页面 - 实现设备列表展示 (表格、分页、搜索)
- 实现授权设备对话框 (支持批量输入设备号)
- 实现撤销授权功能 (二次确认)
- 实现操作结果展示 (成功/失败统计)
路由配置
- 在
src/router/routesAlias.ts添加路由别名 - 在
src/router/routes/asyncRoutes.ts的资产管理模块下添加子路由
国际化
- 在
src/locales/langs/zh.json和en.json添加中英文翻译 - 包含菜单、表单、表格、对话框、提示消息等所有文案
Impact
- 新增模块: 企业设备授权管理
- 影响范围:
- 新增文件:
enterpriseDevice.ts,enterprise-devices/index.vue - 扩展文件:
enterprise.ts(API),routesAlias.ts,asyncRoutes.ts,zh.json,en.json,index.ts(types)
- 新增文件:
- 依赖关系:
- 依赖现有的
EnterpriseService基础设施 - 依赖已实现的设备管理模块
- 后端 API 已就绪
- 依赖现有的
- 向后兼容性: 完全兼容,不影响现有功能
- 数据迁移: 无需数据迁移
Breaking Changes
无破坏性变更。这是一个纯新增功能,不修改现有代码逻辑。
Risks
- 低风险: 功能独立,不影响现有企业卡授权功能
- 低风险: API 已定义清晰,类型安全有保障
- 中风险: 需要确保批量操作时的用户体验良好 (处理大量设备号输入和结果展示)
Alternatives Considered
- 复用企业卡授权页面 - 不可行,设备和卡的数据结构和操作逻辑不同
- 在设备管理页面添加企业授权功能 - 不符合业务流程,企业授权属于资产管理范畴
- 使用单个设备号输入而非批量 - 不满足业务需求,运营人员需要批量授权能力
Open Questions
- ✅ 设备号输入格式 - 支持换行或逗号分隔
- ✅ 最大批量数量 - API 限制最多100个设备号
- ✅ 失败情况处理 - API 返回成功/失败统计及失败原因列表
- ✅ 设备列表排序 - 按授权时间倒序
References
- API 文档:
docs/企业设备授权.md - 相关 OpenSpec 变更:
add-device-management - 参考实现: 企业卡授权功能 (
enterprise-cards/index.vue)