소스 검색

fix:完善推送调转到轨迹界面。

“HeShaoZe” 4 달 전
부모
커밋
4b552b12a4
3개의 변경된 파일20개의 추가작업 그리고 1개의 파일을 삭제
  1. 3 0
      lib/data/bean/user_info.dart
  2. 14 1
      lib/module/track/track_controller.dart
  3. 3 0
      lib/push_notification/ios_push_notification_service.dart

+ 3 - 0
lib/data/bean/user_info.dart

@@ -39,6 +39,8 @@ class UserInfo {
 
   final bool? isMine;
 
+  late bool? isShowYesterday;
+
   UserInfo({
     required this.id,
     required this.phoneNumber,
@@ -50,6 +52,7 @@ class UserInfo {
     this.virtual,
     this.isMine,
     this.avatar,
+    this.isShowYesterday
   });
 
   factory UserInfo.fromJson(Map<String, dynamic> json) {

+ 14 - 1
lib/module/track/track_controller.dart

@@ -88,9 +88,15 @@ class TrackController extends BaseController
 
   void _createTabController() {
     tabController?.dispose();
+    var inintIndex = 0;
+    if (_userInfo.value?.isShowYesterday ?? false) {
+      //控制请求当前页数据或者数据已有时跟换数据
+      inintIndex = 1;
+    }
     final tab = TabController(
       length: daysList.length,
       vsync: this,
+      initialIndex: inintIndex,
     );
     _tabController.value = tab;
     tab.addListener(() {
@@ -102,7 +108,14 @@ class TrackController extends BaseController
       }
     });
     Future.delayed(Duration(milliseconds: 100), () {
-      currentTrackDay.value = daysList.isNotEmpty ? daysList[0] : null;
+      if (_userInfo.value?.isShowYesterday ?? false) {
+        //控制请求当前页数据或者数据已有时跟换数据
+        if (daysList.length > 1) {
+          currentTrackDay.value = daysList.isNotEmpty ? daysList[1] : null;
+        }
+      } else {
+        currentTrackDay.value = daysList.isNotEmpty ? daysList[0] : null;
+      }
     });
   }
 

+ 3 - 0
lib/push_notification/ios_push_notification_service.dart

@@ -96,9 +96,12 @@ class IosPushNotificationService {
         //print("trackResponsesfsfsd---${trackResponse}");
         if ((trackResponse.trackDailyList ?? []).isNotEmpty) {
           if ((trackResponse.trackDailyList ?? []).length == 1) {
+            UserInfo seleUseInfo = (trackResponse.trackDailyList ?? []).first;
+            seleUseInfo.isShowYesterday = true;
             onViewTraceClic((trackResponse.trackDailyList ?? []).first);
           } else {
             TrackChooseFriendDialog.show(trackDailyList: trackResponse.trackDailyList,onSelectItem: (selectInfo) {
+              selectInfo.isShowYesterday = true;
               onViewTraceClic(selectInfo);
             });
           }