M4-06 Project Center Module #40

Closed
opened 2026-05-22 21:09:51 +08:00 by wangdl · 1 comment
Owner

目标

在已有 Gitea 集成能力之上设计 Project Center 模块,将 Gitea 仓库、Milestone、Issue、PR、Release、Runner 状态纳入统一 Admin 权限、审计和错误处理体系。

本 Issue 只做深化设计。当前 Admin 已能通过 Hermes 操作 Gitea,Project Center 是将这些能力产品化、权限化、可视化的深化。

模块深化内容

  1. Gitea 集成深化:

    • 将已有 Gitea API 调用纳入统一错误处理和重试
    • 状态缓存(仓库列表、Milestone 列表等减少 API 调用)
    • 操作审计(所有 Gitea 写操作记录 AuditLog)
  2. Admin 视图:

    • 仓库列表和详情(含统计:Issue 数、PR 数)
    • Milestone 和 Issue 可视化看板
    • PR 和 Release 列表
    • Runner 状态面板
    • Gitea Web 内嵌入口

候选数据对象

  • GiteaConnection(连接状态)
  • GiteaRepositoryCache
  • GiteaMilestoneCache
  • GiteaIssueCache
  • GiteaWebhookEvent

禁止事项

  • 禁止从零重做 Gitea 集成(在已有能力上深化)
  • 禁止缓存不及时导致数据不一致

验收标准

  1. 统一 Gitea API 调用封装(错误处理、重试、审计)
  2. Admin 项目管理视图设计
  3. 状态缓存策略设计
## 目标 在已有 Gitea 集成能力之上设计 Project Center 模块,将 Gitea 仓库、Milestone、Issue、PR、Release、Runner 状态纳入统一 Admin 权限、审计和错误处理体系。 本 Issue 只做深化设计。当前 Admin 已能通过 Hermes 操作 Gitea,Project Center 是将这些能力产品化、权限化、可视化的深化。 ## 模块深化内容 1. Gitea 集成深化: - 将已有 Gitea API 调用纳入统一错误处理和重试 - 状态缓存(仓库列表、Milestone 列表等减少 API 调用) - 操作审计(所有 Gitea 写操作记录 AuditLog) 2. Admin 视图: - 仓库列表和详情(含统计:Issue 数、PR 数) - Milestone 和 Issue 可视化看板 - PR 和 Release 列表 - Runner 状态面板 - Gitea Web 内嵌入口 ## 候选数据对象 - GiteaConnection(连接状态) - GiteaRepositoryCache - GiteaMilestoneCache - GiteaIssueCache - GiteaWebhookEvent ## 禁止事项 - 禁止从零重做 Gitea 集成(在已有能力上深化) - 禁止缓存不及时导致数据不一致 ## 验收标准 1. 统一 Gitea API 调用封装(错误处理、重试、审计) 2. Admin 项目管理视图设计 3. 状态缓存策略设计
wangdl added this to the M4:Admin 生产级运维深化(P3) milestone 2026-05-22 21:09:51 +08:00
wangdl self-assigned this 2026-05-22 21:09:51 +08:00
Author
Owner

M4-06 实施完成

已有基础

GiteaEmbed iframe 页面(直接嵌入 Gitea Web),菜单「代码仓库」。

本 Issue 新增

模块 说明
GiteaService 封装 Gitea API 调用(repos/milestones/issues/releases/runners)
ProjectCenterController 5 个 AAPI 端点
ProjectCenter 页面 替代原 iframe,6 个 Tab:仓库列表、Issues、里程碑、Release、Runner、Gitea 面板

AAPI 端点

端点 方法 说明
/admin-api/projects/repos GET 仓库列表(含 issue/pr/milestone 计数)
/admin-api/projects/repos/:owner/:repo/issues GET Issue 列表
/admin-api/projects/repos/:owner/:repo/milestones GET 里程碑列表
/admin-api/projects/repos/:owner/:repo/releases GET Release 列表
/admin-api/projects/runners GET Runner 状态

菜单

「代码仓库」→「项目中心」

## ✅ M4-06 实施完成 ### 已有基础 GiteaEmbed iframe 页面(直接嵌入 Gitea Web),菜单「代码仓库」。 ### 本 Issue 新增 | 模块 | 说明 | |------|------| | GiteaService | 封装 Gitea API 调用(repos/milestones/issues/releases/runners) | | ProjectCenterController | 5 个 AAPI 端点 | | ProjectCenter 页面 | 替代原 iframe,6 个 Tab:仓库列表、Issues、里程碑、Release、Runner、Gitea 面板 | ### AAPI 端点 | 端点 | 方法 | 说明 | |------|------|------| | /admin-api/projects/repos | GET | 仓库列表(含 issue/pr/milestone 计数) | | /admin-api/projects/repos/:owner/:repo/issues | GET | Issue 列表 | | /admin-api/projects/repos/:owner/:repo/milestones | GET | 里程碑列表 | | /admin-api/projects/repos/:owner/:repo/releases | GET | Release 列表 | | /admin-api/projects/runners | GET | Runner 状态 | ### 菜单 「代码仓库」→「项目中心」
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wangdl/api-server#40
No description provided.