网页端即时通信应用消息列表的更新逻辑

一、目的

猜测BOSS直聘、智联招聘等网页端的消息列表逻辑。

二、发出新消息

1、输入框用HTML的<textarea>标签。

2、监听发送按钮。

3、触发发送按钮事件,用AJAX来请求服务器接口。

把会话ID、收件人ID和新消息上传给服务器。

案例如下:

http.post("/news", {"sid":"hyuud7543619"},

{

"recvId": getRcvId(),

"msg": getMessage(),

},

function(code, xhr){},

function(code, data, xhr){}

);

三、收取新消息

主要难点:服务器推送消息和新消息通知。

1、用webSocket客户端监听新消息

ws.onmessage = function(e){

// 获取列表对象

var list = getList();

// 添加新消息

list.addItem(e.data);

// 未读消息个数加一

getUnreadSize().increment();

// 发出新消息通知

notify(e.data.sendId, e.data.msg);

}

消息列表一般用<div>标签来实现,用appendChild()接口来添加子节点。

2、发出新消息通知

浏览器默认有Notification类来弹窗通知。

如果需要声音播放,还需要调用<audio>标签的play()和stop()接口。

四、网页端的优缺点

优点:

1、应用功能总是获取最新的,升级容易。

2、开发成本少,界面搭建简单又美观。

缺点:

1、对于硬件功能很难调用。

例如:摄像头,麦克风调用,扬声器声音调用,新消息通知。

2、浏览器的安全限制太强。

相关推荐
voipmaker3 小时前
GB28181 对接踩坑实录:注册不上、目录不全、流卡顿,一次说清(附 2022 版变更清单)
物联网·音视频·实时音视频·信息与通信·iot·gb28181·国标gb28181
产品经理爱开发13 小时前
AxureShow(艾可秀)国内通用的html托管
前端·人工智能·html·ai编程
天若有情67313 小时前
【前端趣味项目】把防抖玩出新花样!一个带隐藏后门的毫秒级“读秒挑战”
前端·javascript·html·防抖·外挂·趣味demo·读秒挑战
必须得开心呀1 天前
载噪比科普
信息与通信
前端架构师-老李2 天前
HTML与CSS基础第四课—strong、em、b、i 各表示什么
前端·css·html
reasonsummer2 天前
【教学类-07-12】20261028大3班破译电话号码html(手机按钮版本)
python·html
砚凝霜2 天前
CTF Misc 签到 GXUST·CTF:查看源码 + HTML 注释 + Base64 解码(附 Base64 原理)
前端·html
夜雪一千2 天前
标题特殊符号数据清洗实战:解决HTML实体、零宽字符、Emoji乱码踩坑
前端·html
前端架构师-老李3 天前
HTML与CSS基础第二课—初识HTML
前端·css·html
CappuccinoRose3 天前
拖拽交互体系
前端·javascript·css·html·交互·1024程序员节