$fileService
$fileService : \App\Services\Admin\MaintainFileService
文件维护控制器
职责:文件库模块全部 HTTP 接口的入口——文件/目录/公共目录/上传下载/回收站/批量操作, 校验入参、编排服务、组装统一响应,业务下沉 MaintainFileService; 下载/预览的 StreamedResponse 在本层组装(Service 只回文件指针信息)。
┌────────────────── 分区导航(按此顺序阅读)──────────────────┐ 分区 1 · 文件列表 index 分区 2 · 目录管理 folders / folderStore / folderUpdate / folderDestroy 分区 3 · 公共目录 publicFolderStore / publicFolderUpdate / publicFolderDestroy 分区 4 · 场景与用量 scenes / usage 分区 5 · 预览与下载 preview / download 分区 6 · 反向引用 refs 分区 7 · 上传 store 分区 8 · 元信息更新 update 分区 9 · 回收站 destroy / forceDestroy / restore / purgeTrash 分区 10 · 批量操作 batch 分区 11 · 单文件操作 rename / move / copy └────────────────────────────────────────────────────────────┘
$fileService : \App\Services\Admin\MaintainFileService
folders(\Illuminate\Http\Request $request) : \Illuminate\Http\JsonResponse
目录列表
返回双分区目录数据: personal 为个人空间目录树,平铺结构,附每目录文件计数,豁免管理员 传 user_id 可查看任意用户;public 为公共空间目录树,user_id=0, 全员可见,附 is_public/can_write 标记;can_manage_public 表示 操作者对公共空间的完整管理权。
| \Illuminate\Http\Request | $request |
folderUpdate(\App\Http\Requests\Admin\MaintainFileRequest $request, \App\Models\SysFileFolder $folder) : \Illuminate\Http\JsonResponse
更新目录
支持重命名、移父级与同级排序;目录名同级不可重复(单源 ManagesFolders)。
| \App\Http\Requests\Admin\MaintainFileRequest | $request | |
| \App\Models\SysFileFolder | $folder |
publicFolderUpdate(\App\Http\Requests\Admin\MaintainFileRequest $request, \App\Models\SysFileFolder $folder) : \Illuminate\Http\JsonResponse
更新公共目录
支持重命名、移父级、排序与启停。
| \App\Http\Requests\Admin\MaintainFileRequest | $request | |
| \App\Models\SysFileFolder | $folder |
preview(\App\Models\SysFile $file, \Illuminate\Http\Request $request) : \Symfony\Component\HttpFoundation\StreamedResponse|\Illuminate\Http\JsonResponse
图片内联预览
?variant=thumb 取缩略图,缺省取原图;网格/列表缩略图与 Quick Look 原图经此端点,同源 Cookie 天然携带。Service 回文件指针信息, StreamedResponse 在本层组装(单源 streamFile 编排)。
| \App\Models\SysFile | $file | |
| \Illuminate\Http\Request | $request |
download(\App\Models\SysFile $file) : \Symfony\Component\HttpFoundation\StreamedResponse|\Illuminate\Http\JsonResponse
下载文件
私有盘鉴权下载:需登录且归属校验通过,豁免或本人可下; 响应强制附件方式不内联渲染。Service 回文件指针信息, StreamedResponse 在本层组装(单源 streamFile 编排)。
| \App\Models\SysFile | $file |
update(\App\Http\Requests\Admin\MaintainFileRequest $request, \App\Models\SysFile $file) : \Illuminate\Http\JsonResponse
更新文件元信息
更新文件分类与标签,不触碰物理文件;分类必须落在文件分类白名单内。
| \App\Http\Requests\Admin\MaintainFileRequest | $request | |
| \App\Models\SysFile | $file |