ChatKit-OC

iOS 端的 UI 聊天组件
授权协议 MIT
开发语言 Objective-C
所属分类 iOS代码库、 高级UI组件(Advanced)
软件类型 开源软件
地区 国产
投 递 者 松鸣
操作系统 iOS
开源组织
适用人群 未知
 软件概览

ChatKit 是一个免费且开源的 UI 聊天组件,自带云服务器,自带推送,支持消息漫游,消息永久存储。底层聊天服务基于LeanCloud(原名 AVOS ) 的 IM 实时通信服务「LeanMessage」而开发,采用 Protobuf 协议进行消息传输。ChatKit 可以帮助开发者快速集成 IM 服务,轻松实现聊天功能,提供完全自由的授权协议,支持二次开发。其最大特点是把聊天常用的一些功能配合 UI 一起提供给开发者。

运行效果:

示例代码:

由最近联系人进入聊天界面

按照上面的步骤,我们可以非常方便地打开最近联系人页面。但是我们会发现,点击其中的某个联系人/聊天群组,我们并不能直接进入聊天界面。要做到这一点,我们需要给 LCChatKit 设置上事件响应函数,示例代码如下:

[[LCChatKit sharedInstance] setDidSelectConversationsListCellBlock:^(NSIndexPath *indexPath, AVIMConversation *conversation, LCCKConversationListViewController *controller) {
    NSLog(@"conversation selected");
    LCCKConversationViewController *conversationVC = [[LCCKConversationViewController alloc] initWithConversationId:conversation.conversationId];
    [controller.navigationController pushViewController:conversationVC animated:YES];
}];

对于联系人列表页面,我们在 LCChatKit 可以响应如下四种操作:

/*!
 *  选中某个对话后的回调 (比较常见的需求)
 *  @param conversation 被选中的对话
 */
typedef void(^LCCKConversationsListDidSelectItemBlock)(NSIndexPath *indexPath, AVIMConversation *conversation, LCCKConversationListViewController *controller);
/*!
 *  设置选中某个对话后的回调
 */
- (void)setDidSelectConversationsListCellBlock:(LCCKConversationsListDidSelectItemBlock)didSelectItemBlock;
/*!
 *  删除某个对话后的回调 (一般不需要做处理)
 *  @param conversation 被选中的对话
 */
typedef void(^LCCKConversationsListDidDeleteItemBlock)(NSIndexPath *indexPath, AVIMConversation *conversation, LCCKConversationListViewController *controller);
/*!
 *  设置删除某个对话后的回调
 */
- (void)setDidDeleteConversationsListCellBlock:(LCCKConversationsListDidDeleteItemBlock)didDeleteItemBlock;
/*!
 *  对话左滑菜单设置block (最近联系人页面有复杂的手势操作时,可以通过这里扩展实现)
 *  @return  需要显示的菜单数组
 *  @param conversation, 对话
 *  @param editActions, 默认的菜单数组,成员为 UITableViewRowAction 类型
 */
typedef NSArray *(^LCCKConversationEditActionsBlock)(NSIndexPath *indexPath, NSArray<UITableViewRowAction *> *editActions, AVIMConversation *conversation, LCCKConversationListViewController *controller);
/*!
 *  可以通过这个block设置对话列表中每个对话的左滑菜单,这个是同步调用的,需要尽快返回,否则会卡住UI
 */
- (void)setConversationEditActionBlock:(LCCKConversationEditActionsBlock)conversationEditActionBlock;
 相关资料
  • 聊天小部件扩展了卡片组件,以创建漂亮的聊天界面。该窗口小部件由必需的消息框和联系人框(可选)组成。示例: <!-- 用你想要的样式创建卡片。在这里,我们使用 card-danger --> <!-- 然后添加 direct-chat 类并选择 direct-chat-* 相关类 --> <!-- 相关类应与卡片匹配,因此我们使用 direct-chat-danger --> <div cla

  • 聊天组件的核心类是CCChatManager,获取核心类的实例:CCChatManager mChatManager = CCChatManager.getInstance(); 1.1 消息的接收(包括图片,以及表情,文本) 1.1.1 监听消息事件的回调通知 首先获取聊天插件的消息监听事件: mChatManager.setOnChatListener(mChatList) 使用例子:(dem

  • 日期: 2019-11-19 创盛视联数码科技(北京)有限公司 聊天组件的核心类是CCChatManager; //在工程需要的地方引入头文件 #import <CCChatLibrary/CCChatLibrary.h> //1、类的实例化 + (instancetype)sharedChat; //2、与BaseSDK建立联系 - (void)addBasicClient:(CCStrea

  • 1.1 组件引入 需使用聊天功能、修改房间级配置、修改个人配置,可在线引用配置更新、聊天插件 <script src="https://class.csslcloud.net/static/dist/js/classUpdateChat.js"></script> 1.2 配置修改、图文聊天插件包含功能 功能 描述 房间级配置修改 支持修改房间级配置 个人配置修改 支持个人配置状态管理 广播 支

  • 我对python有点陌生,这是我第一次使用套接字,我试图制作一个具有客户端和服务器的应用程序,用户可以在客户端中输入,它将被发送到服务器,然后将其发送给所有其他客户端。我已经将其设置为工作状态,但每当我尝试发送第二条消息时,我总是收到一个错误错误:[Errno 10058]发送或接收数据的请求被禁止,因为套接字已经在之前的关闭调用中关闭了该方向。我如何才能做到这一点? 尝试在启动新套接字或发送新消

  • 即时聊天是工作沟通中必不可少的工具。钉钉的即时聊天具有消息一触即达、身份和信息双重安全保障、群聊可精细化管理等特性,帮助你的企业实现工作沟通与生活聊天分离,让工作重回专注。 全员群管理 全员群开启 ● 团队创建完成后,默认会开启全员群。 全员群设置 ● 管理员可以登录管理员后台,对全员群进行设置。 登录管理员后台,点击通讯录中企业名称右侧的设置 查看全员群信息 设置全员群群主(默认是管理员) 修改

  • ChatKit for Android ChatKit is a library designed to simplify the development of UI for such a trivial task as chat. It has flexible possibilities for styling, customizing and data management Features

  • 本文向大家介绍JavaScript仿聊天室聊天记录,包括了JavaScript仿聊天室聊天记录的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js仿聊天室聊天记录的具体代码,供大家参考,具体内容如下 参考样式(css自定义聊天窗口样式):http://xiazai.jb51.net/201612/yuanma/css3chatstyle(jb51.net).rar 功能描述: 1.