| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- /************************************************************
- * * Hyphenate CONFIDENTIAL
- * __________________
- * Copyright (C) 2016 Hyphenate Inc. All rights reserved.
- *
- * NOTICE: All information contained herein is, and remains
- * the property of Hyphenate Inc.
- * Dissemination of this information or reproduction of this material
- * is strictly forbidden unless prior written permission is obtained
- * from Hyphenate Inc.
- */
- #import "EaseRefreshTableViewController.h"
- #import "EaseConversationModel.h"
- #import "EaseConversationCell.h"
- //#if ENABLE_LITE == 1
- #import <HyphenateLite/HyphenateLite.h>
- //#else
- //#import <Hyphenate/Hyphenate.h>
- //#endif
- typedef NS_ENUM(int, DXDeleteConvesationType) {
- DXDeleteConvesationOnly,
- DXDeleteConvesationWithMessages,
- };
- @class EaseConversationListViewController;
- @protocol EaseConversationListViewControllerDelegate <NSObject>
- /*!
- @method
- @brief 获取点击会话列表的回调
- @discussion 获取点击会话列表的回调后,点击会话列表用户可以根据conversationModel自定义处理逻辑
- @param conversationListViewController 当前会话列表视图
- @param IConversationModel 会话模型
- @result
- */
- - (void)conversationListViewController:(EaseConversationListViewController *)conversationListViewController
- didSelectConversationModel:(id<IConversationModel>)conversationModel;
- @optional
- @end
- @protocol EaseConversationListViewControllerDataSource <NSObject>
- /*!
- @method
- @brief 构建实现协议IConversationModel的model
- @discussion 用户可以创建实现协议IConversationModel的自定义conversationModel对象,按照业务需要设置属性值
- @param conversationListViewController 当前会话列表视图
- @param conversation 会话对象
- @result 返回实现协议IConversationModel的model对象
- */
- - (id<IConversationModel>)conversationListViewController:(EaseConversationListViewController *)conversationListViewController
- modelForConversation:(EMConversation *)conversation;
- @optional
- /*!
- @method
- @brief 获取最后一条消息显示的内容
- @discussion 用户根据conversationModel实现,实现自定义会话中最后一条消息文案的显示内容
- @param conversationListViewController 当前会话列表视图
- @param IConversationModel 会话模型
- @result 返回用户最后一条消息显示的内容
- */
- - (NSAttributedString *)conversationListViewController:(EaseConversationListViewController *)conversationListViewController
- latestMessageTitleForConversationModel:(id<IConversationModel>)conversationModel;
- /*!
- @method
- @brief 获取最后一条消息显示的时间
- @discussion 用户可以根据conversationModel,自定义实现会话列表中时间文案的显示内容
- @param conversationListViewController 当前会话列表视图
- @param IConversationModel 会话模型
- @result 返回用户最后一条消息时间的显示文案
- */
- - (NSString *)conversationListViewController:(EaseConversationListViewController *)conversationListViewController
- latestMessageTimeForConversationModel:(id<IConversationModel>)conversationModel;
- @end
- @interface EaseConversationListViewController : EaseRefreshTableViewController <EMChatManagerDelegate,EMGroupManagerDelegate>
- @property (weak, nonatomic) id<EaseConversationListViewControllerDelegate> delegate;
- @property (weak, nonatomic) id<EaseConversationListViewControllerDataSource> dataSource;
- /*!
- @method
- @brief 下拉加载更多
- @discussion
- @result
- */
- - (void)tableViewDidTriggerHeaderRefresh;
- /*!
- @method
- @brief 内存中刷新页面
- @discussion
- @result
- */
- - (void)refreshAndSortView;
- @end
|