{"id":13522108,"url":"https://github.com/yukilzw/dy_flutter","last_synced_at":"2025-05-15T15:08:46.147Z","repository":{"id":37733951,"uuid":"196854656","full_name":"yukilzw/dy_flutter","owner":"yukilzw","description":"DY :rocket: Flutter 礼物特效、手势动画、弹幕池、抽奖、鱼吧","archived":false,"fork":false,"pushed_at":"2021-11-01T20:02:30.000Z","size":760,"stargazers_count":2147,"open_issues_count":1,"forks_count":637,"subscribers_count":40,"default_branch":"master","last_synced_at":"2025-03-31T20:06:21.024Z","etag":null,"topics":["flutter"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":false,"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/yukilzw.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}},"created_at":"2019-07-14T15:44:58.000Z","updated_at":"2025-03-31T12:04:40.000Z","dependencies_parsed_at":"2022-07-14T04:10:32.099Z","dependency_job_id":null,"html_url":"https://github.com/yukilzw/dy_flutter","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukilzw%2Fdy_flutter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukilzw%2Fdy_flutter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukilzw%2Fdy_flutter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukilzw%2Fdy_flutter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yukilzw","download_url":"https://codeload.github.com/yukilzw/dy_flutter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247730068,"owners_count":20986404,"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":["flutter"],"created_at":"2024-08-01T06:00:42.339Z","updated_at":"2025-04-07T21:10:46.311Z","avatar_url":"https://github.com/yukilzw.png","language":"Dart","funding_links":[],"categories":["Flutter 程序","实战项目"],"sub_categories":["网络服务_其他","高仿App项目"],"readme":"\u003cp align=\"center\"\u003e\u003cimg width=\"95\" src=\"http://m.qpic.cn/psc?/V14dALyK4PrHuj/TmEUgtj9EK6.7V8ajmQrEE6*Uxu7pEUvrF6buDAC1qQBtOPo9FXPTzYdO3pyFiogvuA4HNDBer8u1KJY71acYTXx1pnl2uCYv*E1JIoixbA!/b\u0026bo=AAEAAQABAAEDGTw!\u0026rf=viewer_4\u0026t=5\" alt=\"斗鱼APP\"\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/flutter-2.0.0-52c6f9.svg?sanitize=true\" alt=\"flutter-1.22\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/android✔-brightgreen.svg?sanitize=true\" alt=\"android✔\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/ios✔-green.svg?sanitize=true\" alt=\"ios✔\"\u003e\n\u003c/p\u003e\n\n\u003ch2 align=\"center\"\u003e斗鱼Flutter\u003c/h2\u003e\n\nflutter重构的斗鱼直播APP\u003cbr/\u003e\n首页、娱乐为Material组件；直播间、鱼吧为纯自定义编写。\u003cbr/\u003e\n另外整合各类优质的第三方开源库，打造出原生APP丝滑的用户体验\u003cbr/\u003e\n尽可能接入更多功能，方法附带注释，帮助你在使用flutter进行开发新的应用提供实用的借鉴案例\u003cbr/\u003e\n\n#### APP截图：\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd \u003e\n          \u003cimg src=\"http://m.qpic.cn/psc?/V14dALyK4PrHuj/bqQfVz5yrrGYSXMvKr.cqaBgyoLMU7RqFQMjF1E5rBSN69..NZhiO89.yrgXkS6mTUwd*cb3ZSTIIiw5.iYRqBJZNdmErVng83zgFyZw3fA!/b\u0026bo=gAIkBaAFkAsBCbM!\u0026rf=viewer_4\u0026t=5\" width=\"100%\"\u003e\n        \u003c/td\u003e\n        \u003ctd \u003e\n          \u003cimg src=\"http://m.qpic.cn/psc?/V14dALyK4PrHuj/bqQfVz5yrrGYSXMvKr.cqXLF*aVasp07p*Gto1g39y8aZOuyCwiCZ7OE4qg0HlHdSGC23z.kMOk6TRSl.Vz42C*KqGEkKzgahqZfA2ioU*I!/b\u0026bo=gAIkBaAFkAsBCbM!\u0026rf=viewer_4\u0026t=5\" width=\"100%\"\u003e\n        \u003c/td\u003e\n        \u003ctd \u003e\n          \u003cimg src=\"http://m.qpic.cn/psc?/V14dALyK4PrHuj/bqQfVz5yrrGYSXMvKr.cqQlzJYlZpjmaYqbMmmVlIfygeiYM7LMzpr7UEBdem9TURt*pkPlyK3fFvGk2eY.I1BtAX74KahT368qwSMIKP1U!/b\u0026bo=gAIkBaAFkAsBCbM!\u0026rf=viewer_4\u0026t=5\" width=\"100%\"\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n       \u003ctd \u003e\n          \u003cimg src=\"http://m.qpic.cn/psc?/V14dALyK4PrHuj/bqQfVz5yrrGYSXMvKr.cqThM.g*uqbv34APs2xUD795zzub.0Dc8*QFXGyRSc7aopK1TUkZnVFCO5cqvOO1r6O2UtjD0Pki0Gzza5R4dz*M!/b\u0026bo=gAIkBaAFkAsBCbM!\u0026rf=viewer_4\u0026t=5\" width=\"100%\"\u003e\n        \u003c/td\u003e\n        \u003ctd \u003e\n          \u003cimg src=\"http://m.qpic.cn/psc?/V14dALyK4PrHuj/TmEUgtj9EK6.7V8ajmQrEH6IpnXld6FGQQHdyvv0dLAOgZN7.9jzMpMWHejoGTEWbMkYbRrkaNVCXPTTnsi*4.lOPqKEZadxwy1njSC.bKk!/b\u0026bo=gAIkBaAFkAsBKZM!\u0026rf=viewer_4\u0026t=5\" width=\"100%\"\u003e\n        \u003c/td\u003e\n        \u003ctd \u003e\n          \u003cimg src=\"http://m.qpic.cn/psc?/V14dALyK4PrHuj/TmEUgtj9EK6.7V8ajmQrED*reHLmlDRzT43e6kiwzMNhOMGjGzslRl.TYS3MkfnDKtzoxbNkkju8Iw9N2ow5hMWNsTJCTxQaeREAlNtHwFI!/b\u0026bo=gAIkBaAFkAsBGaM!\u0026rf=viewer_4\u0026t=5\" width=\"100%\"\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n       \u003ctd \u003e\n          \u003cimg src=\"http://m.qpic.cn/psc?/V14dALyK4PrHuj/TmEUgtj9EK6.7V8ajmQrEB*oC0jYr45N4XNhdrM1yAK99Mcrs92abHL8zMWGarZ3xk7c*crdD2eEW1ssMDQZEsH16hosf0rnp7PDRpI5ZnM!/b\u0026bo=gAIkBaAFkAsBKZM!\u0026rf=viewer_4\u0026t=5\" width=\"100%\"\u003e\n        \u003c/td\u003e\n        \u003ctd \u003e\n          \u003cimg src=\"http://m.qpic.cn/psc?/V14dALyK4PrHuj/TmEUgtj9EK6.7V8ajmQrEEpYPJsokdhxS8ZJPdpyd4h7j0uwUEiyDXHhRSKB1aE9k0hf6Xmlq59g.MpMZfuojsn1UTeWD.8PwerbFzTpbPc!/b\u0026bo=gAIkBaAFkAsBKZM!\u0026rf=viewer_4\u0026t=5\" width=\"100%\"\u003e\n        \u003c/td\u003e\n        \u003ctd \u003e\n          \u003cimg src=\"http://m.qpic.cn/psc?/V14dALyK4PrHuj/TmEUgtj9EK6.7V8ajmQrEOh8XZsi9bmSt55Q14bJBlbYyAzKf5RbGbeUGWmFAxFhVdq67Knce623EQWtUn42Oa9qXI3YMTEZcWtuvQsK4f4!/b\u0026bo=gAIkBaAFkAsBGaM!\u0026rf=viewer_4\u0026t=5\" width=\"100%\"\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n       \u003ctd \u003e\n          \u003cimg src=\"http://m.qpic.cn/psc?/V14dALyK4PrHuj/TmEUgtj9EK6.7V8ajmQrEDZiySLBOghulMLa1J1SlA4yTA36ua0sJUKydayYdoQZuD11ksRfY5qQmZ6btw4U*rnYx2PjZh96GWn.8kmAkJk!/b\u0026bo=gAIkBaAFkAsBGaM!\u0026rf=viewer_4\u0026t=5\" width=\"100%\"\u003e\n        \u003c/td\u003e\n        \u003ctd \u003e\n          \u003cimg src=\"http://m.qpic.cn/psc?/V14dALyK4PrHuj/TmEUgtj9EK6.7V8ajmQrECX7UhQoMNbn.zaa1QTctnsdRMEaz9AHVMnQkhVJAIXK1OsjW9SCcVyZM5jo5MF*rrrS4wwdM3w*U7wO8wtfc3U!/b\u0026bo=gAIkBaAFkAsBKZM!\u0026rf=viewer_4\u0026t=5\" width=\"100%\"\u003e\n        \u003c/td\u003e\n        \u003ctd \u003e\n          \u003cimg src=\"http://m.qpic.cn/psc?/V14dALyK4PrHuj/bqQfVz5yrrGYSXMvKr.cqRGurtWW.dwJkBUlUai8n4M4RsCOUjgHRB61DR8473rvOz45Cgd2lDota9bBNfr1E*ViYKY6mDz7ssJG6bBiOqU!/b\u0026bo=gAIkBaAFkAsBCbM!\u0026rf=viewer_4\u0026t=5\" width=\"100%\"\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n#### 包含功能：\n- 启动页广告位\n- 开播列表上拉加载、下拉刷新、返回顶部\n- 列表图片缓存加载优化\n- 渐进式头部动画\n- 底部导航切换保存页面状态\n- HTTP缓存、IO缓存\n- 直播间webSocket消息弹幕、礼物\n- 页面路由传值\n- RxDart全局消息通信封装\n- Bloc流式状态管理(启动页预加载首页数据)\n- 礼物横幅动画队列\n- 礼物特效全屏lottie\n- 弹幕消息滚动\n- 静态视频流\n- 九宫格抽奖游戏\n- 照片选择器\n- 全屏、半屏webView\n- 鱼吧头部手势动画\n- 仿微信朋友圈图片控件\n- 登录注册弹窗\n- 国家区号列表(仿微信通讯录滑动首字母定位)\n- 二维码扫码\n- 本地通知推送\n- ...\n- 持续增加中\n\n#### 本地调试：\n`flutter run --release`打包发布版本预览\u003cbr/\u003e\nAPP所有数据均来源Mock网络请求，服务端接口没有上云，可修改`lib/base.dart`中`DYBase.baseHost`为你的电脑IP，并确保手机与电脑在同一局域网且能访问内网`1236`端口\u003cbr/\u003e\n然后clone[服务端仓库](https://github.com/yukilzw/factory)，Mock服务为`python tornado`，两种简单启动方式可选：\u003cbr/\u003e\n1. 在py 3.6~3.8下启动服务\n  - 安装`python3.6`环境;\n  - cmd切换运行环境`cd ./tornado`;\n  - 加载依赖包 `pip install -r requirements.txt`;\n  - 启动服务`python main.py`\n2. 使用Docker镜像，具体方式参考该项目说明。\n\n安卓打包可能因为国内无法加载gradle的问题，就算配了镜像也很慢，建议手动下载`grdle-6.4.1-all.zip`版本再构建，下载安装可见[此文章](https://www.cnblogs.com/yehuabin/p/10344713.html)\n\n#### 入门推荐：\n[Dart语法](https://www.dartcn.com/guides/get-started) - 语法中文教程\u003cbr/\u003e\n[Flutter中文网](https://flutterchina.club/get-started/install/) - 简单易懂的入门教程\u003cbr/\u003e\n[Flutter实战](https://book.flutterchina.club/) - 较为全面的进阶教程\u003cbr/\u003e\n[Dart SDK（EN）](https://api.dartlang.org/stable/2.4.0/index.html) - flutter中可用的SDK\u003cbr/\u003e\n[Flutter官网（EN）](https://flutter.dev/docs) - 可查阅全部的API与SDK相关\u003cbr/\u003e\n[Bloc（EN）](https://felangel.github.io/bloc/#/gettingstarted) - 全局状态管理\n\n#### dy_flutter为个人开源项目，仅用作学习实践\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyukilzw%2Fdy_flutter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyukilzw%2Fdy_flutter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyukilzw%2Fdy_flutter/lists"}