3.2 KiB
3.2 KiB
Change: 为后台任务页与操作审计日志补充文件下载入口
Why
当前后台已经具备对象存储上传能力和下载 URL 获取接口,但与“下载文件”相关的运营入口仍然缺失两块关键能力:
- IoT 卡任务页和设备任务页虽然展示了导入任务记录,但操作列里没有“下载文件”入口,运营无法直接回看任务原始导入文件。
- 资产操作审计日志已经会显示
文件存储键/file_key,但仍然只是纯文本,无法直接从日志里发起下载。
同时,本次需求明确要求这些下载入口按页面上下文拆分权限,不允许任务页和三个审计日志入口共用同一个按钮权限编码。
如果不补齐这些入口,后台用户仍然需要依赖复制 file_key、跳外部系统或人工排查对象存储文件,审计与任务追溯链路会继续断裂。
本提案仅覆盖后台管理端(admin)能力,不包含 C 端页面和 C 端接口消费逻辑。
What Changes
- 为后台任务管理增加原始导入文件下载入口:
- 在 IoT 卡任务列表操作列增加“下载文件”
- 在设备任务列表操作列增加“下载文件”
- 两个任务页分别使用独立按钮权限编码
- 为后台资产操作审计日志增加基于
file_key的下载入口:- 当日志变更内容包含
文件存储键/file_key时,在对应值后追加“下载文件” - 资产详情页、IoT 卡列表审计日志弹窗、设备列表审计日志弹窗分别使用独立按钮权限编码
- 共享日志组件需要支持由不同入口传入对应的下载权限上下文
- 当日志变更内容包含
- 明确复用现有下载接口:
- 所有下载入口统一通过
POST /api/admin/storage/batch-download-urls获取预签名下载 URL - 本次不新增新的对象存储下载 API
- 所有下载入口统一通过
- 范围约束:
- 不改造上传流程
- 不扩展为“文件中心”或批量多文件下载能力
- 不顺带统一现有全部权限命名历史差异,仅为本次新增入口定义可审查的权限编码
Impact
- Affected specs:
admin-file-download
- Affected code:
src/api/modules/storage.tssrc/views/asset-management/task-management/iot-card-task/index.vuesrc/views/asset-management/task-management/device-task/index.vuesrc/views/asset-management/asset-information/components/OperationLogsCard.vuesrc/components/business/OperationLogsDialog.vuesrc/views/asset-management/asset-information/index.vuesrc/views/asset-management/iot-card-management/index.vuesrc/views/asset-management/device-list/index.vuesrc/types/api/card.tssrc/types/api/device.ts
- Dependencies:
- 依赖现有
POST /api/admin/storage/batch-download-urls可为单个file_key返回可直接下载的预签名 URL - 与活跃变更
update-admin-asset-device-signal-and-audit-logs存在OperationLogsCard.vue共享组件交集,实施前需要基于其最新状态合并 - 导入任务列表/详情接口需要提供可下载所需的
file_key;如果当前接口尚未返回,实施阶段需要同步补齐契约
- 依赖现有
- Breaking changes:
- 无外部接口路径和 HTTP 方法层面的破坏性变更;主要是后台入口、权限和前端类型契约的增量扩展