package cn.stylefeng.roses.kernel.im.api;
|
|
import io.rong.messages.BaseMessage;
|
import io.rong.models.Result;
|
import io.rong.models.response.*;
|
|
/**
|
* IM服务
|
*/
|
public interface ImServerApi {
|
|
/**
|
* 用户注册
|
*
|
* @param id 用户id
|
* @param name 用户名称
|
* @param portrait 用户头像
|
* @return token
|
*/
|
TokenResult userRegister(String id, String name, String portrait);
|
|
/**
|
* 用户获取
|
*
|
* @param id 用户id
|
* @return 用户信息
|
*/
|
UserResult userGet(String id);
|
|
/**
|
* 用户更新
|
*
|
* @param id 用户id
|
* @param name 用户名称
|
* @param portrait 用户头像
|
* @return token
|
*/
|
Result userUpdate(String id, String name, String portrait);
|
|
/**
|
* 用户在线状态查询
|
*
|
* @param id 用户id
|
* @return 用户在线状态
|
*/
|
CheckOnlineResult userCheckOnline(String id);
|
|
/**
|
* 用户标签查询
|
*
|
* @param userIds 用户id
|
* @return 用户标签
|
*/
|
GetTagResult userGetTag(String[] userIds);
|
|
/**
|
* 用户标签设置(只保留最新一次设置标签)
|
*
|
* @param userIds
|
* @param tagArray
|
* @return
|
*/
|
Result userBatchSetTag(String[] userIds, String[] tagArray);
|
|
/**
|
* 群组创建
|
*
|
* @param groupId
|
* @param groupName
|
* @param userIds
|
* @return
|
*/
|
Result groupCreate(String groupId, String groupName, String[] userIds);
|
|
/**
|
* 群组更新
|
*
|
* @param groupId
|
* @param groupName
|
* @param userIds
|
* @return
|
*/
|
Result groupUpdate(String groupId, String groupName, String[] userIds);
|
|
/**
|
* 加入群组
|
*
|
* @param groupId
|
* @param groupName
|
* @param userIds
|
* @return
|
*/
|
Result groupJoin(String groupId, String groupName, String[] userIds);
|
|
/**
|
* 群组用户查询
|
*
|
* @param groupId
|
* @return
|
*/
|
GroupUserQueryResult groupQueryUser(String groupId);
|
|
/**
|
* 退出群组
|
* @param groupId
|
* @param userIds
|
* @return
|
*/
|
Result groupQuit(String groupId, String[] userIds);
|
|
/**
|
* 获取用户加入的群组
|
*
|
* @param userId
|
* @return
|
*/
|
UserGroupQueryResult groupGetUserGroups(String userId);
|
|
/**
|
* 解散群组
|
* @param groupId 要解散的群的群组 ID
|
* @param userId 操作解散群的用户 ID
|
* @return
|
*/
|
Result groupDismiss(String groupId, String userId);
|
|
/**
|
* 发送系统消息
|
*
|
* @param fromUserId 发送人用户 ID
|
* @param toUserIds 接收用户 ID,提供多个本参数可以实现向多用户发送系统消息,上限为 100 人
|
* @param message 消息
|
* @param pushContent
|
* @param pushData
|
* @param pushExt
|
* @return
|
* @param <T>
|
*/
|
<T extends BaseMessage> ResponseResult messageSendSystem(String fromUserId, String[] toUserIds, T message);
|
|
/**
|
* 发送私聊消息
|
*
|
* @param fromUserId 发送人用户 ID
|
* @param toUserIds 接收用户 ID,提供多个本参数可以实现向多用户发送消息,上限为 100 人
|
* @param message 消息
|
* @param pushContent
|
* @param pushData
|
* @param pushExt
|
* @return
|
* @param <T>
|
*/
|
<T extends BaseMessage> ResponseResult messageSendPrivate(String fromUserId, String[] toUserIds, T message);
|
|
/**
|
* 群组消息发送
|
*
|
* @param fromUserId 发送人用户 ID
|
* @param toGroupIds 接收群 ID,提供多个本参数可以实现向多用户发送消息,上限为 100 人
|
* @param message 消息
|
* @param pushContent
|
* @param pushData
|
* @param pushExt
|
* @return
|
* @param <T>
|
*/
|
<T extends BaseMessage> ResponseResult messageSendGroup(String fromUserId, String[] toGroupIds, T message);
|
|
/**
|
* 历史消息查询
|
*
|
* @param date 指定时间,精确到某天某小时,格式为 YYYYMMDDHH。例如 2014010101 表示需要获取 2014年1月1日凌晨1点至2点的数据。
|
* @return
|
*/
|
HistoryMessageResult historyMessage(String date);
|
|
}
|