90 lines
3.4 KiB
Markdown
90 lines
3.4 KiB
Markdown
# Change: 企业设备授权管理
|
|
|
|
## Why
|
|
|
|
当前系统中已存在企业客户管理和企业卡授权功能,但缺少企业设备授权管理能力。企业客户需要能够查看和管理被授权的设备列表,运营人员需要能够将设备授权给企业客户使用,并支持撤销授权操作。
|
|
|
|
根据业务需求文档 (`docs/企业设备授权.md`),需要在资产管理模块下新增"企业设备列表"功能,实现以下核心能力:
|
|
|
|
1. **授权设备给企业** - 支持批量授权,最多100个设备号
|
|
2. **查看企业设备列表** - 支持分页和按设备号搜索
|
|
3. **撤销设备授权** - 支持批量撤销授权
|
|
|
|
## 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
|
|
|
|
1. **复用企业卡授权页面** - 不可行,设备和卡的数据结构和操作逻辑不同
|
|
2. **在设备管理页面添加企业授权功能** - 不符合业务流程,企业授权属于资产管理范畴
|
|
3. **使用单个设备号输入而非批量** - 不满足业务需求,运营人员需要批量授权能力
|
|
|
|
## Open Questions
|
|
|
|
1. ✅ 设备号输入格式 - 支持换行或逗号分隔
|
|
2. ✅ 最大批量数量 - API 限制最多100个设备号
|
|
3. ✅ 失败情况处理 - API 返回成功/失败统计及失败原因列表
|
|
4. ✅ 设备列表排序 - 按授权时间倒序
|
|
|
|
## References
|
|
|
|
- API 文档: `docs/企业设备授权.md`
|
|
- 相关 OpenSpec 变更: `add-device-management`
|
|
- 参考实现: 企业卡授权功能 (`enterprise-cards/index.vue`)
|