Skip to content

开放 API 中心(功能清单)

OpenAPI Hub(开放 API 中心)

小贴士

开放 API 中心

目标:

提供 API + Token 认证,让开发者或组织能够自由开发个性化应用,而不依赖平台的网页应用。

功能清单

1. 令牌(Token)管理

  • 生成 Token:允许开发者生成 API 访问令牌,支持权限范围(如:只读、写入等)。
  • Token 管理:支持查看、删除、撤销 Token,支持设置过期时间(短期/长期)。
  • API 管理 Token:开发者可以通过 API 管理自己的 Token。

2. 开发者 API 访问权限

  • 用户信息:获取开发者基本信息及其加入的组织。
  • 权限控制:所有 API 需使用 Token 认证,并基于 Token 权限控制访问。

3. 安全机制

  • 权限范围:支持 IP 白名单、OAuth 2.0 / JWT 认证、Token 访问日志。
  • 失效机制:定期刷新或设置过期失效。
  • API 限流:防止滥用,设定每分钟请求限制。

前端页面汇总

1. 登录页面 ✅

  • 功能:用户输入邮箱/用户名、密码,支持 OAuth 登录(如 GitHub、Google、微信等)。

2. 控制台首页

  • 功能:展示 API 请求统计、令牌列表,允许创建、撤销令牌。

3. 创建令牌页面

  • 功能:用户可以生成新的 API 令牌,设置权限和过期时间。

4. 令牌管理页面

  • 功能:展示所有令牌,允许撤销、编辑权限、管理过期时间。

5. 系统设置页面

  • 功能:修改账户信息,设置 API 请求频率、IP 白名单、二次验证等安全措施。

6. 教程页面

  • 功能:帮助开发者学习如何使用 API 和令牌,提供代码示例、常见问题解答。

要实现的功能是 提供 API + Token 认证,让开发者或组织能自由开发个性化应用,而不依赖平台的网页应用

这种模式类似于 GitHub/GitLab API + Personal Access Token (PAT) 机制,允许开发者调用平台的 API,集成到自己的应用中。

✅ 需要实现的核心功能

1. 令牌(Token)管理

🔹 目的:提供 API 访问权限,让开发者可以使用 Token 调用平台的 API,而不必登录网页。
🔹 功能

  • [ ] 开发者可以生成 API 访问令牌(Personal Access Token,PAT)
  • [ ] 支持不同权限范围(Scopes),例如:
    • repo_read(只读访问仓库)
    • repo_write(修改仓库)
    • user_info(访问用户数据)
  • [ ] 支持 Token 过期时间(长期 / 短期)
  • [ ] 支持 Token 撤销(手动删除)
  • [ ] 提供 API 让开发者管理自己的 Token(创建、删除、获取 Token 列表)

API 设计示例

  • POST /api/token ➝ 创建新 Token
  • GET /api/token ➝ 获取 Token 列表
  • DELETE /api/token/{id} ➝ 删除 Token

2. 开发者 API 访问权限

🔹 目的:开发者可以通过平台的 API 获取数据、管理资源,而不需要平台的网页应用。
🔹 API 设计

  • 用户信息
    • GET /api/user ➝ 获取当前开发者信息
    • GET /api/orgs ➝ 获取开发者加入的组织
  • 仓库管理
    • GET /api/repos ➝ 获取开发者的仓库
    • POST /api/repos ➝ 创建新仓库
    • DELETE /api/repos/{id} ➝ 删除仓库
  • 代码提交管理
    • GET /api/repos/{id}/commits ➝ 获取提交记录
  • Pull Requests / Merge Requests
    • GET /api/repos/{id}/pulls ➝ 获取 PR 列表
    • POST /api/repos/{id}/pulls ➝ 创建 PR
    • POST /api/repos/{id}/pulls/{id}/merge ➝ 合并 PR
  • Issue / 任务管理
    • GET /api/issues ➝ 获取 Issue 列表
    • POST /api/issues ➝ 创建 Issue
    • PUT /api/issues/{id} ➝ 更新 Issue 状态

API 设计要求

  • 所有 API 必须使用 Token 进行身份验证(OAuth 2.0 / JWT / PAT)
  • 基于 Token 权限(Scopes)控制 API 访问范围
  • 支持 Webhook 事件推送(让开发者监听特定事件)

3. 开发者文档

🔹 目的:让开发者快速上手,知道如何用 Token 访问 API。
🔹 内容

  • [ ] 如何获取 Token
  • [ ] 如何使用 Token 调用 API
  • [ ] API 速率限制(Rate Limit)
  • [ ] 示例代码(Python / JavaScript / Go 调用示例)
  • [ ] 错误码列表
  • [ ] Webhook 事件文档(如何监听仓库变更)

4. 令牌权限 & 安全机制

🔹 目的:确保 API 安全,防止 Token 滥用。
🔹 措施

  • [ ] 支持 IP 白名单(限制 API 调用来源)
  • [ ] 支持 OAuth 2.0 / JWT 认证
  • [ ] 支持 Token 访问日志(监控 API 访问情况)
  • [ ] 支持 Token 失效机制(定期刷新 / 过期自动失效)
  • [ ] API 限流(防止滥用,例如每分钟 100 次请求)

✅ 预期效果

  • 开发者可以使用 API + Token 来创建自己的应用,而不需要平台的网页应用。
  • 组织可以利用平台的 API 来管理仓库、代码提交、PR、CI/CD,甚至开发自己的管理系统。
  • 你只需要维护 API,开发者可以自由发挥,扩展功能、做插件、做自己的 UI 界面。

✅ 前端页面

🔹 1. 登录页面 (Login Page)

目的:让用户能够安全地登录,获得 API 访问权限。
布局和功能

  • 输入框
    • 邮箱/用户名 + 密码
    • OAuth 登录按钮(支持 GitHub、Google、微信等)
  • 登录按钮:提交表单以验证登录
  • 注册按钮:跳转到注册页面
  • 忘记密码:链接到密码重置页面
  • 响应式设计:适应手机和 PC 端

📌 UI 设计示例

  • 简洁的登录框,背景可以是品牌标志,表单居中显示。
  • OAuth 登录按钮放在表单下方,用大图标表示常用登录方式。

🔹 2. 控制台首页 (Dashboard)

目的:展示当前用户的令牌管理和 API 使用情况。
布局和功能

  • API 请求统计:展示每日、每周、每月的 API 调用次数
  • API 令牌列表:展示当前用户拥有的所有令牌,附带创建日期、过期时间、权限范围等信息
  • 创建新令牌按钮:点击后跳转到令牌创建页面
  • 令牌撤销按钮:撤销某个令牌
  • 系统公告:展示平台相关的更新和通知

📌 UI 设计示例

  • 仪表盘:卡片式布局显示 API 调用统计
  • 令牌管理表格:用表格形式展示令牌信息,可以按需排序和搜索
  • 颜色标记:显示令牌过期状态,未过期显示绿色,已过期显示红色

🔹 3. 创建令牌页面 (Create Token Page)

目的:让用户可以生成新的 API 令牌并设置权限。
布局和功能

  • 令牌名称:输入框,用户可以自定义令牌名称
  • 权限选择:多选框,用户可以选择该令牌的访问权限,例如:读取仓库、写入仓库、管理用户等
  • 过期时间设置:选择令牌的有效期(如 1 天、1 周、永久)
  • 生成按钮:点击生成令牌
  • 复制按钮:生成后,用户可以复制令牌
  • 说明文字:提示令牌生成后只显示一次,确保安全保管

📌 UI 设计示例

  • 权限选择:以复选框呈现,用户可以选择多个权限
  • 生成按钮:明显的按钮,令牌生成后弹出提示框,告知用户“已成功生成令牌”。

🔹 4. 令牌管理页面 (Manage Tokens Page)

目的:展示用户现有的令牌列表,并允许他们编辑、删除或撤销令牌。
布局和功能

  • 令牌列表:显示所有令牌的名称、权限、过期时间、创建时间等
  • 撤销令牌按钮:允许用户撤销某个令牌的访问权限
  • 搜索框:根据令牌名称或权限搜索
  • 令牌权限编辑:用户可以选择编辑权限范围(如果未过期)
  • 过期时间管理:用户可以设置或延长令牌过期时间

📌 UI 设计示例

  • 表格展示令牌数据,允许用户排序、搜索和操作
  • 删除按钮:位于每个令牌条目的右侧,点击撤销令牌
  • 分组显示:根据令牌状态(有效/过期)分组显示

🔹 5. 系统设置页面 (Settings Page)

目的:提供账户和安全相关设置。
布局和功能

  • 账户信息:展示用户的个人信息,允许修改邮箱、密码等
  • API 访问设置:允许用户设置访问频率、IP 白名单等安全措施
  • 安全设置:启用二次验证、API 请求限制等
  • 通知设置:选择是否接收令牌过期、API 限流等通知

📌 UI 设计示例

  • 表单布局:便于用户修改个人信息、密码等
  • 开关按钮:启用或禁用二次验证、通知等功能

🔹 6. 令牌生成/使用教程页面 (Tutorials Page)

目的:帮助开发者了解如何使用 API 和令牌。
布局和功能

  • API 调用教程:展示如何用生成的令牌进行 API 调用
  • 示例代码:用 Python、JavaScript、Go 等语言给出示例代码
  • 错误处理:指导如何处理常见错误,如令牌过期、权限不足等
  • FAQ:展示常见问题和解答

📌 UI 设计示例

  • 代码块:嵌入代码示例,用户可以直接复制
  • 步骤指引:逐步引导开发者如何获取和使用令牌

总结:页面清单

  1. 登录页面
  2. 控制台首页
  3. 创建令牌页面
  4. 令牌管理页面
  5. 系统设置页面
  6. 令牌生成/使用教程页面