feat(web): 存储设置与文件管理的 Alist 存储切换
- 设置 → 媒体库与目录 → 存储:登记 Alist / OpenList(令牌 / 账号密码 / 访客、路径密码、限速与监控选项), 测试连接显示版本、用户与容量;媒体库目录可选存储 - 文件管理左栏多一组「Alist 存储」,路径显示「存储名:/路径」;移动 / 复制目标可选 Alist 存储; 上传按钮;Alist 根点刷新才让 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
c1bc389058
commit
cf364435eb
18 files changed
+618
-41
No files matched your search
@@ -16,7 +16,7 @@ import { formatBytes, formatDateTime } from "~/lib/utils.ts";
|
||||
import { EntryStatus } from "./file-list.tsx";
|
||||
import { FilePreviewSection } from "./file-preview.tsx";
|
||||
import { IdentifyPanel } from "./identify-panel.tsx";
|
||||
import { baseName, previewKindOf } from "./model.ts";
|
||||
import { baseName, displayPath, previewKindOf } from "./model.ts";
|
||||
|
||||
const ACTION_LABEL: Record<string, string> = {
|
||||
copy: "复制",
|
||||
@@ -122,8 +122,13 @@ export function FileDetail({
|
||||
? `${stat.data.nlink}${stat.data.sharedInode ? "(共享 inode,不能原地改写)" : ""}`
|
||||
: null,
|
||||
},
|
||||
{ label: "本机路径", value: `${root.hostPath}${e.path ? `/${e.path}` : ""}`, mono: true, wide: true },
|
||||
...(stat.data && stat.data.realPath !== `${root.hostPath}/${e.path}`
|
||||
{
|
||||
label: root.storage ? "Alist 路径" : "本机路径",
|
||||
value: displayPath(root, e.path),
|
||||
mono: true,
|
||||
wide: true,
|
||||
},
|
||||
...(stat.data && !root.storage && stat.data.realPath !== `${root.hostPath}/${e.path}`
|
||||
? [{ label: "真实路径", value: stat.data.realPath, mono: true, wide: true }]
|
||||
: []),
|
||||
]}
|
||||
|
||||
Reference in new issue
Block a user