{"id":14956347,"url":"https://github.com/kaina404/flutterdouban","last_synced_at":"2025-05-14T02:09:41.375Z","repository":{"id":37335554,"uuid":"166813643","full_name":"kaina404/FlutterDouBan","owner":"kaina404","description":"🔥🔥🔥Flutter豆瓣客户端,Awesome Flutter Project,全网最100%还原豆瓣客户端。首页、书影音、小组、市集及个人中心，一个不拉。（ https://img.xuvip.top/douyademo.mp4）","archived":false,"fork":false,"pushed_at":"2024-03-20T07:33:11.000Z","size":159159,"stargazers_count":8919,"open_issues_count":53,"forks_count":1851,"subscribers_count":146,"default_branch":"main","last_synced_at":"2025-04-17T17:37:43.001Z","etag":null,"topics":["android","dart","flutter","ios"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kaina404.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-21T12:52:02.000Z","updated_at":"2025-04-17T15:02:25.000Z","dependencies_parsed_at":"2023-02-16T03:16:49.590Z","dependency_job_id":"1e7bfb18-b279-4a03-97fb-0c22919149cc","html_url":"https://github.com/kaina404/FlutterDouBan","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaina404%2FFlutterDouBan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaina404%2FFlutterDouBan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaina404%2FFlutterDouBan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaina404%2FFlutterDouBan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kaina404","download_url":"https://codeload.github.com/kaina404/FlutterDouBan/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254053279,"owners_count":22006717,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","dart","flutter","ios"],"created_at":"2024-09-24T13:12:50.381Z","updated_at":"2025-05-14T02:09:36.360Z","avatar_url":"https://github.com/kaina404.png","language":"Dart","readme":"![](https://github.com/kaina404/FlutterDouBan/blob/master-new/logo.png)\n\n\n[![GitHub stars](https://img.shields.io/github/stars/kaina404/FlutterDouBan.svg)](https://github.com/kaina404/FlutterDouBan/stargazers)\n[![GitHub forks](https://img.shields.io/github/forks/kaina404/FlutterDouBan.svg)](https://github.com/kaina404/FlutterDouBan/network)\n[![GitHub issues](https://img.shields.io/github/issues/kaina404/FlutterDouBan.svg)](https://github.com/kaina404/FlutterDouBan/issues) \n\n\u003e SDK Version\n```java\nkaina404 ~ % flutter --version\nFlutter 2.5.3 • channel stable • https://github.com/flutter/flutter.git\nFramework • revision 18116933e7 (4 months ago) • 2021-10-15 10:46:35 -0700\nEngine • revision d3ea636dc5\nTools • Dart 2.14.4\nkaina404 ~ % flutter doctor\nDoctor summary (to see all details, run flutter doctor -v):\n[✓] Flutter (Channel stable, 2.5.3, on macOS 11.4 20F71 darwin-arm, locale zh-Hans-CN)\n[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)\n[✓] Xcode - develop for iOS and macOS\n[✓] Chrome - develop for the web\n[✓] Android Studio (version 2020.3)\n[✓] VS Code (version 1.62.3)\n[✓] Connected device (3 available)\n```\n\n\u003e 如果产生其他依赖无法编译的问题，可以尝试将`pubspec.yaml`中的`dependencies`中的所有依赖的\"^\"去掉，重新编译尝试。\n## [博客地址](https://www.jianshu.com/u/1c09737416aa)\n真正的豆瓣客户端，90%还原豆瓣。首页、书影音、小组、市集及个人中心，一个不拉。项目持续更新中...\n# [演示预览(右键，新标签页面打开)](https://img.xuvip.top/douyademo.mp4)\n\n**如果您觉得还可以的话，给个Star白~**\n\n# 使用Flutter开发一个豆瓣App\n   \n   * 此项目，90%还原某瓣APP，所有UI均按照某瓣来实现。\n   * 项目中的数据均来自豆瓣api真实有效数据\n   * 项目中用到了几乎所有的Flutter widget\n   * 还有两个比较大的自定义魔改源码实现特效\n   * 大年初一也在维护的项目\n   \n   \u003e APP中所有数据均为真实数据。但是默认，对于\"书影音单个电影tab\"的数据，使用模拟数据。因为，频繁的打开关闭APP，会频繁调用\n    这个接口。接口是有调用限制的，次数过于频繁，会被锁IP。如果想看真实数据，则可以进入\n    \"我的\"，然后打开\"书影音数据来自网络\"开关后，重启APP即可。\n    \n# 下载地址\n## [打开新页面扫码下载](https://upload-images.jianshu.io/upload_images/3884536-d9adbda0e5f61c84.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\n#### [Release版本下载地址](https://img.xuvip.top/douya_release.apk)\n\n\n![扫一扫下载体验](https://img.xuvip.top/douya.png)\n\n\n   \n\n   \n#### Demo(刷不出gif图的，耐心等待一会，或者多刷几次。)\n![](https://github.com/kaina404/FlutterDouBan/blob/master-release/0E95A04AE84EFE31104AC8E0A5808CB9.png)\n![](https://github.com/kaina404/FlutterDouBan/blob/master-release/041919372752_04CCDD7BC1BDB6015935EE50DDF75C29F.png)\n![](https://github.com/kaina404/FlutterDouBan/blob/master-release/041919374444_0B3C7C7E29941F75D0A7C944D4E352CB7.png)\n![](https://github.com/kaina404/FlutterDouBan/blob/master-release/041919375761_05292CAB58428C7C77C544027FC899CC0.png)\n![](https://github.com/kaina404/FlutterDouBan/blob/master-release/041919380838_07B17727ACF231C6D91914D71114A96CF.png)\n![](https://github.com/kaina404/FlutterDouBan/blob/master-release/041919381924_01CE541B98F565C72B75567A319271CA1.png)\n\n![demo1](https://github.com/kaina404/DouBanProject/blob/dev-0.1/demogif/Mar-10-2019%2014-12-55.gif)\n    \n![demo1](https://github.com/kaina404/DouBanProject/blob/dev-0.1/demogif/Mar-10-2019%2014-13-11.gif)\n    \n![demo1](https://github.com/kaina404/DouBanProject/blob/dev-0.1/demogif/Mar-10-2019%2014-17-38.gif)\n    \n![demo1](https://github.com/kaina404/DouBanProject/blob/dev-0.1/demogif/Mar-10-2019%2014-17-48.gif)\n    \n![demo1](https://github.com/kaina404/DouBanProject/blob/dev-0.1/demogif/Mar-10-2019%2014-18-03.gif)\n    \n![demo1](https://github.com/kaina404/DouBanProject/blob/dev-0.1/demogif/Mar-10-2019%2014-18-12.gif)\n    \n![demo1](https://github.com/kaina404/DouBanProject/blob/dev-0.1/demogif/Mar-10-2019%2014-18-23.gif)  \n \n![demo1](https://github.com/kaina404/DouBanProject/blob/dev-0.1/demogif/Mar-10-2019%2014-30-58.gif) \n  \n![demo1](https://github.com/kaina404/DouBanProject/blob/dev-0.1/demogif/Mar-10-2019%2014-31-13.gif) \n  \n![demo1](https://github.com/kaina404/DouBanProject/blob/dev-0.1/demogif/Mar-10-2019%2014-32-29.gif) \n  \n![demo1](https://github.com/kaina404/DouBanProject/blob/dev-0.1/demogif/Mar-10-2019%2014-32-41.gif) \n  \n![demo1](https://github.com/kaina404/DouBanProject/blob/dev-0.1/demogif/Mar-10-2019%2014-33-02.gif)   \n\n\n   \n# dev-open\n   \n   ### 大家可以向这个分支根据豆瓣UI做设计稿，提交代码\n\n   * 这个分支供广大Flutter开发者来学习Flutter\n   * **此分支囊括了Flutter 90%的组件的基本与组合使用**，是初学者真正实践的不错选择\n   * 在此豆芽APP的首页实现与影片详情的UI特效，基于魔改Flutter源码。有兴趣可以看看\n   * 大家想实战自己的Flutter能力，可以将某瓣APP作为设计稿，完成需求，并提交\n   * 每位开发者提交的代码，我都会在文档中进行备注\n   \n   #### 注意！！！建议使用模拟数据(mock_request.dart)\n   * 每个接口均有一定的调用限制\n   *  *大家pull下的代码，进行测试调试时，对于特定接口，返回的特定数据。尽量不要每次求请求一次。可以请求到一次真实数据后，转成json保存\n        到本地。然后，自己调试开发的时候，使用这个模拟数据即可。* [可参考mock_request.dart]\n   \n  \n\n# 未来版本计划(欢迎Flutter爱好者前来认领)\n\n **欢迎Flutter爱好者共同完成**\n   \n \u003e 涉及到UI，可参考豆瓣。\n   \n### 萌新TASK\n    \n   * 完成任意一个未实现的按钮\n   * 完成任意一个未实现的页面\n   * 优化原有Widget\n   * 爱好者想实现但是未能实现的需求\n   * More ...\n  \n### 进阶TASK\n  \n  * 优化代码\n  * 适当缓存数据\n  * 解决卡顿(可参考：https://flutter-io.cn/docs/testing/ui-performance)\n  * 优化路由（可参考咸鱼方案：https://www.yuque.com/xytech/flutter/vf1dpf）\n  \n### 老手TASK\n\n * [接入rxdart](https://github.com/ReactiveX/rxdart)\n * [使用Fish Redux 重构](https://www.yuque.com/xytech/flutter/ycc9ni)\n \n \n   \n# 对魔改源码或者喜欢翻源码的童鞋可以看看下面两个\n   \n * 魔改Flutter AppBar源码实现豆瓣头部特效\n \n    ![魔改Flutter AppBar源码实现豆瓣头部特效](https://github.com/kaina404/DouBanProject/blob/dev-0.1/%E4%BB%BF%E8%B1%86%E7%93%A3%E5%A4%B4%E9%83%A8.gif)\n\n * 魔改源码实现电影详情抽屉特效(GIF图如果加载不出来，多刷几次)\n \n    ![抽屉特效1](https://github.com/kaina404/DouBanProject/blob/dev-0.1/part1.gif)\n    \n    ![抽屉特效2](https://github.com/kaina404/DouBanProject/blob/dev-0.1/part2.gif)\n    \n    ![抽屉特效3](https://github.com/kaina404/DouBanProject/blob/dev-0.1/part3.gif)\n    \n    \n# 页面介绍\n \n  * 首页 pages/home\n        \n    * homo_app_bar.dart 首页导航头\n    * home_page.dart 首页\n    * my_home_tab_bar.dart 首页tab\n    \n  * 书影音 pages/movie\n  \n    * book_audio_video_page.dart 书影音页面\n    * detail_page.dart 影片、电视详情页面\n    * person_detail_page.dart 演员页面介绍\n    * ... 页面都有注释\n    \n  * 小组 pages/group\n  \n  * 市集 shop_page.dart \n    * 市集的数据使用两个webview\n    \n  * 我的 page/person\n    \n    \n\n# 更新记录\n\n * dev-0.1\n   * 魔改源码实现电影详情抽屉特效\n   * 魔改Flutter AppBar源码实现豆瓣头部特效\n   * 优化页面逻辑\n   * 优化加载速度\n\n * master \n   * 基本网络请求框架、UI框架\n   * 已经填入了\"最为复杂的电影TAB页面\"、影视详情页面、小组页面（UI与豆瓣一致，数据使用的是热映榜）\n        * 页面上下滑动\n        * 页面上下+左右滑动\n        * 数据加载\n        * TAB页面滑动\n        * ....\n   * 作为基本版本，一些逻辑不够完善，有一些bug。\n  \n# 默认条约\n\n   此项目仅供大家交流沟通使用，不得用于任何商业以及利益活动。由此引起的责任，跟我无关。谢谢！\n\n# **如果您觉得还可以的话，给个Star白~**\n\n# Thanks\n\n\u003cimg src=\"https://github.com/kaina404/FlutterDouBan/blob/master-new/48.jpg\" width=\"426px\"\u003e\n\n## Getting Started\n\nThis project is a starting point for a Flutter application.\n\nA few resources to get you started if this is your first Flutter project:\n\n- [Lab: Write your first Flutter app](https://flutter.io/docs/get-started/codelab)\n- [Cookbook: Useful Flutter samples](https://flutter.io/docs/cookbook)\n\nFor help getting started with Flutter, view our \n[online documentation](https://flutter.io/docs), which offers tutorials, \nsamples, guidance on mobile development, and a full API reference.\n \n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaina404%2Fflutterdouban","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaina404%2Fflutterdouban","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaina404%2Fflutterdouban/lists"}