本项目是在学习flutter过程中,利用业余时间封装的,代码结构清晰
目录结构: -assets //静态资源 -base //基础页面封装 -config //环境变量等配置 -network //网络请求配置(封装了网络请求工具类(单例模式),请求拦截、请求缓存处理、网络状态改变重连、请求错误处理) -provider //provider状态管理的基本配置 -res //样式 -routes //路由配置(可自定义拦截某个路由) -ui //ui页面以及组件 -pages //单链路页面 -public //多链路页面(多个路径可以打开此页面) -widget //组件 -util //工具类 -view_model //实现View与Model的交互
本项目封装:
- 路由:全局路由、路由拦截(用作用户登录状态拦截)、路由管理工具封装
- 网络请求:封装了网络请求工具类(单例模式),请求拦截、请求缓存处理、网络状态改变重连、请求错误处理
- 屏幕适配:通过屏幕分辨率以及屏幕size,根据原型设计尺寸,进行适配
- 数据库:通过shared_preferences进行持久化存储
- 日志:通过logger进行日志输出
- 图标工具类:LocalImageSelector,其中根据机型不同分辨率做适配
- 吐司工具:toast