controller.dart 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. import 'dart:ui';
  2. import 'package:electronic_assistant/base/base_controller.dart';
  3. import 'package:electronic_assistant/resource/assets.gen.dart';
  4. import 'package:electronic_assistant/resource/colors.gen.dart';
  5. import 'package:electronic_assistant/resource/string.gen.dart';
  6. import 'package:electronic_assistant/utils/app_info_util.dart';
  7. import 'package:electronic_assistant/utils/expand.dart';
  8. import 'package:flutter/cupertino.dart';
  9. import 'package:flutter/material.dart';
  10. import 'package:get/get.dart';
  11. import '../../data/repositories/account_repository.dart';
  12. class MainController extends BaseController {
  13. final GlobalKey<ScaffoldState> scaffoldKey = GlobalKey<ScaffoldState>();
  14. final List<TabBean> tabBeans = [
  15. TabBean(
  16. StringName.mainTabHome,
  17. Assets.images.mainTabHomeUnSelect.path,
  18. Assets.images.mainTabHomeSelected.path,
  19. "#969696".toColor(),
  20. ColorName.primaryTextColor),
  21. TabBean(
  22. StringName.mainTabFile,
  23. Assets.images.mainTabFileUnSelect.path,
  24. Assets.images.mainTabFileSelected.path,
  25. "#969696".toColor(),
  26. ColorName.primaryTextColor),
  27. ];
  28. final _currentIndex = 0.obs;
  29. int get currentIndex => _currentIndex.value;
  30. String get versionName => "v${appInfoUtil.appVersionName}";
  31. String get loginTxt =>
  32. accountRepository.getUserSubName(accountRepository.phone);
  33. String get electricityTxt => '${StringName.mainLoginChargeTips.tr}';
  34. void changeIndex(int index) {
  35. _currentIndex.value = index;
  36. }
  37. void updateIndex(int index) {
  38. _currentIndex.value = index;
  39. }
  40. void updateIndexByPageName(String pageName) {
  41. for (var value in tabBeans) {
  42. if (value.title == pageName) {
  43. _currentIndex.value = tabBeans.indexOf(value);
  44. break;
  45. }
  46. }
  47. }
  48. void openDrawer() {
  49. scaffoldKey.currentState?.openDrawer();
  50. }
  51. void closeDrawer() {
  52. scaffoldKey.currentState?.closeDrawer();
  53. }
  54. }
  55. class TabBean {
  56. final String title;
  57. final String normalIcon;
  58. final String selectedIcon;
  59. final Color txtNormalColor;
  60. final Color txtSelectedColor;
  61. TabBean(this.title, this.normalIcon, this.selectedIcon, this.txtNormalColor,
  62. this.txtSelectedColor);
  63. }