不以规矩,不能成方圆
本章主要介绍一下整个项目的目录架构以及项目使用的第三个依赖包。
一、目录结构
下面是需要关注的目录和文件,其他的不需要过多理会。
book_reader
├── android
├── assets
│ ├── fonts
│ ├── icons
│ ├── images
│ ├── json
│ ├── sounds
│ └── web
├── doc
├── ios
├── lib
│ ├── common
│ ├── database
│ ├── localizations
│ ├── module
│ ├── network
│ ├── pages
│ ├── plugin
│ ├── redux
│ ├── utils
│ ├── widget
│ ├── generated_plugin_registrant.dart
│ └── main.dart
├── pubspec.yaml
└── README.md
- android: Android项目文件夹
- assets: 其他资源,如图片、字体、音频等
- assets - fonts:字体文件夹
- assets - icons:图标文件夹
- assets - images:图片文件夹
- assets - json:初始化数据存放的文件夹
- assets - sounds:声音文件夹
- assets - web:手机启动一个Web服务,电脑端可访问的页面内容,里面存放的都是JavaScript和Html文件
- doc: 项目文档说明
- ios:iOS项目文件夹
- lib: 存放所有的dart语言代码,包括所有的模块和页面
- lib - common: 项目常量和项目配置文件夹
- lib - database: 项目数据库文件夹,数据库操作相关的都放这里
- lib - localizations: 国际化相关的类都放这里
- lib - module: 功能模块,模块的业务逻辑可以存放这里
- lib - network: 网络模块,封装访问网络相关的类
- lib - pages: 页面展示类都放这里,类似MVC中的V
- lib - plugin: 插件类,与原生模块交互的类都放这里
- lib - redux: Redux模块,用于页面间的状态管理
- lib - utils: 工具类
- lib - widget: 控件类,通用的控件模块可以抽象出来放这里
- lib - generated_plugin_registrant.dart: 插件注册Dart文件,所有与原生代码交互的插件,需要在这里注册
- lib - main.dart: 项目入口主类
- pubspec.yaml: 项目配置文件,包括第三方插件、图片等
- README.md: README文件
二、第三方依赖包
# 网络
dio: ^5.1.2
# SQLLite数据库
sqflite: ^2.2.8+3
# 持久化数据存储
shared_preferences: ^2.1.1
# 事件通知
event_bus: ^2.0.0
# 网络连接状态
connectivity_plus: ^3.0.6
# 电池
battery_plus: ^4.0.0
# 查询包信息版本
package_info_plus: ^4.0.1
# 获取设备信息
device_info_plus: ^9.0.1
# webview插件
webview_flutter: ^4.2.0
# 下拉刷新
pull_to_refresh: ^2.0.0
# 滑动删除
flutter_slidable: ^0.6.0
# 底部弹出
modal_bottom_sheet: ^3.0.0-pre
# 格式化字符串
sprintf: ^7.0.0
# 二维码, 需要配合 image_picker
flutter_qr_reader: ^1.0.5
image_picker: ^0.8.7+5
# flutter_svg
flutter_svg: ^1.0.1
# 生成二维码
qr_flutter: ^4.1.0
# 文件选择
file_picker: ^5.3.0
# 文件分享
share_extend: ^2.0.0
# 图片缓存
cached_network_image: ^3.2.3
# html处理
html: ^0.15.3
# 显示html
flutter_html: ^3.0.0-beta.1
# html转义
html_unescape: ^2.0.0
# 权限管理
permission_handler: ^10.2.0
# utf8转gbk
fast_gbk: ^1.0.0
# 打开URL
url_launcher: ^6.1.11
# 文本转语音
flutter_tts: ^3.6.3
# 隐藏iOS底部白条
home_indicator: ^2.0.2
# 汉字转拼音,繁转简
lpinyin: ^2.0.3
# redux
flutter_redux: ^0.10.0
# path
path: ^1.8.3
path_provider: ^2.0.15
# UUID
uuid: ^3.0.7
# json注解,配合build_runner和json_serializable生成json文件
json_annotation: ^4.8.1
intl: ^0.18.0
flutter_localization: ^0.1.11
# 广告模块
admob_flutter: ^3.0.0