Files
zhuiguang-ai/.trae/specs/modules/03-pages.md
T

199 lines
8.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 页面模块
## 前台页面
### / (首页)
- 文件: `src/app/page.tsx`
- 组件: HomePageClient
- 功能: 搜索框、AI工具分类网格(一级+二级分类,左侧导航+标签切换)、技能分类网格、最新上架工具、热门工具、CTA区块
- 数据源: `/api/homepage`, `/api/categories`, `/api/skill-categories`, `/api/tools`
### /tools (工具列表)
- 文件: `src/app/tools/page.tsx`
- 组件: ToolsContent
- 功能: 分类筛选侧边栏(一级分类)、定价模型筛选、搜索、分页、卡片网格展示
- 数据源: `/api/categories`, `/api/tools`
### /tools/[slug] (工具详情)
- 文件: `src/app/tools/[slug]/page.tsx`
- 功能: 工具完整信息展示、浏览计数+1、收藏按钮、评论评价(ReviewSection)
- 数据源: `/api/tools/[slug]`
### /categories/[slug] (分类详情)
- 文件: `src/app/categories/[slug]/page.tsx`
- 组件: CategoryContent
- 功能: 按分类slug展示该分类下的工具,分类标题+工具网格
- 数据源: `/api/categories`, `/api/tools`
### /reviews (评测中心)
- 文件: `src/app/reviews/page.tsx`
- 组件: ReviewsList, SidebarRankings
- 功能: 评测列表展示(主栏)+ 侧边栏榜单(评测分榜TOP10 + Stars涨幅榜TOP10)
- 数据源: `/api/skill-reviews`, `/api/skill-reviews/rankings`
### /skills (技能库)
- 文件: `src/app/skills/page.tsx`
- 组件: SkillsPageClient
- 功能: 技能分类筛选(一级+二级分类,左侧导航+标签切换)、搜索、分页
- 数据源: `/api/skill-categories`, `/api/skills`
### /skills/[slug] (技能详情)
- 文件: `src/app/skills/[slug]/page.tsx`
- 功能: 技能完整信息展示、浏览计数+1、收藏按钮、五维评测雷达图(SkillReviewCard)、评论评价(ReviewSection)
- 数据源: `/api/skills/[slug]`, `/api/skills/[slug]/review`
### /daily (AI日报)
- 文件: `src/app/daily/page.tsx`
- 功能: 展示AI日报列表和详情
- 数据源: `/api/daily-reports`
### /login (用户登录)
- 文件: `src/app/login/page.tsx`
- 功能: 用户邮箱+密码登录/注册,GitHub OAuth登录
- 数据源: NextAuth Credentials Provider, GitHub OAuth Provider
### /user (用户中心)
- 文件: `src/app/user/page.tsx`
- 功能: 用户资料编辑、快捷入口、浏览历史
- 数据源: NextAuth session, `/api/user/history`
### /user/favorites (我的收藏)
- 文件: `src/app/user/favorites/page.tsx`
- 功能: 收藏的工具和技能列表,支持筛选和搜索
- 数据源: `/api/user/favorites`
### /user/collections (收藏夹)
- 文件: `src/app/user/collections/page.tsx`
- 功能: 收藏夹列表管理
- 数据源: `/api/user/collections`
### /user/collections/[id] (收藏夹详情)
- 文件: `src/app/user/collections/[id]/page.tsx`
- 功能: 单个收藏夹内的工具/技能展示
- 数据源: `/api/user/collections/[id]`
---
## 后台页面
### /admin/login (登录)
- 文件: `src/app/(admin)/admin/login/page.tsx`
- 组件: LoginForm
- 功能: 管理员登录表单,CSRF token + 原生POST
- 凭证: admin@zhuiguang.ai / admin123
### /admin/pending (待审核工具)
- 文件: `src/app/(admin)/admin/pending/page.tsx`
- 功能: 审核列表表格、多选复选框、全选、批量通过/拒绝、**一键通过全部合格**、抓取缺失Logo/重新抓取全部Logo、编辑弹窗、单个通过/拒绝
- 表格新增四项检查状态列:网站 ✓/✗ | Logo ✓/✗ | 描述 ✓/✗ | 分类 ✓/✗
- 数据源: `/api/admin/pending`, `/api/admin/pending/batch-publish`, `/api/admin/pending/batch-reject`, `/api/admin/pending/fetch-logos`
### /admin/pending-skills (待审核技能)
- 文件: `src/app/(admin)/admin/pending-skills/page.tsx`
- 功能: 审核列表表格、多选复选框、全选、批量通过/拒绝、一键全部通过、编辑弹窗、Star数展示、GitHub链接
- 数据源: `/api/admin/pending-skills`, `/api/admin/pending-skills/batch-publish`, `/api/admin/pending-skills/batch-reject`, `/api/admin/pending-skills/publish-all`
### /admin/tools (已发布工具)
- 文件: `src/app/(admin)/admin/tools/page.tsx`
- 功能: 工具管理表格、新增/编辑/删除、分页
- 数据源: `/api/admin/tools`, `/api/admin/categories`
### /admin/skills (已发布技能)
- 文件: `src/app/(admin)/admin/skills/page.tsx`
- 功能: 技能管理表格、编辑/删除、分页
- 数据源: `/api/admin/skills`, `/api/admin/skill-categories`
### /admin/categories (工具分类管理)
- 文件: `src/app/(admin)/admin/categories/page.tsx`
- 功能: 分类CRUD、树形展示、排序
- 数据源: `/api/admin/categories`
### /admin/skill-categories (技能分类管理)
- 文件: `src/app/(admin)/admin/skill-categories/page.tsx`
- 功能: 技能分类CRUD
- 数据源: `/api/admin/skill-categories`
### /admin/reviews (评测管理)
- 文件: `src/app/(admin)/admin/reviews/page.tsx`
- 组件: ReviewList, ReviewRow, ReviewStats
- 功能: 评测列表、统计卡片(已发布/草稿/平均评分)、单篇评测详情、状态管理
- 数据源: `/api/admin/reviews`, `/api/admin/reviews/[id]`
### /admin/reviews/[id] (评测详情)
- 文件: `src/app/(admin)/admin/reviews/[id]/page.tsx`
- 功能: 单篇评测详情展示、雷达图、生成内容(长文/视频脚本/社交卡片)
- 数据源: `/api/admin/reviews/[id]`
### /admin/discover-tools (探索AI工具)
- 文件: `src/app/(admin)/admin/discover-tools/page.tsx`
- 功能: 选分类→复制提示词→粘贴JSON→导入审核列表→抓取Logo
- 流程: 4步流程(选分类/复制提示词/粘贴导入/抓取Logo),提示词含排除列表,JSON粘贴区+导入按钮,Logo批量抓取
- 数据源: `/api/admin/discover-tools`, `/api/admin/pending/fetch-logos`
### /admin/check-tools (检测AI工具)
- 文件: `src/app/(admin)/admin/check-tools/page.tsx`
- 功能: 4步流程(选范围/检测+抓取/Logo方法统计/处理失效),检测可访问性同时自动抓取缺失Logo,记录成功方法名统计
- 数据源: `/api/admin/check-tools`, `/api/admin/tools/[id]`, `/api/admin/pending/[id]`
### /admin/discover-skills (探索AI技能)
- 文件: `src/app/(admin)/admin/discover-skills/page.tsx`
- 功能: 选分类→复制提示词→粘贴JSON→导入审核列表
- 流程: 3步流程(选分类/复制提示词/粘贴导入),提示词含排除列表,JSON粘贴区+导入按钮
- 数据源: `/api/admin/discover-skills`
### /admin/update-skills (更新Skill技能)
- 文件: `src/app/(admin)/admin/update-skills/page.tsx`
- 功能: 3步流程(选范围/一键更新/自动同步),更新GitHub/Gitee/GitCode星级,展示Star变化表格
- 数据源: `/api/admin/update-stars`
### /admin/discover-news (AI新闻发现)
- 文件: `src/app/(admin)/admin/discover-news/page.tsx`
- 功能: 3步流程(复制提示词/粘贴导入/查看日报),新闻6大分类+热度评分,展示今日AI日报
- 数据源: `/api/admin/discover-news`
### /admin/system-config (系统配置)
- 文件: `src/app/(admin)/admin/system-config/page.tsx`
- 功能: Logo抓取配置、发现提示词配置等全局设置
- 数据源: `/api/admin/system-config`
### /admin/tasks (任务中心)
- 文件: `src/app/(admin)/admin/tasks/page.tsx`
- 功能: 6个定时任务总览卡片、各任务启用/禁用开关、手动运行按钮、最近执行状态、Cron表达式展示
- 数据源: `/api/admin/tasks/configs`, `/api/admin/tasks/run`
### /admin/tasks/logs (任务执行日志)
- 文件: `src/app/(admin)/admin/tasks/logs/page.tsx`
- 功能: 所有任务执行历史列表、按任务筛选、可展开查看result/error详情、分页
- 数据源: `/api/admin/tasks/logs`
### /admin/tasks/[taskKey] (单任务详情)
- 文件: `src/app/(admin)/admin/tasks/[taskKey]/page.tsx`
- 功能: 单任务统计卡片(成功率/失败率/平均耗时)、历史执行记录(可展开查看输出)、手动运行
- 数据源: `/api/admin/tasks/configs`, `/api/admin/tasks/logs`, `/api/admin/tasks/run`
### /admin/roles (角色权限管理)
- 文件: `src/app/(admin)/admin/roles/page.tsx`
- 功能: 左侧角色列表 + 右侧按分组的权限勾选网格、新建/删除自定义角色(系统角色受保护)、分组全选/取消全选、保存按钮实时同步到数据库
- 数据源: `/api/admin/roles`, `/api/admin/permissions`, `/api/admin/user-permissions`
---
## 布局
### 前台布局
- 文件: `src/app/layout.tsx`
- 结构: Geist字体 → AuthProvider → Header + main + Footer
### 后台布局
- 文件: `src/app/(admin)/admin/layout.tsx`
- 结构: 左侧边栏(多组菜单) + 右侧内容区
- 菜单分组:
- 工具管理: 待审核工具、已发布工具、工具分类
- 技能库: 待审核技能、已发布技能、技能分类
- 评测管理: 评测管理
- AI发现: 探索AI工具、检测AI工具、探索Skill技能、更新Skill技能、AI新闻发现
- 系统配置: 系统配置
- 任务调度: 任务中心、任务日志
- 角色权限: 角色权限管理
- 登录页不显示侧边栏