Flutter通用工具插件comm_utils的使用
Flutter通用工具插件comm_utils
的使用
公共工具类(包括HTTP网络请求封装和公共工具类)
1. HTTP网络请求
dependencies:
dio: ^4.0.6
comm_utils: ^0.0.1
/// 初始化工具
await XUtils.get.init(debug: kDebugMode);
/// 初始化网络
var config = HttpConfig("https://xxx", ThrowHandler());
var httpClient = HttpServer(config);
/// 创建数据仓库
Get.lazyPut(fenix: true, () => ApiRepository(httpClient));
2. 公共工具
color_utils
: 颜色工具类,主要用于字符串到颜色的转换。date_utils
: 日期工具类,用于获取日期时间,并在不同时间之间进行数据转换。encrypt_utils
: 加密解密工具类,主要用于MD5加密、Base64加密解密、XOR加密解密等。json_utils
: JSON转换工具类,主要负责列表、映射、对象与JSON之间的转换。money_utils
: 货币符号工具类,主要用于货币转换和格式化。num_utils
: 数字格式工具类,主要用于数字相关的处理和转换操作。random_utils
: 随机数工具类,主要用于生成随机字符串和数字。regex_utils
: 正则表达式工具类,主要用于电话、身份证、电子邮件、IP、网络等验证。sp_utils
: SP存储工具类。适合存储轻量级数据。不建议存储长JSON字符串。status_bar_utils
: 状态栏工具类。system_utils
: 系统工具类,用于复制内容到剪贴板、弹出和关闭软键盘、清除数据等。text_utils
: 文本工具类,主要用于处理字符串缩进。timer_utils
: 定时器工具类,用于设置总的倒计时时间和间隔等。xlog
: 日志输出工具类。
3. 扩展函数
k_double
: 双精度扩展,包括千米和米的转换。k_object
: 对象扩展,用于判断对象是否为空。k_widget
: 小部件扩展,包括点击事件、防重复点击、双击退出、控制是否显示等。
示例代码
import 'package:comm_utils/app_config.dart';
import 'package:comm_utils/export_khttp.dart';
import 'package:comm_utils/module/language/klanguage_utils.dart';
import 'package:comm_utils/module/language/language_vo.dart';
import 'package:example/http/api_repository.dart';
import 'package:example/http/throw_handler.dart';
import 'package:example/init_page.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:get/get.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitDown,
DeviceOrientation.portraitUp,
]);
/// 初始化全局配置
await AppConfig.init(() {
/// 初始化网络
var config = KHttpConfig("https://consumer.maxspos.com", ThrowHandler());
var httpClient = KHttpServer(config);
/// 创建数据仓库
Get.lazyPut(fenix: true, () => ApiRepository(httpClient));
/// 添加多语言
KLanguageUtils.get.initLanguage(
[LanguageVo.toSystem(), LanguageVo.toEn(), LanguageVo.toCN()]);
});
/// 会有警告,先去掉
// runZonedGuarded<Future<void>>(() async {
// var onError = FlutterError.onError; // 先将 onerror 保存起来
// FlutterError.onError = (FlutterErrorDetails details) {
// onError?.call(details); // 调用默认的onError
// };
runApp(const InitPage());
// }, (error, stack) => KLog.e(error.toString()));
}
更多关于Flutter通用工具插件comm_utils的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复