# 前端页面编排文档
## 1. 文档目标
这份文档按当前代码基线整理前端页面结构,回答四个问题:
1. 现有哪些路由页面
2. 每个页面由哪些组件/区域组成
3. 每个页面有哪些按钮与主要交互
4. 管理界面当前有哪些可操作设置项,哪些页面仍是占位页
本文对齐当前 `front/src` 实现,不虚构未落地页面。
---
## 2. 路由总表
### 2.1 公共页面
| 路由 | 页面组件 | 说明 |
| --- | --- | --- |
| `/login` | `front/src/pages/Login.tsx` | 登录/注册入口 |
| `/share/:token` | `front/src/pages/FileShare.tsx` | 公开分享访问页 |
### 2.2 主应用页面
| 路由 | 页面组件 | 说明 |
| --- | --- | --- |
| `/overview` | `front/src/pages/Overview.tsx` | 用户概览页 |
| `/files` | `front/src/pages/files/FilesPage.tsx` | 网盘工作区 |
| `/tasks` | `front/src/pages/Tasks.tsx` | 异步任务页 |
| `/shares` | `front/src/pages/Shares.tsx` | 我的分享列表 |
| `/recycle-bin` | `front/src/pages/RecycleBin.tsx` | 回收站 |
| `/transfer` | `front/src/transfer/pages/TransferPage.tsx` | 快传 |
### 2.3 管理台页面
| 路由 | 页面组件 | 当前状态 |
| --- | --- | --- |
| `/admin/dashboard` | `front/src/admin/dashboard.tsx` | 已实现 |
| `/admin/settings` | `front/src/admin/settings.tsx` | 占位页 |
| `/admin/filesystem` | `front/src/admin/filesystem.tsx` | 占位页 |
| `/admin/storage-policies` | `front/src/admin/storage-policies-list.tsx` | 已实现 |
| `/admin/users` | `front/src/admin/users-list.tsx` | 已实现 |
| `/admin/files` | `front/src/admin/files-list.tsx` | 已实现 |
| `/admin/file-blobs` | `front/src/admin/fileblobs.tsx` | 占位页 |
| `/admin/shares` | `front/src/admin/shares.tsx` | 占位页 |
| `/admin/tasks` | `front/src/admin/tasks.tsx` | 占位页 |
| `/admin/oauth-apps` | `front/src/admin/oauthapps.tsx` | 占位页 |
补充说明:
- 以上管理台路由仅桌面端可进入
- 移动端访问 `/admin/*` 会被重定向到 `/overview`
- `front/src/mobile-components/MobileLayout.tsx` 也没有后台导航入口
---
## 3. 全局页面壳
### 3.1 桌面主壳 `Layout`
文件:`front/src/components/layout/Layout.tsx`
#### 区域
- 左侧主导航
- 顶部品牌区
- 当前账号信息区
- 主内容区 ``
- 全局上传浮层 `UploadCenter`
#### 左侧导航项
- `概览`
- `网盘`
- `任务`
- `分享`
- `回收站`
- `快传`
- `后台`:仅 `session.user.role === 'ADMIN'` 时显示
#### 全局按钮
- 主题切换按钮
- 退出登录按钮
#### 全局辅助组件
- `TaskSummaryPanel`
- `UploadCenter`
### 3.2 移动主壳 `MobileLayout`
文件:`front/src/mobile-components/MobileLayout.tsx`
#### 区域
- 顶部浮层
- 中间页面区 ``
- 底部导航
- 全局上传浮层 `UploadCenter`
#### 顶部按钮
- 主题切换
- 退出登录
#### 底部导航项
- `概览`
- `网盘`
- `任务`
- `分享`
- `回收站`
- `快传`
### 3.3 管理台壳 `AdminLayout`
文件:`front/src/admin/AdminLayout.tsx`
#### 左侧二级导航项
- `总览`
- `系统设置`
- `文件系统`
- `存储策略`
- `用户管理`
- `文件审计`
- `对象实体`
- `分享管理`
- `任务监控`
- `三方应用`
---
## 4. 全局共用浮层与摘要组件
### 4.1 `UploadCenter`
文件:`front/src/components/upload/UploadCenter.tsx`
#### 展示内容
- 上传任务总数
- 每个任务的文件名、大小、状态、进度、错误信息
补充说明:
- 组件内部虽然会计算上传中、成功、失败数量
- 但当前 UI 并没有把这三个数字单独渲染成统计块
#### 按钮
- 展开/收起面板
- 清理已完成任务
### 4.2 `TaskSummaryPanel`
文件:`front/src/components/tasks/TaskSummaryPanel.tsx`
#### 展示内容
- 当前活跃后台任务数
- 首个活跃任务类型
#### 按钮
- 无独立操作按钮
- 仅作为导航中的状态摘要组件
---
## 5. 公共页面编排
## 5.1 登录页 `/login`
文件:`front/src/pages/Login.tsx`
### 页面区域
- 右上角主题切换
- 标题区:`云盘门户`
- 登录/注册卡片
- 底部辅助操作区
### 表单模式
- 登录模式
- 注册模式
### 登录模式组件
- 用户名输入框
- 密码输入框
- 登录按钮
### 注册模式组件
- 用户名输入框
- 邮箱输入框
- 手机号输入框
- 邀请码输入框
- 密码输入框
- 确认密码输入框
- 注册按钮
### 页面按钮
- `登录`
- `注册账号`
- `还没有账号?去注册` / `已有账号?去登录`
- `直接进入快传`
- `开发账号`
- `管理员账号`
- 主题切换按钮
### 主要跳转
- 登录成功后:
- 普通用户到 `/overview`
- 管理员到 `/admin/dashboard`
- 可匿名进入 `/transfer`
## 5.2 分享访问页 `/share/:token`
文件:`front/src/pages/FileShare.tsx`
### 页面区域
- 分享标题区
- 分享者与文件基础信息区
- 错误提示区
- 密码验证区或分享操作区
- 底部版本戳
### 条件区域
- 若分享需要密码且未验证:
- 显示密码输入框
- 显示验证密码按钮
- 若已可访问:
- 显示创建时间
- 显示有效期
- 显示下载统计
- 显示下载与导入操作
### 页面按钮
- `验证密码`
- `下载文件`
- `导入网盘`
### 细节说明
- 未登录点击 `导入网盘` 会跳到 `/login`
- 下载走 `buildShareDownloadUrl`
- 导入时使用 `window.prompt` 让用户输入目标目录
---
## 6. 主应用页面编排
## 6.1 概览页 `/overview`
文件:`front/src/pages/Overview.tsx`
### 页面区域
- 页面标题区
- 三张状态卡
- 快捷入口卡片区
- 最近文件面板
- 最近任务面板
### 状态卡
- `账号权限`
- `存储配额`
- `上传上限`
### 快捷入口卡片
- `网盘`
- `任务`
- `分享`
- `快传`
### 最近文件面板内容
- 文件名
- 文件路径
- 文件大小
- 创建时间
### 最近任务面板内容
- 任务类型
- 任务状态
- 更新时间
### 页面按钮
- 快捷入口卡片本身可点击跳转
## 6.2 网盘页 `/files`
文件:`front/src/pages/files/FilesPage.tsx`
### 页面整体结构
- 左侧目录树栏
- 中间文件列表区
- 右侧文件详情栏
### 左侧目录树栏
#### 组件
- 根目录按钮
- 递归目录节点按钮
- 回收站入口按钮
- 目录树刷新状态点
#### 按钮
- `根目录`
- 每个目录节点按钮
- `回收站`
### 顶部工具区
#### 组件
- 面包屑路径导航
- 文件搜索框
- 工具按钮组
#### 按钮
- 面包屑各层级按钮
- `上传文件`
- `新建文件夹`
- `刷新`
### 文件列表表格
#### 列
- 名称
- 路径
- 大小
- 创建时间
#### 行交互
- 单击:选中文件
- 双击目录:进入目录
### 右侧文件详情栏
仅当存在 `selectedFile` 时显示。
#### 信息区
- 文件名
- 路径
- 类型
- 大小
#### 操作按钮
- `下载`
- `创建分享`
- `重命名`
- `移动`
- `删除`
#### 实际未暴露按钮
- 文件页虽然导入了 `copyFile`
- 当前 UI 没有“复制”按钮
### 用户输入方式
- 上传:隐藏 `input[type=file]`
- 新建文件夹:`window.prompt`
- 重命名:`window.prompt`
- 移动:`window.prompt`
- 删除:`window.confirm`
## 6.3 任务页 `/tasks`
文件:`front/src/pages/Tasks.tsx`
### 页面区域
- 标题区
- 顶部控制区
- 任务表格
### 顶部控制
- 自动刷新复选框
- 刷新按钮
### 任务表格列
- 类型
- 对象
- 状态
- 进度
- 更新时间
- 操作
### 操作按钮
- `刷新`
- `重试任务`:仅 `FAILED`
- `取消任务`:仅 `QUEUED` 或 `RUNNING`
- `自动刷新` 开关
### 状态展示内容
- 业务状态标签
- `phase`
- `errorMessage`
- 进度条
## 6.4 分享页 `/shares`
文件:`front/src/pages/Shares.tsx`
### 页面区域
- 标题区
- 分享表格
### 表格列
- 分享名称
- 权限
- 过期时间
- 统计
- 操作
### 权限标签
- `需密码`
- `可下载` / `仅查看`
- `可导入` / `受保护`
### 统计内容
- 下载次数 `DL`
- 查看次数 `VW`
### 操作按钮
- `打开链接`
- `删除分享`
## 6.5 回收站页 `/recycle-bin`
文件:`front/src/pages/RecycleBin.tsx`
### 页面区域
- 标题区
- 回收站表格
### 表格列
- 文件
- 原路径
- 大小
- 删除时间
- 过期时间
- 操作
### 操作按钮
- `恢复`
## 6.6 快传页 `/transfer`
文件:`front/src/transfer/pages/TransferPage.tsx`
### 页面顶部 Tab
- `发送`
- `接收`
- `记录`
### 路由级深链行为
- 当 URL 中带 `?code=XXXXXX` 时
- 页面会自动切到 `接收` Tab
- 并自动执行一次取件码查询
### A. 发送 Tab
#### 左侧:传输配置区
- 模式切换按钮
- `离线快传`
- `在线快传`
- 文件选择拖拽区
- 已选文件列表
- 错误提示
- 成功提示
- `创建会话` 按钮
#### 右侧:会话信息区
创建会话后显示:
- 取件码
- 模式
- 过期时间
- 上传进度
#### 右侧按钮
- `复制取件码`
- `复制链接`
### B. 接收 Tab
#### 左侧:接收会话区
- 取件码输入框
- `查询取件码`
- 会话查询结果卡
- `加入会话`
#### 右侧:文件列表区
离线快传加入成功后:
- 文件名
- 相对路径
- 文件大小
#### 文件级按钮
- `下载`
- `导入网盘`:仅登录用户显示
### C. 记录 Tab
#### 页面区域
- 标题
- 刷新按钮
- 历史记录卡片列表
#### 每条记录内容
- 取件码
- 过期时间
- 文件数
- 文件卡片网格
#### 会话级按钮
- `复制取件码`
- `复制链接`
#### 文件级按钮
- `下载`
- `导入网盘`
#### 特殊状态
- 未登录时仅显示“登录后可查看记录”
---
## 7. 管理台页面编排
本节分成两层:
- 当前前端已经落地的界面与按钮
- 依据现有后端 `/api/admin/**` 能力,管理台应补齐的完整设置项与筛选项
这样文档既能反映真实代码,也能指导后续把占位页补完整。
## 7.1 后台总览 `/admin/dashboard`
文件:`front/src/admin/dashboard.tsx`
### 页面区域
- 标题区
- 核心指标卡区
- 快捷入口区
- 运行概览区
### 核心指标卡
- `用户总数`
- `文件总数`
- `存储容量`
- `快传占用`
### 快捷入口
- `用户管理`
- `文件审计`
- `存储策略`
### 运行概览内容
- 服务健康状态
- 邀请码展示
- 下载流量
- 请求量
### 页面按钮
- `刷新状态`
- `复制邀请码`
- 三个快捷入口卡片按钮
### 当前可操作设置项
- 无真正表单设置项
- 只有“复制邀请码”和跳转入口
## 7.2 系统设置 `/admin/settings`
文件:`front/src/admin/settings.tsx`
### 当前状态
- 占位页
- 仅显示标题 `Admin Settings`
### 当前组件
- 页面容器
- 标题
### 当前按钮
- 无
### 后端已支持、前端未实现的设置分组
根据 `GET /api/admin/settings`,本页应至少拆成以下分组:
#### A. 站点能力分组 `site`
- `supported`
- `writeSupported`
说明:
- 当前后端返回只读快照
- 可作为“站点设置能力状态卡”,不一定需要编辑表单
#### B. 注册设置分组 `registration`
- `inviteCodeRequired`
- `currentInviteCode`
- `managementRoles`
- `writeSupported`
#### C. 用户会话分组 `userSession`
- `accessExpirationSeconds`
- `refreshExpirationSeconds`
- `tokenBlacklistEnabled`
- `tokenBlacklistTtlBufferSeconds`
- `writeSupported`
#### D. 快传设置分组 `transfer`
- `offlineTransferStorageLimitBytes`
- `writeSupported`
#### E. 媒体处理分组 `mediaProcessing`
- `metadataExtractionEnabled`
- `thumbnailGenerationEnabled`
- `videoPosterEnabled`
- `writeSupported`
#### F. 队列分组 `queue`
- `backend`
- `mediaMetadataFixedDelayMs`
- `mediaMetadataInitialDelayMs`
- `writeSupported`
#### G. 外观分组 `appearance`
- `supported`
- `writeSupported`
#### H. 服务器分组 `server`
- `storageProvider`
- `redisEnabled`
- `writeSupported`
### 后端已支持、前端未实现的可编辑设置项
根据当前后端可写接口,本页至少应提供:
- `当前邀请码` 编辑
- `邀请码轮换`
- `离线快传总容量上限` 编辑
### 未来应有按钮(当前前端未实现)
- `保存邀请码`
- `轮换邀请码`
- `保存离线快传容量上限`
- `刷新设置`
### 未来应有只读状态卡(当前前端未实现)
- Access Token 过期时间
- Refresh Token 过期时间
- Token 黑名单状态
- 媒体元数据提取开关状态
- 缩略图生成状态
- 视频封面状态
- 队列后端类型
- Redis 启用状态
- 当前存储提供者
## 7.3 文件系统 `/admin/filesystem`
文件:`front/src/admin/filesystem.tsx`
### 当前状态
- 占位页
### 当前按钮
- 无
### 后端已支持、前端未实现的页面分组
根据 `GET /api/admin/filesystem`,本页应至少包含:
#### A. 总览分组 `overview`
- `storageProvider`
- `totalFiles`
- `totalBlobs`
- `totalEntities`
#### B. 默认策略分组 `defaultPolicy`
- 默认策略名称
- 类型
- 桶名称
- 端点
- 地域
- 私有桶状态
- 前缀
- 凭证模式
- 最大对象大小
- 能力集合
- 启用状态
- 是否默认策略
#### C. 上传能力分组 `upload`
- `proxyUpload`
- `directSingleUpload`
- `directMultipartUpload`
- `effectiveMaxFileSizeBytes`
#### D. 媒体处理分组 `mediaProcessing`
- `metadataExtractionEnabled`
- `nativeThumbnailSupport`
#### E. 缓存分组 `cache`
- `backend`
- `filesListTtlSeconds`
- `directoryVersionTtlSeconds`
#### F. WebDAV 分组 `webdav`
- `enabled`
### 未来应有按钮(当前前端未实现)
- `刷新文件系统状态`
- `跳转默认存储策略`
- `查看对象实体`
### 建议交互(当前前端未实现)
- 文件总数 / Blob 总数 / 实体总数指标卡
- 当前上传模式矩阵卡
- 默认策略详情抽屉
- 缓存与 WebDAV 状态卡
## 7.4 存储策略 `/admin/storage-policies`
文件:`front/src/admin/storage-policies-list.tsx`
这是当前管理台里设置项最完整的页面之一。
### 页面区域
- 标题区
- 顶部操作区
- 策略表格
- 新建/编辑策略弹窗
### 顶部按钮
- `刷新`
- `新建策略`
### 策略表格列
- 名称
- 后端类型
- 访问端点
- 状态
- 对象上限
- 操作
### 每行操作按钮
- `编辑策略`
- `停用` / `启用`
- 默认策略不显示此按钮
- `发起迁移`
### 弹窗表单字段
#### 基础字段
- `策略名称`
- `驱动协议`
- `LOCAL`
- `S3_COMPATIBLE`
- `端点地址`
- `桶名称`
- `地域`
- `前缀`
- `凭证模式`
- `对象大小上限(字节)`
#### 布尔设置项
- `私有桶` `privateBucket`
- `启用` `enabled`
- `直传` `capabilities.directUpload`
- `分片上传` `capabilities.multipartUpload`
- `签名下载` `capabilities.signedDownloadUrl`
- `代理下载` `capabilities.serverProxyDownload`
- `原生缩略图` `capabilities.thumbnailNative`
- `友好下载名` `capabilities.friendlyDownloadName`
- `需要 CORS` `capabilities.requiresCors`
- `内网端点` `capabilities.supportsInternalEndpoint`
### 弹窗按钮
- `取消`
- `保存`
### 当前前端未完全暴露的问题
当前弹窗只暴露了基础字段和部分布尔能力,尚未把以下字段做成独立输入控件:
- `region`
- `prefix`
- `credentialMode`
- `capabilities.thumbnailNative`
- `capabilities.friendlyDownloadName`
因此本页需要补成“完整策略表单”,否则管理台与后端能力不一致。
## 7.5 用户管理 `/admin/users`
文件:`front/src/admin/users-list.tsx`
### 页面区域
- 标题区
- 刷新按钮
- 搜索框
- 用户表格
### 搜索能力
- 搜索用户名
- 搜索邮箱
- 搜索手机号
### 页面按钮
- `刷新列表`
### 表格列
- 用户信息
- 角色
- 状态
- 资源配额
- 注册时间
- 操作
### 每个用户的可调设置项
- `角色`
- 通过 prompt 输入 `USER` 或 `ADMIN`
- `存储配额`
- 通过 prompt 输入字节数
- `最大上传大小`
- 后端已支持,前端未暴露
- `密码`
- 通过 prompt 直接设置新密码
- `重置密码`
- 后端支持返回临时密码,前端未暴露
- `账号状态`
- 禁用 / 恢复
### 每行按钮
- `修改角色`
- `修改配额`
- `重置密码`
- 实际行为是“直接设置新密码”
- `禁用账号` / `恢复账号`
### 当前前端未暴露但 API 已存在的管理项
根据 `front/src/lib/admin-users.ts`,存在但本页没有按钮:
- `updateUserMaxUploadSize`
- `resetUserPassword`
也就是说,当前用户管理页尚未把“上传上限”和“自动生成临时密码”暴露出来。
### 本页应补齐的按钮
- `修改上传上限`
- `生成临时密码`
- `复制临时密码`
## 7.6 文件审计 `/admin/files`
文件:`front/src/admin/files-list.tsx`
### 页面区域
- 标题区
- 刷新按钮
- 两个搜索框
- 文件表格
### 搜索项
- 文件名 / 路径搜索
- 所属用户搜索
### 页面按钮
- `刷新索引`
### 表格列
- 文件
- 所属用户
- 大小
- 创建时间
- 操作
### 每行按钮
- `彻底删除`
### 注意
- 当前删除确认文案写的是“物理擦除 / 硬件级销毁”
- 但前端文案夸张,建议后续改成真实业务语义
## 7.7 对象实体 `/admin/file-blobs`
文件:`front/src/admin/fileblobs.tsx`
### 当前状态
- 占位页
### 当前按钮
- 无
### 后端已支持、前端未实现的筛选项
根据 `GET /api/admin/file-blobs`,本页应支持:
- `userQuery`
- `storagePolicyId`
- `objectKey`
- `entityType`
### `entityType` 选项
- `VERSION`
- `THUMBNAIL`
- `LIVE_PHOTO`
- `TRANSCODE`
- `AVATAR`
### 后端已支持、前端未实现的表格列
- 实体 ID `entityId`
- Blob ID `blobId`
- 对象键 `objectKey`
- 实体类型 `entityType`
- 存储策略 ID `storagePolicyId`
- 大小 `size`
- 内容类型 `contentType`
- 引用计数 `referenceCount`
- 关联逻辑文件数 `linkedStoredFileCount`
- 关联所有者数 `linkedOwnerCount`
- 示例所有者用户名 `sampleOwnerUsername`
- 示例所有者邮箱 `sampleOwnerEmail`
- 创建人 ID `createdByUserId`
- 创建人用户名 `createdByUsername`
- 实体创建时间 `createdAt`
- Blob 创建时间 `blobCreatedAt`
- `blobMissing`
- `orphanRisk`
- `referenceMismatch`
### 未来应有按钮(当前前端未实现)
- `刷新对象实体`
- `清空筛选`
- `按对象键复制`
- `跳转存储策略`
### 未来应有风险标签(当前前端未实现)
- `Blob 缺失`
- `孤儿风险`
- `引用不一致`
## 7.8 分享管理 `/admin/shares`
文件:`front/src/admin/shares.tsx`
### 当前状态
- 占位页
### 当前按钮
- 无
### 后端已支持、前端未实现的筛选项
根据 `GET /api/admin/shares`,本页应支持:
- `userQuery`
- `fileName`
- `token`
- `passwordProtected`
- `expired`
### 后端已支持、前端未实现的表格列
- 分享 ID
- Token
- 分享名称
- 是否密码保护
- 是否已过期
- 创建时间
- 过期时间
- 最大下载次数
- 已下载次数
- 已查看次数
- 是否允许导入
- 是否允许下载
- 所有者 ID
- 所有者用户名
- 所有者邮箱
- 文件 ID
- 文件名
- 文件路径
- 文件内容类型
- 文件大小
- 是否目录
### 未来应有按钮(当前前端未实现)
- `刷新分享列表`
- `删除分享`
- `复制分享 Token`
- `打开分享链接`
- `按所有者筛选`
- `按文件名筛选`
### 核心治理动作(当前前端未实现)
- 撤销分享
- 快速定位滥用链接
- 筛选密码保护分享
- 筛选过期分享
## 7.9 任务监控 `/admin/tasks`
文件:`front/src/admin/tasks.tsx`
### 当前状态
- 占位页
### 当前按钮
- 无
### 后端已支持、前端未实现的筛选项
根据 `GET /api/admin/tasks`,本页应支持:
- `userQuery`
- `type`
- `status`
- `failureCategory`
- `leaseState`
### 后端已支持、前端未实现的表格列
- 任务 ID
- 任务类型
- 任务状态
- 用户 ID
- 所有者用户名
- 所有者邮箱
- `publicStateJson`
- `correlationId`
- `errorMessage`
- `attemptCount`
- `maxAttempts`
- `nextRunAt`
- `leaseOwner`
- `leaseExpiresAt`
- `heartbeatAt`
- `createdAt`
- `updatedAt`
- `finishedAt`
- `failureCategory`
- `retryScheduled`
- `workerOwner`
- `leaseState`
### 未来应有按钮(当前前端未实现)
- `刷新任务监控`
- `查看详情`
- `复制 correlationId`
- `按失败类别筛选`
- `按租约状态筛选`
### 未来应有详情面板(当前前端未实现)
- 任务公共状态 JSON 展开区
- 执行元信息区
- 重试预算区
- 租约与心跳状态区
### 注意
- 管理台任务监控是“全站视角”
- 不等同于普通用户 `/tasks` 页面
## 7.10 三方应用 `/admin/oauth-apps`
文件:`front/src/admin/oauthapps.tsx`
### 当前状态
- 占位页
### 当前按钮
- 无
### 当前设置项
- 当前后端管理接口里未看到对应 `/api/admin/oauth-apps` 能力
- 因此前端现在不应凭空设计可写设置项
### 本页建议定位
- 先保留为规划页
- 等后端 OAuth 管理接口落地后再补充
## 7.11 审计日志(后端已支持,前端未挂路由)
当前 `App.tsx` 没有 `/admin/audits` 路由,但后端已经提供 `GET /api/admin/audits`。
### 后端已支持、前端未实现的筛选项
- `actorQuery`
- `actionType`
- `targetType`
- `targetId`
### 后端已支持、前端未实现的表格列
- 审计日志 ID
- 操作者用户 ID
- 操作者用户名
- 操作者权限快照
- 动作类型
- 目标类型
- 目标 ID
- 摘要
- `detailsJson`
- 创建时间
### 未来应有按钮(当前前端未实现)
- `刷新审计日志`
- `复制详情 JSON`
- `按动作类型筛选`
- `按目标类型筛选`
---
## 8. 管理台设置项总清单
为了便于单独查看,这里把“当前前端实际可操作的管理设置项”重新汇总一次。
### 已落地设置项
#### 后台总览
- 复制邀请码
#### 存储策略
- 新建策略
- 编辑策略
- 启用策略
- 停用策略
- 发起策略迁移
- 设置策略名称
- 设置驱动协议
- 设置端点地址
- 设置桶名称
- 设置对象大小上限
- 设置私有桶
- 设置启用状态
- 设置是否支持直传
- 设置是否支持分片上传
- 设置是否支持签名下载
- 设置是否支持代理下载
- 设置是否需要 CORS
- 设置是否支持内网端点
#### 用户管理
- 修改用户角色
- 修改用户存储配额
- 修改用户密码
- 禁用用户
- 恢复用户
#### 文件审计
- 按文件名/路径筛选
- 按所属用户筛选
- 彻底删除文件
### 应补齐但前端未落地的设置项
#### 系统设置
- 当前邀请码编辑
- 邀请码轮换
- 离线快传总容量上限编辑
- 会话时长与黑名单状态查看
- 媒体处理状态查看
- 队列后端与延迟参数查看
- Redis 与存储提供者状态查看
#### 文件系统
- 文件总量 / Blob 总量 / 实体总量查看
- 默认策略详情查看
- 上传能力矩阵查看
- 缓存 TTL 查看
- WebDAV 状态查看
#### 对象实体
- 按用户筛选
- 按存储策略筛选
- 按对象键筛选
- 按实体类型筛选
- 风险标签巡检
#### 分享管理
- 按所有者筛选
- 按文件名筛选
- 按 Token 筛选
- 按是否密码保护筛选
- 按是否过期筛选
- 撤销分享
#### 任务监控
- 按用户筛选
- 按任务类型筛选
- 按任务状态筛选
- 按失败类别筛选
- 按租约状态筛选
- 查看详情 JSON
#### 审计日志
- 按操作者筛选
- 按动作类型筛选
- 按目标类型筛选
- 按目标 ID 筛选
### 暂无后端能力支撑的规划页
- 三方应用
---
## 9. 当前页面编排上的主要缺口
### 9.1 管理台
- 只有一半左右页面真正实现
- `settings/filesystem/file-blobs/shares/tasks/oauth-apps` 仍是占位页
- 用户管理缺少“上传上限”与“自动生成临时密码”
- 存储策略页未暴露全部策略字段
### 9.2 用户工作台
- 网盘页缺少“复制”操作按钮
- 网盘页缺少图片/视频/音频预览页
- 快传页缺少二维码、发送进度分文件视图、在线直连流程可视化
### 9.3 移动端
- 当前移动端复用主页面路由
- 但管理台被直接重定向走开,没有单独移动后台方案
- 移动端底部导航也没有后台入口
---
## 10. 结论
当前前端已经具备完整的:
- 登录
- 概览
- 网盘
- 分享
- 回收站
- 快传
- 基础任务页
- 部分管理能力
但管理台目前仍是“半成品治理台”:
- `dashboard`
- `storage-policies`
- `users`
- `files`
这四页是当前真正可用的后台主线;
同时,后端管理能力已经明显超过当前前端管理台:
- `settings`
- `filesystem`
- `file-blobs`
- `shares`
- `tasks`
- `audits`
这些都已经有明确的查询或写入接口,因此后续管理台补齐时,不应该从零猜需求,而应直接以这里列出的字段、筛选项和按钮为基线实现。