controller.dart 2.9 KB

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