|
|
@@ -1,13 +1,18 @@
|
|
|
-import 'dart:convert';
|
|
|
-import 'package:flutter/material.dart';
|
|
|
import 'package:flutter/services.dart';
|
|
|
-import 'package:get/get.dart';
|
|
|
-import 'package:get/get_core/src/get_main.dart';
|
|
|
|
|
|
+
|
|
|
+import '../data/bean/user_info.dart';
|
|
|
+import '../data/repositories/account_repository.dart';
|
|
|
import '../data/repositories/track_repository.dart';
|
|
|
+import '../dialog/common_alert_dialog_impl.dart';
|
|
|
+import '../dialog/common_confirm_dialog_impl.dart';
|
|
|
import '../handler/error_handler.dart';
|
|
|
+import '../module/login/login_page.dart';
|
|
|
+import '../module/member/member_page.dart';
|
|
|
import '../module/track/track_dialog/track_choose_friend_dialog.dart';
|
|
|
-import '../module/track/track_dialog/track_daily_report_dialog.dart';
|
|
|
+import '../module/track/track_page.dart';
|
|
|
+import '../sdk/wechat/wechat_share_util.dart';
|
|
|
+import '../utils/toast_util.dart';
|
|
|
|
|
|
|
|
|
class IosPushNotificationService {
|
|
|
@@ -72,35 +77,46 @@ class IosPushNotificationService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- ///处理推送各种点击 skipType 0-首页 1-好友申请页面 2-好友消息页面
|
|
|
+ ///处理推送各种点击
|
|
|
static void handleNotificationPushChick(Map<String,dynamic> pushDict) {
|
|
|
int skipType = pushDict["skipType"];
|
|
|
TrackRepository trackRepository = TrackRepository.getInstance();
|
|
|
trackRepository.locationTrackDailyDialogs().then((trackResponse) {
|
|
|
if ((trackResponse.trackDailyList ?? []).isNotEmpty) {
|
|
|
if ((trackResponse.trackDailyList ?? []).length == 1) {
|
|
|
-
|
|
|
+ onViewTraceClic((trackResponse.trackDailyList ?? []).first);
|
|
|
} else {
|
|
|
TrackChooseFriendDialog.show(trackDailyList: trackResponse.trackDailyList,onSelectItem: (selectInfo) {
|
|
|
-
|
|
|
+ onViewTraceClic(selectInfo);
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
}).catchError((error) {
|
|
|
ErrorHandler.toastError(error);
|
|
|
});
|
|
|
+ }
|
|
|
|
|
|
- // skipType = 0;
|
|
|
- // if (skipType == 0) {
|
|
|
- // Get.until((route) => route.isFirst);
|
|
|
- // // 在其他页面或组件中
|
|
|
- // final mainController = Get.find<MainController>();
|
|
|
- // // 调用方法
|
|
|
- // mainController.onTabClick(0); // 切换到第一个Tab
|
|
|
- // } else if (skipType == 1) {
|
|
|
- // MessagePage.start(initialIndex: 0);
|
|
|
- // } else if (skipType == 2) {
|
|
|
- // MessagePage.start(initialIndex: 1);
|
|
|
- // }
|
|
|
+ static void onViewTraceClic(UserInfo userInfo) {
|
|
|
+ AccountRepository accountRepository = AccountRepository.getInstance();
|
|
|
+ if (!accountRepository.isLogin.value) {
|
|
|
+ showTraceTipsDialog(onConfirm: () {
|
|
|
+ LoginPage.start();
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (!(userInfo.virtual ?? false) && accountRepository.memberIsExpired()) {
|
|
|
+ MemberPage.start();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (userInfo.blockedMe == true) {
|
|
|
+ showBlockMeTipDialog(confirmOnTap: () {
|
|
|
+ WechatShareUtil.shareWebPage().catchError((error) {
|
|
|
+ ToastUtil.show(error.toString());
|
|
|
+ });
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ TrackPage.start(userInfo);
|
|
|
}
|
|
|
}
|