透传来的消息点开后
Android有时能显示详情页,有时一片空白
iOS点开一直都是一片空白
是我遗漏了什么嘛?
APP.vue里面
/* 获取推送服务商 */
uni.getProvider({
service: 'push',
success: function (res) {
/* 开启推送 */
uni.subscribePush({
provider: 'igexin',
success: function (res) {
console.log('success:' + JSON.stringify(res));
}
});
/* 监听推送 */
uni.onPush({
provider: 'igexin',
success: function () {
console.log('监听透传成功');
},
callback: function (data) {
console.log("接收到透传数据:" + JSON.stringify(data));
}
});
}
});
// #ifdef APP-PLUS
const _self = this;
const _handlePush = function(message) {
/**
* 通过 vuex 来同步页面的数据,仅做演示。
* 实际开发中,这里可能是跳转到某个页面等操作,请根据自身业务需求编写。
*/
_self.updatePushMessage(message);
uni.navigateTo({
url: `/pages/main/news?id=${JSON.parse(message.payload).id}`
})
};
plus.push.addEventListener('click', function(message) {
// plus.nativeUI.toast('push click');
_handlePush(message);
});
plus.push.addEventListener('receive', function(message) {
// plus.nativeUI.toast('push receive');
_handlePush(message);
});
// #endif
详情页/pages/main/news
onLoad(options){
this.newsDetail({
url: `posts/${options.id}`
}).then(res => {
this.detail = res
})
}
1 个回复
4***@qq.com (作者)
原因是后端返回的消息,安卓和苹果格式不一样,一个是字符串一个是对象