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