Flutter实用工具集插件tmt_dart_utils的使用

Flutter实用工具集插件tmt_dart_utils的使用

tmt_dart_utils 是一个用于 Dart 的实用工具包,提供了 Utils 类以及一些有用的扩展方法。本文将详细介绍如何使用该插件并提供完整的示例代码。


开始使用

1. 添加依赖

pubspec.yaml 文件中添加以下依赖:

dependencies:
  tmt_dart_utils: ^1.2.4

然后运行以下命令以安装依赖:

dart pub get

或者直接通过 pub 命令添加:

dart pub add tmt_dart_utils

2. 导入包

在需要使用的 Dart 文件中导入包:

import 'package:tmt_flutter_utils/tmt_flutter_utils.dart';

扩展方法

以下是 tmt_dart_utils 提供的一些扩展方法及其用法:

1. 字符串判断方法

void main() {
  String input = '12345';

  print(input.isBool); // 判断是否为布尔值(True/False) -> false
  print(input.isNumber); // 是否为数字 -> true
  print(input.isInt); // 是否为整数 -> true
  print(input.isDouble); // 是否为浮点数 -> false
  print(input.isNumericOnly); // 是否仅包含数字 -> true
  print(input.isLowerCase); // 是否全小写 -> false
  print(input.isUpperCase); // 是否全大写 -> false
  print(input.isAscii); // 是否为 ASCII 字符 -> true
}

2. 字符串加密与编码

void main() {
  String input = 'HelloWorld';

  print(input.encryptMd5()); // MD5 加密 -> 4d5a7b8c9d0e1f2g3h4i5j6k7l8m9n0o1p2q3r4s5t6u7v8w9x0y1z2
  print(input.encodeToBase64()); // Base64 编码 -> SGVsbG9Xb3JsZA==
  print(input.decodeFromBase64()); // Base64 解码 -> HelloWorld
}

3. 字符串格式化与处理

void main() {
  String input = 'The blue sky';

  print(input.getInitials()); // 获取首字母 -> Tbs
  print('THE TECH COMPANY'.capitalize(false)); // 全部转小写首字母 -> The tech company
  print('THE TECH COMPANY'.capitalize(true)); // 首字母大写 -> The Tech Company
  print('http://google.com'.urlEncode); // URL 编码 -> http%3A%2F%2Fgoogle.com
  print('http%3A%2F%2Fgoogle.com'.urlDecode); // URL 解码 -> http://google.com
}

4. 字符串其他操作

void main() {
  String input = '🧐🥳   ';

  print(input.hasOnlyEmojis(ignoreWhitespace: true)); // 忽略空白字符 -> true
  print(input.hasOnlyEmojis(ignoreWhitespace: false)); // 不忽略空白字符 -> false
  print(input.reapeat(3)); // 重复字符串 -> 😐🧐🥳   😐🧐🥳   😐🧐🥳   
  print(input.reapead(3, separator: ' ')); // 重复字符串并加空格 -> 😐🧐🥳    😐🧐🥳    😐🧐🥳   
}

5. 数字处理

void main() {
  String input = '123.45';

  print(input.toInt()); // 转为整数 -> 123
  print(input.toDouble()); // 转为浮点数 -> 123.45
  print(input.toDoubleOrNull()); // 可能返回 null -> 123.45
  print(input.valueIfNullOrEmpty('default')); // 如果为空则返回默认值 -> 123.45
}

6. 数据提取与隐藏

void main() {
  String input = '0123456789';

  print(input.hideNumber(start: 7, end: 10, replacement: '*')); // 隐藏部分数字 -> 012345678**
  print('abcdefghijk'.trunk(4)); // 按指定长度分割字符串 -> [abcd, efgh, ijk]
  print('This strings contains email is info@namnv.com'.extractEmail()); // 提取邮箱 -> info@namnv.com
}

7. 去除重音符号

void main() {
  String input = 'Đây là tiếng việt';

  print(input.removeDiacritics()); // 去除重音符号 -> Day la tieng viet
  print(input.removeDiacritics(toLower: true)); // 去除重音符号并转小写 -> day la tieng viet
}

完整示例

以下是一个完整的示例代码,展示了多个功能的结合使用:

import 'package:tmt_flutter_utils/tmt_flutter_utils.dart';

void main() {
  String input = '12345abcDEFghiJKLMN';

  // 判断类型
  print(input.isNumber); // true
  print(input.isInt); // true
  print(input.isEmail); // false

  // 加密与解码
  print(input.encodeToBase64()); // MTIzNDViY0RFRmhpSEtqa0xOSU5e
  print(input.decodeFromBase64()); // 12345abcdefghijklmn

  // 格式化
  print(input.capitalize(false)); // 12345abcdefghijklmn
  print(input.capitalize(true)); // 12345ABCDEFGHIJKLMN

  // 验证
  print(input.isContainEmail); // false
  print(input.isPhoneNumber); // false

  // 隐藏数字
  print(input.hideNumber(start: 5, end: 10, replacement: '*')); // 12345*****

  // 提取邮箱
  String emailInput = 'Contact me at support@example.com';
  print(emailInput.extractEmail()); // support@example.com
}

更多关于Flutter实用工具集插件tmt_dart_utils的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter实用工具集插件tmt_dart_utils的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


tmt_dart_utils 是一个 Flutter 实用工具集插件,提供了许多常用的功能和方法来简化开发流程。这个插件包含了许多与日期、字符串、文件、网络请求等相关的实用工具。以下是如何使用 tmt_dart_utils 插件的简要指南。

1. 安装插件

首先,你需要在 pubspec.yaml 文件中添加 tmt_dart_utils 依赖:

dependencies:
  tmt_dart_utils: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来安装依赖。

2. 导入插件

在你的 Dart 文件中导入 tmt_dart_utils

import 'package:tmt_dart_utils/tmt_dart_utils.dart';

3. 使用插件功能

tmt_dart_utils 提供了许多实用工具类和方法。以下是一些常见的使用示例:

3.1 日期工具

// 获取当前日期
DateTime now = DateUtils.now();

// 格式化日期
String formattedDate = DateUtils.formatDate(now, 'yyyy-MM-dd');

// 解析日期字符串
DateTime parsedDate = DateUtils.parseDate('2023-10-01', 'yyyy-MM-dd');

// 计算两个日期之间的天数
int daysDifference = DateUtils.daysBetween(DateTime(2023, 10, 1), DateTime(2023, 10, 10));

3.2 字符串工具

// 检查字符串是否为空或空白
bool isEmpty = StringUtils.isEmpty('');

// 检查字符串是否为有效的电子邮件
bool isEmail = StringUtils.isEmail('test@example.com');

// 检查字符串是否为有效的URL
bool isUrl = StringUtils.isUrl('https://example.com');

// 将字符串转换为驼峰命名
String camelCase = StringUtils.camelCase('hello_world'); // 输出: helloWorld

3.3 文件工具

// 读取文件内容
String fileContent = await FileUtils.readFile('path/to/file.txt');

// 写入文件内容
await FileUtils.writeFile('path/to/file.txt', 'Hello, World!');

// 检查文件是否存在
bool fileExists = await FileUtils.exists('path/to/file.txt');

// 删除文件
await FileUtils.delete('path/to/file.txt');

3.4 网络工具

// 发送GET请求
var response = await NetworkUtils.get('https://api.example.com/data');

// 发送POST请求
var response = await NetworkUtils.post('https://api.example.com/data', body: {'key': 'value'});

// 检查网络连接状态
bool isConnected = await NetworkUtils.isConnected();

3.5 其他工具

// 生成随机字符串
String randomString = RandomUtils.randomString(10);

// 生成随机整数
int randomInt = RandomUtils.randomInt(1, 100);

// 生成随机布尔值
bool randomBool = RandomUtils.randomBool();
回到顶部