一、应用介绍

“口袋仓库(PocketRepo名称可以自拟)” 是一款基于AtomGit OpenAPI开放接口开发的跨平台仓库管理工具,采用Flutter for OpenHarmony、React Native for OpenHarmony、KMP for OpenHarmony、CMP for OpenHarmony技术栈开发支持 Android、iOS、鸿蒙、桌面端(Windows/macOS/Linux)运行。应用以 “轻量高效、全平台同步” 为核心定位,为开发者提供AtomGit仓库的一站式管理体验,涵盖代码仓库查询、实时通知、版本控制、协作管理等功能,解决多设备、多地点场景下仓库管理碎片化的问题,让开发者随时随地掌控代码资产。

应用遵循OpenAPI标准与RESTful设计规范,通过AtomGit API实现与平台的深度交互,同时兼顾安全性与性能 —— 采用Token认证机制保护账号安全,支持数据本地缓存减少网络依赖,适配不同平台的原生交互逻辑,确保在手机、平板、电脑等设备上均拥有流畅的操作体验。

二、功能开发阶段

(一)账号与认证模块

基于AtomGit API认证机制,提供安全便捷的登录与权限管理功能,保障用户数据安全。

功能点

功能描述

技术依赖(AtomGit API/跨平台特性)

多方式 Token 登录

支持通过 “Authorization 头”“PRIVATE-TOKEN 头” 或 “access_token 参数” 三种方式配置AtomGit个人访问令牌,自动校验令牌有效性

对接AtomGit API认证接口,处理 401 未授权错误

令牌安全存储

令牌加密存储于平台安全区域,禁止明文存储,防止泄露

平台原生能力

权限范围展示

读取令牌关联的权限范围(如仓库读写、用户信息访问),提示用户当前令牌可操作的资源边界

调用AtomGit /api/v5/user接口,解析用户权限字段

令牌过期提醒

监测API返回的401状态码,自动提示用户令牌过期,引导重新配置令牌

拦截API响应,处理401 Unauthorized错误码

(二)仓库管理模块

核心功能模块,覆盖AtomGit仓库的查询、查看、操作全流程,支持多维度管理代码资产。

1仓库查询与筛选

功能点

功能描述

技术依赖(AtomGit API/跨平台特性)

个人仓库列表

展示当前用户的所有仓库(公开/私有),包含仓库名称、描述、星标数、更新时间等信息

调用/api/v5/users/{username}/repos 接口,支持分页(pageNum/pageSize)

仓库搜索

按仓库名称、描述关键词搜索AtomGit公开仓库,支持按星标数、更新时间排序

对接AtomGit仓库搜索接口,处理查询参数(q = 关键词 & sort=stars/updated)

仓库分类筛选

按 “仓库类型(Git/Submodule)”“语言(Java/Kotlin/Go 等)”“是否私有” 筛选仓库,筛选条件实时生效

解析API返回的仓库语言、visibility字段,本地过滤筛选

2)仓库详情与操作

功能点

功能描述

技术依赖(AtomGit API/跨平台特性)

仓库基础信息展示

展示仓库完整信息:所有者、星标数、分支数、贡献者列表、README文档(Markdown渲染)、仓库地址(HTTPS/SSH)

调用/api/v5/repos/{owner}/{repo}接口,使用 跨平台框架Markdown组件渲染README

分支与标签管理

查看仓库所有分支(默认分支 / 自定义分支)、标签(Tag),支持切换分支查看代码结构

调用/api/v5/repos/{owner}/{repo}/branches和/api/v5/repos/{owner}/{repo}/tags接口

仓库星标/取消星标

一键星标或取消星标仓库,操作结果实时同步到AtomGit,支持批量星标管理

调用POST /api/v5/user/starred/{owner}/{repo}(星标)、DELETE 接口(取消星标),处理204 No Content成功状态

仓库Fork

支持Fork公开仓库到个人账号,Fork后自动刷新个人仓库列表,提示操作结果

调用POST /api/v5/repos/{owner}/{repo}/forks 接口,处理202 Accepted(异步 Fork)状态

3代码浏览

功能点

功能描述

技术依赖(AtomGit API/跨平台特性)

仓库文件树

以树形结构展示仓库目录,支持折叠 / 展开文件夹,点击文件查看代码内容

调用/api/v5/repos/{owner}/{repo}/contents接口,递归获取目录结构

代码高亮查看

查看代码文件时自动识别语言并高亮语法(支持 Java、Kotlin、Python 等主流语言)

跨平台框架代码高亮组件,解析API返回的文件content(Base64解码)

历史版本查看

查看文件的提交历史,选择历史版本对比代码差异(展示增删行)

调用/api/v5/repos/{owner}/{repo}/commits接口获取提交记录,对比不同commit的文件内容

(三)协作与通知模块

基于AtomGit API协作能力,实现团队协作管理与实时通知,提升开发协同效率。

1协作管理

功能点

功能描述

技术依赖(AtomGit API/跨平台特性)

贡献者管理

查看仓库贡献者列表(按贡献次数排序),展示贡献者提交数、最近贡献时间

调用/api/v5/repos/{owner}/{repo}/contributors 接口

Issue管理

查看仓库Issue(待处理 / 已关闭),支持创建Issue(标题、描述、标签)、评论Issue、关闭Issue

调用/api/v5/repos/{owner}/{repo}/issues(列表)、POST /api/v5/repos/{owner}/{repo}/issues(创建)接口,处理201 Created状态

Pull Request(PR)查看

查看仓库PR列表(待审核 / 已合并 / 已关闭),展示PR标题、来源分支、目标分支、审核状态

调用/api/v5/repos/{owner}/{repo}/pulls 接口,解析 PR state(open/closed/merged)字段

2实时通知

功能点

功能描述

技术依赖(AtomGit API/跨平台特性)

通知列表

展示AtomGit平台通知(如 “有人评论你的 Issue”“PR 被审核”),区分已读 / 未读

调用/api/v5/notifications接口,处理unread字段

通知标为已读

支持单个 / 批量将通知标为已读,同步到AtomGit平台

调用PUT /api/v5/notifications/threads/{id}(单个已读)、PUT /api/v5/notifications(批量已读)接口

通知推送提醒

后台定时拉取通知(可配置拉取频率:5分钟/15分钟/30分钟),新通知触发平台原生提醒(Android 通知栏 /iOS 通知中心/鸿蒙通知/桌面通知)

后台任务调度(WorkManager/BackgroundTasks),平台原生通知能力

(四)数据同步与离线模块

优化网络依赖问题,支持本地缓存与离线操作,确保无网络时仍能查看核心数据。

功能点

功能描述

技术依赖(AtomGit API/跨平台特性)

本地数据缓存

缓存已查看的仓库信息、文件内容、通知列表,缓存有效期可配置(默认1天),无网络时自动加载缓存

本地数据库,按API路径与参数作为缓存键

离线操作记录

离线时记录 “星标仓库”“评论 Issue” 等操作,联网后自动重试提交,提示重试结果(成功 / 失败)

本地操作日志表,联网后校验Token有效性并调用对应API,处理429限流错误(指数退避重试)

缓存清理

提供手动清理缓存功能(按 “仓库缓存”“通知缓存”“文件缓存” 分类清理),显示当前缓存占用大小

数据库清理接口,计算缓存文件大小

设置与个性化模块

适配跨平台特性,提供个性化配置与系统设置,优化不同设备的使用体验。

功能点

功能描述

技术依赖(AtomGit API/跨平台特性)

平台主题切换

支持浅色/深色/跟随系统主题,适配不同平台的主题风格

主题系统,读取平台主题模式

API 限流配置

显示当前API调用频率(默认50次/分、5000次/小时),提示剩余调用次数,支持自定义请求间隔(避免触发 429 错误)

监听API响应头的RateLimit字段,本地计算剩余调用次数

设备同步设置

开启后,多设备登录同一账号时同步 “星标仓库”“通知已读状态”(基于AtomGit云端数据,本地仅存储令牌)

依赖AtomGit API 云端数据一致性,多设备通过Token拉取最新数据

关于与帮助

展示应用版本、AtomGit API 版本(当前 v5),提供 “API 文档跳转”(链接到 https://docs.atomgit.com/docs/apis/?login=from_csdn)、“常见问题”(如令牌配置、限流处理)

跨平台WebView组件,打开在线文档与帮助页面

错误处理与反馈模块

基于AtomGit API状态码,提供清晰的错误提示与用户反馈通道,降低问题排查成本。

功能点

功能描述

技术依赖(AtomGit API/跨平台特性)

错误码解析

捕获API返回的错误状态码(如404仓库不存在、403无权限、500服务器错误),转化为用户易懂的提示(例:“仓库不存在,请检查仓库地址是否正确”)

映射AtomGit API状态码表(如 404 → 资源未找到,429 → 调用过于频繁)

操作日志记录

记录API调用日志(请求路径、参数、响应状态码),支持导出日志文件(用于排查问题),日志不包含令牌等敏感信息

本地日志文件(按日期分割),导出时自动脱敏敏感字段

用户反馈

支持用户提交反馈(问题描述、截图),反馈内容包含应用版本、设备型号、API版本,便于开发者定位问题

跨平台截图功能,反馈数据通过安全接口提交(非AtomGit API)

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐