Files
one-pipe-system/openspec/changes/add-enterprise-device-authorization/proposal.md
sexygoat 841cf0442b
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 3m30s
fetch(add): 订单管理-企业设备
2026-01-29 15:43:45 +08:00

85 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`)