小程序怎样实现群发功能-创新互联

这篇文章主要介绍了小程序怎样实现群发功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

贡觉网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。成都创新互联公司2013年开创至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

微信小程序中实现一对多发消息详解及实例代码

微信小程序中各个界面之间的传值和通知比较蛋疼。所以模仿了iOS中的通知中心,在微信小程序中写了一套类似的通知中心。

通知中心可以做到:1对多发消息,传递object。使用十分简洁。

使用时,在需要接收消息的界面注册一个通知名。然后在需要发消息的界面post这个通知名就可以了。可以在多个界面注册同一个通知名。这样就可以1对多发消息。

使用方法:



1:在app.js中引用notification.js

var notificationCenter = require('/utils/notification.js'); //这里请改为你的绝对路径

2:在app.js中添加:

App({
  onLaunch: function (){
     this.notificationCenter = notificationCenter.center();
  },
  notificationCenter:null,
})

3: 接收通知的page.js中注册



PageA.js:

var app = getApp();
Page({
 onLoad:function(options){
 app.notificationCenter.register("一个通知名称",this,"didReceviceAnyNotification");
 },
 didReceviceAnyNotification:function(name,content){
  console.log("接收到了通知:",name, content);
 },
})

4: 发出通知的page.js中



PageB.js 任意函数

var app = getApp();
Page({
 anyFunction:function(){
  app.notificationCenter.post("通知名称",{
    //任意通知object
  })  ;
 },
})

实现:

文件下载:/tupian/20230522/ppre>var notificationCenter = { notificationCenter:{}, // 向通知中心注册一个监听者。 // name: 监听的通知名称 // observer: 监听者 // action: 监听者收通知时调用的方法名, // func: 监听者收到通知时调用的函数, // action func 2选1 register:function(name,observer,action,func){   if (!name || !observer) return;   if (!action && !func) return;   console.log("注册通知:",name,observer);   var center = this.notificationCenter;   var objects = center[name];   if (!objects){     objects = [];   }   this.remove(name,observer);   objects.push({     observer:observer,     action:action,     func:func   });   center[name] = objects; }, // 从通知中心移除一个监听者 remove:function(name,observer){   if (!name || !observer) return;   var center = this.notificationCenter;   var objects = center[name];   if (!objects){     return;   }   var idx;   var object;   for(idx = 0;idx<objects.length;idx++){     var obj = objects[idx];     if (obj.observer == observer){     object = obj;     break;     }   }   if (object){     objects.splice(idx,1);   }   center[name] = objects; }, // 通过通知中心发出通知 // name: 通知名称 // notification: 通知内容 post:function(name,notification){   if (!name) return;   console.log("准备发出通知:",name,notification);   var center = this.notificationCenter;   var objects = center[name];   if (!objects){     objects = [];   }   objects.forEach(function(object){     var observer = object.observer;     var action = object.action;     var func = object.func;     if (observer && action){       func = observer[action];     }     func(notification);   });   console.log("完成向 ",objects.length," 个监听者发出通知:",name); } } function center(){   return notificationCenter; } module.exports.center = center;

感谢你能够认真阅读完这篇文章,希望小编分享的“小程序怎样实现群发功能”这篇文章对大家有帮助,同时也希望大家多多支持创新互联网站建设公司,,关注创新互联行业资讯频道,更多相关知识等着你来学习!


分享文章:小程序怎样实现群发功能-创新互联
路径分享:http://scyanting.com/article/dedhod.html