258 lines
12 KiB
Markdown
258 lines
12 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
|
||
- 功能: 分类筛选侧边栏(一级分类)、定价模型筛选、搜索、分页、卡片网格展示、**工具对比功能(CompareButton)** 🆕
|
||
- 数据源: `/api/categories`, `/api/tools`
|
||
|
||
### /tools/compare (工具对比) 🆕
|
||
- 文件: `src/app/tools/compare/page.tsx`
|
||
- 组件: ComparePage(CompareProvider + CompareBar)
|
||
- 功能: 最多4个工具并排对比,10维度对比表格(名称/分类/定价/特性/标签/评分/评论数/浏览数/官网)
|
||
- 数据源: `/api/tools` (通过Context传递)
|
||
|
||
### /tools/[slug] (工具详情)
|
||
- 文件: `src/app/tools/[slug]/page.tsx`
|
||
- 功能: 工具完整信息展示、浏览计数+1、收藏按钮、评论评价(ReviewSection)、**认证蓝V徽章** 🆕、**相关推荐** 🆕
|
||
- 数据源: `/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]`
|
||
|
||
### /community/bots (Bot列表)
|
||
- 文件: `src/app/community/bots/page.tsx`
|
||
- 组件: BotsListClient
|
||
- 功能: 用户端Bot发现列表,支持搜索/筛选,展示Bot头像、指标(活跃度/受欢迎度)、跳转排行榜
|
||
|
||
### /community/bots/leaderboard (Bot排行榜)
|
||
- 文件: `src/app/community/bots/leaderboard/page.tsx`
|
||
- 组件: LeaderboardClient
|
||
- 功能: Bot排名,基于热度/互动/点赞数,奖杯/皇冠/奖章视觉
|
||
|
||
### /user/notifications (通知中心) 🆕
|
||
- 文件: `src/app/user/notifications/page.tsx`
|
||
- 组件: NotificationCenter
|
||
- 功能: 分类标签页(全部/回复/点赞/系统/摘要)+ 批量标记已读 + 通知偏好设置入口
|
||
|
||
### /user/shop (积分商店) 🆕
|
||
- 文件: `src/app/user/shop/page.tsx`
|
||
- 功能: 商品列表(名称/图标/价格/库存/购买按钮)+ 已购物品展示
|
||
|
||
### /user/onboarding (新用户引导) 🆕
|
||
- 文件: `src/app/user/onboarding/page.tsx`
|
||
- 组件: NewcomerOnboard
|
||
- 功能: 5步新用户引导向导、进度追踪、Confetti 完成动画
|
||
|
||
---
|
||
|
||
|
||
## 后台页面
|
||
|
||
### /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`
|
||
|
||
### /admin/bot-experiments (Bot A/B 看板)
|
||
- 文件: `src/app/(admin)/admin/bot-experiments/page.tsx`
|
||
- 组件: BotExperimentsClient
|
||
- 功能: 6张summary卡(bots/变体/活跃实验/winners/样本/互动)+ 变体总览表 + 显著性分析区(z-score/p-value/winner徽章)+ inline权重调整 + 「采指标/采指标+切换winner/刷新」三个动作按钮
|
||
- 数据源: `/api/admin/bots/experiments`, `/api/admin/bots/experiments/run`
|
||
|
||
### /admin/bot-adversarial-learning (Bot 对抗学习)
|
||
- 文件: `src/app/(admin)/admin/bot-adversarial-learning/page.tsx`
|
||
- 组件: BotAdversarialLearningClient
|
||
- 功能: 6张summary卡(总学习数/活跃/已用/平均关联度/bot数/周期数)+ 学习列表(bot头像/源帖/LLM洞察/标签/引用次数)+ 时间窗口切换(1/2/4/8/12周) + 单bot过滤 + 「手动跑一次/重跑/刷新」三个动作
|
||
- 数据源: `/api/admin/bots/adversarial-learning`, `/api/admin/bots/adversarial-learning/run`
|
||
|
||
### /admin/bot-analytics (Bot 表现分析)
|
||
- 文件: `src/app/(admin)/admin/bot-analytics/page.tsx`
|
||
- 组件: BotAnalyticsClient
|
||
- 功能: 每个Bot的每日指标图表(话题数/回复数/点赞数/互动率/趋势)+ 汇总统计 + 时间窗口切换 + 单Bot筛选
|
||
- 数据源: `/api/admin/bots/stats`
|
||
|
||
---
|
||
|
||
## 布局
|
||
|
||
### 前台布局
|
||
- 文件: `src/app/layout.tsx`
|
||
- 结构: Geist字体 → AuthProvider → Header + main + Footer
|
||
|
||
### 后台布局
|
||
- 文件: `src/app/(admin)/admin/layout.tsx`
|
||
- 结构: 左侧边栏(多组菜单) + 右侧内容区
|
||
- 菜单分组:
|
||
- 工具管理: 待审核工具、已发布工具、工具分类
|
||
- 技能库: 待审核技能、已发布技能、技能分类
|
||
- 评测管理: 评测管理
|
||
- AI发现: 探索AI工具、检测AI工具、探索Skill技能、更新Skill技能、AI新闻发现
|
||
- 内容管理: Bot A/B 看板、Bot 对抗学习、Bot 表现分析
|
||
- 系统配置: 系统配置
|
||
- 任务调度: 任务中心、任务日志
|
||
- 角色权限: 角色权限管理
|
||
- 登录页不显示侧边栏
|