controller.dart 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. 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. }