在 Flutter 项目中封装 Hive 本地数据库服务,遵循 Repository 模式和 MVVM 架构。当用户需要使用 Hive 数据库、本地持久化存储、离线数据缓存、或提到 hive、本地数据库、数据持久化时使用。支持三种独立模式:创建数据服务、创建数据库操作、创建数据模型并自动注入 CRUD。
模型 → toJson() → Box
lib/
├── services/
│ ├── hive_service.dart # 模式1:数据服务
│ └── hive_repository.dart # 模式1:基类
└──
└── database/
├──
└── models/
└──
三种触发模式
触发词:「创建数据服务」「初始化 Hive」「配置 Hive」
执行命令:
bash
python ~/.cursor/skills/flutter-hive-database/scripts/generate.py \
--mode service \
--project <项目根目录绝对路径>
生成文件:
完成后在 main.dart 添加:
dart
import package:
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await HiveService.init();
runApp(const MyApp());
}
触发词:「创建xxx数据库操作」「创建xxx的 Repository」
执行前询问用户:
请问功能模块的路径是什么?(如 features/user 或 user)
Repository 的名称是什么?(PascalCase,如 User)
执行命令:
bash
python ~/.cursor/skills/flutter-hive-database/scripts/generate.py \
--mode repository \
--project <项目根目录绝对路径> \
--feature
--name
示例:
bash
python generate.py --mode repository \
--project /Users/me/myapp \
--feature features/user \
--name User
生成文件:
触发词:「创建xxx数据模型」「提供 JSON 创建数据库模板」
执行前询问用户:
请提供实体的 JSON 数据或字段定义
entity 参数格式:
json
{
name: User,
fields: [
{name: id, type: int, nullable: false},
{name: name, type: String, nullable: false},
{name: age, type: int, nullable: true},
{name: createdAt, type: DateTime, nullable: false}
]
}
支持的 type:int、double、String、bool、DateTime、List、Map
执行命令:
bash
python ~/.cursor/skills/flutter-hive-database/scripts/generate.py \
--mode model \
--project <项目根目录绝对路径> \
--feature
--entity
示例:
bash
python generate.py --mode model \
--project /Users/me/myapp \
--feature features/user \
--entity {name:User,fields:[{name:id,type:int,nullable:false},{name:name,type:String,nullable:false}]}
生成 / 更新文件:
如果 Repository 不存在,脚本会自动创建后再注入
bash
flutter pub add hivece hivece_flutter
无需 hivecegenerator,无需 build_runner
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 flutter-hive-database-1776168183 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 flutter-hive-database-1776168183 技能
skillhub install flutter-hive-database-1776168183
文件大小: 8.01 KB | 发布时间: 2026-4-15 11:09