Bic 图床管理系统 初始设计方案

希望能够完成这个项目

项目介绍 #

这是一个深度结合 github 相关功能的现代化图床管理软件, 极大可能将只支持 github 平台, 设计的应该是尽可能的快, 消耗最少的资源, UI 简洁, 交互简单

  • 支持功能
    • 设置添加 token
      • 通过 token 获取当前用户用户名
    • 新建项目
      • 上传 bic 所需的 github action yml
    • 打开项目
      • 检测 项目是否存在 bic 所需的 yml 文件

启动流程 #

  1. 获取当前 token
    • 无: 用户添加 token, 重新跳转首页
  2. 获取当前项目
    • 无: 让用户添加项目
  3. 获取项目的 map 文件
  4. 解析 “.” 目录结构
  5. 显示项目首页内容

交互 #

  • 支持直接粘贴文件上传文件
  • 支持拖拽到窗口

CLIENT API #

1. 查询当前保存的所有 token #

2. 查询当前 token 下所有的项目 #

3. 查询当前目录下的所有文件 #


验证 github api 功能 #

Token 相关 #

  • 通过 token 获取用户名
  • 通过 token 获取用户所有仓库

文件操作 #

上传 #

  • 携带 commit msg 上传文件

删除 #

  • 创建删除任务, 转换为上传操作
    • bash 脚本

重命名 #

  • 创建重命名任务, 转换为上传操作
    • bash 脚本

备份操作 #

  • 通过 api 下载备份文件, (考虑类似首页那种 zip 文件下载的)

脚本相关 #

  • commit msg 触发事件
    • sys 事件
      • 有关 bic 脚本的操作
    • bic 事件
      • 添加文件
    • task 事件
      • 触发 github action 脚本开始运行

附属项目 #

  • 反向代理加速 github 文件
  • 扫描目录生成文件目录, 生成 map 记录整个项目结构 dirmap
  • 通过任务, 生成 bash 脚本