日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php一对多聊天程序代码,微信小程序实现一对多发消息

發布時間:2023/12/19 php 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php一对多聊天程序代码,微信小程序实现一对多发消息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

微信小程序中實現一對多發消息詳解及實例代碼

微信小程序中各個界面之間的傳值和通知比較蛋疼。所以模仿了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

}) ;

},

})

實現:

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;

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

更多微信小程序實現一對多發消息相關文章請關注PHP中文網!

本文原創發布php中文網,轉載請注明出處,感謝您的尊重!

總結

以上是生活随笔為你收集整理的php一对多聊天程序代码,微信小程序实现一对多发消息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。