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

5.8 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等)。

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

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

后台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-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/system-config GET 获取所有配置
/api/admin/system-config PUT 批量更新配置(upsert)

评论API(需NextAuth用户认证)

路由 方法 功能
/api/reviews GET 获取评论列表(query: type, targetId)
/api/reviews POST 创建评论(body: { type, targetId, content, rating? })

SystemConfig 配置键

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