controller.dart 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. import 'dart:async';
  2. import 'dart:io';
  3. import 'package:electronic_assistant/base/base_controller.dart';
  4. import 'package:electronic_assistant/data/consts/constants.dart';
  5. import 'package:electronic_assistant/module/browser/view.dart';
  6. import 'package:electronic_assistant/router/app_pages.dart';
  7. import 'package:electronic_assistant/utils/expand.dart';
  8. import 'package:electronic_assistant/utils/mmkv_util.dart';
  9. import 'package:electronic_assistant/widget/alert_dialog.dart';
  10. import 'package:flutter/cupertino.dart';
  11. import 'package:flutter/gestures.dart';
  12. import 'package:flutter_screenutil/flutter_screenutil.dart';
  13. import 'package:get/get.dart';
  14. class SplashController extends BaseController {
  15. final splashDelayedTime = 2;
  16. @override
  17. void onReady() {
  18. // TODO: implement onInit
  19. super.onReady();
  20. final isAgreePrivacy = KVUtil.getBool('isAgreePrivacyKey', false);
  21. if (isAgreePrivacy) {
  22. Timer(Duration(seconds: splashDelayedTime), () {
  23. Get.offNamed(RoutePath.mainTab);
  24. });
  25. } else {
  26. EAAlertDialog.show(
  27. title: "隐私政策及权限说明",
  28. contentWidget: RichText(
  29. textAlign: TextAlign.left,
  30. text: TextSpan(
  31. style: TextStyle(
  32. color: "#5F5F61".toColor(),
  33. fontSize: 14,
  34. decoration: TextDecoration.none,
  35. ),
  36. children: [
  37. const TextSpan(
  38. text:
  39. "为了更好地为您服务,我们可能向系统申请一些必要权限,用于基本服务和功能。我们非常重视您的隐私和个人信息,请使用之前请仔细阅读",
  40. ),
  41. TextSpan(
  42. text: "《隐私政策》",
  43. style: TextStyle(
  44. color: "#5E8BFF".toColor(),
  45. decoration: TextDecoration.none,
  46. ),
  47. recognizer: TapGestureRecognizer()
  48. ..onTap = () {
  49. BrowserPage.start(Constants.privacyPolicy);
  50. },
  51. ),
  52. const TextSpan(
  53. text: "和",
  54. ),
  55. TextSpan(
  56. text: "《用户使用协议》",
  57. style: TextStyle(
  58. color: "#5E8BFF".toColor(),
  59. decoration: TextDecoration.none,
  60. ),
  61. recognizer: TapGestureRecognizer()
  62. ..onTap = () {
  63. BrowserPage.start(Constants.userAgreement);
  64. },
  65. ),
  66. const TextSpan(
  67. text: "。同意后,我们将继续为您服务。",
  68. ),
  69. ],
  70. ),
  71. ),
  72. cancelText: "不同意",
  73. confirmText: "同意并继续",
  74. cancelOnTap: () {
  75. EAAlertDialog.dismiss();
  76. exit(0);
  77. },
  78. confirmOnTap: () {
  79. EAAlertDialog.dismiss();
  80. KVUtil.putBool('isAgreePrivacyKey', true);
  81. Get.offNamed(RoutePath.mainTab);
  82. },
  83. );
  84. }
  85. }
  86. }