208 lines
9.3 KiB
Markdown
208 lines
9.3 KiB
Markdown
# 页面模块
|
||
|
||
## 前台页面
|
||
|
||
### / (首页)
|
||
- 文件: `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, CommunitySidebar(侧栏)
|
||
- 布局: 三栏 `grid-cols-[208px_1fr_280px]` — HeroBanner横幅 + 左侧排行 + 内容区 + 右侧说明
|
||
- 左侧栏: 外部热度排行(GitHub Stars周涨幅) + 评测分值排行
|
||
- 右侧栏: 五维模型说明 + 评测评分规则
|
||
- 数据源: `/api/skill-reviews`, `/api/skill-reviews/rankings`
|
||
|
||
### /skills (技能库)
|
||
- 文件: `src/app/skills/page.tsx`
|
||
- 组件: SkillsPageClient
|
||
- 功能: 技能分类筛选(一级+二级分类,左侧导航+标签切换)、搜索、分页
|
||
- 背景配色: HeroBanner `orange` 橙色方案(`#c2410c → #ea580c → #f97316`)
|
||
- 数据源: `/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]`
|
||
|
||
### /user/[id] (会员个人空间)
|
||
- 文件: `src/app/user/[id]/page.tsx`
|
||
- 组件: ShareButton
|
||
- 功能: 用户资料展示(头像/昵称/简介/等级/积分)+ 统计面板 + 发布主题列表 + 评论历史 + 分享按钮
|
||
- 数据源: `/api/user/[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`
|
||
- 功能: 7个定时任务总览卡片、各任务启用/禁用开关、手动运行按钮、最近执行状态、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新闻发现
|
||
- 系统配置: 系统配置
|
||
- 任务调度: 任务中心、任务日志
|
||
- 角色权限: 角色权限管理
|
||
- 登录页不显示侧边栏
|