|
|
@@ -4,25 +4,56 @@ import 'package:injectable/injectable.dart';
|
|
|
import 'package:keyboard/base/base_controller.dart';
|
|
|
import 'package:keyboard/resource/string.gen.dart';
|
|
|
|
|
|
+import '../../router/app_page_arguments.dart';
|
|
|
+import '../../utils/atmob_log.dart';
|
|
|
+import 'enums/intimacy_analyse_tab.dart';
|
|
|
+
|
|
|
/// 亲密度分析Controller
|
|
|
@injectable
|
|
|
class IntimacyAnalyseController extends BaseController
|
|
|
with GetTickerProviderStateMixin {
|
|
|
+ final String _tag = "IntimacyAnalyseController";
|
|
|
+
|
|
|
/// Tab列表
|
|
|
RxList<String> tabBarList =
|
|
|
- <String>[
|
|
|
- StringName.intimacyAnalyseTabReport,
|
|
|
- StringName.intimacyAnalyseTabScreenshotReply,
|
|
|
- ].obs;
|
|
|
+ IntimacyAnalyseTab.values.map((item) => item.getTabName()).toList().obs;
|
|
|
|
|
|
/// Tab控制器
|
|
|
- late final TabController tabController = TabController(
|
|
|
- length: tabBarList.length,
|
|
|
- vsync: this,
|
|
|
- );
|
|
|
+ late final TabController tabController;
|
|
|
|
|
|
/// PageView控制器
|
|
|
- final PageController pageController = PageController();
|
|
|
+ late final PageController pageController;
|
|
|
+
|
|
|
+ @override
|
|
|
+ void onInit() {
|
|
|
+ super.onInit();
|
|
|
+ _initArgs();
|
|
|
+ }
|
|
|
+
|
|
|
+ /// 初始化参数
|
|
|
+ void _initArgs() {
|
|
|
+ final arguments = Get.arguments as Map<String, dynamic>?;
|
|
|
+
|
|
|
+ // 当前索引
|
|
|
+ int tabIndex = IntimacyAnalyseTab.intimacyAnalyseScreenshotReply.tabIndex;
|
|
|
+ if (arguments?[AppPageArguments.index] == null) {
|
|
|
+ AtmobLog.i(_tag, '没有传递 index 参数');
|
|
|
+ } else {
|
|
|
+ final int? index = arguments?[AppPageArguments.index] as int?;
|
|
|
+ if (index != null) {
|
|
|
+ tabIndex = index;
|
|
|
+ AtmobLog.i(_tag, "index: $tabIndex");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 创建PageController和TabController,并设置当前选中的index为初始索引
|
|
|
+ pageController = PageController(initialPage: tabIndex);
|
|
|
+ tabController = TabController(
|
|
|
+ initialIndex: tabIndex,
|
|
|
+ length: tabBarList.length,
|
|
|
+ vsync: this,
|
|
|
+ );
|
|
|
+ }
|
|
|
|
|
|
/// 返回上一页
|
|
|
void clickBack() {
|