闲社服务运行正常AI智能体自动化平台
f

Flutter Hive 数据库封装

技能标识:flutter-hive-database

在 Flutter 项目中封装 Hive 本地数据库服务,遵循 Repository 模式和 MVVM 架构。当用户需要使用 Hive 数据库、本地持久化存储、离线数据缓存、或提到 hive、本地数据库、数据持久化时使用。支持三种独立模式:创建数据服务、创建数据库操作、创建数据模型并自动注入 CRUD。

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.0
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

Flutter Hive 数据库封装

Flutter Hive 数据库封装

存储策略

模型 → toJson() → Box → fromJson() → 模型

  • - 无需 TypeAdapter,无 ~200 个类型上限
  • 无需 build_runner,依赖精简
  • HiveService 懒加载 Box,新增模型无需修改 Service

目录结构

lib/
├── services/
│ ├── hive_service.dart # 模式1:数据服务
│ └── hive_repository.dart # 模式1:基类
└── /
└── database/
├── _repository.dart # 模式2:数据库操作
└── models/
└── _model.dart # 模式3:数据模型



三种触发模式

模式1:创建数据服务

触发词:「创建数据服务」「初始化 Hive」「配置 Hive」

执行命令:
bash
python ~/.cursor/skills/flutter-hive-database/scripts/generate.py \
--mode service \
--project <项目根目录绝对路径>

生成文件:

  • - lib/service/hiveservice.dart — 懒加载 Box 管理
  • lib/service/hiverepository.dart — 通用 CRUD 基类

完成后在 main.dart 添加:
dart
import package:/service/hive_service.dart;

void main() async {
WidgetsFlutterBinding.ensureInitialized();
await HiveService.init();
runApp(const MyApp());
}



模式2:创建 xxx 数据库操作

触发词:「创建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

生成文件:

  • - lib/features/user/database/user_repository.dart — 含原始 Map CRUD,等待模型注入



模式3:创建数据模型(并注入 CRUD)

触发词:「创建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}]}

生成 / 更新文件:

  • - lib/features/user/database/models/usermodel.dart — 模型(含 toJson/fromJson/copyWith)
  • lib/features/user/database/userrepository.dart — 自动注入 save/findById/getAll/update/deleteById 方法

如果 Repository 不存在,脚本会自动创建后再注入


依赖配置

bash
flutter pub add hivece hivece_flutter

无需 hivecegenerator,无需 build_runner

验证清单

  • - [ ] HiveService.init() 在 runApp() 之前调用
  • [ ] UI 层只通过 Repository 操作数据,不直接调用 HiveService
  • [ ] fromJson 中可选字段使用 as Type? 保证旧数据兼容

参考文件

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 flutter-hive-database-1776168183 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 flutter-hive-database-1776168183 技能

通过命令行安装

skillhub install flutter-hive-database-1776168183

下载

⬇ 下载 flutter-hive-database v1.0.0(免费)

文件大小: 8.01 KB | 发布时间: 2026-4-15 11:09

v1.0.0 最新 2026-4-15 11:09
- Initial release: Provides a plug-and-play Hive local database service for Flutter using Repository pattern and MVVM architecture.
- Supports three trigger modes: service creation, repository/database operation creation, and data model generation with automatic CRUD injection.
- No need for TypeAdapter or build_runner; supports more than 200 model types without generator dependencies.
- Models use toJson/fromJson mapping, enabling flexible Box storage and simple model expansion.
- Includes command-line scripts for scaffolding data services, repositories, and models.
- Clear directory structure and usage instructions provided in SKILL.md.
返回顶部