jpushService.js 5.84 KB
Newer Older
李晓兵's avatar
李晓兵 committed
1 2 3 4
/**
 * Created by LJh on 2017/4/13.
 */
export default {
李晓兵's avatar
李晓兵 committed
5
// 获取设备号
李晓兵's avatar
李晓兵 committed
6
  onGetRegistrationID: function (data) {
李晓兵's avatar
李晓兵 committed
7
    let vm = this
李晓兵's avatar
李晓兵 committed
8
    try {
李晓兵's avatar
李晓兵 committed
9
       //alert("JPushPlugin:registrationID is " + JSON.stringify(data));
李晓兵's avatar
李晓兵 committed
10
      if (data) {
李晓兵's avatar
李晓兵 committed
11
       // alert('111')
李晓兵's avatar
李晓兵 committed
12
        window.localStorage.setItem('registrationID', data)
李晓兵's avatar
李晓兵 committed
13
      }
李晓兵's avatar
李晓兵 committed
14
      if (!data) {
李晓兵's avatar
李晓兵 committed
15
        //alert('222')
李晓兵's avatar
李晓兵 committed
16 17 18 19 20
        window.plugins.jPushPlugin.getRegistrationID(this.onGetRegistrationID.bind(vm))
        //window.setTimeout(() => this.getRegistrationID(),1000)
   /*     window.setTimeout(function () {
          vm.getRegistrationID()
        }, 1000)*/
李晓兵's avatar
李晓兵 committed
21
      }
李晓兵's avatar
李晓兵 committed
22

李晓兵's avatar
李晓兵 committed
23
    } catch (exception) {
李晓兵's avatar
李晓兵 committed
24
      // alert('###'+exception);
李晓兵's avatar
李晓兵 committed
25 26
    }
  },
李晓兵's avatar
李晓兵 committed
27
  // 获取设备号
李晓兵's avatar
李晓兵 committed
28
  getRegistrationID: function () {
李晓兵's avatar
李晓兵 committed
29
    window.plugins.jPushPlugin.getRegistrationID(this.onGetRegistrationID)
李晓兵's avatar
李晓兵 committed
30 31 32
  },
  onReceiveNotification: function (event) {
    try {
李晓兵's avatar
李晓兵 committed
33 34 35
      var alertContent
      if (device.platform == 'Android') {
        alertContent = event.alert
李晓兵's avatar
李晓兵 committed
36
      } else {
李晓兵's avatar
李晓兵 committed
37
        alertContent = event.aps.alert
李晓兵's avatar
李晓兵 committed
38 39 40 41 42 43 44 45
      }
    } catch (exception) {
      console.log(exception)
    }
  },

  onReceiveMessage: function (event) {
    try {
李晓兵's avatar
李晓兵 committed
46 47 48
      var message
      if (device.platform == 'Android') {
        message = event.message
李晓兵's avatar
李晓兵 committed
49
      } else {
李晓兵's avatar
李晓兵 committed
50
        message = event.content
李晓兵's avatar
李晓兵 committed
51 52
      }
    } catch (exception) {
李晓兵's avatar
李晓兵 committed
53
      // console.log("JPushPlugin:onReceiveMessage-->" + exception);
李晓兵's avatar
李晓兵 committed
54 55 56 57
    }
  },

  onOpenNotification: function (event) {
李晓兵's avatar
李晓兵 committed
58 59
    window.plugins.jPushPlugin.resetBadge()// 设置Badge
    window.plugins.jPushPlugin.setApplicationIconBadgeNumber(0)
李晓兵's avatar
李晓兵 committed
60
    try {
李晓兵's avatar
李晓兵 committed
61 62 63
      var alertContent
      if (device.platform == 'Android') {
        alertContent = event.alert
李晓兵's avatar
李晓兵 committed
64
      } else {
李晓兵's avatar
李晓兵 committed
65
        alertContent = event.aps.alert
李晓兵's avatar
李晓兵 committed
66
      }
李晓兵's avatar
李晓兵 committed
67
      // alert("open Notification:" + JSON.stringify(event,'',2));
李晓兵's avatar
李晓兵 committed
68
    } catch (exception) {
李晓兵's avatar
李晓兵 committed
69
      // console.log("JPushPlugin:onOpenNotification" + exception);
李晓兵's avatar
李晓兵 committed
70 71
    }
  },
李晓兵's avatar
李晓兵 committed
72
  // 启动极光推送
李晓兵's avatar
李晓兵 committed
73 74
  _init: function () {
    if (process.env.isMobilePlatform) {
李晓兵's avatar
李晓兵 committed
75 76
      window.plugins.jPushPlugin.init()
      window.plugins.jPushPlugin.setDebugMode(false)
李晓兵's avatar
李晓兵 committed
77
      window.plugins.jPushPlugin.getRegistrationID(this.onGetRegistrationID.bind(this))
李晓兵's avatar
李晓兵 committed
78 79 80 81 82
      document.addEventListener('jpush.openNotification', this.onOpenNotification)
      window.plugins.jPushPlugin.resetBadge()// 设置Badge
      window.plugins.jPushPlugin.setApplicationIconBadgeNumber(0)
      // document.addEventListener('jpush.receiveMessage', this.onReceiveMessage);
      // document.addEventListener('jpush.receiveNotification', this.onReceiveNotification);
李晓兵's avatar
李晓兵 committed
83 84 85 86 87 88 89
    }
  },

  /*
   * 获取状态
   * */
  _isPushStopped: function (fun) {
李晓兵's avatar
李晓兵 committed
90
    window.plugins.jPushPlugin.isPushStopped(fun)
李晓兵's avatar
李晓兵 committed
91 92 93 94 95
  },
  /*
   * 停止极光推送
   * */
  _stopPush: function () {
李晓兵's avatar
李晓兵 committed
96
    window.plugins.jPushPlugin.stopPush()
李晓兵's avatar
李晓兵 committed
97 98 99 100 101
  },
  /*
   * 重启极光推送
   * */
  _resumePush: function () {
李晓兵's avatar
李晓兵 committed
102
    window.plugins.jPushPlugin.resumePush()
李晓兵's avatar
李晓兵 committed
103 104 105 106 107 108 109 110 111
  },

  /**
   * 设置标签。
   * 注意:该接口是覆盖逻辑,而不是增量逻辑。即新的调用会覆盖之前的设置。
   *
   * @param params = { 'sequence': number, 'tags': ['tag1', 'tag2'] }
   */
  _setTags: function (params, successCallback, errorCallback) {
李晓兵's avatar
李晓兵 committed
112
    window.plugins.jPushPlugin.setTags(params, successCallback, errorCallback)
李晓兵's avatar
李晓兵 committed
113 114 115 116 117 118 119
  },
  /**
   * 新增标签。
   *
   * @param params = { 'sequence': number, 'tags': ['tag1', 'tag2'] }
   */
  _addTags: function (params, successCallback, errorCallback) {
李晓兵's avatar
李晓兵 committed
120
    window.plugins.jPushPlugin.addTags(params, successCallback, errorCallback)
李晓兵's avatar
李晓兵 committed
121 122 123 124 125 126 127
  },
  /**
   * 删除指定标签。
   *
   * @param params = { 'sequence': number, 'tags': ['tag1', 'tag2'] }
   */
  _deleteTags: function (params, successCallback, errorCallback) {
李晓兵's avatar
李晓兵 committed
128
    window.plugins.jPushPlugin.deleteTags(params, successCallback, errorCallback)
李晓兵's avatar
李晓兵 committed
129 130 131 132 133 134 135 136 137
  },
  /**
   * 清除标签
   * @param params
   * @param successCallback
   * @param errorCallback
   * @private
   */
  _cleanTags: function (params, successCallback, errorCallback) {
李晓兵's avatar
李晓兵 committed
138
    window.plugins.jPushPlugin.cleanTags(params, successCallback, errorCallback)
李晓兵's avatar
李晓兵 committed
139 140 141 142 143 144 145
  },
  /**
   * 查询所有标签。
   *
   * @param params = { 'sequence': number }
   */
  _getAllTags: function (params, successCallback, errorCallback) {
李晓兵's avatar
李晓兵 committed
146
    window.plugins.jPushPlugin.getAllTags(params, successCallback, errorCallback)
李晓兵's avatar
李晓兵 committed
147 148 149 150 151
  },
  /*
   * 设置别名
   * */
  _setAlias: function (params, successCallback, errorCallback) {
李晓兵's avatar
李晓兵 committed
152
    window.plugins.jPushPlugin.setAlias(params, successCallback, errorCallback)
李晓兵's avatar
李晓兵 committed
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
  },
  /**
   * 删除别名。
   *
   * @param params = { 'sequence': number }
   */
  _deleteAlias: function (params, successCallback, errorCallback) {
    window.plugins.jPushPlugin.deleteAlias(params, successCallback, errorCallback)
  },
  /**
   * 查询当前绑定的别名。
   *
   * @param params = { 'sequence': number }
   */
  _getAlias: function (params, successCallback, errorCallback) {
    window.plugins.jPushPlugin.getAlias(params, successCallback, errorCallback)
  },
  /**
   * 设置角标
   * @param value
   * @private
   */
  _setBadge: function (value) {
李晓兵's avatar
李晓兵 committed
176
    window.plugins.jPushPlugin.setBadge(value)
李晓兵's avatar
李晓兵 committed
177 178 179 180 181
  },
  /*
   * 清除角标
   * */
  _resetBadge: function () {
李晓兵's avatar
李晓兵 committed
182 183
    window.plugins.jPushPlugin.resetBadge()
    window.plugins.jPushPlugin.setApplicationIconBadgeNumber(0)
李晓兵's avatar
李晓兵 committed
184 185 186
  },

  _setLogOFF: function () {
李晓兵's avatar
李晓兵 committed
187
    window.plugins.jPushPlugin.setLogOFF()
李晓兵's avatar
李晓兵 committed
188 189
  },

李晓兵's avatar
李晓兵 committed
190
  // 极光推送
李晓兵's avatar
李晓兵 committed
191 192
  _jpush_config: function (tagOption) {
    if (process.env.isMobilePlatform) {
李晓兵's avatar
李晓兵 committed
193
      let phone = window.localStorage.user_phone
李晓兵's avatar
李晓兵 committed
194
     // alert('phone'+phone)
李晓兵's avatar
李晓兵 committed
195 196
      let tags = []
      for (let key in tagOption) {
李晓兵's avatar
李晓兵 committed
197 198
        tags.push(tagOption[key])
      }
李晓兵's avatar
李晓兵 committed
199
      /* if (userName) {
李晓兵's avatar
李晓兵 committed
200
        tags.push(userName.toUpperCase())
李晓兵's avatar
李晓兵 committed
201 202
      } */
      window.plugins.jPushPlugin.setTags({sequence: Number(phone), tags: tags},
李晓兵's avatar
李晓兵 committed
203
        function (result) {
李晓兵's avatar
李晓兵 committed
204
          // alert('11'+result.tags)
李晓兵's avatar
李晓兵 committed
205
        }, function (error) {
李晓兵's avatar
李晓兵 committed
206
          // alert('22'+error.code)
李晓兵's avatar
李晓兵 committed
207 208
        })
    }
李晓兵's avatar
李晓兵 committed
209
  },
李晓兵's avatar
李晓兵 committed
210
}