# 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, ]