app.js 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. (function () {
  2. angular.module('app', ['ionic', 'app.controllers', 'app.services', 'app.filters', 'app.directives'])
  3. .config(["$ionicConfigProvider", function ($ionicConfigProvider) {
  4. //ionic全局配置
  5. $ionicConfigProvider.views.maxCache(10);
  6. // $ionicConfigProvider.views.swipeBackEnabled(false);
  7. $ionicConfigProvider.platform.android.tabs.position('bottom');
  8. $ionicConfigProvider.platform.android.navBar.alignTitle("center");
  9. $ionicConfigProvider.backButton.text('返回');
  10. $ionicConfigProvider.form.checkbox("circle");
  11. // $ionicConfigProvider.templates.maxPrefetch(0);
  12. }])
  13. .config(["$httpProvider", function ($httpProvider) {
  14. var token = window.localStorage['token'];
  15. if (token) {
  16. $httpProvider.defaults.headers.common['Authorization'] = 'Bearer ' + token;
  17. }
  18. $httpProvider.interceptors.push('authHttpInterceptor');
  19. }])
  20. .run(["$ionicPlatform", "msg", "$rootScope", "$timeout", "$http", "userService", "$state", "$ionicLoading","jpushService",
  21. function ($ionicPlatform, msg, $rootScope, $timeout, $http, userService, $state, $ionicLoading, jpushService) {
  22. $ionicPlatform.registerBackButtonAction(function (e) {
  23. if ($rootScope.backButtonPressedOnceToExit) {
  24. ionic.Platform.exitApp();
  25. $rootScope.$destroy()
  26. } else {
  27. $rootScope.backButtonPressedOnceToExit = true;
  28. $ionicLoading.show({ template: '再按一次退出系统', duration: 500 });
  29. $timeout(function () {
  30. $rootScope.backButtonPressedOnceToExit = false
  31. }, 2000)
  32. }
  33. $ionicPlatform.preventDefault();
  34. $ionicPlatform.stopPropagation();
  35. return false
  36. }, 101);
  37. // userService.isLogin().then(null, function (error) {
  38. // console.log(JSON.stringify(error));
  39. // localStorage.removeItem('user');
  40. // localStorage.removeItem('token');
  41. // $http.defaults.headers.common["Authorization"] = undefined;
  42. // $state.go('login');
  43. // });
  44. window.appIsOpen = false;
  45. $ionicPlatform.on('pause',function () {
  46. window.appIsOpen = false;
  47. console.log('pause window.appIsOpen:'+window.appIsOpen);
  48. });
  49. $ionicPlatform.on('Resume',function () {
  50. console.log('Resume');
  51. window.plugins.jPushPlugin.setBadge(0);
  52. window.plugins.jPushPlugin.resetBadge();
  53. window.plugins.jPushPlugin.setApplicationIconBadgeNumber(0);
  54. });
  55. $ionicPlatform.ready(function () {
  56. if (window.cordova && cordova.platformId === 'ios' && window.cordova.plugins && window.cordova.plugins.Keyboard) {
  57. cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
  58. cordova.plugins.Keyboard.disableScroll(true);
  59. }
  60. if (window.StatusBar) {
  61. StatusBar.styleLightContent();
  62. }
  63. console.log('window.appIsOpen:'+window.appIsOpen);
  64. var openNotificationInAndroid = function(obj){
  65. console.log("openNotificationInAndroid是" +JSON.stringify(obj));
  66. // console.log(obj.extras['cn.jpush.android.EXTRA'].id+obj.extras['cn.jpush.android.EXTRA'].type+window.appIsOpen);
  67. // if(!window.appIsOpen){
  68. var id = obj.extras['cn.jpush.android.EXTRA'].id;
  69. var type = obj.extras['cn.jpush.android.EXTRA'].type;
  70. if(type == 1){
  71. $state.go('app.home_dreamdetail',{id: id, type: 1});
  72. }
  73. else if(type == 2){
  74. $state.go('app.home_dreamdetail',{id: id, type: 2});
  75. }
  76. else if(type == 3){
  77. $state.go('app.letterDetail');
  78. }
  79. else if(type == 4){
  80. $state.go('app.home_dreamdetail',{id: id, type: 3});
  81. }
  82. // }
  83. };
  84. var receiveNotification = function (event) {
  85. // $rootScope.$emit('msg-new', { msg: '有新消息' });
  86. window.appIsOpen = true;
  87. console.log('receiveNotification window.appIsOpen:'+window.appIsOpen);
  88. // alert("receiveMessageIniOSCallback是" + +JSON.stringify(event));
  89. };
  90. var openNotification = function (obj) {
  91. // window.plugins.jPushPlugin.setBadge(0);
  92. // window.plugins.jPushPlugin.resetBadge();
  93. // window.plugins.jPushPlugin.setApplicationIconBadgeNumber(0);
  94. // alert("openNotification是" +JSON.stringify(res));
  95. console.log("openNotification是" +JSON.stringify(obj)+'window.appIsOpen:'+window.appIsOpen);
  96. if(!window.appIsOpen){
  97. var id = obj.extras.id;
  98. var type = obj.extras.type;
  99. if(type == 1){
  100. $state.go('app.message_sys',{id: id, type: 1});
  101. }
  102. else if(type == 2){
  103. $state.go('app.home_dreamdetail',{id: id, type: 2});
  104. }
  105. else if(type == 3){
  106. $state.go('app.letterDetail');
  107. }
  108. else if(type == 4){
  109. $state.go('app.home_dreamdetail',{id: id, type: 3});
  110. }
  111. }
  112. };
  113. var setTagsWithAliasCallback = function (event) {
  114. window.alert('result code:' + event.resultCode + ' tags:' + event.tags + ' alias:' + event.alias);
  115. };
  116. if (window.cordova) {
  117. window.plugins.jPushPlugin.setBadge(0);
  118. window.plugins.jPushPlugin.resetBadge();
  119. window.plugins.jPushPlugin.setApplicationIconBadgeNumber(0);
  120. jpushService.init({
  121. stac: setTagsWithAliasCallback,
  122. oniac: openNotificationInAndroid,
  123. notify: receiveNotification,
  124. openNotification: openNotification
  125. });
  126. //启动极光推送服务
  127. var onGetRegistrationID = function (registrationID) {
  128. // alert("RegistrationID是" + registrationID);
  129. try {
  130. if (registrationID.length == 0) {
  131. var t1 = window.setTimeout(getRegistrationID, 1000);
  132. } else {
  133. localStorage.setItem('jpush', registrationID);
  134. }
  135. } catch (exception) {
  136. // alert("onGetRegistrationID err:" + JSON.stringify(exception));
  137. }
  138. };
  139. var getRegistrationID = function () {
  140. window.plugins.jPushPlugin.getRegistrationID(onGetRegistrationID);
  141. };
  142. // alert("onGetRegistrationID err:" );
  143. getRegistrationID();
  144. }
  145. });
  146. }]);
  147. angular.module("app.controllers", []);
  148. angular.module("app.services", []);
  149. angular.module("app.filters", []);
  150. angular.module("app.directives", []);
  151. })();