fix: use dedicated legacy asset token API

This commit is contained in:
xuejianwu
2026-07-30 09:19:20 +08:00
parent 225e3a9663
commit a107e19b8f
3 changed files with 38 additions and 23 deletions

View File

@@ -312,7 +312,7 @@ async function loadAssets() {
el.assetHistoryCount.textContent = String(items.length);
el.assetList.innerHTML = "";
if (!items.length) {
el.assetList.innerHTML = '<div class="empty-small">新版素材库暂无历史素材</div>';
el.assetList.innerHTML = '<div class="empty-small">素材库暂无历史素材</div>';
return;
}
for (const item of items) {
@@ -340,7 +340,15 @@ async function loadAssets() {
el.assetList.appendChild(button);
}
} catch (error) {
el.assetList.innerHTML = `<div class="empty-small">${escapeHtml(error.message)}</div>`;
const message = /unauthorized|invalid token/i.test(String(error.message || ""))
? "素材库 Token 无效或已过期,请联系管理员更新"
: error.message;
el.assetList.innerHTML = `<div class="empty-small">${escapeHtml(message)}</div>`;
if (!state.config?.mockMode) {
el.connectionState.textContent = "素材库连接失败";
el.connectionState.className = "connection blocked";
setAssetStatus("error", "素材库不可用");
}
}
}
@@ -1119,7 +1127,7 @@ function restoreCharacterLibrary() {
state.characters = Array.isArray(saved) ? saved.map((character) => ({
id: character.id || `character-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`,
name: String(character.name || "未命名人物"),
references: Array.isArray(character.references) ? character.references.map(String).filter((value) => state.config.mockMode || /^asset:\/\/mat_/i.test(value)).slice(0, 9) : [],
references: Array.isArray(character.references) ? character.references.map(String).filter((value) => state.config.mockMode || /^asset:\/\/(?:mat_|asset-)/i.test(value)).slice(0, 9) : [],
source: character.source || "manual",
})).filter((character) => character.references.length) : [];
}
@@ -1220,7 +1228,7 @@ function restoreSceneRoles() {
id: role.id || createRole("").id,
name: role.name || `角色 ${ROLE_LETTERS[index]}`,
references: Array.isArray(role.references)
? role.references.slice(0, 3).map(String).filter((value) => state.config.mockMode || /^asset:\/\/mat_/i.test(value))
? role.references.slice(0, 3).map(String).filter((value) => state.config.mockMode || /^asset:\/\/(?:mat_|asset-)/i.test(value))
: [],
}));
state.activeRoleIndex = Math.min(Number(saved.activeRoleIndex) || 0, state.roles.length - 1);