| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- import 'dart:async';
- import 'dart:io';
- import 'package:electronic_assistant/base/base_controller.dart';
- import 'package:electronic_assistant/data/consts/constants.dart';
- import 'package:electronic_assistant/module/browser/view.dart';
- import 'package:electronic_assistant/router/app_pages.dart';
- import 'package:electronic_assistant/utils/desktop_shortcut_utils.dart';
- import 'package:electronic_assistant/utils/expand.dart';
- import 'package:electronic_assistant/widget/alert_dialog.dart';
- import 'package:flutter/cupertino.dart';
- import 'package:flutter/gestures.dart';
- import 'package:get/get.dart';
- import '../../main.dart';
- class SplashController extends BaseController {
- final splashDelayedTime = 2;
- @override
- void onReady() {
- super.onReady();
- final isAgreePrivacy = isAgreePrivacyPolicy();
- if (isAgreePrivacy) {
- isAgreePrivacyNextStep();
- } else {
- EAAlertDialog.show(
- title: "隐私政策及权限说明",
- contentWidget: RichText(
- textAlign: TextAlign.left,
- text: TextSpan(
- style: TextStyle(
- color: "#5F5F61".toColor(),
- fontSize: 14,
- decoration: TextDecoration.none,
- ),
- children: [
- const TextSpan(
- text:
- "为了更好地为您服务,我们可能向系统申请一些必要权限,用于基本服务和功能。我们非常重视您的隐私和个人信息,请使用之前请仔细阅读",
- ),
- TextSpan(
- text: "《隐私政策》",
- style: TextStyle(
- color: "#5E8BFF".toColor(),
- decoration: TextDecoration.none,
- ),
- recognizer: TapGestureRecognizer()
- ..onTap = () {
- if (GetPlatform.isIOS) {
- BrowserPage.start(Constants.privacyPolicyIos);
- } else {
- BrowserPage.start(Constants.privacyPolicy);
- }
- },
- ),
- const TextSpan(
- text: "和",
- ),
- TextSpan(
- text: "《用户使用协议》",
- style: TextStyle(
- color: "#5E8BFF".toColor(),
- decoration: TextDecoration.none,
- ),
- recognizer: TapGestureRecognizer()
- ..onTap = () {
- BrowserPage.start(Constants.userAgreement);
- },
- ),
- const TextSpan(
- text: "。同意后,我们将继续为您服务。",
- ),
- ],
- ),
- ),
- cancelText: "不同意",
- confirmText: "同意并继续",
- cancelOnTap: () {
- EAAlertDialog.dismiss();
- exit(0);
- },
- confirmOnTap: () async {
- EAAlertDialog.dismiss();
- setPrivacyPolicy(true);
- initAfterGrant();
- await Future.delayed(const Duration(seconds: 1));
- Get.offNamed(RoutePath.mainTab);
- },
- );
- }
- }
- isAgreePrivacyNextStep() {
- //判断是否有额外操作执行
- if (DesktopShortcutUtils.getRouteMap() != null) {
- final routeMap = DesktopShortcutUtils.getRouteMap();
- if (routeMap?[LaunchAction.key] == LaunchAction.recordAudioAction) {
- _goMain(Duration.zero, arguments: routeMap);
- } else {
- _goMain(Duration(seconds: splashDelayedTime));
- }
- } else {
- _goMain(Duration(seconds: splashDelayedTime));
- }
- }
- void _goMain(Duration delayTime, {Map<String, dynamic>? arguments}) {
- Timer(delayTime, () {
- Get.offNamed(RoutePath.mainTab, arguments: arguments);
- });
- }
- }
|