Random Toolkit
还在手搓假数据吗?你用 Excel 做随机数,我用骰子——产品经理用“拍脑袋”。现在,轮到你用“靠谱”的了:random_toolkit。它是一个纯 Dart 的随机数据全家桶,能像外卖小哥一样,三分钟把“随机姓名、邮箱、手机号、颜色、地址、日期、头像、整套用户信息”送到你手里。省时、省心、省掉加班费(老板:这句删了)。
官方文档与示例请戳:pub.dev/random_tool… 📚
为什么它好用?(功能亮点)
- 纯 Dart、全平台跑得快 🚀
就像“万能适配器”,random_toolkit在 Flutter、Web、Server、Desktop 都能用,无需原生配置,插上就亮。 - 随机数据全家桶,味道正宗 🍱
整数、浮点、布尔、字符串、UUID 到姓名、邮箱、手机号,一应俱全。写单测、做 Demo、跑 AB 测试,数据不求人。 - 一键生成“完整用户” 🧑💼
需要用户对象?它直接给你 ID、姓名、邮箱、电话、地址、头像等字段,像“套装购买”,开箱即用。 - 颜值工程一步到位 🎨
支持随机Color、十六进制颜色、Material 颜色,甚至图片与头像 URL。UI 调色试配不再靠玄学。 - 真实世界的地址与日期 🗺️📅
中英文地址随意挑,随机日期/时间戳轻松搞定,构造业务场景更贴近现实。
生动场景小剧场
- “今天要做用户画像页面的 UI 走查。”
你:点两行代码生成 50 个用户,头像、颜色、地址全齐活;同事:这数据哪来的?你:来自正道的光。 - “接口还没好,但我得先写前端。”
你:用随机用户与图片 URL 构造 Mock;产品:这也太逼真了吧;你:我们尊重艺术,懂不懂“沉浸式真实感”。
安装指南
在你的 pubspec.yaml 中添加依赖(版本以官方页面为准):
dependencies:
random_toolkit: ^0.0.7
获取依赖:
flutter pub get
更多细节与变更历史可查看官方文档与日志:random_toolkit on pub.dev
使用示例(代码直观好懂)
先导入包:
import 'package:random_toolkit/random_toolkit.dart';
1) 随机基础数据:像便利店货架一样好拿
// 随机整数/小数/布尔值/字符串/UUID
final n = RandomToolkit.generators.integer(1, 100);
final x = RandomToolkit.generators.decimal(0.0, 1.0);
final ok = RandomToolkit.generators.boolean();
final code = RandomToolkit.generators.string(length: 10);
final uuid = RandomToolkit.generators.uuid();
// 从数组里随机挑一个
final choice = RandomToolkit.generators.choice(['🍎', '🍌', '🍇']);
小比喻:这就像抓阄,公平且高效;而且不偏心(除非你自己改参数)。
2) 随机“人设”:英文老板与中文同事都满意
final cnName = RandomToolkit.person.name(locale: 'zh');
final enName = RandomToolkit.person.name(locale: 'en');
final email = RandomToolkit.person.email();
final cnPhone = RandomToolkit.person.phoneNumber(format: 'CN');
final usPhone = RandomToolkit.person.phoneNumber(format: 'US');
场景:登录页占位、联系人列表 Demo、短信校验流程——有名字有电话,像“群众演员”,随叫随到。
3) 视觉资源随机器:UI 调色盘 + 头像素材
final color = RandomToolkit.visual.color();
final hex = RandomToolkit.visual.hexColor();
final mColor = RandomToolkit.visual.materialColor();
final imageUrl = RandomToolkit.visual.imageUrl(width: 300, height: 200);
final avatarUrl = RandomToolkit.visual.avatarUrl(size: 100);
比喻:这是你的“设计师盲盒”,每次打开都有新色彩与头像,帮你快速预览 UI 效果。
4) 地址与时间:业务更贴近现实
final zhAddress = RandomToolkit.location.address(locale: 'zh');
final enAddress = RandomToolkit.location.address(locale: 'en');
final randomDate = RandomToolkit.datetime.date(
start: DateTime(2020, 1, 1),
end: DateTime(2024, 12, 31),
);
final ts = RandomToolkit.datetime.timestamp();
说明:用指定时间范围构造订单、日志或活动数据,不再“穿越时空”。
5) 一键生成完整用户:连头像都备好
final user = RandomToolkit.user.generate(locale: 'zh');
// 结构示例(Map<String, dynamic>):
// { id, name, email, phone, address, avatar, ... }
场景:需要 20 个用户列表模拟滚动性能?一行代码批量生成,像“工厂流水线”。
趣味使用场景:假数据黑科技助攻
- 写单元测试:用随机输入覆盖更多边界,减少“拍脑袋样本”。
- 做 UI 演示:随机颜色 + 头像 + 用户,秒变“真实环境”。
- Mock 接口:后端还在路上?你先拿“真·临时数据”把交互跑通。
- 数据脱敏演练:用随机替换敏感字段,测试流程不泄密。
技术准确性小贴士
- 纯 Dart 实现、轻量无原生依赖,跨平台可用。
- 支持 Flutter 与 Dart 环境,版本要求以官方页面为准。
- 功能覆盖:基础随机、人物信息、视觉资源、地址与日期、完整用户对象等。
更多请参考官方文档:pub.dev/random_tool…
准备好把“随机”变成“稳定的生产力”了吗?现在就把它加入你的项目吧。你负责写代码,它负责填数据——绝配!✨