Random Toolkit
一个功能强大的纯 Dart 随机数据生成工具包,提供各种类型的随机数据生成功能。支持 Flutter、Dart 以及所有 Dart 平台。
功能特性
✨ 纯 Dart 包优势
- 🚀 跨平台兼容:支持所有 Dart 平台(Flutter、Web、Server、Desktop)
- 📦 轻量级:无原生依赖,包体积小
- 🔧 易集成:简单的依赖管理,无需平台配置
- 🛠️ 高性能:纯 Dart 实现,运行效率高
- 🔄 易维护:统一的代码库,简化维护成本
🎲 基础随机数据
- 随机整数、浮点数、布尔值
- 随机字符串(支持自定义字符集)
- UUID 生成
- 数组随机选择和打乱
👤 个人信息生成
- 随机姓名(支持中文和英文)
- 随机邮箱地址
- 随机手机号码(中国大陆格式)
🎨 视觉元素
- 随机颜色(Color 对象、十六进制字符串)
- Material Design 颜色
- 随机图片 URL
- 随机头像 URL
📍 地理位置
- 随机地址(支持中文和英文)
⏰ 日期时间
- 随机日期
- 随机时间戳
- 自定义日期范围
👥 完整用户信息
- 生成包含所有信息的随机用户对象
- ID、姓名、邮箱、电话、地址、头像等
安装
在您的 pubspec.yaml 文件中添加依赖:
dependencies:
random_toolkit: ^0.0.7
并运行 flutter pub get 以获取依赖项。
flutter pub get
使用方法
导入包
在您的 Dart 文件中,导入 random_toolkit 包:
import 'package:random_toolkit/random_toolkit.dart';
基础随机数据生成
// 随机整数
int randomInt = RandomToolkit.generators.integer(1, 100);
// 随机浮点数
double randomDouble = RandomToolkit.generators.decimal(0.0, 1.0);
// 随机布尔值
bool randomBool = RandomToolkit.generators.boolean();
// 随机字符串
String randomString = RandomToolkit.generators.string(length: 10);
// UUID生成
String uuid = RandomToolkit.generators.uuid();
// 数组随机选择
String choice = RandomToolkit.generators.choice(['A', 'B', 'C']);
个人信息生成
// 随机姓名(支持中英文)
String chineseName = RandomToolkit.person.name(locale: 'zh');
String englishName = RandomToolkit.person.name(locale: 'en');
// 随机邮箱
String email = RandomToolkit.person.email();
// 随机手机号(支持中美格式)
String cnPhone = RandomToolkit.person.phoneNumber(format: 'CN');
String usPhone = RandomToolkit.person.phoneNumber(format: 'US');
视觉元素
// 随机颜色
Color randomColor = RandomToolkit.visual.color();
// 十六进制颜色字符串
String hexColor = RandomToolkit.visual.hexColor();
// Material Design颜色
Color materialColor = RandomToolkit.visual.materialColor();
// 随机图片URL
String imageUrl = RandomToolkit.visual.imageUrl(width: 300, height: 200);
// 随机头像URL
String avatarUrl = RandomToolkit.visual.avatarUrl(size: 100);
地理位置
// 随机地址(支持中英文)
String chineseAddress = RandomToolkit.location.address(locale: 'zh');
String englishAddress = RandomToolkit.location.address(locale: 'en');
日期时间
// 随机日期
DateTime randomDate = RandomToolkit.datetime.date(
start: DateTime(2020, 1, 1),
end: DateTime(2024, 12, 31),
);
// 随机时间戳
int timestamp = RandomToolkit.datetime.timestamp();
完整用户信息
// 生成随机用户(支持中英文)
Map<String, dynamic> chineseUser = RandomToolkit.user.generate(locale: 'zh');
Map<String, dynamic> englishUser = RandomToolkit.user.generate(locale: 'en');
示例应用
查看 example 文件夹中的完整示例应用,了解如何在实际项目中使用所有功能。
cd example
flutter run
平台支持
- ✅ Android
- ✅ iOS
- ✅ Web
- ✅ Windows
- ✅ macOS
- ✅ Linux
版本要求
- Flutter: >= 2.5.0
- Dart: >= 2.19.6
贡献
欢迎提交 Issue 和 Pull Request!
- Fork 这个项目
- 创建您的功能分支 ( git checkout -b feature/AmazingFeature )
- 提交您的更改 ( git commit -m 'Add some AmazingFeature' )
- 推送到分支 ( git push origin feature/AmazingFeature )
- 打开一个 Pull Request
许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
链接
更新日志
查看 CHANGELOG.md 了解版本更新历史。