会话
<h2>接口</h2>
<p>一般情况下不需要调用以下接口,在创建消息的时候会自动创建或者更新会话信息</p>
<pre><code class="language-java"> /**
* 创建会话
* @param chatAccount 会话id(人员id、群组id、应用code等)
* @param chatName 会话id(人员id、群组id、应用code等)
* @param ctype 会话类型(QDSession.TYPE_PERSON 个人会话 QDSession.TYPE_GROUP 群组会话 QDSession.TYPE_APP 应用会话 QDSession.TYPE_SECRET 密聊会话)
* @return QDSession 会话对象
*/
QDSession session = QDClient.getInstance().createSession(String chatAccount, String chatName, int ctype)
注:创建会话会得到一个标题为空的会话,发送消息和接收消息自动更新会话
/**
* 替换会话
* @param message 消息
* @param chatId 会话id(人员id、群组id、应用code等)
* @param chatName 会话id(人员id、群组id、应用code等)
*/
QDClient.getInstance().replaceSession(QDMessage message, String chatId, String chatName)
/**
* 删除会话
* @param content (userId + ";" + userName)高管模式下高管删除会话时会用到
*/
public void deleteConversation(String content)</code></pre>
<h2>数据库操作</h2>
<pre><code class="language-java">/**
* 获取所有会话
* @return
*/
List<QDSession> sessionList = QDSessionDao.getInstance().getAllSession()
/**
* 获取所有应用会话
* @return
*/
List<QDSession> sessionList = QDSessionDao.getInstance().getAppSessionList()
/**
* 获取所有密聊会话
* @return
*/
List<QDSession> sessionList = QDSessionDao.getInstance().getSecretSession()
/**
* 获取所有单人会话id列表
* @return
*/
List<String> idList = QDSessionDao.getInstance().getPersonSessionIdList()
/**
* 根据类型获取会话
* @param id 会话id 下同
* @return
*/
QDSession session = QDSessionDao.getInstance().getSessionByType(int type)
/**
* 根据id获取会话
* @param id 会话id 下同
* @return
*/
QDSession session = QDSessionDao.getInstance().getSessionById(String id)
/**
* 插入一个会话
* @param session
*/
QDSessionDao.getInstance().insertSession(QDSession session)
/**
* 更新会话信息
* @param session
*/
QDSessionDao.getInstance().updateSession(QDSession session)
/**
* 更新会话置顶状态
* @param id
* @param isTop
*/
QDSessionDao.getInstance().updateSessionIsTop(String id, int isTop)
/**
* 更新会话免打扰状态
* @param id
* @param isMute
*/
QDSessionDao.getInstance().updateSessionIsMute(String id, int isMute)
/**
* 更新会话名称
* @param id
* @param name
*/
QDSessionDao.getInstance().updateSessionNameById(String id, String name)
/**
* 更新会话未读数量 当point为0时同时会将isAtSelf值设为0
* @param id
* @param point
*/
QDSessionDao.getInstance().updateSessionPoint(String id, int point)
/**
* 更新会话标题
* @param id
* @param subject
*/
QDSessionDao.getInstance().updateSessionSubject(String id, String subject)
/**
* 更新会话头像
* @param id
* @param icon
*/
QDSessionDao.getInstance().updateSessionIcon(String id, String icon)
/**
* 清空所有会话未读数量和标题
*
*/
QDSessionDao.getInstance().clearSessionPointAndSubject()
/**
* 根据id删除会话
* @param id
*/
QDSessionDao.getInstance().deleteSessionById(String id)</code></pre>
<h2>QDSession 类</h2>
<pre><code class="language-java">TYPE_PERSON 单聊
TYPE_APP 应用会话
TYPE_GROUP 群聊
TYPE_SECRET 密聊会话
/**
* 会话id
*/
String id
/**
* 会话名称
*/
String name
/**
* 会话头像
*/
String icon
/**
* 创建时间
*/
long createTime
/**
* 未读消息数量
*/
int point
/**
* 标题
*/
String subject
/**
* 类型
*/
int type
/**
* 是否置顶
*/
int isTop
/**
* 是否免打扰
*/
int isMute
/**
* 最后一条消息id
*/
String msgId
/**
* 最后一条消息类型
*/
String msgType
/**
* 是否含有@自己的消息
*/
int isAtSelf 0 表示没有 其他表示有</code></pre>