const ICONS = {'心理测试综合':'📋','人格测试':'🎭','抑郁症测试':'🌧️','焦虑症测试':'😰','强迫症测试':'🔄','躁狂症测试':'🔥','双向情感障碍':'🌓','恐惧症测试':'😨','智商测试':'🧠','情商测试':'💝','其它测试':'📌'}; const CAT_KEYS = {'心理测试综合':'cat-综合','人格测试':'cat-人格','抑郁症测试':'cat-抑郁','焦虑症测试':'cat-焦虑','强迫症测试':'cat-强迫','躁狂症测试':'cat-躁狂','双向情感障碍':'cat-双相','恐惧症测试':'cat-恐惧','智商测试':'cat-智商','情商测试':'cat-情商','其它测试':'cat-其他'}; let scales = [], activeCat = '全部'; async function load() { document.getElementById('content').innerHTML = '
加载中…
'; try { const r = await fetch('../api/scales'); scales = await r.json(); renderCats(); renderScales(); } catch(e) { document.getElementById('content').innerHTML = '
加载失败,请刷新重试
'; } } function renderCats() { const cats = [...new Set(scales.map(s=>s.category))]; const html = ['']; cats.forEach(c => { html.push(``); }); document.getElementById('cats').innerHTML = html.join(''); } function filter(cat) { activeCat = cat; document.querySelectorAll('.cat-btn').forEach(b => b.classList.toggle('active', b.textContent === cat)); renderScales(); } function renderScales() { const filtered = activeCat === '全部' ? scales : scales.filter(s=>s.category===activeCat); if (!filtered.length) { document.getElementById('content').innerHTML = '
暂无数据
'; return; } const html = filtered.map(s => `
${ICONS[s.category]||'📌'}
${s.name}
${s.description||''}
${s.question_count}题
`).join(''); document.getElementById('content').innerHTML = `
${html}
`; } load();