// import 'dart:convert'; // // import 'package:jpush_flutter/jpush_flutter.dart'; // import 'package:plugin_basic/constants/app_constant.dart'; // import 'package:plugin_basic/service/user_service.dart'; // import 'package:shared/utils/log_utils.dart'; // // // /// 处理极光推送的逻辑 // class JPushReceive { // JPushReceive._internal(); // // //保存单例 // static final JPushReceive _singleton = JPushReceive._internal(); // // //工厂构造函数 // factory JPushReceive() => _singleton; // // /// 初始化极光推送,并设置监听回调 // void init() { // JPush jpush = JPush(); // // jpush.addEventHandler( // // 接收通知回调方法。 // onReceiveNotification: (Map message) async { // Log.d("flutter-jpush: onReceiveNotification: $message"); // }, // // 点击通知回调方法。 // onOpenNotification: (Map message) async { // Log.d("flutter-jpush: onOpenNotification: $message"); // // //拿到后端设置的内容Json对象 // dynamic extrasJson = message['extras']; // dynamic extrasChildJson = extrasJson['cn.jpush.android.EXTRA']; // Map jsonMap = jsonDecode(extrasChildJson.toString()); // // //根据后端返回的type类型跳转到不同的路由页面 // // }, // // 接收自定义消息回调方法。 // onReceiveMessage: (Map message) async { // Log.d("flutter-jpush: onReceiveMessage: $message"); // }, // // 通知授权的回调 // onReceiveNotificationAuthorization: (Map message) async { // Log.d("flutter-jpush: onReceiveNotificationAuthorization: $message"); // if (message.containsKey('isEnabled')) { // // //不管有没有开启通知权限,通知开关,先拿到 RegistrationId 赋值了再说 // final registrationId = await getRegistrationId(); // Log.d('flutter-jpush: 获取到registrationId:$registrationId'); // // //设置给 RxString 对象,并保存到 UserService 中。 // UserService.to.registrationId.value = registrationId; // } else { // Log.d("flutter-jpush: onReceiveNotificationAuthorization 没有isEnable字段"); // } // }, // // // // 通知不显示的回调 // // onNotifyMessageUnShow: (Map message) async { // // Log.d("flutter-refruiter: onNotifyMessageUnShow: $message"); // // }, // // // 极光推送连接的回调 // // onConnected: (Map message) async { // // Log.d("flutter-refruiter: onConnected: $message"); // // }, // ); // // jpush.setup( // appKey: "23dedb30175208f894d3756f", // channel: "developer-default", // production: AppConstant.inProduction, // debug: !AppConstant.inProduction, // 设置是否打印 debug 日志 // ); // // //申请iOS授权 // jpush.applyPushAuthority(const NotificationSettingsIOS(sound: true, alert: true, badge: true)); // } // // /// 获取极光推送的id // Future getRegistrationId() async { // JPush jpush = JPush(); // return jpush.getRegistrationID(); // } // } // // var jpush = JPushReceive();