Firebase Utils

pub package license

该包提供了一系列用于 Firestore 和 Fire Storage 的实用工具,包括 CRUD 操作和其他基本功能。您可以轻松执行常见的数据库操作,并高效地存储和管理数据,从而让您专注于开发应用程序的核心功能。

安装

要在您的项目中为 Firebase Utils 添加依赖项,请将以下依赖项添加到您的 pubspec.yaml 文件中

dependencies:
  firebase_utils: ^<latest-version>

然后运行 flutter pub get 来安装该包。

示例

ezgif com-resize

用法

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)

作者

DevCrew.IO

与我们联系

devcrew.io mycompany DevCrew-io

贡献

欢迎贡献、报告问题和功能请求!

表示您的支持

如果此项目对您有帮助,请给个 star。

Bug 和功能请求

有 bug 或功能请求?请先搜索现有和已关闭的问题。如果您的问题或想法尚未得到解决,请提交新问题

版权和许可

代码版权所有 2023–2024 DevCrew I/O。代码在 MIT 许可证下发布。

GitHub

查看 Github