(function () { angular.module('app', ['ionic', 'app.controllers', 'app.services', 'app.filters', 'app.directives']) .config(["$ionicConfigProvider", function ($ionicConfigProvider) { //ionic全局配置 $ionicConfigProvider.views.maxCache(10); // $ionicConfigProvider.views.swipeBackEnabled(false); $ionicConfigProvider.platform.android.tabs.position('bottom'); $ionicConfigProvider.platform.android.navBar.alignTitle("center"); $ionicConfigProvider.backButton.text('返回'); $ionicConfigProvider.form.checkbox("circle"); // $ionicConfigProvider.templates.maxPrefetch(0); }]) .config(["$httpProvider", function ($httpProvider) { var token = window.localStorage['token']; if (token) { $httpProvider.defaults.headers.common['Authorization'] = 'Bearer ' + token; } $httpProvider.interceptors.push('authHttpInterceptor'); }]) .run(["$ionicPlatform", "msg", "$rootScope", "$timeout", "$http", "userService", "$state", "$ionicLoading","jpushService", function ($ionicPlatform, msg, $rootScope, $timeout, $http, userService, $state, $ionicLoading, jpushService) { $ionicPlatform.registerBackButtonAction(function (e) { if ($rootScope.backButtonPressedOnceToExit) { ionic.Platform.exitApp(); $rootScope.$destroy() } else { $rootScope.backButtonPressedOnceToExit = true; $ionicLoading.show({ template: '再按一次退出系统', duration: 500 }); $timeout(function () { $rootScope.backButtonPressedOnceToExit = false }, 2000) } $ionicPlatform.preventDefault(); $ionicPlatform.stopPropagation(); return false }, 101); // userService.isLogin().then(null, function (error) { // console.log(JSON.stringify(error)); // localStorage.removeItem('user'); // localStorage.removeItem('token'); // $http.defaults.headers.common["Authorization"] = undefined; // $state.go('login'); // }); window.appIsOpen = false; $ionicPlatform.on('pause',function () { window.appIsOpen = false; console.log('pause window.appIsOpen:'+window.appIsOpen); }); $ionicPlatform.ready(function () { if (window.cordova && cordova.platformId === 'ios' && window.cordova.plugins && window.cordova.plugins.Keyboard) { cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); cordova.plugins.Keyboard.disableScroll(true); } if (window.StatusBar) { StatusBar.styleLightContent(); } console.log('window.appIsOpen:'+window.appIsOpen); var openNotificationInAndroid = function(obj){ console.log("openNotificationInAndroid是" +JSON.stringify(obj)); // console.log(obj.extras['cn.jpush.android.EXTRA'].id+obj.extras['cn.jpush.android.EXTRA'].type+window.appIsOpen); // if(!window.appIsOpen){ var id = obj.extras['cn.jpush.android.EXTRA'].id; var type = obj.extras['cn.jpush.android.EXTRA'].type; if(type == 1){ $state.go('app.home_dreamdetail',{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}); } // } }; var receiveNotification = function (event) { // $rootScope.$emit('msg-new', { msg: '有新消息' }); window.appIsOpen = true; console.log('receiveNotification window.appIsOpen:'+window.appIsOpen); // alert("receiveMessageIniOSCallback是" + +JSON.stringify(event)); }; var openNotification = function (obj) { // window.plugins.jPushPlugin.setBadge(0); // window.plugins.jPushPlugin.resetBadge(); // window.plugins.jPushPlugin.setApplicationIconBadgeNumber(0); // alert("openNotification是" +JSON.stringify(res)); console.log("openNotification是" +JSON.stringify(obj)+'window.appIsOpen:'+window.appIsOpen); if(!window.appIsOpen){ var id = obj.extras.id; var type = obj.extras.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}); } } }; var setTagsWithAliasCallback = function (event) { window.alert('result code:' + event.resultCode + ' tags:' + event.tags + ' alias:' + event.alias); }; if (window.cordova) { window.plugins.jPushPlugin.setBadge(0); window.plugins.jPushPlugin.resetBadge(); window.plugins.jPushPlugin.setApplicationIconBadgeNumber(0); jpushService.init({ stac: setTagsWithAliasCallback, oniac: openNotificationInAndroid, notify: receiveNotification, openNotification: openNotification }); //启动极光推送服务 var onGetRegistrationID = function (registrationID) { // alert("RegistrationID是" + registrationID); try { if (registrationID.length == 0) { var t1 = window.setTimeout(getRegistrationID, 1000); } else { localStorage.setItem('jpush', registrationID); } } catch (exception) { // alert("onGetRegistrationID err:" + JSON.stringify(exception)); } }; var getRegistrationID = function () { window.plugins.jPushPlugin.getRegistrationID(onGetRegistrationID); }; // alert("onGetRegistrationID err:" ); getRegistrationID(); } }); }]); angular.module("app.controllers", []); angular.module("app.services", []); angular.module("app.filters", []); angular.module("app.directives", []); })();