Flutter唯一短ID生成插件shortuid的使用
Flutter唯一短ID生成插件shortuid的使用
ShortUid
是一个基于 Dart 的包,用于根据 UUIDV4 生成短的唯一标识符,并能够将它们互相转换。该包符合 RFC 4122 标准。
特性
- 将 UUIDv4 转换为短唯一标识符(SID)并反之亦然。
- 随机生成短唯一标识符。
使用
将 UUIDv4 转换为 SID
import 'package:shortuid/shortuid.dart';
final uuidv4 = 'd07b31c0-54d9-44d4-993d-ef8101ee1dad';
final shortuid = ShortUid.from_uid(uuidv4);
将 SID 转换为 UUIDv4
import 'package:shortuid/shortuid.dart';
final shortuid = '2n9c';
final uuidv4 = ShortUid.decode_to_uid(shortuid);
随机生成 SID
import 'package:shortuid/shortuid.dart';
final shortuid = ShortUid.create();
示例代码
以下是一个完整的示例代码,演示如何使用 shortuid
包进行 UUIDv4 和 SID 之间的转换以及随机生成 SID。
import 'package:flutter/material.dart';
import 'package:shortuid/shortuid.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("ShortUid Demo")),
body: Center(
child: ShortUidDemo(),
),
),
);
}
}
class ShortUidDemo extends StatefulWidget {
[@override](/user/override)
_ShortUidDemoState createState() => _ShortUidDemoState();
}
class _ShortUidDemoState extends State<ShortUidDemo> {
String _uuidv4 = '';
String _sid = '';
void _convertUuidToSid() {
final uuidv4 = 'd07b31c0-54d9-44d4-993d-ef8101ee1dad';
setState(() {
_uuidv4 = uuidv4;
_sid = ShortUid.from_uid(uuidv4).toString();
});
}
void _convertSidToUuid() {
final shortuid = '2n9c';
setState(() {
_sid = shortuid;
_uuidv4 = ShortUid.decode_to_uid(shortuid);
});
}
void _generateRandomSid() {
setState(() {
_sid = ShortUid.create().toString();
});
}
[@override](/user/override)
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: _convertUuidToSid,
child: Text("将 UUIDv4 转换为 SID"),
),
SizedBox(height: 20),
Text("UUIDv4: $_uuidv4"),
SizedBox(height: 20),
Text("SID: $_sid"),
SizedBox(height: 20),
ElevatedButton(
onPressed: _convertSidToUuid,
child: Text("将 SID 转换为 UUIDv4"),
),
SizedBox(height: 20),
ElevatedButton(
onPressed: _generateRandomSid,
child: Text("随机生成 SID"),
),
],
);
}
}
更多关于Flutter唯一短ID生成插件shortuid的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复