前言
FlutterUtilCode 是一个 Flutter 东西类调集插件,封装了常用的东西类和函数,方便开发者调用。
本篇是 Flutter东西篇之UuidUtils,系列文章内容首要介绍插件中东西类的功用、用法和代码完成等,感兴趣的同学能够继续重视。
FlutterUtilCode 系列(一)—— Flutter东西篇之LogUtils、SharedPerfsUtils
FlutterUtilCode 系列(二)—— Flutter东西篇之ToastUtils
FlutterUtilCode 系列(三)—— Flutter东西篇之UuidUtils
UUID东西类-UuidUtils
什么是 uuid 呢?简单来说便是根据时刻、随机数、特定文本等不同的数据样本生成一串随机数,而且这串随机数理论上是不会重复的。一般被咱们用来做用户身份的验证、设备仅有标识等认证信息,相对来说对咱们仍是非常重要的。
这儿咱们经过 uuid 插件来完成 UUID 东西类。uuid 插件也是一个在 pub 上非常盛行的库,Likes 达到 1.6K 广受开发者好评。
因为 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个 对外的办法:
- UuidV1 :根据当前时刻来生成 UUID 字符串。
- UuidV4 :根据 mathRNG 随机数生成 UUID 字符串。
- UuidV5 :根据 namespace + 内容 生成 UUID 字符串。
- Uuid :根据 UuidV1 + UuidV4 内容,而且经过 UuidV5 来生成,增强其仅有性。
案例:
// uuid
UuidUtils.getUuid()
// uuid v1
UuidUtils.getUuidV1()
// uuid v4
UuidUtils.getUuidV4()
// uuid v5
UuidUtils.getUuidV5('uuid')
运行结果:
结语
好了,今天的东西类整理文章就到这儿,目前插件已发布到 Pub 中,欢迎我们体会。
如果觉得这篇文章对你有所协助的话,不要忘掉一键三连哦,我们的点赞是我更新的动力。
Pub: flutter_util_code
项目源码:FlutterUtilCode
运用案例:Example