[uniapp] 解决推送时报错plus not defined

官方文档里的代码有点点问题 , 可以按照下面这样延时去调用plus的代码 , 等待plus加载完毕

另外增加上条件编译 , 只有在app下面这段代码才会编译

                //#ifdef APP-PLUS
                    // 页面加载时触发  
                    setTimeout(function(){
                        if(plus){
                            var pinf = plus.push.getClientInfo();
                            var cid = pinf.clientid;//客户端标识 
                            console.log(cid);
                             //监听系统通知栏消息点击事件
                             plus.push.addEventListener('click', function(msg){  
                                 //处理点击消息的业务逻辑代码  
                             }, false);  
                             //监听接收透传消息事件  
                             plus.push.addEventListener('receive', function(msg){  
                                 //处理透传消息的业务逻辑代码  
                                 var options = {cover:false};
                                 plus.push.createMessage(msg,"RemoteMSG",options);
                             }, false);
                        }
                    },4000);
                //#endif

client_id能获取到

 

posted @ 2021-02-08 11:01  陶士涵  阅读(14)  评论(0编辑  收藏