最近在看开源项目conversejs 实现的在线web聊天工具源码;
这个源码采用 backbone.js + strophe.js +各中js 的npm 插件 实现 前端web页面效果,通过xmpp协议链接到openfire服务器;
相比现在的angularjs框架技术,conversejs的技术架构是老了一大截;真希望官方能出一个 angularjs 或者 vue版的 版本;
虽然是上一代js技术;但是知识要点不难懂;
webpack 打包js 技术;
make 命令把js+css+html 等资源 混合在一个js文件内;
关于打包js,我这真还是个弱者,第一次接触,需要在 linux 环境下才能运行良好;
最近对converjs 的源码做了很多二次开发:
1、添加默认客服账号,不需要添加为好友或者 关注客服账号,也能发送消息,
2、添加消息列表功能,并能对消息进行本地化缓存和 再次登陆后进行恢复;
3、添加好友请求,申请添加好友,已经通过的好友验证 ,会触发消息列表内的验证消息展示;
4、web版通过配置nginx转发到openfire聊天服务器的http-bind端口,实现http-bind 技术规范,替代js长轮询高消耗的模式;主要是链接聊天服务器不再掉线;
5、在登陆界面显示二维码供扫码登陆; 请求接口获取二维码数据,并启动倒计时,在180秒后二维码过期 ,点击刷新按钮重新从接口获取二维码数据显示,如此循环; 期间,如果通过app手机扫码成功,并在扫码结果页面点击授权登陆, 网页端通过3秒定时轮询接口, 获取得到扫码后的处理动作,如果是进行登陆,则进行登陆操作;如果 app上进行的是取消操作,那么 返回 不处理,继续等待倒计时 ;
更多 openfire 开发web聊天功能的交流,请一起来探讨吧!