管理员通过后台(/admin)登录后,可拉取自己 Gitee 账号下的全部仓库列表,并为任意仓库、分支生成一次性下载密钥;
管理员可对已生成的密钥进行查看、删除管理;
普通用户访问前端页面,输入密钥即可触发流式下载,服务端使用 Gitee PAT 调用官方 API 获取 zip 包,下载完成后该密钥自动失效,不可重复使用;
密钥校验接口可用于前端实时验证密钥有效性而不消耗它。
技术实现:
后端:FastAPI 提供 RESTful 接口,异步流式响应避免内存溢出;SQLite 存储密钥与使用状态;集成 Gitee API 实现仓库列表拉取与 zip 下载;使用 Basic Auth 保护管理接口。
前端:原生 HTML/JS 实现用户下载页和管理后台,管理后台支持仓库列表展示、密钥生成与删除操作,交互简洁。
部署:支持一键部署到 Linux 服务器。
个人角色:全栈独立开发,负责需求分析、架构设计、前后端编码、数据库设计、API 安全控制及部署方案编写。通过该项目,我深入掌握了 FastAPI 流式处理、第三方 API 集成、一次性凭证设计模式及生产环境部署流程。