App.vue 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. <script>
  2. export default {
  3. onLaunch: function() {
  4. console.log('App Launch');
  5. //#ifdef APP-PLUS
  6. var info = plus.push.getClientInfo();
  7. console.log(JSON.stringify(info));
  8. uni.setStorageSync('clientid', info.clientid); //记住cid
  9. //收到透传消息
  10. //只有APP在线时,才会触发receive事件,透传消息不会触发系统消息,需要创建本地消息
  11. plus.push.addEventListener("receive", function(msg) {
  12. console.log("(receive):" + JSON.stringify(msg));
  13. // 播报 start
  14. // const innerAudioContext = uni.createInnerAudioContext();
  15. // innerAudioContext.autoplay = true;
  16. // innerAudioContext.src = 'http://fanyi.baidu.com/gettts?lan=zh&text=' + msg.content + '&spd=5&source=web';
  17. // 播报 end
  18. // if (app.isIOS()) { //如果是IOS
  19. // var payload = msg.payload;
  20. // //【APP离线】收到消息,但没有提醒(发生在一次收到多个离线消息时,只有一个有提醒,但其他的没有提醒)
  21. // //【APP在线】收到消息,不会触发系统消息,需要创建本地消息,但不能重复创建。必须加msg.type验证去除死循环
  22. // if (msg.aps == null && msg.type == "receive") {
  23. // var messageTitle = payload.messageTitle;
  24. // var messageContent = payload.messageContent;
  25. // //创建本地消息,发送的本地消息也会被receive方法接收到,但没有type属性,且aps是null
  26. // plus.push.createMessage(messageContent, JSON.stringify(payload), {
  27. // title: messageTitle
  28. // });
  29. // }
  30. // }
  31. // if (app.isAndroid()) { //如果是Android,当APP在线时,收到透传消息不会进入系统消息,需要发送本地提醒。
  32. // var payload = JSON.parse(msg.payload);
  33. // var messageTitle = payload.messageTitle;
  34. // var messageContent = payload.messageContent;
  35. // plus.push.createMessage(messageContent, msg.payload, {
  36. // title: messageTitle
  37. // });
  38. // }
  39. }, false);
  40. //消息点击事件
  41. //【APP在线】,收到透传消息通过,不会提醒至通知栏目,需要发送本地消息,再进行点击触发的点击事件。
  42. //【APP离线】,收到离线透传消息,必须通过Java后台的Intent字符串携带payload,且符合格式才能触发click事件,格式不符合不会触发。
  43. plus.push.addEventListener("click", function(msg) {
  44. console.log("(click):" + JSON.stringify(msg));
  45. // if (app.isIOS()) { //如果是IOS
  46. // var payload;
  47. // if (msg.type == "click") { //APP离线点击包含click属性,这时payload是JSON对象
  48. // payload = msg.payload;
  49. // } else { //APP在线,收到消息不会包含type属性,这时的payload是JSON字符串,需要转为JSON对象
  50. // payload = JSON.parse(msg.payload);
  51. // }
  52. // if (payload != null || payload != undefined) {
  53. // var messageType = payload.messageType;
  54. // messageClick(messageType, payload);
  55. // }
  56. // }
  57. // if (app.isAndroid()) { //如果是Android,收到playload均是是JSON字符串,需要转为JSON对象
  58. // var payload = JSON.parse(msg.payload);
  59. // if (payload != null || payload != undefined) {
  60. // var messageType = payload.messageType;
  61. // messageClick(messageType, payload);
  62. // }
  63. // }
  64. }, false);
  65. //#endif
  66. },
  67. onShow: function() {
  68. console.log('App Show');
  69. // uni.redirectTo({
  70. // url: "../mypage/mypage",
  71. // });
  72. },
  73. onHide: function() {
  74. console.log('App Hide');
  75. // uni.closeSocket();
  76. // uni.onSocketClose(function(res) {
  77. // console.log('WebSocket 已关闭!');
  78. // });
  79. }
  80. }
  81. </script>
  82. <style>
  83. @import url("./static/font/iconfont.css");
  84. @import url("/node_modules/spinkit/spinkit.css");
  85. /*每个页面公共css */
  86. html {
  87. width: 100%;
  88. height: 100%;
  89. background: #f9fafb;
  90. --sk-size: 20rpx !important;
  91. --sk-color: #49b856 !important;
  92. }
  93. body {
  94. height: 100%;
  95. box-sizing: border-box;
  96. /* padding-top: 96rpx; */
  97. }
  98. #app {
  99. margin: 0px;
  100. padding: 0px;
  101. font-family: "PingFangSC-Regular";
  102. -webkit-font-smoothing: antialiased;
  103. -moz-osx-font-smoothing: grayscale;
  104. text-align: center;
  105. font-size: 14px;
  106. color: rgb(51, 51, 51);
  107. width: 100%;
  108. height: 100%;
  109. }
  110. /* 按钮点击态 */
  111. .seimin-btn-hover {
  112. box-shadow: 0px 0px 8px rgba(0, 0, 0, .1) inset !important;
  113. }
  114. .uni-picker-action-confirm {
  115. color: #49b856 !important;
  116. }
  117. .footerPadding {
  118. padding-bottom: 50rpx !important;
  119. }
  120. .footerOtherMargin {
  121. margin-bottom: 174rpx !important;
  122. }
  123. .red {
  124. color: red !important;
  125. }
  126. .fweight {
  127. font-weight: bold !important;
  128. }
  129. .f30 {
  130. font-size: 30rpx !important;
  131. }
  132. .mt8{
  133. margin-top: 16rpx !important;
  134. }
  135. </style>