Firebase Utils
该包提供了一系列用于 Firestore 和 Fire Storage 的实用工具,包括 CRUD 操作和其他基本功能。您可以轻松执行常见的数据库操作,并高效地存储和管理数据,从而让您专注于开发应用程序的核心功能。
安装
要在您的项目中为 Firebase Utils 添加依赖项,请将以下依赖项添加到您的 pubspec.yaml 文件中
dependencies:
firebase_utils: ^<latest-version>
然后运行 flutter pub get 来安装该包。
示例
用法
Firestore Utilities
在您的Dart代码中导入该包
import 'package:firebase_utils/entity/firestore_doc.dart';
import 'package:firebase_utils/firebase/firestore_service.dart';
创建一个 Entity UserInfo,它可以扩展 FireStoreDoc 或 TimeStampedFireStoreDoc。如果您需要在 firestore 表中包含 createdDate 和 updatedDate 字段,则扩展 TimeStampedFireStoreDoc。
class UserInfo extends FireStoreDoc {
final String name;
final String email;
final String profileImage;
UserInfo(
{required this.name, required this.email, required this.profileImage});
@override
Map<String, dynamic> toMap() => <String, dynamic>{
'name': name,
'email': email,
'profileImage': profileImage,
};
factory UserInfo.fromMap(Map<String, dynamic> map) => UserInfo(
name: map['name'] as String,
email: map['email'] as String,
profileImage: map['profileImage'] as String,
);
}
创建 users 的集合引用。users 是 firestore 数据库中 UserInfo 的集合类型
CollectionReference<UserInfo> get _userCollectionRef =>
widget._fireStoreService.getCollectionRef(
'users', (snapshot, _) => UserInfo.fromMap(snapshot.data()!));
获取 FireStoreService 的实例以执行所有 Firestore 操作。
final FireStoreService firestoreService = FireStoreService.getInstance(FirebaseFirestore.instance)
在 Streams 中获取集合的所有文档
firestoreService.getListStream(_userCollectionRef).listen((event) {
List<UserInfo> = event
})
插入数据
firestoreService.add(UserInfo(name: 'abc',email: '[email protected]',profileImage:'imageUrl'),_userCollectionRef)
删除对象
await fireStoreService.delete(_userCollectionRef.doc(docId));
您可以使用 FireStoreService 中定义的其他所有 Firestore 操作函数。
FirebaseStorage Utilities
在您的Dart代码中导入该包
import 'package:firebase_utils/firebase/firebase_storage_service.dart';
获取 FirebaseStorageService 的实例以执行所有 FirebaseStorage 操作。
final FirebaseStorageService firebaseStorageService = FirebaseStorageService.getInstance( FirebaseStorage.instance)
上传文件
firebaseStorageService.updateFileAndGetUrl(downloadUrl, file)
作者
与我们联系
贡献
欢迎贡献、报告问题和功能请求!
表示您的支持
如果此项目对您有帮助,请给个 star。
Bug 和功能请求
有 bug 或功能请求?请先搜索现有和已关闭的问题。如果您的问题或想法尚未得到解决,请提交新问题。
版权和许可
代码版权所有 2023–2024 DevCrew I/O。代码在 MIT 许可证下发布。
