From 021cd833d5ab9d24e3b2ec6a6270e3da85605066 Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Mon, 23 May 2022 18:58:23 +0800 Subject: [PATCH] feat(push): normalize message --- src/core/service/api/plugin/push.js | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/core/service/api/plugin/push.js b/src/core/service/api/plugin/push.js index ab05ed057..8a0c1dff2 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) }) }) } -- GitLab