{"id":13958961,"url":"https://github.com/ducafecat/flutter_learn_news","last_synced_at":"2025-04-05T16:08:41.915Z","repository":{"id":50729783,"uuid":"243188185","full_name":"ducafecat/flutter_learn_news","owner":"ducafecat","description":"flutter实战学习-新闻客户端","archived":false,"fork":false,"pushed_at":"2023-05-04T15:15:21.000Z","size":15461,"stargazers_count":432,"open_issues_count":2,"forks_count":115,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-29T15:08:29.128Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://ducafecat.gitee.io/categories/Flutter-%E5%AE%9E%E6%88%98%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%A7%8B/","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/ducafecat.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":"2020-02-26T06:44:19.000Z","updated_at":"2025-03-20T02:50:20.000Z","dependencies_parsed_at":"2024-11-28T02:32:59.783Z","dependency_job_id":"f7560574-e331-4453-a2cb-4f382f2e9a85","html_url":"https://github.com/ducafecat/flutter_learn_news","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ducafecat%2Fflutter_learn_news","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ducafecat%2Fflutter_learn_news/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ducafecat%2Fflutter_learn_news/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ducafecat%2Fflutter_learn_news/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ducafecat","download_url":"https://codeload.github.com/ducafecat/flutter_learn_news/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247361691,"owners_count":20926643,"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":[],"created_at":"2024-08-08T13:02:14.568Z","updated_at":"2025-04-05T16:08:41.881Z","avatar_url":"https://github.com/ducafecat.png","language":"Dart","funding_links":[],"categories":["Flutter 程序"],"sub_categories":["网络服务_其他"],"readme":"\u003ca href=\"https://ducafecat.com\" target=\"_blank\"\u003e\n  \u003cimg src=\"https://ducafecat.oss-cn-beijing.aliyuncs.com/ducafecat/video-ducafecat-banner.png\" alt=\"猫哥视频站\" \u003e\n\u003c/a\u003e\n\n# Flutter 新闻客户端\n\n![ios-index](doc/images/ios-index.png)\n\n## 仓库地址\n\n- https://gitee.com/ducafecat/flutter_learn_news\n\n- https://github.com/ducafecat/flutter_learn_news\n\n## 导航\n\n- [客户端 flutter + yapi](https://github.com/ducafecat/flutter_learn_news)\n- [客户端 flutter + strapi + graphql](https://github.com/ducafecat/flutter_learn_news/tree/graphql+strapi)\n- [客户端后台 docker + strapi + eggjs + mongo + redis](https://github.com/ducafecat/flutter_ducafecat_news_backend)\n\n## 项目目标\n\n通过新闻 APP 业务构建一套精简的代码模板。\n\n## SDK 环境\n\n```\nFlutter 1.17.2 • channel stable • https://github.com/flutter/flutter.git\nFramework • revision 5f21edf8b6 (4 days ago) • 2020-05-28 12:44:12 -0700\nEngine • revision b851c71829\nTools • Dart 2.8.3\n```\n\n## 功能\n\n- [x] 欢迎界面\n- [x] 登录界面\n- [x] 注册界面\n- [x] 首页\n- [ ] 分类页\n- [ ] 搜索页\n- [x] 详情页\n- [x] 个人中心\n\n## 文档 + 视频\n\n| 文档                                                                                                                                                       | B 站                                                 | 油管                                                                                                      |\n| ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |\n| [01 需求分析、使用蓝湖标注工具、项目目录构建](https://ducafecat.tech/2020/02/26/flutter-project/flutter-project-news-01-setup/)                            | [视频](https://www.bilibili.com/video/BV1J7411N7KF)  | [视频](https://www.youtube.com/watch?v=Uucg6GGGBsY\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D\u0026index=2\u0026t=2s)  |\n| [02 设计稿适配、加入图片字体资源、欢迎界面](https://ducafecat.tech/2020/02/27/flutter-project/flutter-project-news-02-weclome/)                            | [视频](https://www.bilibili.com/video/BV19E411s7YM)  | [视频](https://www.youtube.com/watch?v=equsSqqwl9E\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D\u0026index=3\u0026t=0s)  |\n| [03 静态路由、组件抽取、登录注册界面](https://ducafecat.tech/2020/03/12/flutter-project/flutter-project-news-03-sign-in-up/)                               | [视频](https://www.bilibili.com/video/BV1rE411G7se)  | [视频](https://www.youtube.com/watch?v=rF1KYE_QJWU\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D\u0026index=4\u0026t=0s)  |\n| [04 YAPI 接口管理、RESTful、生成代码、dio 封装](https://ducafecat.tech/2020/03/16/flutter-project/flutter-project-news-04-entity-http/)                    | [视频](https://www.bilibili.com/video/BV1t7411R7tN)  | [视频](https://www.youtube.com/watch?v=tj3QZjchIzU\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D\u0026index=5\u0026t=0s)  |\n| [05 AppData、Cache、Fiddle、iconfont、主界面搭建](https://ducafecat.tech/2020/03/25/flutter-project/flutter-project-news-05-cache-iconfont/)               | [视频](https://www.bilibili.com/video/BV1A54y1d7Pa)  | [视频](https://www.youtube.com/watch?v=JSSaEQZ5u_c\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D\u0026index=6\u0026t=0s)  |\n| [06 代码规范、业务代码组织、新闻首页实现](https://ducafecat.tech/2020/03/31/flutter-project/flutter-project-news-06-main-ui/)                              | [视频](https://www.bilibili.com/video/BV1Pp4y1C7hx)  | [视频](https://www.youtube.com/watch?v=cc5aeI2q6lg\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D\u0026index=7\u0026t=0s)  |\n| [07 Provider、认证授权、骨架屏、磁盘缓存](https://ducafecat.tech/2020/04/08/flutter-project/flutter-project-news-07-provider/)                             | [视频](https://www.bilibili.com/video/BV1vV411o7bn)  | [视频](https://www.youtube.com/watch?v=-hup_quZ0K4\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D\u0026index=8\u0026t=0s)  |\n|                                                                                                                                                            | [视频](https://www.bilibili.com/video/BV1SA411t7ov)  | [视频](https://www.youtube.com/watch?v=lYSFtcq4b7k\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D\u0026index=9\u0026t=0s)  |\n|                                                                                                                                                            | [视频](https://www.bilibili.com/video/BV1jt4y1U7Nn)  | [视频](https://www.youtube.com/watch?v=w7wxUEDs7V8\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D\u0026index=10\u0026t=0s) |\n|                                                                                                                                                            | [视频](https://www.bilibili.com/video/BV1wt4y127L5)  | [视频](https://www.youtube.com/watch?v=Qit7IqBUlCE\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D\u0026index=11\u0026t=0s) |\n|                                                                                                                                                            | [视频](https://www.bilibili.com/video/BV1b54y1d7DB)  | [视频](https://www.youtube.com/watch?v=87iZgxpgpVQ\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D\u0026index=12\u0026t=0s) |\n|                                                                                                                                                            | [视频](https://www.bilibili.com/video/BV11z411b7FJ)  | [视频](https://www.youtube.com/watch?v=8V7aIu0adic\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D\u0026index=13\u0026t=0s) |\n| [08 路由管理 auto_route](https://ducafecat.tech/2020/04/17/flutter-project/flutter-project-news-08-auto-route/)                                            | [视频](https://www.bilibili.com/video/BV1xf4y1S7Xq)  | [视频](https://www.youtube.com/watch?v=tuCBD2mUhV4\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D\u0026index=14\u0026t=0s) |\n| [09 详情页展示、分享、远程真机调试](https://ducafecat.tech/2020/04/24/flutter-project/flutter-project-news-09-webview/)                                    | [视频](https://www.bilibili.com/video/BV18e411s7A1)  | [视频](https://www.youtube.com/watch?v=HwLqjMYvT5c\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D\u0026index=15\u0026t=0s) |\n|                                                                                                                                                            | [视频](https://www.bilibili.com/video/BV1RZ4y1W7CN)  | [视频](https://www.youtube.com/watch?v=GKZBp8yU7Ro\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D\u0026index=16\u0026t=0s) |\n| [10 编译发布正式版](https://ducafecat.tech/2020/05/05/flutter-project/flutter-project-news-10-release/)                                                    | [视频](https://www.bilibili.com/video/BV1G541147ZV)  | [视频](https://www.youtube.com/watch?v=0AQU15NbgqQ\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D\u0026index=17\u0026t=0s) |\n|                                                                                                                                                            | [视频](https://www.bilibili.com/video/BV1ik4y1k7yP)  | [视频](https://www.youtube.com/watch?v=mJrH9A70YwU\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D\u0026index=18\u0026t=0s) |\n| [11 APP 升级、android 动态授权](https://ducafecat.tech/2020/05/16/flutter-project/flutter-project-news-11-update-permission/)                              | [视频](https://www.bilibili.com/video/BV1Gi4y147zG)  | [视频](https://www.youtube.com/watch?v=USJKMKBS0QM\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D\u0026index=19\u0026t=0s) |\n|                                                                                                                                                            | [视频](https://www.bilibili.com/video/BV17t4y117ua)  | [视频](https://www.youtube.com/watch?v=fupPGExoMvo\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D\u0026index=20\u0026t=0s) |\n| [12 采用 sentry 平台收集错误](https://ducafecat.tech/2020/06/05/flutter-project/flutter-project-news-12-error-sentry/)                                     | [视频](https://www.bilibili.com/video/BV1Ek4y1r7zk)  | [视频](https://www.youtube.com/watch?v=BzE-vQCrak0\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D\u0026index=21\u0026t=0s) |\n| [13 使用 supernova 导入 adobe xd 自动生成用户中心代码](https://ducafecat.tech/2020/06/18/flutter-project/flutter-project-news-13-code-generate-supernova/) | [视频](https://www.bilibili.com/video/BV1t5411W7Tt)  | [视频](https://www.youtube.com/watch?v=ySDsQUb6kmE\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D\u0026index=21)      |\n| [14 headless strapi + graphql 快速构建新闻后台](https://ducafecat.tech/2020/07/03/flutter-project/flutter-project-news-14-headless-strapi-graphql/)        | [视频](https://www.bilibili.com/video/BV1Zz411e7dj)  | [视频](https://www.youtube.com/watch?v=3ad-TZ6U3-E)                                                       |\n| [15 strapi 数据建模 graphql 条件查询排序](https://ducafecat.tech/2020/07/09/flutter-project/flutter-project-news-15-strapi-graphql-data-model/)            | [视频](https://www.bilibili.com/video/BV1jD4y1S7Mu)  | [视频](https://youtu.be/OZSsRKMTCO4)                                                                      |\n| [16 strapi + graphql 用户注册、登录、异常处理](https://ducafecat.tech/2020/07/14/flutter-project/flutter-project-news-16-strapi-graphql-login-register/)   | [视频](https://www.bilibili.com/video/BV1vt4y1Q7i3)  | [视频](https://youtu.be/Kpvlb5s3R5w)                                                                      |\n| [17 strapi centos 发布部署 + jmeter 压测](https://ducafecat.tech/2020/07/21/flutter-project/flutter-project-news-17-strapi-docker-compose-deploy-jmeter/)  | [视频](https://www.bilibili.com/video/BV15v411q7CK/) | [视频](https://youtu.be/i-YQIpu9WOU)                                                                      |\n\n## 技术点\n\n![technical](doc/images/technical.png)\n\n## 目录结构\n\n![configuration](doc/images/configuration.png)\n\n## dependencies 依赖包\n\n| 名称                 | 说明         |\n| -------------------- | ------------ |\n| auto_route           | 路由管理     |\n| intl                 | 日期格式     |\n| flutter_screenutil   | 屏幕适配     |\n| flutter_easyrefresh  | 上下拉刷新   |\n| pk_skeleton          | 骨架屏       |\n| fluttertoast         | 提示 toast   |\n| dio                  | 通讯 http    |\n| cookie_jar           | cookie       |\n| dio_cookie_manager   | dio cookie   |\n| shared_preferences   | 本地存储     |\n| cached_network_image | 图片缓存     |\n| crypto               | 加密 SHA     |\n| provider             | 响应数据     |\n| webview_flutter      | web 显示     |\n| loading_animations   | loading 动画 |\n| share                | 分享         |\n| auto_route_generator | 自动路由     |\n| build_runner         | 路由代码生成 |\n\n## 导入 iconfont 图标库\n\n```\niconfont_builder --from ./assets/fonts --to ./lib/common/utils/iconfont.dart\n```\n\n## 生成路由\n\n```\nflutter packages pub run build_runner build\n```\n\n## 代码仓\n\nhttps://github.com/ducafecat/flutter_learn_news\n\n## 接口管理\n\n- 管理\n  http://yapi.demo.qunar.com/\n\n- 接口地址\n  http://yapi.demo.qunar.com/mock/88171\n\n## 蓝湖设计稿\n\nhttps://lanhuapp.com/url/lYuz1\n\n密码: gSKl\n\n\u003e 由于设计稿有版权，不方便提供下载，需要的联系我微信添加蓝湖授权\n\n## 视频\n\n- [B 站](https://space.bilibili.com/404904528/channel/detail?cid=106755)\n- [油管镜像](https://www.youtube.com/watch?v=Uucg6GGGBsY\u0026list=PL274L1n86T80VZR30KaLOKV6jqwTq5E8D)\n\n## 联系\n\n微信号: ducafecat\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fducafecat%2Fflutter_learn_news","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fducafecat%2Fflutter_learn_news","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fducafecat%2Fflutter_learn_news/lists"}