all_init.dart 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import 'package:common_pub/common_pub_platform_interface.dart';
  2. import 'package:flutter/material.dart';
  3. import 'package:get/get.dart';
  4. import 'package:package_info_plus/package_info_plus.dart';
  5. import 'api.dart';
  6. import 'app.dart';
  7. import 'package:common_pub/pb.dart' as pb;
  8. Future<void> initBeforeApp() async {
  9. // final flavor = await getFlavor();
  10. // if(flavor=='dev'){
  11. // GlobalVar.apiHost='totapi-lc.beswell.com';
  12. // GlobalVar.flavor=Flavor.dev;
  13. // info('版本:dev');
  14. // FlavorConfig(
  15. // name: "开发版",
  16. // color: Colors.red,
  17. // location: BannerLocation.topStart,
  18. // );
  19. // }
  20. }
  21. Future<void> allInit() async {
  22. Get.put<AppService>(await AppService().init());
  23. Get.put<ApiService>(await ApiService().init());
  24. ApiService api = Get.find();
  25. final packageInfo = await PackageInfo.fromPlatform();
  26. final appVersion = packageInfo.version;
  27. final updateInfo = await api.stub
  28. .toGetUpdateVersion(pb.ToGetUpdateVersionRequest(vCode: appVersion));
  29. if (updateInfo.needUpdate) {
  30. final pStream =
  31. CommonPubPlatform.instance.updateApp(updateInfo.vUrl, updateInfo.vCode);
  32. final value = 0.0.obs;
  33. value.bindStream(pStream);
  34. await Get.dialog(
  35. AlertDialog(
  36. title: const Text('软件更新'),
  37. content: Obx(() => LinearProgressIndicator(value: value.value)),
  38. ),
  39. barrierDismissible: false);
  40. }
  41. }