welcome_view.dart 3.0 KB

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