Flutter - Random Toolkit:随机界的瑞士军刀 🔧🎲

71 阅读4分钟

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…

准备好把“随机”变成“稳定的生产力”了吗?现在就把它加入你的项目吧。你负责写代码,它负责填数据——绝配!✨