import { eq } from 'drizzle-orm' import { useDB, schema } from '../../utils/db.js' import { requireAdmin } from '../../utils/auth.js' export default defineEventHandler(async (event) => { requireAdmin(event) const db = useDB() const query = getQuery(event) // 如果指定了 key,返回单条 if (query.key) { const item = db .select() .from(schema.siteContent) .where(eq(schema.siteContent.key, query.key)) .get() if (!item) { // 返回空配置壳,前端按默认值渲染;保存时会自动创建 return { key: query.key, label: '', data: {} } } return { ...item, data: JSON.parse(item.data) } } // 否则返回所有配置的列表(不含 data 内容,太大了) const list = db .select({ id: schema.siteContent.id, key: schema.siteContent.key, label: schema.siteContent.label, updatedAt: schema.siteContent.updatedAt, }) .from(schema.siteContent) .all() return { items: list } })