| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- import 'dart:io';
- import 'package:electronic_assistant/base/base_controller.dart';
- import 'package:electronic_assistant/data/consts/constants.dart';
- import 'package:electronic_assistant/data/consts/event_report_id.dart';
- import 'package:electronic_assistant/data/repositories/config_repository.dart';
- import 'package:electronic_assistant/device/atmob_platform_info.dart';
- import 'package:electronic_assistant/handler/event_handler.dart';
- import 'package:electronic_assistant/module/browser/view.dart';
- import 'package:electronic_assistant/resource/colors.gen.dart';
- import 'package:electronic_assistant/router/app_pages.dart';
- import 'package:electronic_assistant/utils/error_handler.dart';
- import 'package:electronic_assistant/utils/toast_util.dart';
- import 'package:flutter/cupertino.dart';
- import 'package:flutter_screenutil/flutter_screenutil.dart';
- import 'package:get/get.dart';
- import '../../../data/api/response/user_info_response.dart';
- import '../../../data/repositories/account_repository.dart';
- import '../../../dialog/alert_dialog.dart';
- import '../../../dialog/show_update_version_dialog.dart';
- import '../../../resource/string.gen.dart';
- import '../../../utils/app_info_util.dart';
- import '../../../utils/common_utils.dart';
- import '../controller.dart';
- class MainDrawerController extends BaseController {
- String get versionName => "v${appInfoUtil.appVersionName}";
- String get loginTxt =>
- accountRepository.getUserSubName(accountRepository.phone);
- final Rxn<UserInfoResponse> _userInfo = accountRepository.userInfo;
- UserInfoResponse? get userInfo => _userInfo.value;
- void accountLogout() {
- EAAlertDialog.show(
- contentWidget: Text(
- StringName.accountLogoutTips.tr,
- style: TextStyle(
- fontSize: 15.sp,
- color: ColorName.primaryTextColor,
- fontWeight: FontWeight.bold),
- ),
- cancelText: StringName.cancel.tr,
- confirmText: StringName.sure.tr,
- confirmOnTap: () {
- accountRepository.userDeprecate().then((data) {
- Get.find<MainController>().closeDrawer();
- accountRepository.logout();
- ToastUtil.showToast(StringName.accountLogoutSuccess.tr);
- }).catchError((error) {
- ErrorHandler.toastError(error);
- });
- });
- }
- void onCheckUpdate() {
- EventHandler.report(EventId.event_105001);
- configRepository.getAppVersion().then((bean) {
- if (bean == null) {
- ToastUtil.showToast(StringName.versionLatest.tr);
- } else {
- Get.find<MainController>().closeDrawer();
- UpdateVersionDialog.show(bean);
- }
- }).catchError((error) {
- ErrorHandler.toastError(error);
- });
- }
- void modelClick() {
- Get.toNamed(RoutePath.modelExplain);
- }
- void goToCustomerService() {
- final userInfo = accountRepository.userInfo.value;
- if (userInfo == null) {
- ToastUtil.showToast('网络异常,请稍后再试');
- accountRepository.refreshUserInfo();
- return;
- }
- int appPlatform = 0;
- if (Platform.isAndroid) {
- appPlatform = 1;
- } else if (Platform.isIOS) {
- appPlatform = 2;
- }
- //拼接字符串
- String url =
- "${Constants.customerService}?ssid=${userInfo.ssid}&device_id=${userInfo.deviceId}&app_platform=$appPlatform&app_version=${appInfoUtil.appVersionName}&package_name=${appInfoUtil.packageName}&app_name=${appInfoUtil.appName}";
- BrowserPage.start(url);
- }
- }
|