import 'dart:ui'; import 'dart:math'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:package_info_plus/package_info_plus.dart'; int getRandomWithNum(int min, int max) { final random = Random(); return random.nextInt(max) + min; // 生成随机数 } double screenWidth(BuildContext context) { double screenWidth = MediaQuery.of(context).size.width; return screenWidth; } void pushPage(Widget page, BuildContext context) { Navigator.push(context, MaterialPageRoute(builder: (context) => page)); } void present(Widget page, BuildContext context) { Navigator.push( context, MaterialPageRoute( fullscreenDialog: true, builder: (context) => page, ), ); } /// 文本样式工具类 /// 文本样式工具类 /// 文本样式工具类,返回 Text Widget class HhTextStyleUtils { /// 主要标题,返回 Text /// [text]: 文本内容 /// [color]: 文本颜色,默认黑色 /// [fontSize]: 字体大小,默认16.0 /// [bold]: 是否加粗,默认true static Text mainTitle( String text, { Color color = Colors.black, double fontSize = 16.0, bool bold = true, }) { return Text( text, style: TextStyle( color: color, fontSize: fontSize, fontWeight: bold ? FontWeight.bold : FontWeight.normal, ), ); } static TextStyle secondaryTitleStyle = TextStyle(color:Colors.black54, fontSize: 15.0); /// 次要标题,返回 Text /// [text]: 文本内容 /// [color]: 文本颜色,默认深灰 /// [fontSize]: 字体大小,默认14.0 /// [bold]: 是否加粗,默认false static Text secondaryTitle( String text, { Color color = Colors.black54, double fontSize = 14.0, bool bold = false, }) { return Text( text, style: TextStyle( color: color, fontSize: fontSize, fontWeight: bold ? FontWeight.bold : FontWeight.normal, ), ); } /// 小文字,返回 Text /// [text]: 文本内容 /// [color]: 文本颜色,默认灰色 /// [fontSize]: 字体大小,默认12.0 /// [bold]: 是否加粗,默认false static Text smallText( String text, { Color color = Colors.black54, double fontSize = 12.0, bool bold = false, }) { return Text( text, style: TextStyle( color: color, fontSize: fontSize, fontWeight: bold ? FontWeight.bold : FontWeight.normal, ), ); } } /// 版本信息模型类 class AppVersionInfo { final String versionName; // 版本名称(如 1.0.0) final String buildNumber; // 构建号(如 1) final String fullVersion; // 完整版本(如 1.0.0+1) AppVersionInfo({ required this.versionName, required this.buildNumber, required this.fullVersion, }); @override String toString() { return fullVersion; } } // 获取应用版本信息的方法 Future getAppVersion() async { try { final packageInfo = await PackageInfo.fromPlatform(); return AppVersionInfo( versionName: packageInfo.version, buildNumber: packageInfo.buildNumber, fullVersion: '${packageInfo.version}+${packageInfo.buildNumber}', ); } catch (e) { // 获取失败时返回默认值 return AppVersionInfo( versionName: '1.0.0', buildNumber: '1', fullVersion: '1.0.0+0', ); } }