diff --git a/src/core/service/api/plugin/push.js b/src/core/service/api/plugin/push.js index ab05ed057993645b4405e0b65c91d157ca20e995..8a0c1dff28731464aa3deb6ac016906175e95a2d 100644 --- a/src/core/service/api/plugin/push.js +++ b/src/core/service/api/plugin/push.js @@ -9,9 +9,24 @@ import { let cid let cidErrMsg -function normalizePushMessage (message) { +function normalizePushMessage (type, message) { try { - return JSON.parse(message) + const res = JSON.parse(message) + if (type === 'receive') { + if (res.payload) { + if (res.aps) { + res.payload.aps = res.aps + } + return res.payload + } + } else if (type === 'click') { + delete res.type + delete res.__UUID__ + delete res.appid + if (res.aps && res.aps.alert) { + res.title = res.aps.alert.title + } + } } catch (e) {} return message } @@ -27,14 +42,14 @@ export function invokePushCallback ( onPushMessageCallbacks.forEach((callback) => { callback({ type: 'receive', - data: normalizePushMessage(args.message) + data: normalizePushMessage('receive', args.message) }) }) } else if (args.type === 'click') { onPushMessageCallbacks.forEach((callback) => { callback({ type: 'click', - data: normalizePushMessage(args.message) + data: normalizePushMessage('click', args.message) }) }) }