WebIM_Ajax框架

时间:2014-03-22 06:59:33
【文件属性】:

文件名称:WebIM_Ajax框架

文件大小:2.81MB

文件格式:RAR

更新时间:2014-03-22 06:59:33

WebIM Ajax

描述: 本 WebIM 系统采用 B/S 模式,使用浏览器 ajax 实现即时聊天。 服务器端采用 MC 设计模式,Controler 分为组包拆包模块(编码子模块、加密解密子模块、序列化/反序列化子模块)和主处理模块(包含:Manager、DAO);其中加密解密模块,由于 js 支持不好,预留暂不使用; 客户端使用 AJAX 心跳包拉数据,应用 JQuery 框架实现页面效果; 技术点: 1.CH2.Ajax 框架 2.动态js 3.动态css 4.jsonp跨域 5.iframe跨域 6.心跳包 7.ajax上传图片 8.裁切图片 9.js表单验证 10.悬浮层拖拽 11.列表节点拖拽排序 12.列表节点拖拽移动 13.Fixed 效果(固定居上/中/下、左/中/右),兼容 IE6 14.base64 编码 15.网站风格切换 16.js插件:模拟 Confirm 17.js插件:层拖拽 18.js插件:输入验证(中英文长度/正则/AJAX/自定义) 19.js插件:模拟 Title 实现功能: 1.同一用户只能在一处登录; 2.好友分组列表; 3.聊天; 4.离线消息; 5.上线/下线通知; 6.日志; 7.信息编码(简单加密)(Base64 + UTF8); 8.断线重连; 9.在线状态高亮显示; 10.心跳包维持在线状态(弹性心跳包间隔:一段时间内无收/发消息,则逐步增加心跳包时间间隔,以减轻服务器负担;收/发消息,则恢复原时间间隔); 11.新消息头像闪烁提醒; 12.新消息标题滚动字幕提醒; 13.新消息窗口闪烁+高亮提醒; 14.头像; 15.性别; 16.头像区分在线/离线(FF下有没有更好的解决方案?); 17.自定义头像; 18.表情; 19.右下角提示; 20.改为嵌入式WebIM; 21.主界面支持拖拽; 22.个性签名; 23.群组列表; 24.群组聊天; 25.群组成员列表; 26.已成为好友的群组成员上下线通知; 26.陌生人上下线通知; 27.群组好友列表排序; 28.同一账户多处登录,先登录者强迫下线。 29.强迫下线后一键重新登录; 30.好友列表排序; 31.群组列表排序; 32.自定义消息文字大小; 33.自定义消息文字颜色; 34.群组好友上下线状态; 35.注册; 36.快速查找好友; 37.查找用户; 38.查找群组; 39.添加好友(申请/审核); 40.添加群组(申请/审核); 41.好友分组拖拽排序; 42.拖拽移动好友(到另一分组); 43.上传头像; 44.切换风格; 待开发功能: 1.多在线状态(在线/隐身/离开); 2.系统消息; 3.自定义表情; 4.添加/重命名/删除分组; 5.修改昵称/个性签名/性别; 6.修改密码; 7.修改好友备注; 8.群组成员备注; 9.删除群组成员; 10.设定/撤销群组管理员; 说明: 1.环境要求:服务器 .NET Framwork 3.5;客户端支持FF、Chrome和IE6+浏览器; 2.数据库层暂不实现,以读取文件模拟;如果需要使用数据库,请定义一个DAO类(实现IDao接口),替换FileDao; 3.如需进行 Base64 加密,需把 Web.Config 的 Base64 改为 ture;且把 js/config.js 中 base64 赋值为 true (默认为 ture);会有一定的性能损耗; 4.如需保存离线消息,需把 Web.Config 的 SaveDB 改为 ture,且保证用户(win2003 下 NETWORK_SERVICE,XP 下 ASP_NET)对目录 db 有写权限(默认为 false);会有一定的性能损耗,且会由于写文件的并发支持不好产生bug; 5.如需保存日志,需把 Web.Config 的 Log 改为 ture,且保证用户对目录 Log 有写权限(默认为 false);包括收信息日志、发信息日志、登录日志、退出登录日志、错误日志;会有一定的性能损耗; 演示: 1.打开两个 webIM.htm 页面,登录不同的用户(用户名/密码在 db/userdb.txt 下); 2.登录成功后,互发聊天消息,上线下线; 如何在其他网站嵌入WebIM: 1.在页面head节点中引入 http://webim.com/js/runwebim.js 脚本(http://webim.com/ 为 WebIM 站点的地址); 2.运行脚本 RunWebIM(); WebIM 会不会耗性能: 1.引入 runwebim.js 脚本只会损耗很少资源(几乎可以忽略),只有运行 RunWebIM() 启动了 WebIM 才会动态加载样式和脚本; 2.只有登录成功后,WebIM 才会启动心跳包(每隔一段时间ajax请求数据); 3.启动心跳包后,只有收/发聊天消息时,才会占用流量,其他时间占用流量很少(约 20 B,几乎可以忽略)。 2011-01-10 by 无梦(caihaihua@sogou.com)


网友评论

  • 比较一般,有一定参考价值
  • z整体框架还算可以,就是整合的话有点不是很利索
  • 要是能支持多种数据库就更好了。
  • 没看太懂,运行不了,好像因为我是ie9的问题吧
  • 基本的功能整理的较好
  • 效果不错,就是不太实用.
  • 比较初级,值得借鉴
  • 效果不错,就是不太实用.
  • 很好的webim框架,目前还没和其他系统进行整合。
  • 这框架还可以,基本的功能整理的较好,感谢分