# flutter_template_2025 **Repository Path**: aaabced/flutter_template_2025 ## Basic Information - **Project Name**: flutter_template_2025 - **Description**: Flutter Enterprise Boilerplate 2025 (Flutter 企业级通用开发模板) - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2025-11-25 - **Last Updated**: 2025-11-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Flutter Enterprise Boilerplate 2025 (Flutter 企业级通用开发模板) > **拒绝重复造轮子,专注于业务逻辑。** > 这是一个基于 Flutter 3.x 构建的开箱即用开发模板,集成了网络请求、屏幕适配、全局弹窗、状态管理等主流开发规范。 --- ## ✨ 核心特性 (Features) 本项目旨在为你提供一个**标准化、可扩展、高效率**的起步环境,包含以下核心模块: * ✅ **网络请求封装 (Dio)**: * 集成 `dio` 库。 * 封装了全局拦截器(Request/Response/Error)。 * 统一的错误处理与日志打印。 * 支持单例模式调用,开箱即用。 * ✅ **屏幕适配 (ScreenUtil)**: * 集成 `flutter_screenutil`。 * 已在入口处完成初始化,完美还原设计稿。 * 解决了字体大小随系统设置变化的问题。 * ✅ **全局弹窗 (BotToast)**: * 集成 `bot_toast`。 * **无 Context 调用**:在 Utils 或拦截器中也能轻松弹出 Toast/Loading。 * ✅ **现代化布局 (Gap)**: * 使用 `gap` 替代传统的 `SizedBox`,自动识别横向/纵向间距,代码更优雅。 * ✅ **规范的目录结构**: * 基于 MVVM 分层思想设计,逻辑清晰,易于维护。 --- ## 🛠 目录结构 (Project Structure) lib/ ├── common/ # 通用配置与工具 │ ├── constants/ # 常量管理 (API地址、颜色配置等) │ └── utils/ # 核心工具类 (HttpUtil, SpUtil等) ├── models/ # 数据实体类 (Json To Dart) ├── pages/ # 页面视图层 (View) ├── widgets/ # 公共 UI 组件 └── main.dart # 项目入口 (已配置 ScreenUtil & BotToast) ## 🚀 快速开始 (Getting Started) ### 1. 环境要求 * Flutter SDK: >=3.0.0 * Dart SDK: >=3.0.0 ### 2. 安装依赖 在项目根目录下运行: **Bash** ``` flutter pub get ``` ### 3. 运行项目 **Bash** ``` flutter run ``` --- ## 📝 使用示例 (Usage Examples) ### 1. 发起网络请求 (Network Request) 无需手动实例化 Dio,直接使用封装好的 `HttpUtil`: **Dart** ``` // GET 请求 var response = await HttpUtil().get("/users", params: {"id": 123}); // POST 请求 var response = await HttpUtil().post("/login", data: {"username": "admin"}); ``` ### 2. 屏幕适配 (UI Adaptation) 假设设计稿尺寸为 375x812 (iPhone X),直接使用 `.w` 和 `.h`: **Dart** ``` Container( width: 100.w, // 自动适配宽度 height: 50.h, // 自动适配高度 child: Text( "Hello", style: TextStyle(fontSize: 16.sp), // 自动适配字体 ), ) ``` ### 3. 弹出 Toast (Global Toast) 无需 BuildContext,随处调用: **Dart** ``` // 显示纯文本 BotToast.showText(text: "操作成功"); // 显示 Loading BotToast.showLoading(); // 关闭 Loading BotToast.closeAllLoading(); ``` --- ## 📦 依赖列表 (Dependencies) | **Package** | **Version** | **Description** | | ----------------------- | ----------- | ------------------ | | **dio** | ^5.3.0 | 强大的 Http 客户端 | | **flutter\_screenutil** | ^5.9.0 | 屏幕适配方案 | | **bot\_toast** | ^4.1.3 | 最好用的弹窗库 | | **gap** | ^3.0.0 | 简化布局间距 | | **logger** | ^2.0.2 | 漂亮的日志打印 | | **shared\_preferences** | ^2.2.2 | 本地数据存储 |