# flubaseapp
**Repository Path**: mhyf/flubaseapp
## Basic Information
- **Project Name**: flubaseapp
- **Description**: 项目为flutter,主要采用Dio+Getx实现分模块,面向对象、响应式MVVM架构。
- **Primary Language**: Dart
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: https://gitee.com/TPSELF/flubaseapp/settings#index
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2024-09-04
- **Last Updated**: 2024-09-04
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# flutter框架基础项目
项目主要采用Dio+Getx实现面向对象、响应式MVVM架构。
# 目结构目录说明:
* assets:项目资源文件存放地
* baselib:项目基础库,一般不变动
* framelib:项目框架库,可变动
* lib:项目主入口
* module_business:项目业务功能模块
* pub_command:项目拉取、清除三方包的脚本文件
* android:安卓应用原生代码
* ios:ios应用原生代码
* linux:linux应用原生代码
* macos:macos桌面应用原生代码
* web:web应用原生代码
* windows:windows应用原生代码
# SDK说明:
* Flutter version 3.7.5
* Android Studio (Android Studio Electric Eel | 2022.1.1 Patch 1, Build #AI-221.6008.13.2211.9514443, build on January 21, 2023)
* Android SDK version 33.0.0
* Platform android-33, build-tools 33.0.0
* Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
* (Xcode 14.2
* CocoaPods version 1.11.3
# 扩展:
## 一、修改安卓端:
* 注意:applicationId、包名package和MainActivity的文件包路径需一样
1. 修改唯一标识applicationId:位于android/app/build.gradle(applicationId "com.xt.interestvoice")
2. 修改包名package:位于android/app/src/main/AndroidManifest.xml(package="com.xt.interestvoice")
3. 修改app名称:位于android/app/src/main/AndroidManifest.xml(android:label="interestvoice")
4. 修改app logo:位于android/app/src/main/AndroidManifest.xml(android:icon="@mipmap/ic_launcher"")
5. 修改MainActivity的文件包路径:点击项目project栏右上方的设置按钮(show options menu),展开后,点击"compact middle packages",
然后展开"android/app/src/main/kotlin"下的文件夹,修改此文件夹名称
## 二、修改ios端:
1. 修改app名称:位于ios/Runner/Info.plist:
* 找到CFBundleName,下面的String就代表app的名称
* CFBundleName
* 你的app名称
2. 修改唯一标识id:位于ios/Runner/Info.plist:
* 找到CFBundleIdentifier,下面的String就代表app的id
* CFBundleIdentifier
* 你的app id
3. 修改app logo:位于ios/Runner/Assets.xcassets/AppIcon.appiconset
* 修改此文件下的图片,需严格按照各个文件夹名称和大小修改
## 三、扩展flutter
1. 扩展资源文件,将资源文件放置于assets文件夹下,然后在framelib/lib/utils/drawable_util.dart文件中添加路径,在其他地方引用
2. 扩展颜色值,在framelib/lib/utils/color_util.dart文件中添加颜色,在其他地方引用
3. 扩展字符串值,在framelib/lib/utils/string_util.dart文件中添加,在其他地方引用
4. 扩展大小值,在framelib/lib/utils/px_util.dart文件中添加,在其他地方引用
5. 扩展业务代码:定位到module_business/lib/module_comm文件夹
* 添加新的三方库依赖,定位到framelib/pubspec.yaml文件下,在dependencies:下添加相应的三方库依赖
* 添加实体类到/model文件夹中,将实体类在comm_entity_factory.dart中注册
* 添加新接口到/service/net/comm_api.dart中,然后再在/service/module_comm_service.dart填写相应的接口逻辑,在viewmodel中引用
* 添加view代码
* 添加viewmodel代码
* 在RouteConfig中注册路由标识
* 将view、viewmodel、路由标识在module_xx_route.dart中绑定,绑定规则如下:
Get.lazyPut,适用于普遍页面,页面销毁则viewmodel销毁;Get.create,适用于A页面——>B页面——>A页面——>B页面,页面会新创建,新创建的页面和之前相同页面数据不一样,页面销毁则viewmodel销毁。
* 如果是新建的模块,存在新的module_xx_route.dart,在需要将此文件在main.dart中调用module_xx_route.getPages进行解析,如下
getPages: [
...ModuleCommRoute.getPages,
]