[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能获取到

开源作品

GO-FLY,一套可私有化部署的免费开源客服系统,安装过程不超过五分钟(超过你打我 !),基于Golang开发,二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的网页在线客服系统,致力于帮助广大开发者/中小站长快速整合私有客服功能
github地址:go-fly
官网地址:https://gofly.sopans.com

赞赏作者

微信交流

原文地址:https://www.cnblogs.com/taoshihan/p/14388008.html