前言

FlutterUtilCode 是一个 Flutter 东西类调集插件,封装了常用的东西类函数,方便开发者调用。

本篇是 Flutter东西篇之UuidUtils,系列文章内容首要介绍插件中东西类的功用、用法和代码完成等,感兴趣的同学能够继续重视。

FlutterUtilCode 系列(一)—— Flutter东西篇之LogUtils、SharedPerfsUtils

FlutterUtilCode 系列(二)—— Flutter东西篇之ToastUtils

FlutterUtilCode 系列(三)—— Flutter东西篇之UuidUtils

UUID东西类-UuidUtils

什么是 uuid 呢?简单来说便是根据时刻、随机数、特定文本等不同的数据样本生成一串随机数,而且这串随机数理论上是不会重复的。一般被咱们用来做用户身份的验证、设备仅有标识等认证信息,相对来说对咱们仍是非常重要的。

这儿咱们经过 uuid 插件来完成 UUID 东西类。uuid 插件也是一个在 pub 上非常盛行的库,Likes 达到 1.6K 广受开发者好评。

【FlutterUtilCode】Flutter工具篇之UuidUtils

因为 uuid 库的 Api 现已非常简洁了,所以咱们的 UuidUtils 东西类只是进行简单的封装。代码如下:

///  Name: UUID东西类
///  根据 [uuid](https://pub.dev/packages/uuid)
///  Created by Fitem on 2023/6/4
class UuidUtils {
  /// 获取uuid
  /// 根据uuid v1 + uuid v4 内容经过 getUuidV5 生成的uuid
  /// 例如:c4a760a8-dbcf-5254-a0d9-6a4474bd1b62
  static String getUuid(){
    return getUuidV5(getUuidV1() + getUuidV4());
  }
  /// 获取uuid v1
  /// 根据当前时刻生成的uuid
  /// 例如:6c84fb90-12c4-11e1-840d-7b25c5ee775a
  static String getUuidV1() {
    var uuid = const Uuid();
    var v1 = uuid.v1();
    return v1;
  }
  /// 获取uuid v4
  /// 根据mathRNG随机数生成的uuid
  /// 例如:110ec58a-a0f2-4ac4-8393-c866d813b8d1
  static String getUuidV4() {
    var uuid = const Uuid();
    var v4 = uuid.v4();
    return v4;
  }
  /// 获取uuid v5
  /// 根据 namespace + 内容 生成的uuid
  /// 例如:c4a760a8-dbcf-5254-a0d9-6a4474bd1b62
  static String getUuidV5(String content) {
    var uuid = const Uuid();
    var v5 = uuid.v5(Uuid.NAMESPACE_URL, content);
    return v5;
  }
}

UuidUtils 提供了 4个 对外的办法:

  1. UuidV1 :根据当前时刻来生成 UUID 字符串。
  2. UuidV4 :根据 mathRNG 随机数生成 UUID 字符串。
  3. UuidV5 :根据 namespace + 内容 生成 UUID 字符串。
  4. Uuid :根据 UuidV1 + UuidV4 内容,而且经过 UuidV5 来生成,增强其仅有性。

案例:

// uuid
UuidUtils.getUuid()
// uuid v1
UuidUtils.getUuidV1()
// uuid v4
UuidUtils.getUuidV4()
// uuid v5
UuidUtils.getUuidV5('uuid')

运行结果:

【FlutterUtilCode】Flutter工具篇之UuidUtils

结语

好了,今天的东西类整理文章就到这儿,目前插件已发布到 Pub 中,欢迎我们体会。

如果觉得这篇文章对你有所协助的话,不要忘掉一键三连哦,我们的点赞是我更新的动力。

Pub: flutter_util_code

项目源码:FlutterUtilCode

运用案例:Example