您当前的位置: 首页 > 知识百科 > 微信小程序发送消息实例详解

微信小程序发送消息实例详解

时间:2023-07-01 14:05 阅读数:19 人阅读 分类:知识百科

  大家都知道微信小程序开发以后能够实现很多功能,但是很多人不知道小程序可以发送消息,今天小编就为大家讲解一下微信小程序发送消息的实例,希望让大家对小程序了解更多。

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

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

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

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

  使用方法:

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

  ?

  1var 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

  }) ;

  },

  })

  实现:

  文件下载:xiazai.jb51/201702/yuanma/wxappNotificationCenter-master(jb51).rar

  ?

  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

  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;

  参照以上代码,按照文中给出的步骤来操作,你就能实现微信小程序发送消息了,是不是很简单呢?和开发小程序一样细心一点就可以了,更多相关教程请关注微信小程序素材网。

  

  小程序发送客服消息怎么设置?

  小程序客服消息开发怎么弄

  微信小程序接收消息功能怎么开发