# FlutterKit **Repository Path**: Joker-x-dev/FlutterKit ## Basic Information - **Project Name**: FlutterKit - **Description**: 基于 GetX + TDesign 的 Flutter 项目模板,整合常用功能和开发实践 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 27 - **Forks**: 12 - **Created**: 2025-06-26 - **Last Updated**: 2026-07-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
FlutterKit Logo # FlutterKit _一个开箱即用的 Flutter 跨平台快速开发脚手架_ [![GitHub](https://img.shields.io/badge/GitHub-FlutterKit-blue?style=flat-square&logo=github)](https://github.com/Joker-x-dev/FlutterKit) [![Gitee](https://img.shields.io/badge/Gitee-FlutterKit-red?style=flat-square&logo=gitee)](https://gitee.com/Joker-x-dev/FlutterKit) [![Docs](https://img.shields.io/badge/Docs-flutter.dusksnow.top-orange?style=flat-square&logo=readthedocs)](https://flutter.dusksnow.top) [![TDesign](https://img.shields.io/badge/UI-TDesign_Flutter-0052D9?style=flat-square&logo=flutter)](https://tdesign.tencent.com/flutter/getting-started) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/Joker-x-dev/FlutterKit)
## 📖 项目简介 FlutterKit 是一个基于 **Flutter / Dart / GetX / TDesign Flutter** 的跨平台项目脚手架,内置网络、分页、数据库、本地存储、状态管理、导航、国际化、主题和屏幕适配等常用能力,并提供对应的功能示例页面,方便通过 **“拉仓库 → 运行 → 填业务”** 快速开始 Flutter 项目。 Android、iOS、macOS、Linux、Windows 和 Web 六个平台的原生工程均已纳入仓库,可直接作为模块化 Flutter 项目的基础工程。 > 如果项目对你有帮助,欢迎点个 Star ⭐ 这会是持续维护的动力! ## 📱 项目预览 项目内置 Flutter Widget Preview 支持,页面与组件均提供独立预览入口;响应式页面可同时检查 Mobile、Tablet 和 Foldable 三类屏幕尺寸。 ## 📍 项目地址 - **GitHub**:https://github.com/Joker-x-dev/FlutterKit - **Gitee**:https://gitee.com/Joker-x-dev/FlutterKit - **示例 Demo**:[下载安装](https://www.pgyer.com/FlutterKit) ## 📚 说明文档 - **项目文档**:[在线查看](https://flutter.dusksnow.top) - 与代码同步的在线文档,包含快速开始、架构说明、模块规范、示例路由和常见定制点 - **TDesign Flutter 组件库**:[在线查看](https://tdesign.tencent.com/flutter/getting-started) - TDesign Flutter 组件使用说明与 API 文档 - **Flutter 官方文档**:[在线查看](https://docs.flutter.dev) - Flutter 跨平台开发、构建与发布说明 ## 🧩 内置能力 - **基础页面**:统一 View、Logic、State、Dialog、Tab、Refresh 和 List 页面抽象 - **基础网络**:Dio + Retrofit 请求封装、拦截器、异常转换与统一结果处理 - **分页列表**:统一刷新、加载更多、加载态、错误态和空态处理 - **导航能力**:命名路由、带参跳转、结果回传和路由守卫示例 - **数据库**:基于 SQLite 的本地数据库与 Repository 示例 - **本地存储**:账号、认证、Token、主题、语言和用户信息存储封装 - **状态管理**:GetX 页面状态、依赖管理与全局 Service 示例 - **屏幕适配**:断点、方向、安全区以及手机、平板、折叠屏响应式布局 - **设计系统**:统一颜色、字体、间距、圆角、阴影、主题和 Widget 扩展 - **国际化**:公共文案与 Feature 文案分层管理 - **环境配置**:Dart 源码维护 dev、test、pre、prod,Debug 支持应用内切换,Release 使用生产环境 - **开发调试**:Alice、Pretty Dio Logger、Logger 与 Widget Preview ## 🛠️ 技术栈 | 类别 | 技术选型 | 说明 | | --- | --- | --- | | 编程语言 | Dart | Flutter 官方开发语言 | | UI 框架 | Flutter | Android、iOS、macOS、Linux、Windows、Web 跨平台 UI | | 架构模式 | GetX + MVVM | View、Logic、State 分层与依赖管理 | | 组件库 | TDesign Flutter | 腾讯 TDesign Flutter 组件库 | | 导航框架 | GetX Navigation | 命名路由、参数、结果与路由守卫 | | 网络请求 | Dio + Retrofit | HTTP 客户端、接口声明与拦截器 | | 数据序列化 | json_serializable | JSON 模型代码生成 | | 数据库 | sqflite | SQLite 本地数据库 | | 本地存储 | shared_preferences | 跨平台键值存储 | | 屏幕适配 | flutter_screenutil | 尺寸适配与响应式布局支持 | | 刷新分页 | easy_refresh | 下拉刷新与上拉加载 | | 调试工具 | Alice + Logger | 网络检查与日志输出 | | 代码生成 | build_runner + FlutterGen | 模型、网络接口与资源代码生成 | ## 📱 功能模块目录 - **主模块(main)** - 主页面(main) - 核心能力示例(core-demo) - 导航示例(navigation-demo) - 扩展示例(expand-demo) - 关于页面(about-demo) - **认证模块(auth)** - 登录页(login) - **用户模块(user)** - 用户信息页(user-info) - **示例模块(demo)** - 基础页面示例(base-demo) - 基础 Tab 示例(base-tab-demo) - 基础刷新示例(base-refresh-demo) - 通用网络请求示例(network-demo) - 通用分页列表示例(network-list-demo) - 独立网络请求示例(network-request-demo) - 数据库示例(database-demo) - 本地存储示例(local-storage-demo) - 状态管理示例(state-management-demo) - 带参跳转示例(navigation-with-args) - 结果回传示例(navigation-result) - 屏幕适配示例(screen-adapt-demo) - 主题示例(theme-demo) ## 📁 项目结构 ```text lib/ ├── bootstrap/ # 应用启动与基础服务初始化 ├── core/ # 多 Feature 共享的核心能力 │ ├── base/ # 页面、列表、网络、刷新、Tab 和弹窗基类 │ ├── config/ # 应用配置 │ ├── data/ # Repository 与跨模块预览数据 │ ├── database/ # SQLite 数据源与实体 │ ├── datastore/ # 本地键值数据源 │ ├── design_system/ # 主题、间距、扩展与通用设计规范 │ ├── env/ # 多环境源码配置 │ ├── localization/ # 公共国际化资源 │ ├── mixin/ # 通用 Mixin │ ├── model/ # Entity、Request 和 Response │ ├── network/ # 网络数据源、拦截器与 Dio Provider │ ├── result/ # 请求结果与错误处理 │ ├── service/ # 全局 Service │ ├── ui/ # 通用 UI、响应式与预览能力 │ └── util/ # 路由、存储、日志、提示等工具 ├── feature/ # 功能模块 │ ├── auth/ # 认证模块 │ ├── demo/ # 示例模块 │ ├── main/ # 主模块 │ └── user/ # 用户模块 ├── generated/ # 自动生成的资源代码 ├── routes/ # 路由、参数、结果与守卫 ├── application.dart # 应用根组件 └── main.dart # 应用入口 ``` ## 🚀 快速开始 ### 环境要求 - Flutter SDK:`>= 3.38.0` - Dart SDK:`>= 3.9.0 < 4.0.0` - Android Studio / IntelliJ IDEA / Visual Studio Code ### 安装与运行 ```bash flutter pub get flutter run ``` ### 代码生成 修改 JSON Model、Retrofit 数据源,或新增、删除、重命名 `assets/image/`、`assets/icon/`、`assets/json/` 中的资源后执行: ```bash # 生成 JSON、Retrofit 与 FlutterGen 的 Assets 资源访问器。 dart run build_runner build --delete-conflicting-outputs ``` 持续监听文件变化: ```bash dart run build_runner watch --delete-conflicting-outputs ``` ### 质量检查 ```bash flutter analyze flutter test ``` ## 📦 打包发布 ### Android 生成 arm64 APK: ```bash flutter build apk --release --obfuscate --split-debug-info=./debug_info --target-platform android-arm64 ``` 生成用于 Google Play 发布的 AAB: ```bash flutter build appbundle --release --obfuscate --split-debug-info=./debug_info ``` ### iOS ```bash flutter build ios --release --obfuscate --split-debug-info=./debug_info ``` ### macOS ```bash flutter build macos --release ``` ### Web ```bash flutter build web --release ``` ### Linux ```bash flutter build linux --release ``` ### Windows ```bash flutter build windows --release ``` `debug_info` 目录包含混淆后的符号文件,需要与对应版本的安装包一起保存,便于还原线上堆栈。 Linux 和 Windows 应用需在对应操作系统中构建,iOS 和 macOS 应用需使用 macOS 与 Xcode。 ## 👥 加入群聊 欢迎加入开发者交流群,一起交流 Flutter、Android、HarmonyOS 与跨平台项目架构。
QQ群二维码

扫码或搜索群号加入 QQ 群

## 🤝 参与贡献 欢迎提交 Issue 和 Pull Request,一起完善 Flutter 跨平台开发体验。 - **代码贡献**:完善功能实现、修复问题或补充测试 - **问题反馈**:提交可复现的 Bug、兼容性问题或功能建议 - **文档优化**:完善使用说明、架构文档和示例说明 - **设计支持**:提供 UI、交互和多端适配建议 - **测试协助**:验证 Android、iOS、macOS、Linux、Windows 和 Web 平台行为 提交代码前请确保通过项目静态分析与相关测试,并遵循现有目录结构和编码规范。