app.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  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. var isOpen = false;
  45. $ionicPlatform.on('pause',function () {
  46. isOpen = false;
  47. console.log('pause isOpen:'+isOpen);
  48. });
  49. $ionicPlatform.ready(function () {
  50. if (window.cordova && cordova.platformId === 'ios' && window.cordova.plugins && window.cordova.plugins.Keyboard) {
  51. cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
  52. cordova.plugins.Keyboard.disableScroll(true);
  53. }
  54. if (window.StatusBar) {
  55. StatusBar.styleLightContent();
  56. }
  57. console.log('isOpen:'+isOpen);
  58. var receiveNotification = function (event) {
  59. // $rootScope.$emit('msg-new', { msg: '有新消息' });
  60. isOpen = true;
  61. console.log('receiveNotification isOpen:'+isOpen);
  62. // alert("receiveMessageIniOSCallback是" + +JSON.stringify(event));
  63. };
  64. var openNotification = function (obj) {
  65. window.plugins.jPushPlugin.setBadge(0);
  66. window.plugins.jPushPlugin.resetBadge();
  67. window.plugins.jPushPlugin.setApplicationIconBadgeNumber(0);
  68. // alert("openNotification是" +JSON.stringify(res));
  69. console.log("openNotification是" +JSON.stringify(obj)+'isOpen:'+isOpen);
  70. if(!isOpen){
  71. var id = obj.extras.id;
  72. var type = obj.extras.type;
  73. if(type == 1){
  74. $state.go('app.home_dreamdetail',{id: id, type: 1});
  75. }
  76. else if(type == 2){
  77. $state.go('app.home_dreamdetail',{id: id, type: 2});
  78. }
  79. else if(type == 3){
  80. $state.go('app.letterDetail');
  81. }
  82. else if(type == 4){
  83. $state.go('app.home_dreamdetail',{id: id, type: 3});
  84. }
  85. }
  86. };
  87. var setTagsWithAliasCallback = function (event) {
  88. window.alert('result code:' + event.resultCode + ' tags:' + event.tags + ' alias:' + event.alias);
  89. };
  90. if (window.cordova) {
  91. window.plugins.jPushPlugin.setBadge(0);
  92. jpushService.init({
  93. stac: setTagsWithAliasCallback,
  94. notify: receiveNotification,
  95. iosopenNotification: openNotification
  96. });
  97. //启动极光推送服务
  98. var onGetRegistrationID = function (registrationID) {
  99. // alert("RegistrationID是" + registrationID);
  100. try {
  101. if (registrationID.length == 0) {
  102. var t1 = window.setTimeout(getRegistrationID, 1000);
  103. } else {
  104. localStorage.setItem('jpush', registrationID);
  105. }
  106. } catch (exception) {
  107. // alert("onGetRegistrationID err:" + JSON.stringify(exception));
  108. }
  109. };
  110. var getRegistrationID = function () {
  111. window.plugins.jPushPlugin.getRegistrationID(onGetRegistrationID);
  112. };
  113. // alert("onGetRegistrationID err:" );
  114. getRegistrationID();
  115. }
  116. });
  117. }]);
  118. angular.module("app.controllers", []);
  119. angular.module("app.services", []);
  120. angular.module("app.filters", []);
  121. angular.module("app.directives", []);
  122. })();