提交 b27d3a7c 编写于 作者: fxy060608's avatar fxy060608

fix(app): onPushMessage

上级 6bdd4972
......@@ -8,6 +8,7 @@ packages/uni-mp-compiler/dist
packages/uni-nvue-styler/dist
packages/vite-plugin-uni/dist
packages/uts/dist
packages/uni-uts-vite/dist
.DS_Store
node_modules
......
......@@ -54,12 +54,18 @@ export function invokePushCallback(
cidErrMsg = args.errMsg
invokeGetPushCidCallbacks(cid, args.errMsg)
} else if (args.type === 'pushMsg') {
onPushMessageCallbacks.forEach((callback) => {
callback({
type: 'receive',
data: normalizePushMessage(args.message),
})
})
const message: OnPushMessageSuccess = {
type: 'receive',
data: normalizePushMessage(args.message),
}
for (let i = 0; i < onPushMessageCallbacks.length; i++) {
const callback = onPushMessageCallbacks[i]
callback(message)
// 该消息已被阻止
if (message.stopped) {
break
}
}
} else if (args.type === 'click') {
onPushMessageCallbacks.forEach((callback) => {
callback({
......@@ -106,6 +112,7 @@ export const getPushClientId = defineAsyncApi(
interface OnPushMessageSuccess {
type: 'click' | 'receive'
data: unknown
stopped?: boolean
}
type OnPushMessageCallback = (result: OnPushMessageSuccess) => void
......
......@@ -11096,12 +11096,18 @@ function invokePushCallback(args) {
invokeGetPushCidCallbacks(cid, args.errMsg);
}
else if (args.type === 'pushMsg') {
onPushMessageCallbacks.forEach((callback) => {
callback({
type: 'receive',
data: normalizePushMessage(args.message),
});
});
const message = {
type: 'receive',
data: normalizePushMessage(args.message),
};
for (let i = 0; i < onPushMessageCallbacks.length; i++) {
const callback = onPushMessageCallbacks[i];
callback(message);
// 该消息已被阻止
if (message.stopped) {
break;
}
}
}
else if (args.type === 'click') {
onPushMessageCallbacks.forEach((callback) => {
......
......@@ -4625,12 +4625,17 @@ function invokePushCallback(args) {
cidErrMsg = args.errMsg;
invokeGetPushCidCallbacks(cid, args.errMsg);
} else if (args.type === "pushMsg") {
onPushMessageCallbacks.forEach((callback) => {
callback({
type: "receive",
data: normalizePushMessage(args.message)
});
});
const message = {
type: "receive",
data: normalizePushMessage(args.message)
};
for (let i = 0; i < onPushMessageCallbacks.length; i++) {
const callback = onPushMessageCallbacks[i];
callback(message);
if (message.stopped) {
break;
}
}
} else if (args.type === "click") {
onPushMessageCallbacks.forEach((callback) => {
callback({
......
......@@ -671,12 +671,18 @@ function invokePushCallback(args) {
invokeGetPushCidCallbacks(cid, args.errMsg);
}
else if (args.type === 'pushMsg') {
onPushMessageCallbacks.forEach((callback) => {
callback({
type: 'receive',
data: normalizePushMessage(args.message),
});
});
const message = {
type: 'receive',
data: normalizePushMessage(args.message),
};
for (let i = 0; i < onPushMessageCallbacks.length; i++) {
const callback = onPushMessageCallbacks[i];
callback(message);
// 该消息已被阻止
if (message.stopped) {
break;
}
}
}
else if (args.type === 'click') {
onPushMessageCallbacks.forEach((callback) => {
......
......@@ -671,12 +671,18 @@ function invokePushCallback(args) {
invokeGetPushCidCallbacks(cid, args.errMsg);
}
else if (args.type === 'pushMsg') {
onPushMessageCallbacks.forEach((callback) => {
callback({
type: 'receive',
data: normalizePushMessage(args.message),
});
});
const message = {
type: 'receive',
data: normalizePushMessage(args.message),
};
for (let i = 0; i < onPushMessageCallbacks.length; i++) {
const callback = onPushMessageCallbacks[i];
callback(message);
// 该消息已被阻止
if (message.stopped) {
break;
}
}
}
else if (args.type === 'click') {
onPushMessageCallbacks.forEach((callback) => {
......
......@@ -671,12 +671,18 @@ function invokePushCallback(args) {
invokeGetPushCidCallbacks(cid, args.errMsg);
}
else if (args.type === 'pushMsg') {
onPushMessageCallbacks.forEach((callback) => {
callback({
type: 'receive',
data: normalizePushMessage(args.message),
});
});
const message = {
type: 'receive',
data: normalizePushMessage(args.message),
};
for (let i = 0; i < onPushMessageCallbacks.length; i++) {
const callback = onPushMessageCallbacks[i];
callback(message);
// 该消息已被阻止
if (message.stopped) {
break;
}
}
}
else if (args.type === 'click') {
onPushMessageCallbacks.forEach((callback) => {
......
......@@ -671,12 +671,18 @@ function invokePushCallback(args) {
invokeGetPushCidCallbacks(cid, args.errMsg);
}
else if (args.type === 'pushMsg') {
onPushMessageCallbacks.forEach((callback) => {
callback({
type: 'receive',
data: normalizePushMessage(args.message),
});
});
const message = {
type: 'receive',
data: normalizePushMessage(args.message),
};
for (let i = 0; i < onPushMessageCallbacks.length; i++) {
const callback = onPushMessageCallbacks[i];
callback(message);
// 该消息已被阻止
if (message.stopped) {
break;
}
}
}
else if (args.type === 'click') {
onPushMessageCallbacks.forEach((callback) => {
......
......@@ -671,12 +671,18 @@ function invokePushCallback(args) {
invokeGetPushCidCallbacks(cid, args.errMsg);
}
else if (args.type === 'pushMsg') {
onPushMessageCallbacks.forEach((callback) => {
callback({
type: 'receive',
data: normalizePushMessage(args.message),
});
});
const message = {
type: 'receive',
data: normalizePushMessage(args.message),
};
for (let i = 0; i < onPushMessageCallbacks.length; i++) {
const callback = onPushMessageCallbacks[i];
callback(message);
// 该消息已被阻止
if (message.stopped) {
break;
}
}
}
else if (args.type === 'click') {
onPushMessageCallbacks.forEach((callback) => {
......
......@@ -671,12 +671,18 @@ function invokePushCallback(args) {
invokeGetPushCidCallbacks(cid, args.errMsg);
}
else if (args.type === 'pushMsg') {
onPushMessageCallbacks.forEach((callback) => {
callback({
type: 'receive',
data: normalizePushMessage(args.message),
});
});
const message = {
type: 'receive',
data: normalizePushMessage(args.message),
};
for (let i = 0; i < onPushMessageCallbacks.length; i++) {
const callback = onPushMessageCallbacks[i];
callback(message);
// 该消息已被阻止
if (message.stopped) {
break;
}
}
}
else if (args.type === 'click') {
onPushMessageCallbacks.forEach((callback) => {
......
......@@ -635,12 +635,18 @@ function invokePushCallback(args) {
invokeGetPushCidCallbacks(cid, args.errMsg);
}
else if (args.type === 'pushMsg') {
onPushMessageCallbacks.forEach((callback) => {
callback({
type: 'receive',
data: normalizePushMessage(args.message),
});
});
const message = {
type: 'receive',
data: normalizePushMessage(args.message),
};
for (let i = 0; i < onPushMessageCallbacks.length; i++) {
const callback = onPushMessageCallbacks[i];
callback(message);
// 该消息已被阻止
if (message.stopped) {
break;
}
}
}
else if (args.type === 'click') {
onPushMessageCallbacks.forEach((callback) => {
......
......@@ -100,6 +100,26 @@ e?.onClose(t);
var GtPush = /*@__PURE__*/getDefaultExportFromCjs(gtpushMin);
function initPushNotification() {
// 仅 App 端
if (typeof plus !== 'undefined' && plus.push) {
plus.push.addEventListener('click', (result) => {
// @ts-expect-error
uni.invokePushCallback({
type: 'click',
message: result,
});
});
uni.onPushMessage((res) => {
if (res.type === 'receive' && res.data && res.data.force_notification) {
// 创建通知栏
uni.createPushMessage(res.data);
res.stopped = true;
}
});
}
}
// if (process.env.UNI_PUSH_DEBUG) {
// GtPush.setDebugMode(true)
// }
......@@ -119,6 +139,7 @@ if (!appid) {
});
}
else {
initPushNotification();
GtPush.init({
appid,
onError: (res) => {
......
import GtPush from '../lib/gtpush-min'
import { initPushNotification } from './route'
// if (process.env.UNI_PUSH_DEBUG) {
// GtPush.setDebugMode(true)
......@@ -20,6 +21,7 @@ if (!appid) {
})
})
} else {
initPushNotification()
GtPush.init({
appid,
onError: (res) => {
......
export function initPushRoute() {
uni.onPushMessage((res) => {
if (res.data && res.data.path && res.type === 'receive') {
// 仅 App 端
if (typeof plus !== 'undefined' && plus.push) {
// 创建通知栏,并屏蔽消息的继续传递
plus.push.createMessage(
res.data.content,
JSON.stringify(res.data.payload),
{
title: res.data.title,
forceNotification: true,
path: res.data.path,
} as any
)
export function initPushNotification() {
// 仅 App 端
if (typeof plus !== 'undefined' && plus.push) {
plus.push.addEventListener('click', (result) => {
// @ts-expect-error
uni.invokePushCallback({
type: 'click',
message: result,
})
})
uni.onPushMessage((res) => {
if (res.type === 'receive' && res.data && res.data.force_notification) {
// 创建通知栏
uni.createPushMessage(res.data)
// 阻止其他监听器继续监听
;(res as any).stopped = true
}
}
})
})
}
}
......@@ -671,12 +671,18 @@ function invokePushCallback(args) {
invokeGetPushCidCallbacks(cid, args.errMsg);
}
else if (args.type === 'pushMsg') {
onPushMessageCallbacks.forEach((callback) => {
callback({
type: 'receive',
data: normalizePushMessage(args.message),
});
});
const message = {
type: 'receive',
data: normalizePushMessage(args.message),
};
for (let i = 0; i < onPushMessageCallbacks.length; i++) {
const callback = onPushMessageCallbacks[i];
callback(message);
// 该消息已被阻止
if (message.stopped) {
break;
}
}
}
else if (args.type === 'click') {
onPushMessageCallbacks.forEach((callback) => {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册