App.vue 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <script>
  2. import store from '@/store/index.js'
  3. //#ifdef APP-PLUS
  4. var jpushModule = uni.requireNativePlugin("JG-JPush");
  5. //#endif
  6. export default {
  7. onLaunch: function() {
  8. //#ifdef APP-PLUS
  9. store.commit('initJpush',jpushModule);
  10. jpushModule.initJPushService();
  11. jpushModule.setLoggerEnable(true);
  12. jpushModule.addConnectEventListener(result=>{
  13. let connectEnable = result.connectEnable
  14. console.log('connectEnable');
  15. uni.$emit('connectStatusChange',connectEnable)
  16. });
  17. jpushModule.addNotificationListener(result=>{
  18. let notificationEventType = result.notificationEventType
  19. let messageID = result.messageID
  20. let title = result.title
  21. let content = result.content
  22. let extras = result.extras;
  23. let id=extras.id;
  24. let redirectUrl=extras.url;
  25. console.log("id:",id)
  26. console.log("通知",result)
  27. console.log("redirectUrl",result)
  28. uni.reLaunch({
  29. url:`/${redirectUrl}?id=${id}`,
  30. success() {
  31. console.log('老铁没毛病!收到通知消息,跳转到'+redirectUrl)
  32. },
  33. fail(res) {
  34. uni.showToast({
  35. icon: 'none',
  36. title: JSON.stringify(res),
  37. duration:2000
  38. })
  39. },
  40. complete() {
  41. uni.hideToast();
  42. }
  43. })
  44. });
  45. jpushModule.addCustomMessageListener(result=>{
  46. let type = result.type
  47. let messageType = result.messageType
  48. let content = result.content
  49. uni.showToast({
  50. icon: 'none',
  51. title: JSON.stringify(result),
  52. duration: 3000
  53. })
  54. })
  55. jpushModule.addLocalNotificationListener(result=>{
  56. let messageID = result.messageID
  57. let title = result.title
  58. let content = result.content
  59. let extras = result.extras
  60. uni.showToast({
  61. icon: 'none',
  62. title: JSON.stringify(result),
  63. duration: 3000
  64. })
  65. })
  66. jpushModule.setIsAllowedInMessagePop(true)
  67. jpushModule.addInMessageListener(result=>{
  68. let eventType = result.eventType
  69. let messageType = result.messageType
  70. let content = result.content
  71. console.log('inMessageListener',eventType,messageType,content)
  72. uni.showToast({
  73. icon: 'none',
  74. title: JSON.stringify(result),
  75. duration: 3000
  76. })
  77. })
  78. //#endif
  79. },
  80. onShow: function() {
  81. console.log('App Show')
  82. },
  83. onHide: function() {
  84. console.log('App Hide')
  85. }
  86. }
  87. </script>
  88. <style>
  89. /*每个页面公共css */
  90. @import './styles/index.css';
  91. @import './static/icon/iconfont.css';
  92. </style>