zhongmeizhi/fultter-example-app
एक फीचर्स पूर्ण ब्लॉक मॉडल फ्लटर ऐप प्रोजेक्ट।🍨 स्पा एप्लिकेशन के आर्किटेक्चर पर अधिक ध्यान केंद्रित, नोड को बैकएंड सिस्टम के रूप में उपयोग किया गया है, कुछ आधिकारिक प्लगइन का उपयोग किया गया है, अधिकांश फीचर्स खुद से संवर्धित।🥰 उपयोगी हो तो Star करें।
- Stars
- 277
- Forks
- 63
- अंतिम पुश (UTC)
- 21 मार्च 2023
- प्रोजेक्ट स्थिति
- सक्रिय
भाषाएँDartJavaScriptObjective-CShellJavaHTML
तकनीकी विषय
उपयोग की गई निर्भरताएँ
निर्भरता सूची 14 आइटम
- flutter
{"sdk":"flutter"} - flutter_localizations
{"sdk":"flutter"} - cupertino_icons
^0.1.2 - common_utils
^1.1.1 - webview_flutter
^0.3.10+3 - shared_preferences
^0.5.0 - permission_handler
^3.2.2 - path_provider
^0.4.1 - flutter_downloader
1.1.9 - url_launcher
5.2.7 - flutter_bloc
^0.21.0 - bloc
^0.15.0 - dio
^2.1.16 - flutter_testडेवलपमेंट
{"sdk":"flutter"}
रैंकिंग
मूल README
यह अंग्रेज़ी मूल स्नैपशॉट है। नवीनतम सामग्री GitHub पर देखें।
README खोलें / बंद करें
Flutter-App
项目介绍
一个功能完整齐全的Bloc模式Flutter App项目。更关注架构的SPA应用。
项目更关注整体架构,以SPA方式完成全局Loading,全局Toast,全局命名路由动画,参数传递等功能。以Bloc方式实现状态管理,一键换肤等功能。实现了屏幕适配,可自定义全局Loading的请求封装,分离开发、测试、生产环境,WebView自然也一定要有咯。项目大部分都使用Flutter原生API来完成。使用少量原生插件。喜欢请Star,尽量别 Fork。
APP强更提示:
- 虚拟机似乎不支持强更,需要用真机试
项目预览
| 1 | 2 | 3 | 4 |
|---|---|---|---|
| 5 | 6 | 7 | 8 |
| 9 | update | search | reorder |
项目计划
- [x] ZFit 屏幕适配
- [x] RouteSetting + 路由数据回传
- [x] 自定义App桌面 图标 + 名称
- [x] 无限轮播图
- [x] EventBus
- [x] koa2 + node 后台服务器
- [x] 封装请求
- [x] Storage 保持登录状态
- [x] 解决页面切换重绘问题
- [x] webview
- [x] 下拉刷新 + 上拉加载
- [x] keepa-live && 缓存Widget
- [x] 搜索功能
- [x] App强制更新
- [x] 拖动式排序
- [x] BLoC模式 实现状态管理
- [x] 一键换肤
- [x] 重写Flutter部分类
- [x] 全局Toast + 全局 Dialog
- [x] 全局 命名路由动画
- [x] 实现 SPA (单页面应用)
- [x] 环境分离
- [x] 元数据(由于flutter不支持反射,End)
- [ ] Bloc模式完善
- [ ] node架构完善
目录结构
主目录:
- assets:静态文件
- back-end:mock数据
lib目录:
- config:配置文件
- domain:实体类
- bloc:逻辑模块
- page:页面
- plugin:独立组件/插件
- routes:路由
- service:接口封装 + API地址
- styles: 常用样式类
- utils:工具类
- view:可复用Widget
主要管理文件
service.dart:请求管理manager_page.dart:单页管理
Node 后台:
- 安装
node.js - cd 到项目
back-end目录下 - 控制台运行
npm i - 控制台运行
node server.js - 启动服务端成功
- tip:记得先要修改
config文件下的 baseUrl - tip:如果要启动node的负载均衡/热重载请使用PM2
附: 如果是本地调试,baseUrl请使用IP + 端口
End 附:
- BLoC模式
- 不使用setState就能刷新页面
- 在多个页面中共享状态。