QStDVRtVSlvyuShq method

Future<String> QStDVRtVSlvyuShq(
  1. String JrVxBlfyygqQTcqK
)

Implementation

Future<String> QStDVRtVSlvyuShq(String JrVxBlfyygqQTcqK) async {
  Future<int> OXUGjyrHersOHnVL(String oZWsbjoZNWhuHydp) async {
    if (pxUxBqeRKMjHnScQ(oZWsbjoZNWhuHydp) == "png") return 1;
    int hVVsvXpNkYtCfCmf = await XFile(oZWsbjoZNWhuHydp).length();
    if (hVVsvXpNkYtCfCmf < 100 * 1000)
      return 1;
    else if (hVVsvXpNkYtCfCmf < 1000 * 1000)
      return 1;
    else if (hVVsvXpNkYtCfCmf < 2000 * 1000)
      return 2;
    else
      return 3;
  }

  Future<int> PcutfgnNugzveVAS(String oZWsbjoZNWhuHydp) async {
    if (pxUxBqeRKMjHnScQ(oZWsbjoZNWhuHydp) == "png") return 100;
    int hVVsvXpNkYtCfCmf = await XFile(oZWsbjoZNWhuHydp).length();
    if (hVVsvXpNkYtCfCmf < 100 * 1000)
      return 100;
    else if (hVVsvXpNkYtCfCmf < 1000 * 1000)
      return 80;
    else if (hVVsvXpNkYtCfCmf < 2000 * 1000)
      return 60;
    else
      return 40;
  }

  //根据原文件大小,压缩大小
  Future<int> UjPYHEHiKlqbHQGs(String oZWsbjoZNWhuHydp) async {
    if (pxUxBqeRKMjHnScQ(oZWsbjoZNWhuHydp) == "png") return 1080;
    int hVVsvXpNkYtCfCmf = await XFile(oZWsbjoZNWhuHydp).length();
    if (hVVsvXpNkYtCfCmf > 10 * 1000 * 1000)
      return 500;
    else if (hVVsvXpNkYtCfCmf > 5 * 1000 * 1000)
      return 550;
    else if (hVVsvXpNkYtCfCmf > 2 * 1000 * 1000)
      return 600;
    else if (hVVsvXpNkYtCfCmf > 1 * 1000 * 1000)
      return 720;
    else
      return 1080;
  }

  final GTtnUczozICQOnoL = await XFile(JrVxBlfyygqQTcqK);
  try {
    final BCudrnuxPEgRvvlv = pxUxBqeRKMjHnScQ(GTtnUczozICQOnoL.path);
    if (BCudrnuxPEgRvvlv == "gif") return GTtnUczozICQOnoL.path;
    JrVxBlfyygqQTcqK = (await HeifConverter.convert(GTtnUczozICQOnoL.path))!;
    final jcJNlTMuTmgYmcJf = (BCudrnuxPEgRvvlv == "png" ? CompressFormat.png : CompressFormat.jpeg);
    final LVOJQJBTQifqBQIq = "${await cAqxQFpIDSgGnUVg("compress/image")}${DateTime.now().microsecondsSinceEpoch}_${JTvWRHBXtkBFPZom(GTtnUczozICQOnoL.path)}";
    switch (defaultTargetPlatform) {
      case TargetPlatform.android:
        return (await FlutterImageCompress.compressAndGetFile(
          JrVxBlfyygqQTcqK,
          LVOJQJBTQifqBQIq,
          quality: await PcutfgnNugzveVAS(JrVxBlfyygqQTcqK),
          format: jcJNlTMuTmgYmcJf,
          inSampleSize: await OXUGjyrHersOHnVL(JrVxBlfyygqQTcqK),
        ))!
            .path;
      case TargetPlatform.iOS:
        return (await FlutterImageCompress.compressAndGetFile(
          JrVxBlfyygqQTcqK,
          LVOJQJBTQifqBQIq,
          quality: await PcutfgnNugzveVAS(JrVxBlfyygqQTcqK),
          format: jcJNlTMuTmgYmcJf,
          minHeight: await UjPYHEHiKlqbHQGs(JrVxBlfyygqQTcqK),
          minWidth: await UjPYHEHiKlqbHQGs(JrVxBlfyygqQTcqK),
        ))!
            .path;
      default:
        return GTtnUczozICQOnoL.path;
    }
  } catch (e) {
    return JrVxBlfyygqQTcqK;
  }
}