app_need_update_view.dart 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import 'dart:io';
  2. import 'package:flutter/material.dart';
  3. import 'package:get/get.dart';
  4. import 'package:trackoffical_app/pb.dart' as pb;
  5. import '../logger.dart';
  6. import '../service/api.dart';
  7. import '../service/app.dart';
  8. import '../widget/will_exit_after_2_back.dart';
  9. import 'app_update_view.dart';
  10. class AppNeedUpdateController extends GetxController {
  11. final version = ''.obs;
  12. @override
  13. void onReady()async{
  14. info("AppNeedUpdateController ready");
  15. var upInfo = await ApiService.to.getUpdateVersion(App.to.appVersion);
  16. info('$upInfo');
  17. if (upInfo.needUpdate){
  18. if(Platform.isAndroid){
  19. AppUpdateView.show(upInfo);
  20. }
  21. }
  22. }
  23. }
  24. class AppNeedUpdateView extends GetView<AppNeedUpdateController>{
  25. const AppNeedUpdateView({super.key});
  26. static Bindings bindings() {
  27. return BindingsBuilder(() {
  28. Get.lazyPut<AppNeedUpdateController>(() => AppNeedUpdateController());
  29. });
  30. }
  31. @override
  32. Widget build(BuildContext context) {
  33. return WillExitAfter2Back(child: Scaffold(
  34. body: Center(child: Obx(()=>Text(controller.version.value))
  35. ),
  36. )) ;
  37. }
  38. }