merge: ui2/u-organize-terms
Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
This commit is contained in:
commit
19969c9b0b
78 files changed
+855
-345
No files matched your search
@@ -137,7 +137,7 @@
|
||||
|
||||
### 5.1 行内 hover 操作(桌面)
|
||||
|
||||
鼠标悬停或键盘焦点所在行(Tab 进入按钮,Esc 回列表),在行尾浮出 2–3 个图标按钮(带 tooltip 与 aria-label,盖在修改时间列上),其余留在 ⋯:未入库视频/目录 → `整理` `识别` `刮削`;已入库 → `打开作品` `刷新元数据` `重命名`;未完成的视频 → `识别` `重命名` `移动到`;其他 → `重命名` `移动到`。窄屏卡片不依赖悬停,只用 ⋯。
|
||||
鼠标悬停或键盘焦点所在行(Tab 进入按钮,Esc 回列表),在行尾浮出 2–3 个图标按钮(带 tooltip 与 aria-label,盖在修改时间列上),其余留在 ⋯:未整理视频/目录 → `整理` `识别` `刮削`;已整理 → `打开作品` `刷新元数据` `重命名`;未完成的视频 → `识别` `重命名` `移动到`;其他 → `重命名` `移动到`。窄屏卡片不依赖悬停,只用 ⋯。
|
||||
|
||||
面包屑照 MP「本地 > MEDIA > 亚洲剧集」:`下载目录 / 媒体库`(说明,不可点)> 登记目录 > 各级子目录;窄屏去掉类型并折叠。
|
||||
|
||||
|
||||
@@ -24,17 +24,18 @@
|
||||
| Approval | 审批(名词);按钮用"批准 / 拒绝" | 授权记录 |
|
||||
| AcquisitionPlan(下载计划,DL-3 起界面不单独命名) | 下载;还没提交到下载器的按在等什么写状态:「等你批准」「等磁盘空间」「等开启自动化」「准备提交」;没提交就结束的写「没提交成功 / 已取消 / 已过期」+ 原因;来由写「为什么下这个」;智能体动作计数写"准备下载 N 个资源" | 下载计划、草稿、已预留(界面) |
|
||||
| DownloadTask | 下载任务 | 下载单 |
|
||||
| Organization record | 整理记录;动作叫"整理",结果状态叫"已入库" | 转移、入库记录 |
|
||||
| Organization record | 整理记录;动作叫"整理",结果状态叫「已整理」;整理页只有这一页,排队与执行中的任务在标题栏「队列 N」面板里(不叫「整理队列」标签页) | 转移、入库记录 |
|
||||
| 本工具对文件的处理(识别、元数据、NFO 与图片、按规则归到媒体库目录) | 整理;状态「已整理 / 未整理 / 部分整理 / 整理失败 / 整理中」,数量写「已整理 x/y」;方式叫「整理方式」;之后的动作写「整理后…」(整理后刮削、整理后删源);只登记不搬的叫「原地整理」。2026-10-06 起「入库」不再表示处理状态:媒体服务器(Emby / Jellyfin / Plex)有没有扫到由它自己决定,本工具不判断;真要说媒体服务器时写「媒体服务器已扫描」。`check:copy` 拦「已入库 / 未入库 / 入库后 / 入库方式…」等搭配;代码标识符(`imported`、`media_asset`、`verifyAndImport`)不改 | 入库、已入库、未入库、部分入库、入库失败、入库中、入库方式、入库后、原地入库、核验入库 |
|
||||
| 在目录里就地写 NFO 与图片(scrapeMedia,SCR-1 / SCR-2) | 刮削;文件管理菜单「刮削…」,作品详情「重新刮削」「覆盖重写」;覆盖方式叫「更新 / 只补缺失 / 全部覆盖」(更新 = 只替换本工具写过且没被改过的文件);认不准作品时"选一个再刮削";只更新本工具字段的叫「刷新元数据」 | 投影、NFO 投影、写元数据(界面) |
|
||||
| 整理方式 | 复制 / 移动 / 硬链接 | Copy / Move |
|
||||
| 整理方式 | 复制 / 移动 / 硬链接 / 原地整理 | Copy / Move、原地入库 |
|
||||
| Library root | 媒体库目录 | 库根、媒体库根、根目录 |
|
||||
| 文件管理可浏览的目录(库根 + 下载器路径映射) | 登记目录 | 登记根、根 |
|
||||
| MediaAsset / AssetLocation | 文件 / 已入库文件;位置叫"文件位置" | 资产、资产位置、媒体文件记录 |
|
||||
| MediaAsset / AssetLocation | 文件 / 已整理文件;位置叫"文件位置";文件管理快速筛选「已整理」,目录副行「n 个已整理 / 未整理」 | 资产、资产位置、媒体文件记录、已入库文件 |
|
||||
| ExternalIdentity | 外部身份(TMDB/TVDB/IMDb ID) | 外部 ID 映射、外部标识 |
|
||||
| 未确认身份的文件/资源 | 未识别 | 待识别、待识别池 |
|
||||
| identity_ambiguous / 整理时认不出作品的待处理事项 | 没识别出作品;主按钮"指定作品" | 身份歧义、识别有歧义、无法确定作品、待确认身份 |
|
||||
| 作品登记进本地库(不订阅) | 加入媒体库;状态"在媒体库 · 未下载"/"不在媒体库" | 建档、已建档、未收录 |
|
||||
| 已完成下载任务的整理状态(下载面板) | 待整理 / 整理中 / 已入库 / 部分入库 / 入库失败;失败原因用原因码表的一句话 | 未整理、导入失败、转移失败 |
|
||||
| 已完成下载任务的整理状态(下载面板) | 待整理 / 整理中 / 已整理 / 部分整理 / 整理失败;失败原因用原因码表的一句话 | 未整理(下载面板里用「待整理」)、导入失败、转移失败、已入库、入库失败 |
|
||||
| 本工具提交并跟踪的下载任务(managed) | 本工具管理;反面叫"外部任务";筛选"来源:本工具 / 其他" | 纳管、未纳管、接管 |
|
||||
| 媒体库目录里的 `.uhd-root` | 标记文件;按钮"检查目录";失败说"目录不可访问或未挂载" | 哨兵、哨兵文件 |
|
||||
| 作品 / 版本 / 文件 / 外部身份的本地记录总称 | 不单独命名 | 账本、本地账本 |
|
||||
|
||||
@@ -2,7 +2,11 @@
|
||||
|
||||
原地入库为 v0.3.14 的待部署改动;当前生产 v0.3.13 的整理方式仍为复制/移动,独立就地刮削继续可用。
|
||||
|
||||
整理页分为「整理队列」与「整理记录」。队列显示等待、执行和等待继续的后台入库任务;记录显示复制/移动/原地入库的处理结果。文件管理的改名、删除、还原账本继续保存,通用记录接口仍可查询。
|
||||
整理页只有「整理记录」一页(界面第二轮,2026-10-06)。整理队列学 MP 做成标题栏的「队列 N」按钮(N = 排队 + 执行中,含整理后的刮削,0 不写),点开右侧面板看队列;面板开关在 URL(`?queue=1`),旧链接 `?tab=queue` 打开面板、`?tab=records` 直接去掉。记录显示复制/移动/硬链接/原地整理的结果。文件管理的改名、删除、还原账本继续保存,通用记录接口仍可查询。
|
||||
|
||||
口径:本工具只负责「整理」——识别、元数据、NFO 与图片、按规则归到媒体库目录;媒体服务器有没有扫到由它自己决定,界面不写「入库」(见 `docs/design/glossary.md`)。
|
||||
|
||||
筛选(对照 MP 的维度按钮 + 条件标签):状态、类型、整理方式、媒体库目录、分类、来源、时间各一个维度按钮(单选;整理方式 / 媒体库目录 / 分类只列有记录的值并带条数,来自 `GET /organization-records/stats` 的 `facets`,按其余条件计数),已选条件(含作品、需要处理、关键词、本次整理的记录)排成可移除标签 +「清除」;按作品分组照旧。接口参数:`action`(copy / move / hardlink / in_place)、`libraryRootId`、`category`(冻结计划 `classification.category`),测试 `apps/server/test/acquisition-organize/records-filter.test.ts`。
|
||||
|
||||
实现:
|
||||
- 列表 / 统计 / 详情:`apps/server/src/modules/acquisition-organize/routes/organization.ts`(筛选 `recordFilters`,通配 `likePattern`);公开字段在 `services/organize.ts` 的 `loadRecordsPublic`。
|
||||
@@ -104,7 +108,7 @@ MP 对照源:`MoviePilot-Frontend/src/views/reorganize/TransferHistoryView.vue`
|
||||
| 整理方式 复制 / 移动 | 已有 | 列表「方式」列;整理页聚焦复制/移动结果 |
|
||||
| 软链接、Rclone 复制 / 移动 | 不做 | 整理服务不支持这几种方式 |
|
||||
| 大小 | 新增 | 逐文件源大小之和(`sizeBytes`) |
|
||||
| 状态 成功 / 失败 + 失败原因 | 已有,改 | 支持「部分成功」;执行中任务在队列查看;成功不加徽章;失败原因走 `reasons.ts` 一句话,原码进详情「技术信息」 |
|
||||
| 状态 成功 / 失败 + 失败原因 | 已有,改 | 支持「部分成功」;执行中任务在「队列」面板查看;成功不加徽章;失败原因走 `reasons.ts` 一句话,原码进详情「技术信息」 |
|
||||
| 时间 | 已有,改 | 相对时间,悬停看完整时间 |
|
||||
| 来源 下载器 / 手动 / 自动 | 新增下载器 | 来源列加下载器名称;详情加「下载任务」一行,种子 hash 进「技术信息」 |
|
||||
| 关键字搜索(标题、源、目标;`*` `?` 通配) | 已有,补 | 补通配、逐文件的源 / 目标路径、种子 hash |
|
||||
@@ -116,7 +120,7 @@ MP 对照源:`MoviePilot-Frontend/src/views/reorganize/TransferHistoryView.vue`
|
||||
| 分页、每页条数 | 已有(不同) | 共享分页组件,10/20/50/100 条和翻页;游标按需加载,无总数时显示「已加载」 |
|
||||
| 列排序 | 不做 | 按时间倒序;分组模式下按作品聚合 |
|
||||
| 分组模式(按标题) | 新增 | 「按作品分组」,组头可折叠 |
|
||||
| 筛选写进地址栏 | 新增 | 状态 / 类型 / 来源 / 时间 / 关键字 / 分组都在 URL,刷新不丢 |
|
||||
| 筛选写进地址栏 | 新增 | 状态 / 类型 / 整理方式 / 媒体库目录 / 分类 / 来源 / 时间 / 关键字 / 分组都在 URL,刷新不丢 |
|
||||
| 单条:重新整理 | 已有,补 | 详情已有;列表行菜单新增。走共用弹窗(配置、展开预览、加入队列) |
|
||||
| 单条:智能助手整理 | 已有(不同) | 「让智能体排查」:失败 / 部分成功的记录在行菜单和详情里 |
|
||||
| 单条:删除(只删记录 / 连源文件 / 连媒体库文件 / 全部) | 新增 | 确认框里两个勾选项,先核对再执行,写清删几个文件、多大、哪些删不了、会不会被自动整理再处理 |
|
||||
|
||||
Reference in new issue
Block a user