1***@qq.com
1***@qq.com
  • 发布:2024-08-28 15:07
  • 更新:2024-10-21 15:12
  • 阅读:169

plus.runtime.setBadgeNumber()不生效

分类:uni-app

1.已经设置和配置push消息推送,但是直接使用 plus.runtime.setBadgeNumber(10)角标不显示,手机型号为Redmik70;

  1. 使用plus.push.createMessage();创建消息,角标可以出现然后消息中心那里也出现消息,但是消息中心那里最多只能显示9条,然后角标也只显示9条,这个要怎么办?
    //这是在App.vue中调用的  
    onHide: function() {  
            //#ifdef APP-PLUS  
            this.IntervalId = setInterval(() => {  
                console.log("IntervalId===>onHide");  
                //   this.jnpf.remove();  
                // 这里通过setInterval来查询数据,判断是否需要推送消息  
                getWaitTotal().then((res) => {  
                    let Num = res.data;  
                    // let Num = 35;  
                    this.jnpf.create(  
                        "点击查看信息", {  
                            url: "/pages/index/workFlow",  
                        }, {  
                            delay: 0,  
                            title: `你有${Num}条待办的事宜`,  
                        },  
                        true,  
                        1  
                    );  
                });  
            }, 2000);  
            //#endif  
        },
    // =======================以下是消息推送方法  
    getAllMessage() {  
        return plus.push.getAllMessage();  
    },  
    changeBadge(number) {  
        // console.log("number", number);  
        console.log("触发了更新角标");  
        const messages = this.getAllMessage();  
        console.log("messages", messages.length);  
        console.log("messages", messages);  
        plus.runtime.setBadgeNumber(number || messages.length);  
    },  
    /**  
     * @param {string} content 消息内容  
     * @param {Object} payload 消息承载的数据  
     * @param {Object} options 消息配置  
     * @param {Boolean} isChange 创建消息后是否更新BadgeNumber  
     * @example   
     *  this.$push.create("点击查看消息内容>>", {url: "/pages/xxxx/xxx"}, {  
            delay: 3,  
            title: "您有3条新的消息",  
        });  
     */  
    create(content, payload = {}, options, isChange, num) {  
        plus.push.createMessage(...arguments);  
        this.changeBadge(num)  
        const delay = options.delay ? ~~options.delay * 1000 : 0;  
        setTimeout(() => {  
          isChange && this.changeBadge(num);  
        }, delay);  
    },  
    init() {  
        console.log("初始化推送");  
        plus.push.setAutoNotification(true); // setAutoNotification 默认就是true  
        // 监听消息接收事件  
        plus.push.addEventListener("receive", (message) => {  
            console.log("收到消息", message);  
            // 处理接收到的消息  
            const payload = message.payload || {};  
            if (payload.url) {  
                // 你可以在后台显示通知或处理其他逻辑  
                console.log("消息包含URL:", payload.url);  
            } else {  
                console.log("消息不包含URL");  
            }  
        });  
        // 监听消息点击事件  
        plus.push.addEventListener("click", (message) => {  
            console.log("监听消息点击事件", message);  
            let {  
                url  
            } = message.payload;  
            console.log("url", url);  
            if (url) {  
                console.log("有url", url);  
                uni.switchTab({  
                    url,  
                    success: () => {  
                        this.remove(message, true);  
                    }, // 可以根据需求删除消息 this.remove(message);  
                    complete: () => {}, // 可以根据需求删除消息 this.remove(message);  
                });  
            } else {  
                console.log("没有url");  
            }  
        });  
    },
2024-08-28 15:07 负责人:无 分享
已邀请:
2***@qq.com

2***@qq.com

解决了吗,我这个都不显示

1***@qq.com

1***@qq.com

我也是redmi k70 请问解决了吗

要回复问题请先登录注册