Files
zhuiguang-ai/.trae/specs/modules/02-api.md
T

8.7 KiB
Raw Blame History

API模块

前台API(无需认证)

GET /api/homepage

获取首页数据(含嵌套分类结构,一级分类+二级子分类)。

  • 返回: { categories: CategoryWithChildren[], skillCategories: SkillCategoryWithChildren[] }

GET /api/categories

获取工具分类树形结构(含子分类),按sortOrder排序。

GET /api/skill-categories

获取技能分类树形结构(含子分类),按sortOrder排序。

GET /api/tools

获取已发布工具列表。

  • Query: categoryId, pricingModel, search, page(默认1), pageSize(默认20)
  • 返回: { tools: Tool[], total, page, pageSize }

GET /api/tools/[slug]

获取工具详情(by slug),浏览计数+1。

GET /api/skills

获取已发布技能列表。

  • Query: category, search, page, pageSize
  • 返回: { skills: Skill[], total, page, pageSize }

GET /api/skills/[slug]

获取技能详情(by slug),浏览计数+1。

GET /api/skills/[slug]/review

获取技能的五维评测数据(仅返回PUBLISHED状态)。

  • 返回: { capability, devExp, costLicense, community, performance, overall, reviews, longArticle?, videoScript?, socialCards?, reviewedAt }

GET/POST /api/auth/[...nextauth]

NextAuth认证端点(登录/回调/CSRF等)。

POST /api/auth/register

用户注册(邮箱+密码)。

GET /api/categories/[slug]

获取分类详情。

GET /api/daily-reports

获取AI日报列表。

GET /api/recommendations

获取推荐内容。

评测榜单API(公开)

路由 方法 功能
/api/skill-reviews GET 获取评测列表(分页,仅PUBLISHED)
/api/skill-reviews/rankings GET 获取评测榜单:topByRating(评测分TOP10) + topByStarsChange(Stars涨幅周榜TOP10)

用户相关API(需NextAuth用户认证)

/api/user/profile

  • GET: 获取当前用户资料
  • PUT: 更新用户资料

/api/user/favorites

路由 方法 功能
/api/user/favorites/status GET 获取收藏状态
/api/user/favorites GET 获取当前用户收藏列表(工具+技能)
/api/user/favorites POST 添加收藏(body: { targetType, targetId })
/api/user/favorites DELETE 取消收藏(body: { targetType, targetId })

/api/user/history

路由 方法 功能
/api/user/history GET 获取浏览历史
/api/user/history POST 记录浏览历史

/api/user/collections

路由 方法 功能
/api/user/collections GET 获取收藏夹列表
/api/user/collections POST 创建收藏夹
/api/user/collections/[id] GET 获取单个收藏夹详情
/api/user/collections/[id] PUT 更新收藏夹
/api/user/collections/[id] DELETE 删除收藏夹
/api/user/collections/[id]/items GET 获取收藏夹项目
/api/user/collections/[id]/items POST 添加收藏夹项目
/api/user/collections/[id]/items/[itemId] PUT 更新收藏夹项目
/api/user/collections/[id]/items/[itemId] DELETE 删除收藏夹项目

后台API(需NextAuth认证)

分类管理

路由 方法 功能
/api/admin/categories GET 获取所有分类(含工具数/子分类数)
/api/admin/categories POST 创建分类
/api/admin/categories/[id] PUT 更新分类
/api/admin/categories/[id] DELETE 删除分类(有工具/子分类时拒绝)
/api/admin/skill-categories GET 获取技能分类列表
/api/admin/skill-categories POST 创建技能分类
/api/admin/skill-categories/[id] PUT 更新技能分类
/api/admin/skill-categories/[id] DELETE 删除技能分类

工具管理

路由 方法 功能
/api/admin/tools GET 获取所有工具(分页)
/api/admin/tools POST 创建工具
/api/admin/tools/[id] PUT 更新工具
/api/admin/tools/[id] DELETE 删除工具

技能管理

路由 方法 功能
/api/admin/skills GET 获取所有技能(分页)
/api/admin/skills/[id] PUT 更新技能
/api/admin/skills/[id] DELETE 删除技能

待审核工具

路由 方法 功能
/api/admin/pending GET 获取待审核工具列表(分页)
/api/admin/pending DELETE 清空所有待审核工具
/api/admin/pending/[id] PUT 编辑待审核工具(websiteUrl变更时自动抓Logo)
/api/admin/pending/[id] DELETE 删除单个待审核工具
/api/admin/pending/[id]/publish POST 发布为正式工具
/api/admin/pending/batch POST 批量导入(去重+自动抓Logo)
/api/admin/pending/batch-publish POST 批量发布(ids数组)
/api/admin/pending/batch-reject POST 批量拒绝(ids数组)
/api/admin/pending/fetch-logos POST 批量抓取Logo(body: {scope, refetch?})

待审核技能

路由 方法 功能
/api/admin/pending-skills GET 获取待审核技能列表(分页)
/api/admin/pending-skills DELETE 清空所有待审核技能
/api/admin/pending-skills/[id] PUT 编辑待审核技能
/api/admin/pending-skills/[id] DELETE 删除单个待审核技能
/api/admin/pending-skills/[id]/publish POST 发布为正式技能
/api/admin/pending-skills/batch POST 批量导入(去重)
/api/admin/pending-skills/batch-publish POST 批量发布(ids数组)
/api/admin/pending-skills/batch-reject POST 批量拒绝(ids数组)
/api/admin/pending-skills/publish-all POST 一键发布所有待审核技能

AI发现与检测(提示词+JSON粘贴模式,不调用外部AI API)

路由 方法 功能
/api/admin/discover-tools POST 导入工具JSON数组(body: {tools: [...], categoryId}),自动去重导入待审核列表
/api/admin/discover-skills POST 导入技能JSON数组(body: {skills: [...], categoryId}),自动去重导入待审核列表
/api/admin/discover-skills/run POST 一键运行技能探索
/api/admin/discover-news POST 导入新闻JSON数组(body: {items: [...]}),自动生成今日AI日报
/api/admin/discover-news GET 获取今日AI日报
/api/admin/check-tools POST 检测工具网站可访问性+抓取缺失Logo(body: {type: "published"/"pending"}),返回logoFetched/logoMethod/logoUrl
/api/admin/update-stars POST 更新GitHub Star数(body: {type: "published"/"pending"})

评测管理

路由 方法 功能
/api/admin/reviews GET 获取评测列表
/api/admin/reviews/[id] GET 获取单个评测详情
/api/admin/reviews/[id] PUT 更新评测状态
/api/admin/reviews/[id]/generate POST AI生成评测内容(长文+视频脚本+社交卡片)

系统配置

路由 方法 功能
/api/admin/system-config GET 获取所有配置
/api/admin/system-config PUT 批量更新配置(upsert)

角色权限管理

路由 方法 功能
/api/admin/roles GET 获取所有角色列表
/api/admin/roles POST 创建角色
/api/admin/roles/[id] PUT 更新角色
/api/admin/roles/[id] DELETE 删除角色
/api/admin/permissions GET 获取全部权限点列表
/api/admin/user-permissions GET 获取当前用户权限(roleId/userId/当前用户)

日报管理

路由 方法 功能
/api/admin/daily-reports GET 获取日报列表
/api/admin/daily-reports/[id] GET 获取单个日报详情
/api/admin/daily-reports/[id] PUT 更新日报
/api/admin/daily-reports/[id] DELETE 删除日报
/api/admin/daily-reports/generate POST AI一键生成日报内容

任务调度API(需NextAuth认证)

路由 方法 功能
/api/admin/tasks/configs GET 获取全部6个任务配置(合并TaskConfig+默认值)
/api/admin/tasks/configs PUT 更新/创建任务配置(body: { taskKey, enabled?, cronExpr?, config? })
/api/admin/tasks/logs GET 获取任务执行日志(分页,query: taskKey?, page, pageSize)
/api/admin/tasks/run POST 手动触发任务执行(body: { taskKey }),通过child_process.exec运行对应脚本

SystemConfig 配置键

Key 类型 说明
discoveryPromptConfig JSON AI发现提示词配置(含toolPrompt/skillPrompt/newsPrompt/tagPool等)
logoFetchConfig JSON Logo抓取策略配置
discoverSkillsScript string 技能探索脚本源码