fix: match installed by manifest_id only, no name fallback
This commit is contained in:
@@ -35,21 +35,21 @@ const PageMarket = {
|
|||||||
const data = await res.json();
|
const data = await res.json();
|
||||||
const items = data.items || [];
|
const items = data.items || [];
|
||||||
|
|
||||||
let localIds = [], localNames = [];
|
let localIds = [];
|
||||||
try {
|
try {
|
||||||
const lr = await fetch('/api/dashboards?category=all');
|
const lr = await fetch('/api/dashboards?category=all');
|
||||||
const ld = await lr.json();
|
const ld = await lr.json();
|
||||||
if (Array.isArray(ld)) { localIds = ld.map(d => d.id); localNames = ld.map(d => d.name); }
|
if (Array.isArray(ld)) localIds = ld.map(d => d.id);
|
||||||
if (isScene) {
|
if (isScene) {
|
||||||
const sr = await fetch('/api/scenes');
|
const sr = await fetch('/api/scenes');
|
||||||
const sl = await sr.json();
|
const sl = await sr.json();
|
||||||
if (Array.isArray(sl)) { localIds = localIds.concat(sl.map(s => s.id)); localNames = localNames.concat(sl.map(s => s.name)); }
|
if (Array.isArray(sl)) localIds = localIds.concat(sl.map(s => s.id));
|
||||||
}
|
}
|
||||||
} catch(e) { console.error('load local:', e); }
|
} catch(e) { console.error('load local:', e); }
|
||||||
|
|
||||||
if (!items.length) { grid.innerHTML = this._emptyHtml(isScene ? '暂无场景' : '暂无仪表盘'); return; }
|
if (!items.length) { grid.innerHTML = this._emptyHtml(isScene ? '暂无场景' : '暂无仪表盘'); return; }
|
||||||
grid.innerHTML = items.map(d => {
|
grid.innerHTML = items.map(d => {
|
||||||
const installed = localIds.includes(d.manifest_id || d.name) || localNames.includes(d.name);
|
const installed = d.manifest_id && localIds.includes(d.manifest_id);
|
||||||
return this._cardHtml(d, isScene, installed);
|
return this._cardHtml(d, isScene, installed);
|
||||||
}).join('');
|
}).join('');
|
||||||
} catch (e) { console.error(e); grid.innerHTML = '<div style="text-align:center;padding:40px;color:var(--danger);">加载失败: ' + (e.message||'未知') + '</div>'; }
|
} catch (e) { console.error(e); grid.innerHTML = '<div style="text-align:center;padding:40px;color:var(--danger);">加载失败: ' + (e.message||'未知') + '</div>'; }
|
||||||
|
|||||||
Reference in New Issue
Block a user