goupan
2024-04-03 5506e9a45e717ffcb67ec313b5a4e8206d9b3a39
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
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);
 
}