大佬们帮忙看看代码
//消息推送
mui.plusReady(function() {
// 监听点击消息事件
plus.push.addEventListener( "click", function( msg ) {
var payload=(plus.os.name=='iOS')?msg.payload:JSON.parse(msg.payload);
pushGetRun(payload);
}, false );
// 监听在线消息事件
plus.push.addEventListener( "receive", function( msg ) {
logoutPushMsg( msg );
}, false );
});
//获取穿透参数
function logoutPushMsg( msg ) {
if ( msg.payload ) {
if ( typeof(msg.payload)=="string" ) {
createLocalPushMsg(msg.content);
} else {
var data = JSON.parse(msg.payload);
createLocalPushMsg(data.content);
}
} else {
console.log( "payload: undefined" );
}
}
//创建本地推送
function createLocalPushMsg(content){
var options = {cover:false,};
plus.push.createMessage(content, "LocalMSG", options );
if(plus.os.name=="iOS"){
alert('*如果无法创建消息,请到"设置"->"通知"中配置应用在通知中心显示!');
}
}
function pushGetRun(payload){
//var id = payload.id;
mui.openWindow({
url:'order-details.html',
id:'order-details.html',
extras:{
},
})
}
mui.plusReady(function() {
plus.push.addEventListener("click", function(msg) {
var payload = (plus.os.name == 'iOS') ? msg.payload : JSON.parse(msg.payload);
alert(1);
pushGetRun(payload);
plus.ui.alert(JSON.stringify(msg));
}, false);
// 监听在线消息事件
plus.push.addEventListener("receive", function(msg) {
alert(2);
alert(JSON.stringify(msg))
}, false);
});
function pushGetRun(payload) {
alert(3);
plus.ui.alert(JSON.stringify(payload));
//var id = payload.id;
//var url = 'www/tpl/detail.html?id=' + id;
mui.openWindow({
url:'order-details.html',
id:'order-details.html',
extras:{
}
})
}
6***@qq.com (作者)
alert(msg)弹不出东西,应该是后台PHP的问题了
2018-04-19 09:22
王者地带
如果能触发创建本地消息, 说明推送是成功的, 应该不关PHP后台的事
2018-04-19 11:23
6***@qq.com (作者)
又测试了下,安卓收到信息直接在状态栏显示,没有触发receive事件、点击后触发了receive事件,不是应该触发click事件吗?IOS离线和在线状态栏都不显示通知,直接给我来个弹窗。。
2018-04-19 12:39
6***@qq.com (作者)
你看下现在的代码
2018-04-19 12:40
6***@qq.com (作者)
现在安卓是收到信息什么都没弹,点击状态栏信息弹了2,IOS是离线和在线通知栏都不会显示,直接弹了2,并且有个弹窗
2018-04-19 12:43