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();