# GSYGithubAppFlutter **Repository Path**: CarGuo/GSYGithubAppFlutter ## Basic Information - **Project Name**: GSYGithubAppFlutter - **Description**: 超完整的Flutter项目,功能丰富,适合学习和日常使用。GSYGithubApp系列的优势:我们目前已经拥有Flutter、Weex、ReactNative、kotlin 四个版本。 功能齐全,项目框架内技术涉及面广,完成度高,持续维护,配套文章,适合全面学习,对比参考。跨平台的开源Github客户端App,更好的体验,更丰富的功能,旨在更好的日常管理和维护个人Github,提供更好更方便的驾车体验Σ( ̄。 ̄ノ)ノ。同款Weex版本 : https://github.com/CarGuo/GSYGithubAppWeex 、同款React Native版本 : https://github.com/CarGuo/GSYGithubApp 、原生 kotlin 版本 https://github.com/CarGuo/GSYGithubAppKotlin - **Primary Language**: Dart - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 422 - **Forks**: 134 - **Created**: 2019-05-22 - **Last Updated**: 2025-06-03 ## Categories & Tags **Categories**: mobile-app **Tags**: None ## README  [](https://github.com/CarGuo/gsy_github_app_flutter/actions) [](https://github.com/CarGuo/GSYGithubAppFlutter/stargazers) [](https://github.com/CarGuo/GSYGithubAppFlutter/network) [](https://github.com/CarGuo/GSYGithubAppFlutter/issues) [](https://github.com/CarGuo/GSYGithubAppFlutter/blob/master/LICENSE) ### [English Readme](https://github.com/CarGuo/GSYGithubAppFlutter/blob/master/README_EN.md) ## 一款跨平台的开源Github客户端App,提供更丰富的功能,更好体验,旨在更好的日常管理和维护个人Github,提供更好更方便的驾车体验~~Σ( ̄。 ̄ノ)ノ。项目涉及各种常用控件、网络、数据库、设计模式、主题切换、多语言、状态管理(Redux、Riverpod、Provider)等。在开发学习过程中,提供丰富的同款对比: * ### 简单 Flutter 独立学习项目 ( https://github.com/CarGuo/gsy_flutter_demo ) * ### 同款Weex版 ( https://github.com/CarGuo/GSYGithubAppWeex ) * ### 同款ReactNative版 ( https://github.com/CarGuo/GSYGithubApp ) * ### 同款Android Kotlin版本( https://github.com/CarGuo/GSYGithubAppKotlin ) ## 相关文章 | 公众号 | 掘金 | 知乎 | CSDN | 简书 |---------|---------|--------- |---------|---------| | GSYTech | [点我](https://juejin.cn/user/582aca2ba22b9d006b59ae68/posts) | [点我](https://www.zhihu.com/people/carguo) | [点我](https://blog.csdn.net/ZuoYueLiang) | [点我](https://www.jianshu.com/u/6e613846e1ea) - ### [Flutter系列文章专栏](https://juejin.cn/column/6960546078202527774) ---- - ### [Flutter 独立简单学习演示项目](https://github.com/CarGuo/gsy_flutter_demo) - ### [Flutter 完整开发实战详解 Gitbook 预览下载](https://github.com/CarGuo/gsy_flutter_book) - ### [所有运行问题请点击这里](https://github.com/CarGuo/gsy_github_app_flutter/issues/13) * ### GSY老书:[《Flutter开发实战详解》](https://item.jd.com/12883054.html)上架啦:[京东](https://item.jd.com/12883054.html) / [当当](http://product.dangdang.com/28558519.html) / 电子版[京东读书](https://e.jd.com/30624414.html)和[Kindle](https://www.amazon.cn/dp/B08BHQ4TKK/ref=sr_1_5?__mk_zh_CN=亚马逊网站&keywords=flutter&qid=1593498531&s=digital-text&sr=1-5) - ### [如果克隆太慢或者图片看不到,可尝试从码云地址下载](https://gitee.com/CarGuo/GSYGithubAppFlutter) ----- ## 须知 > **因为是偏学习展示项目,所以项目里会有各式各样的模式、库、UI等,请不要介意** > > 0、 全局状态管理目前有多种模式,包括 Provider、Redux、Riverpod 等 > > 1、 TrendPage : 目前采用纯 riverpod 状态管理,演示 > > 2、 Provider:目前在 RepositoryDetailPage 出使用 > > 3、 Redux:目前展示了全局登陆和用户信息等上面使用。 > > 4、 Provider:目前用于管理全局灰度,多语言。 > > 5、 Repos 等请求展示了 graphQL > > 6、 Redux:目前展示了全局登陆和用户信息等上面使用。 > > 7、 Signals:目前用于 NotifyPage、RepositoryDetailFileListPage 页面内状态管理 > > **列表显示有多个,其中:** > > 1、**gsy_pull_load_widget.dart.dart** > `common_list_page.dart 等使用,搭配 gsy_list_state.dart 使用` > > 2、**gsy_pull_new_load_widget.dart.dart** > `dynamic_page.dart 等使用,搭配 gsy_bloc_list_state.dart 使用` > `有 iOS 和 Android 两种风格下拉风格支持` > > 3、**gsy_nested_pull_load_widget.dart** > `trend_page.dart 等使用,配置sliver 效果` ## 编译运行流程 1、配置好Flutter开发环境(目前Flutter SDK 版本 **3.32**),可参阅 [【搭建环境】](https://flutterchina.club)。 2、clone代码,执行`Packages get`安装第三方包。(因为某些不可抗力原因,国内可能需要设置代理: [代理环境变量](https://flutterchina.club/setup-windows/)) >### 3、重点:你需要自己在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),当然,前提是你现有一个github账号(~ ̄▽ ̄)~ 。 ### 4、如果使用安全登录(授权登录),那么在上述注册 Github App 的 Authorization callback URL 一栏必须填入 `gsygithubapp://authed`