A simply web im, javascript chat ui component. javascript即时聊天组件
- 单人聊天
- 在线、下线状态
- 信息发送状态
- 聊天历史记录
- 兼容IE8+(IE7未测试)、chrome等主流浏览器
- 添加发送表情功能
- 群聊
- 移动端适配
-
如何运行例子
- 项目需在服务器环境下运行
- 同时打开 http://xxxx/im.html#1, http://xxxx/im.html#2 即可开始测试。改变#后面的数字可切换用户身份
-
组件说明
-
组件间通过事件驱动,详见代码
-
组件依赖(jquery, EventEmitter, nanoScroller, avchat.js, web_socket.js等)
-
项目基于LeanCloud Javascript Chat实现
- 实现了 获取聊天记录-conversation.php, 签名认证-signature.php
- 如使用本项目代码需申请LeanCloud账号,将im.html, conversation.php, signature.php中的appId, appKey, masterKey做相应替换
得说下签名认证(signature.php)的实现,略坑... 具体要求可见权限和认证,说下注意的点
1. peerid 是“字符“,是字符不是数字 2. 要实现Hmac-sha1算法,跟Base64什么的可没有关系。。。详见程序 3. 最容易忽视的是:watch_peer_id这个变量,需要按照”字符“升序排序的,字符升序!
-
加载相关依赖(详见例子im.html)
-
实现“获取联系人列表”接口(本例中的rosters.php)
-
初始化组件
Green.init({
rostersUrl : 'rosters.php', // 联系人列表接口
conversationUrl : 'conversation.php',// 聊天记录接口
authUrl : 'signature.php'// 可选,签名认证接口
});