# 启用Stats功能说明 在运行了 `create-prompt-stats-table.sql` 创建了 `prompt_stats` 表之后,请按以下步骤启用完整的统计功能: ## 1. 更新Plaza API 在 `src/app/api/plaza/route.ts` 中,更新include部分,恢复stats查询: ```typescript include: { user: { /* ... */ }, tags: { /* ... */ }, versions: { /* ... */ }, stats: { // 添加这个部分 select: { viewCount: true, likeCount: true, rating: true, ratingCount: true, } }, _count: { /* ... */ } } ``` ## 2. 启用浏览计数API 在 `src/app/api/plaza/[id]/view/route.ts` 中,取消注释并启用以下代码: ```typescript // 将这些注释的代码恢复: await prisma.promptStats.upsert({ where: { promptId: promptId }, update: { viewCount: { increment: 1 } }, create: { promptId: promptId, viewCount: 1 } }) ``` ## 3. 可选:添加按浏览量排序 如果需要按浏览量排序,可以在Plaza API和前端组件中添加相关逻辑: ### 后端 (plaza/route.ts): ```typescript // 排序条件 const orderBy: Record = {} if (sortBy === 'viewCount') { orderBy.stats = { viewCount: sortOrder } } else if (sortBy === 'name') { orderBy.name = sortOrder } else { orderBy.createdAt = sortOrder } ``` ### 前端 (PlazaFilters.tsx): 在SelectContent中添加: ```typescript {t('sortByMostViewed')} ``` ## 4. 重新生成Prisma客户端 ```bash npm run db:generate ``` ## 5. 重启开发服务器 ```bash npm run dev ``` ## 当前状态 现在的代码已经修复了所有错误,即使没有stats表也能正常运行: - ✅ Plaza页面可以显示提示词 - ✅ Studio页面正常工作 - ✅ 搜索和过滤功能正常 - ✅ 复制和分享功能正常 - ⏳ 浏览计数功能暂时禁用(等待数据库表创建) 一旦运行了SQL脚本创建表,就可以按上述步骤启用完整的统计功能。