|
|
@@ -4,6 +4,8 @@ import 'package:get/get_state_manager/src/rx_flutter/rx_ticket_provider_mixin.da
|
|
|
import 'package:injectable/injectable.dart';
|
|
|
import 'package:keyboard/base/base_controller.dart';
|
|
|
|
|
|
+import '../../../data/consts/event_report.dart';
|
|
|
+import '../../../handler/event_handler.dart';
|
|
|
import '../../../resource/string.gen.dart';
|
|
|
|
|
|
/// 亲密度分析-截图回复Tab页-controller
|
|
|
@@ -26,6 +28,17 @@ class IntimacyAnalyseScreenshotReplyController extends BaseController
|
|
|
/// PageView控制器
|
|
|
final PageController pageController = PageController();
|
|
|
|
|
|
+ /// 当前索引
|
|
|
+ final RxInt _currentIndex = 0.obs;
|
|
|
+
|
|
|
+ @override
|
|
|
+ void onInit() {
|
|
|
+ super.onInit();
|
|
|
+ _currentIndex.listen((newIndex) {
|
|
|
+ _reportEvent(newIndex);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
@override
|
|
|
void onClose() {
|
|
|
tabController.dispose();
|
|
|
@@ -35,15 +48,33 @@ class IntimacyAnalyseScreenshotReplyController extends BaseController
|
|
|
|
|
|
/// 处理Tab切换,联动PageView
|
|
|
void handleTabChange(int index) {
|
|
|
+ if (_currentIndex.value == index) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
pageController.animateToPage(
|
|
|
index,
|
|
|
duration: const Duration(milliseconds: 300),
|
|
|
curve: Curves.fastOutSlowIn,
|
|
|
);
|
|
|
+ _currentIndex.value = index;
|
|
|
}
|
|
|
|
|
|
/// 处理PageView切换,联动Tab
|
|
|
void handlePageChange(int index) {
|
|
|
+ if (_currentIndex.value == index) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
tabController.animateTo(index, duration: const Duration(milliseconds: 300));
|
|
|
+ _currentIndex.value = index;
|
|
|
+ }
|
|
|
+
|
|
|
+ /// 埋点
|
|
|
+ void _reportEvent(int index) {
|
|
|
+ // 识图回复
|
|
|
+ if (index == 0) {
|
|
|
+ EventHandler.report(EventId.event_10001);
|
|
|
+ } else if (index == 1) {
|
|
|
+ EventHandler.report(EventId.event_10004);
|
|
|
+ }
|
|
|
}
|
|
|
}
|