feat(files): 文件管理接入 Alist 存储(浏览、增删改、移动复制、上传下载、回收站)
- 文件管理根多出 st:<存储 id>(对照 MP 存储切换),Alist 媒体库目录照常出现在媒体库组 - 列目录一次 list,refresh 只在用户刷新时带;连不上返回 503 不当成空目录 - 新建目录 / 改名(同名不覆盖)/ 删除进 Alist 上的 .umt-trash 并可还原 - 存储内移动复制走 Alist API,本地 ↔ Alist 走整理同一套执行与账本 - 新增 PUT /files/upload(同名不覆盖,Alist 经服务端转传);下载 / 预览流式转发直链 Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
This commit is contained in:
1 parent
c2bf8a071a
commit
9d95076a0e
24 files changed
+901
-72
No files matched your search
@@ -101,6 +101,7 @@ function makeRoots(): { roots: FileRoot[]; trees: Record<string, Node> } {
|
||||
usage: { totalBytes: 16_000 * GB, freeBytes: 3_420 * GB },
|
||||
pendingCount: null,
|
||||
pendingPartial: false,
|
||||
storage: null,
|
||||
},
|
||||
{
|
||||
id: "lib:tv",
|
||||
@@ -115,6 +116,7 @@ function makeRoots(): { roots: FileRoot[]; trees: Record<string, Node> } {
|
||||
usage: { totalBytes: 16_000 * GB, freeBytes: 3_420 * GB },
|
||||
pendingCount: null,
|
||||
pendingPartial: false,
|
||||
storage: null,
|
||||
},
|
||||
{
|
||||
id: "lib:nas-old",
|
||||
@@ -129,6 +131,7 @@ function makeRoots(): { roots: FileRoot[]; trees: Record<string, Node> } {
|
||||
usage: null,
|
||||
pendingCount: null,
|
||||
pendingPartial: false,
|
||||
storage: null,
|
||||
},
|
||||
{
|
||||
id: "dl:qb-main:0",
|
||||
@@ -143,6 +146,7 @@ function makeRoots(): { roots: FileRoot[]; trees: Record<string, Node> } {
|
||||
usage: { totalBytes: 8_000 * GB, freeBytes: 1_210 * GB },
|
||||
pendingCount: 12,
|
||||
pendingPartial: false,
|
||||
storage: null,
|
||||
},
|
||||
];
|
||||
const tlouEps = [1, 2, 3, 4, 5, 6, 7].map((ep) =>
|
||||
|
||||
@@ -480,7 +480,11 @@ export function entrySubline(e: FileEntry): { text: string; tone: "link" | "hint
|
||||
return null;
|
||||
}
|
||||
|
||||
export const ROOT_KIND_LABEL: Record<FileRoot["kind"], string> = { download: "下载目录", library: "媒体库" };
|
||||
export const ROOT_KIND_LABEL: Record<FileRoot["kind"], string> = {
|
||||
download: "下载目录",
|
||||
library: "媒体库",
|
||||
storage: "Alist 存储",
|
||||
};
|
||||
|
||||
export type Crumb = { label: string; path: string };
|
||||
|
||||
|
||||
Reference in new issue
Block a user