controller.dart 3.1 KB

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