跳到正文
发现
GSYGithubApp:Flutter 跨平台 GitHub 客户端
移动应用开发者工具

GSYGithubApp:Flutter 跨平台 GitHub 客户端

基于 Flutter 的开源 GitHub 客户端 App,功能丰富,适合日常管理 GitHub 与学习 Flutter。

admin
发布于 2026-10-28
浏览
4
访问
0
下载
0
版本
v8.1.1
平台
Android、iOS
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。

详细介绍

项目简介

GSYGithubApp(仓库 gsy_github_app_flutter)是一款基于 Flutter 的跨平台开源 GitHub 客户端 App,提供更丰富的功能和更好的使用体验,用于日常管理和维护个人 GitHub。项目框架内技术涉及面广,涵盖常用控件、网络请求、数据库、设计模式、主题切换、多语言、状态管理(Redux、Riverpod、Provider、Signals)等,完成度高、持续维护,适合作为完整的 Flutter 学习与对比参考项目。

同系列还有 Weex、React Native、Android Kotlin View、Android Compose、Compose Multiplatform、HarmonyOS ArkUI 等版本,可与本项目的 Flutter 实现对比参考。

主要功能

  • 围绕 GitHub 的日常使用场景组织页面,代码中按 page/ 目录拆分出首页、动态、Issue、登录、Push、Release、仓库、搜索、趋势、用户等模块。
  • 多种全局状态管理并存演示:Provider、Redux、Riverpod,页面内状态另有 Signals 示例(如 NotifyPage、RepositoryDetailFileListPage)。
  • TrendPage 采用纯 riverpod 状态管理;RepositoryDetailPage 使用 Provider;Redux 用于全局登录和用户信息。
  • Repos 等请求使用 GraphQL。
  • 多套下拉刷新列表组件:
    • gsy_pull_load_widget.dart:common_list_page.dart 等使用,搭配 gsy_list_state.dart;
    • gsy_pull_new_load_widget.dart:dynamic_page.dart 等使用,搭配 gsy_bloc_list_state.dart,支持 iOS 与 Android 两种下拉风格;
    • gsy_nested_pull_load_widget.dart:trend_page.dart 等使用,配合 sliver 效果。
  • 内置主题切换、多语言支持、本地数据库存储,以及 Markdown 渲染、动画、菜单、粒子效果等自定义组件。

整体数据流向:

用户交互 → UI层(Widget/Page) → 状态层(Redux/Provider/Riverpod) → 服务层(Repositories)
       → 网络层(Net) → GitHub API → 数据模型(Model) → 本地存储(DB) → UI更新

安装与使用

  1. 配置好 Flutter 开发环境,当前 Flutter SDK 版本为 3.47.2,仓库已在 .fvmrc 中锁定该版本,推荐使用 FVM 切换:
fvm install 3.47.2 && fvm use 3.47.2
  1. clone 代码后执行 Packages get 安装第三方包(国内网络可能需要设置代理)。

  2. 重要:需要在 lib/common/config/ 目录下创建 ignoreConfig.dart 文件,填入自己申请的 GitHub client_id 和 client_secret:

class NetConfig {
  static const CLIENT_ID = "xxxx";

  static const CLIENT_SECRET = "xxxxxxxxxxx";
}

其中 GitHub App 需在 https://github.com/settings/applications/new 注册。

  1. 如果使用安全登录(授权登录),注册 GitHub App 时的 Authorization callback URL 一栏必须填入 gsygithubapp://authed。

<img src="http://img.cdn.guoshuyu.cn/register0.png" width="426px"/>
<img src="http://img.cdn.guoshuyu.cn/register1.jpg" width="426px"/>

  1. 运行前请确认:本地 Flutter SDK 版本为 3.47.2(可用 fvm use 切换)、已执行 flutter pub get。

Android 安装包可从 Releases 下载:https://github.com/CarGuo/gsy_github_app_flutter/releases (备用地址 https://www.openapk.net/gsygithubappflutter/com.shuyu.gsygithub.gsygithubappflutter/ );iOS 暂未提供下载。

效果示例

<img src="http://img.cdn.guoshuyu.cn/showapp2.jpg" width="426px"/>
<img src="http://img.cdn.guoshuyu.cn/showapp3.jpg" width="426px"/>

注意事项


本作品整理自 GitHub 开源项目 CarGuo/gsy_github_app_flutter,原作者 @CarGuo,许可证 Apache-2.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。

更新记录

  1. v8.1.1当前版本

    同步自 GitHub Release 8.1.1

评论