controller.dart 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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. class MainController extends BaseController {
  12. final GlobalKey<ScaffoldState> scaffoldKey = GlobalKey<ScaffoldState>();
  13. final List<TabBean> tabBeans = [
  14. TabBean(
  15. StringName.mainTabHome,
  16. Assets.images.mainTabHomeUnSelect.path,
  17. Assets.images.mainTabHomeSelected.path,
  18. "#969696".toColor(),
  19. ColorName.primaryTextColor),
  20. TabBean(
  21. StringName.mainTabFile,
  22. Assets.images.mainTabFileUnSelect.path,
  23. Assets.images.mainTabFileSelected.path,
  24. "#969696".toColor(),
  25. ColorName.primaryTextColor),
  26. ];
  27. final _currentIndex = 0.obs;
  28. int get currentIndex => _currentIndex.value;
  29. String get versionName => "v${appInfoUtil.appVersionName}";
  30. void changeIndex(int index) {
  31. _currentIndex.value = index;
  32. }
  33. void updateIndex(int index) {
  34. _currentIndex.value = index;
  35. }
  36. void updateIndexByPageName(String pageName) {
  37. for (var value in tabBeans) {
  38. if (value.title == pageName) {
  39. _currentIndex.value = tabBeans.indexOf(value);
  40. break;
  41. }
  42. }
  43. }
  44. void openDrawer() {
  45. scaffoldKey.currentState?.openDrawer();
  46. }
  47. void closeDrawer() {
  48. scaffoldKey.currentState?.closeDrawer();
  49. }
  50. }
  51. class TabBean {
  52. final String title;
  53. final String normalIcon;
  54. final String selectedIcon;
  55. final Color txtNormalColor;
  56. final Color txtSelectedColor;
  57. TabBean(this.title, this.normalIcon, this.selectedIcon, this.txtNormalColor,
  58. this.txtSelectedColor);
  59. }