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 items = data.items || [];
|
||||
|
||||
let localIds = [], localNames = [];
|
||||
let localIds = [];
|
||||
try {
|
||||
const lr = await fetch('/api/dashboards?category=all');
|
||||
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) {
|
||||
const sr = await fetch('/api/scenes');
|
||||
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); }
|
||||
|
||||
if (!items.length) { grid.innerHTML = this._emptyHtml(isScene ? '暂无场景' : '暂无仪表盘'); return; }
|
||||
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);
|
||||
}).join('');
|
||||
} 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