= {
+ unresolved: "还没识别作品。",
+ ambiguous: "有多个可能的作品,没有自动关联。",
+ unidentifiable: "没识别出作品。",
+ rejected: "识别结果已被排除。",
+};
+
/** 本地库存 + 候选理由(来自作品详情:Slot / CandidateEvaluation),不从标题猜 */
function LocalInventory({ release, entry }: { release: WorkbenchRelease; entry: InventoryEntry | undefined }) {
const detail = useEntityDetail(release.entity?.id);
if (!release.entity) {
return (
- 未关联本地作品({release.resolutionStatus})。
+ {UNLINKED_TEXT[release.resolutionStatus] ?? "未关联本地作品。"}
去指定作品
@@ -123,6 +132,7 @@ export function ReleaseDetailSheet({
const refresh = useRefreshReleaseDetail();
const entity = useEntityDetail(release?.entity?.id);
const [dl, setDl] = useState(false);
+ const techOpen = useUiPrefs().techInfoExpanded;
const r = detail.data?.release ?? release;
// 按需抓详情页:打开抽屉时没有缓存的详情页扩展内容就抓一次(服务端缓存 24 小时,同一资源本次会话只自动抓一次)
@@ -296,7 +306,8 @@ export function ReleaseDetailSheet({
) : null}
-
+ {/* 原始解析 JSON 属于技术信息:默认收起,跟随设置 → 界面「技术信息默认展开」 */}
+
>
)}
{r ? : null}
diff --git a/apps/web/app/routes/console/library.$id.tsx b/apps/web/app/routes/console/library.$id.tsx
index e974fd00..256974cc 100644
--- a/apps/web/app/routes/console/library.$id.tsx
+++ b/apps/web/app/routes/console/library.$id.tsx
@@ -513,8 +513,8 @@ function SlotsPanel({ detail, units }: { detail: LibraryDetail; units: ContentUn
去订阅