NIMSDK-AOS  10.10.13
FriendService.java
浏览该文件的文档.
1 package com.netease.nimlib.sdk.friend;
2 
3 import com.netease.nimlib.apt.annotation.NIMService;
8 import java.util.List;
9 import java.util.Map;
10 
11 /**
12  * 好友管理/好友关系/黑名单关系/消息提醒相关操作
13  */
14 @NIMService("好友关系服务")
15 public interface FriendService {
16 
17  /**
18  * 好友请求
19  *
20  * @param data 好友请求信息(包括对方帐号、好友请求验证类型、附言)
21  * @return InvocationFuture 可以设置回调函数。消息发送完成后才会调用,如果出错,会有具体的错误代码。
22  */
23  InvocationFuture<Void> addFriend(AddFriendData data);
24 
25  /**
26  * 同意/拒绝好友请求
27  *
28  * @param account 对方帐号
29  * @param agree true表示同意,false表示拒绝
30  * @return InvocationFuture 可以设置回调函数。消息发送完成后才会调用,如果出错,会有具体的错误代码。
31  */
32  InvocationFuture<Void> ackAddFriendRequest(String account, boolean agree);
33 
34  /**
35  * 删除好友, 默认不删除备注信息
36  *
37  * @param account 要解除好友关系的帐号
38  * @return InvocationFuture 可以设置回调函数。消息发送完成后才会调用,如果出错,会有具体的错误代码。
39  */
40  InvocationFuture<Void> deleteFriend(String account);
41 
42  /**
43  * 删除好友
44  *
45  * @param account 要解除好友关系的帐号
46  * @param deleteAlias 是否删除备注信息
47  * @return InvocationFuture 可以设置回调函数。消息发送完成后才会调用,如果出错,会有具体的错误代码。
48  */
49  InvocationFuture<Void> deleteFriend(String account, boolean deleteAlias);
50 
51  /**
52  * 获取我所有的好友关系
53  *
54  * @return 好友关系集合
55  */
56  List<Friend> getFriends();
57 
58  /**
59  * 清空好友关系的同步时间戳。调用后,下次登录时将触发好友关系的全量同步。
60  */
61  InvocationFuture<Void> resetSyncFriendTimeStamp();
62 
63  /**
64  * 获取我所有的好友帐号
65  *
66  * @return 好友帐号集合
67  */
68  List<String> getFriendAccounts();
69 
70  /**
71  * 根据用户账号获取好友关系
72  *
73  * @param account 用户账号
74  * @return 该账号对应的好友关系
75  */
76  Friend getFriendByAccount(String account);
77 
78  /**
79  * 是否为我的好友
80  *
81  * @param account 对方帐号
82  * @return 该帐号是否为我的好友
83  */
84  boolean isMyFriend(String account);
85 
86  /**
87  * 更新好友关系
88  *
89  * @param friendAccount 待更新的好友账号
90  * @param fields 待更新的所有字段集合,目前支持更新备注名和扩展字段
91  * 注意:备注名最长128个字符,扩展字段需要传入Map,key为String,Value为Object,SDK负责转成Json String,最大长度256字符。
92  * @return InvocationFuture 可以设置回调函数。消息发送完成后才会调用,如果出错,会有具体的错误代码。
93  */
94  InvocationFuture<Void> updateFriendFields(String friendAccount, Map<FriendFieldEnum, Object> fields);
95 
96  /**
97  * 添加用户到黑名单
98  *
99  * @param account 用户帐号
100  * @return InvocationFuture 可以设置回调函数。消息发送完成后才会调用,如果出错,会有具体的错误代码。
101  */
102  InvocationFuture<Void> addToBlackList(String account);
103 
104  /**
105  * 把用户从黑名单中移除
106  *
107  * @param account 用户帐号
108  * @return InvocationFuture 可以设置回调函数。消息发送完成后才会调用,如果出错,会有具体的错误代码。
109  */
110  InvocationFuture<Void> removeFromBlackList(String account);
111 
112  /**
113  * 判断用户是否已被拉黑
114  *
115  * @param account 用戶帐号
116  * @return 该用户是否在黑名单列表中
117  */
118  boolean isInBlackList(String account);
119 
120  /**
121  * 返回黑名单中的用户列表
122  *
123  * @return 所有黑名单帐号集合
124  */
125  List<String> getBlackList();
126 
127  /**
128  * 设置消息提醒/静音
129  *
130  * @param account 要设置消息提醒的帐号
131  * @param notify 是否提醒该用户发来的消息,false为静音(不提醒)
132  * @return InvocationFuture 可以设置回调函数。消息发送完成后才会调用,如果出错,会有具体的错误代码。
133  */
134  InvocationFuture<Void> setMessageNotify(String account, boolean notify);
135 
136  /**
137  * 判断用户是否需要消息提醒/静音
138  *
139  * @param account 用户帐号
140  * @return true表示需要消息提醒;false表示静音
141  */
142  boolean isNeedMessageNotify(String account);
143 
144  /**
145  * 获取所有不需要进行消息提醒的账号列表(静音帐号列表)
146  *
147  * @return 不需要进行消息提醒的帐号集合
148  */
149  List<String> getMuteList();
150 
151  /**
152  * 搜索与关键字匹配的所有好友
153  *
154  * @return 好友关系集合
155  */
156  InvocationFuture<List<Friend>> searchFriendsByKeyword(String keyword);
157 
158  /**
159  * 根据备注反查账号
160  *
161  * @param alias 备注
162  * @return 账号列表
163  */
164  InvocationFuture<List<String>> searchAccountByAlias(String alias);
165 }
好友管理/好友关系/黑名单关系/消息提醒相关操作