# webim **Repository Path**: isme/webim ## Basic Information - **Project Name**: webim - **Description**: 基于Swoole的WEBIM - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-11-04 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 基于THINKPHP5和SWOOLE写的WEBIM 消息持久化用的是MONGODB,当天数据使用的REDIS 代码逻辑有点混乱,还需要完善和剥离,但是功能已经完成。 支持即时发布消息,未读消息计数,消息持久化,用户在线列表。 客户端就不发布了 业务逻辑有空整理出来。 Server.php 是swoole服务端.====>CLI MessageAction.php REDIS连接信息需要修改====>CLI Message.php Mongodb连接信息需要修改 ===> CLI|WEB Mongod.php Mongodb连接信息需要修改 =======>WEB cache/ExRedis.php REDIS连接信息需要修改 ===>WEB 聊天窗口载入的文件有: JQUERY 3 IM.JS CHAT.JS 聊天窗口模板文件需要定义2个JS变量为发送者和接收者的头像: var to_user_cover = ''; var from_user_cover = ''; ========== 聊天窗口业务逻辑: 1、检查当天是否有激活聊天信息 2、如果没有则到数据库中查询对方发给我的未读消息。 3、如果没有对方发给我的未读消息,则查询我发给对方的对方未读消息 4、覆盖到当天历史记录保存入REDIS 5、创建联系人缓存TABLE 6、生成当天激活时间并且设置过期时间截止到当天晚上12点 7、减少未读消息总数 8、聊天中对方给我的未读消息数量归零 聊天窗口模板逻辑: 1、JQCOOKIE 记录本次聊天时间 2、根据本次聊天时间格式化日期并判断是否要输出时间。(仿微信5分钟显示一次聊天时间)