协同sdk说明


会话

<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&lt;QDSession&gt; sessionList = QDSessionDao.getInstance().getAllSession() /** * 获取所有应用会话 * @return */ List&lt;QDSession&gt; sessionList = QDSessionDao.getInstance().getAppSessionList() /** * 获取所有密聊会话 * @return */ List&lt;QDSession&gt; sessionList = QDSessionDao.getInstance().getSecretSession() /** * 获取所有单人会话id列表 * @return */ List&lt;String&gt; 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>

页面列表

ITEM_HTML