123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- (function (app) {
- //工具类服务
- app.factory("jpushService", ['$http','$state', '$window', '$document', function ($http,$state, $window, $document) {
- var jpushServiceFactory = {};
- //var jpushapi=$window.plugins.jPushPlugin;
- //启动极光推送
- var _init = function (config) {
- $window.plugins.jPushPlugin.startJPushSDK()
- $window.plugins.jPushPlugin.init();
- // //设置tag和Alias触发事件处理
- // document.addEventListener('jpush.setTagsWithAlias',config.stac,false);
- //打开推送消息事件处理
- $window.plugins.jPushPlugin.openNotificationInAndroidCallback = config.oniac;
- //IOS打开通知栏消息
- // $window.plugins.jPushPlugin.receiveMessageIniOSCallback=config.notify;
- $window.plugins.jPushPlugin.setDebugMode(true);
- $window.plugins.jPushPlugin.setDebugModeFromIos();
- $window.plugins.jPushPlugin.setCrashLogON();
- $window.plugins.jPushPlugin.setApplicationIconBadgeNumber(0);
- //点击推送通知
- // document.addEventListener("jpush.openNotification", config.notify, false);
- window.plugins.jPushPlugin.openNotificationInAndroidCallback = function(res){
- var obj = JSON.parse(res);
- console.log(obj);
- var id = obj.extras['cn.jpush.android.EXTRA'].id;
- var type = obj.extras['cn.jpush.android.EXTRA'].type;
- if(type == 1){
- $state.go('app.message_sys',{id: id, type: 1});
- }
- else if(type == 2){
- $state.go('app.home_dreamdetail',{id: id, type: 2});
- }
- else if(type == 3){
- $state.go('app.letterDetail');
- }
- else if(type == 4){
- $state.go('app.home_dreamdetail',{id: id, type: 3});
- }
- }
- //前台收到推送
- document.addEventListener("jpush.receiveNotification", config.notify, false);
- //后台收到推送
- // document.addEventListener("jpush.backgroundNotification", config.bknotify, false);
- // document.addEventListener("jpush.setTagsWithAlias", onTagsWithAlias, false);
- // document.addEventListener("deviceready", onDeviceReady, false);
- document.addEventListener("jpush.openNotification", config.iosopenNotification, true);
- // document.addEventListener("jpush.receiveNotification", onReceiveNotification, false);
- // document.addEventListener("jpush.receiveMessage", config.notify, false);
- }
- //获取状态
- var _isPushStopped = function (fun) {
- $window.plugins.jPushPlugin.isPushStopped(fun)
- }
- //停止极光推送
- var _stopPush = function () {
- $window.plugins.jPushPlugin.stopPush();
- }
- //重启极光推送
- var _resumePush = function () {
- $window.plugins.jPushPlugin.resumePush();
- }
- //设置标签和别名
- var _setTagsWithAlias = function (tags, alias) {
- $window.plugins.jPushPlugin.setTagsWithAlias(tags, alias);
- }
- //设置标签
- var _setTags = function (tags) {
- $window.plugins.jPushPlugin.setTags(tags);
- }
- //设置别名
- var _setAlias = function (alias) {
- $window.plugins.jPushPlugin.setAlias(alias);
- }
- jpushServiceFactory.init = _init;
- jpushServiceFactory.isPushStopped = _isPushStopped;
- jpushServiceFactory.stopPush = _stopPush;
- jpushServiceFactory.resumePush = _resumePush;
- jpushServiceFactory.setTagsWithAlias = _setTagsWithAlias;
- jpushServiceFactory.setTags = _setTags;
- jpushServiceFactory.setAlias = _setAlias;
- return jpushServiceFactory;
- }]);
- })(angular.module('app.services'));
|