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<AppVersionInfo> 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',
    );
  }
}