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

一、目的

猜测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、浏览器的安全限制太强。

相关推荐
precious。。。13 小时前
1.2.1 三角不等式演示
前端·javascript·html
星空14 小时前
前段--A_2--HTML属性标签
前端·html
a11177614 小时前
MapDesigner (html开源项目)六角格地图设计工具
开源·html
夜雨飘零11 天前
零门槛!用 AI 生成 HTML 并一键部署到云端桌面
人工智能·python·html
PieroPc1 天前
一个为 AI 助手设计的进销存管理系统,内置完整的 CLI 命令接口,让 AI 可以通过自然语言或命令行直接操作库存。技术栈 FastAPI+Html
人工智能·html·fastapi·cli
星空1 天前
前端--A_3--HTML区块_块元素与行内元素
前端·html
a1117761 天前
PreTeXt 开源推荐(应用demo)
前端·开源·html
通信小呆呆1 天前
告别信道束缚:探究 Random Multiplexing 随机复用技术
信息与通信·信号处理·6g·随机复用
reasonsummer1 天前
【白板类-03-01】20260402画板01(html+希沃白板)
前端·html
通信小呆呆2 天前
破茧成蝶,无声胜有声:海陆空一体化智能隐蔽通信
ai·信息与通信·ris·通信感知一体化·隐蔽通信·空天地海一体化