welcome_view.dart 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import 'dart:ffi';
  2. import 'package:flutter/material.dart';
  3. import 'package:get/get.dart';
  4. import 'package:url_launcher/url_launcher.dart';
  5. import '../../../controller/controllers.dart';
  6. import '../controllers/welcome_controller.dart';
  7. class WelcomeView extends GetView<WelcomeController> {
  8. const WelcomeView({Key? key}) : super(key: key);
  9. @override
  10. Widget build(BuildContext context) {
  11. return Scaffold(
  12. backgroundColor: Colors.white,
  13. body: Obx(() {
  14. if(controller.error.value.isNotEmpty) {
  15. String mess = controller.error.value;
  16. controller.error.value = '';
  17. Future.delayed(Duration.zero, () async {
  18. bool? result = await controllers.dialog.showNormalDialog(
  19. title: "提示",
  20. content: mess,
  21. cancelText: "取消",
  22. enterText: "确认",
  23. );
  24. if (result != null && result) {
  25. // User pressed "确认"
  26. await controller.fetchSysConfig();
  27. } else {
  28. }
  29. });
  30. }
  31. if(controller.isUPdateVerion.value){
  32. controller.isUPdateVerion.value = false;
  33. Future.delayed(Duration.zero, () async {
  34. bool? result = await controllers.dialog.showNormalDialog(
  35. title: "提示",
  36. content: controller.verModes.value.appmsg ?? "有更新",
  37. cancelText: "取消",
  38. enterText: "确认",
  39. );
  40. if (result != null && result) {
  41. // User pressed "确认"
  42. if(controller.verModes.value.appdownload != null){
  43. await launchUrl(Uri.parse(controller.verModes.value.appdownload ?? ""));
  44. await controller.fetchSysConfig();
  45. }
  46. } else {
  47. await controller.fetchSysConfig();
  48. }
  49. });
  50. }
  51. return Center(
  52. child: Column(
  53. mainAxisAlignment: MainAxisAlignment.center,
  54. children: <Widget>[
  55. controller.isLoading.value == true ? const CircularProgressIndicator() : Container(), // 菊花加载指示器
  56. const SizedBox(height: 20), // 用于给加载指示器和文字之间增加一些空间
  57. Text(
  58. controller.msgStatus.value,
  59. style: const TextStyle(
  60. fontSize: 16,
  61. fontWeight: FontWeight.w600,
  62. ),
  63. ),
  64. ],
  65. ), // 当不在加载时,你可能想要显示其他的 Widget
  66. );
  67. }),
  68. );
  69. }
  70. }