API文档

服务器信息

  • 服务器地址: http://localhost:3000
  • 所有API端点均以 /api/ 开头
  • 支持CORS跨域请求
  • 响应格式: JSON

1.1 获取所有申请

  • 路径: /api/applications
  • 方法: GET
  • 描述: 获取所有友情链接申请
  • 响应格式:
    [
      {
        "id": "1234567890",
        "timestamp": "2026-03-15T08:30:00.000Z",
        "status": "pending",
        "name": "网站名称",
        "url": "https://example.com",
        "description": "网站描述",
        "email": "contact@example.com",
        "rejectReason": null
      }
    ]

1.2 提交新申请

  • 路径: /api/applications
  • 方法: POST
  • 描述: 提交新的友情链接申请
  • 请求体:
    {
      "name": "网站名称",
      "url": "https://example.com",
      "description": "网站描述",
      "email": "contact@example.com"
    }
  • 响应格式:
    {
      "id": "1234567890",
      "timestamp": "2026-03-15T08:30:00.000Z",
      "status": "pending",
      "name": "网站名称",
      "url": "https://example.com",
      "description": "网站描述",
      "email": "contact@example.com"
    }

1.3 更新申请状态

  • 路径: /api/applications/:id
  • 方法: PUT
  • 描述: 更新友情链接申请的状态
  • 请求体:
    {
      "status": "approved", // 可选值: pending, approved, rejected
      "rejectReason": "拒绝原因" // 仅当status为rejected时需要
    }
  • 响应格式:
    {
      "id": "1234567890",
      "timestamp": "2026-03-15T08:30:00.000Z",
      "status": "approved",
      "name": "网站名称",
      "url": "https://example.com",
      "description": "网站描述",
      "email": "contact@example.com",
      "rejectReason": null
    }

1.4 删除所有申请

  • 路径: /api/applications
  • 方法: DELETE
  • 描述: 清空所有友情链接申请
  • 响应格式:
    {
      "message": "所有申请已清空"
    }

1.5 获取待审核链接数量

  • 路径: /api/applications/pending-count
  • 方法: GET
  • 描述: 获取待审核的友情链接申请数量
  • 响应格式:
    {
      "pendingCount": 5
    }

1.6 获取待审核链接列表

  • 路径: /api/applications/pending
  • 方法: GET
  • 描述: 获取所有待审核的友情链接申请
  • 响应格式:
    [
      {
        "id": "1234567890",
        "timestamp": "2026-03-15T08:30:00.000Z",
        "status": "pending",
        "name": "网站名称",
        "url": "https://example.com",
        "description": "网站描述",
        "email": "contact@example.com",
        "rejectReason": null
      }
    ]

1.7 审核统计

  • 路径: /api/applications/stats
  • 方法: GET
  • 描述: 获取友情链接申请的统计信息
  • 响应格式:
    {
      "total": 10,
      "pending": 5,
      "approved": 3,
      "rejected": 2
    }
  • 路径: /api/approved-links
  • 方法: GET
  • 描述: 获取所有已通过的友情链接
  • 响应格式:
    [
      {
        "id": "1234567890",
        "timestamp": "2026-03-15T08:30:00.000Z",
        "name": "网站名称",
        "url": "https://example.com",
        "description": "网站描述",
        "category": "技术",
        "status": "online",
        "statusCode": 200,
        "responseTime": 100,
        "lastChecked": "2026-03-15T08:30:00.000Z",
        "views": 100
      }
    ]
  • 路径: /api/approved-links
  • 方法: POST
  • 描述: 添加新的已通过友情链接
  • 请求体:
    {
      "id": "1234567890",
      "timestamp": "2026-03-15T08:30:00.000Z",
      "name": "网站名称",
      "url": "https://example.com",
      "description": "网站描述",
      "category": "技术",
      "status": "online",
      "statusCode": 200,
      "responseTime": 100,
      "lastChecked": "2026-03-15T08:30:00.000Z",
      "views": 0
    }
  • 响应格式:
    {
      "id": "1234567890",
      "timestamp": "2026-03-15T08:30:00.000Z",
      "name": "网站名称",
      "url": "https://example.com",
      "description": "网站描述",
      "category": "技术",
      "status": "online",
      "statusCode": 200,
      "responseTime": 100,
      "lastChecked": "2026-03-15T08:30:00.000Z",
      "views": 0
    }
  • 路径: /api/approved-links/:id
  • 方法: DELETE
  • 描述: 删除指定的已通过友情链接
  • 响应格式:
    {
      "message": "链接已删除"
    }
  • 路径: /api/links/sorted
  • 方法: GET
  • 描述: 获取排序后的友情链接
  • 查询参数:
    • sortBy: 排序字段 (可选, 默认: added)
      • category: 按分类排序
      • added: 按添加时间排序
      • views: 按浏览量排序
      • status: 按状态排序
    • order: 排序顺序 (可选, 默认: desc)
      • asc: 升序
      • desc: 降序
  • 响应格式:
    [
      {
        "id": "1234567890",
        "timestamp": "2026-03-15T08:30:00.000Z",
        "name": "网站名称",
        "url": "https://example.com",
        "description": "网站描述",
        "category": "技术",
        "status": "online",
        "statusCode": 200,
        "responseTime": 100,
        "lastChecked": "2026-03-15T08:30:00.000Z",
        "views": 100
      }
    ]

3. 文章管理

3.1 获取文章文件列表

  • 路径: /api/article-files
  • 方法: GET
  • 描述: 获取article文件夹中的所有HTML文件
  • 响应格式:
    [
      "article1.html",
      "article2.html",
      "article3.html"
    ]

3.2 获取文章标题

  • 路径: /api/article-title/:file
  • 方法: GET
  • 描述: 获取指定文章文件的标题
  • 路径参数:
    • file: 文章文件名 (如: article1.html)
  • 响应格式:
    {
      "title": "文章标题"
    }

4. 健康检查

4.1 服务器健康状态

  • 路径: /api/health
  • 方法: GET
  • 描述: 检查服务器健康状态
  • 响应格式:
    {
      "status": "ok",
      "timestamp": "2026-03-15T08:30:00.000Z"
    }

错误处理

所有API端点在遇到错误时会返回以下格式的响应:

{
  "message": "错误描述",
  "error": "详细错误信息"
}

常见的错误状态码:

  • 400: 请求参数错误
  • 404: 资源未找到
  • 500: 服务器内部错误

数据结构

友情链接申请表 (friendLinkApplications)

字段 类型 描述
id TEXT 申请ID
timestamp TEXT 申请时间
status TEXT 状态 (pending, approved, rejected)
name TEXT 网站名称
url TEXT 网站URL
description TEXT 网站描述
email TEXT 联系人邮箱
rejectReason TEXT 拒绝原因

已通过链接表 (approvedFriendLinks)

字段 类型 描述
id TEXT 链接ID
timestamp TEXT 添加时间
name TEXT 网站名称
url TEXT 网站URL
description TEXT 网站描述
category TEXT 分类
status TEXT 状态 (online, offline, error)
statusCode INTEGER HTTP状态码
responseTime INTEGER 响应时间(ms)
lastChecked TEXT 最后检查时间
views INTEGER 浏览量

文章表 (articles)

字段 类型 描述
id TEXT 文章ID
timestamp TEXT 发布时间
title TEXT 文章标题
content TEXT 文章内容
description TEXT 文章描述
category TEXT 分类
tags TEXT 标签 (JSON格式)
views INTEGER 浏览量
shares INTEGER 分享量