NIMSDK-AOS  10.9.76
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  * @param deleteAlias 是否删除备注信息
48  * @return InvocationFuture 可以设置回调函数。消息发送完成后才会调用,如果出错,会有具体的错误代码。
49  */
50  InvocationFuture<Void> deleteFriend(String account, boolean deleteAlias);
51 
52  /**
53  * 获取我所有的好友关系
54  *
55  * @return 好友关系集合
56  */
57  List<Friend> getFriends();
58 
59  /**
60  * 获取我所有的好友帐号
61  *
62  * @return 好友帐号集合
63  */
64  List<String> getFriendAccounts();
65 
66  /**
67  * 根据用户账号获取好友关系
68  *
69  * @param account 用户账号
70  * @return 该账号对应的好友关系
71  */
72  Friend getFriendByAccount(String account);
73 
74  /**
75  * 是否为我的好友
76  *
77  * @param account 对方帐号
78  * @return 该帐号是否为我的好友
79  */
80  boolean isMyFriend(String account);
81 
82  /**
83  * 更新好友关系
84  *
85  * @param friendAccount 待更新的好友账号
86  * @param fields 待更新的所有字段集合,目前支持更新备注名和扩展字段
87  * 注意:备注名最长128个字符,扩展字段需要传入Map,key为String,Value为Object,SDK负责转成Json String,最大长度256字符。
88  * @return InvocationFuture 可以设置回调函数。消息发送完成后才会调用,如果出错,会有具体的错误代码。
89  */
90  InvocationFuture<Void> updateFriendFields(String friendAccount, Map<FriendFieldEnum, Object> fields);
91 
92  /**
93  * 添加用户到黑名单
94  *
95  * @param account 用户帐号
96  * @return InvocationFuture 可以设置回调函数。消息发送完成后才会调用,如果出错,会有具体的错误代码。
97  */
98  InvocationFuture<Void> addToBlackList(String account);
99 
100  /**
101  * 把用户从黑名单中移除
102  *
103  * @param account 用户帐号
104  * @return InvocationFuture 可以设置回调函数。消息发送完成后才会调用,如果出错,会有具体的错误代码。
105  */
106  InvocationFuture<Void> removeFromBlackList(String account);
107 
108  /**
109  * 判断用户是否已被拉黑
110  *
111  * @param account 用戶帐号
112  * @return 该用户是否在黑名单列表中
113  */
114  boolean isInBlackList(String account);
115 
116  /**
117  * 返回黑名单中的用户列表
118  *
119  * @return 所有黑名单帐号集合
120  */
121  List<String> getBlackList();
122 
123  /**
124  * 设置消息提醒/静音
125  *
126  * @param account 要设置消息提醒的帐号
127  * @param notify 是否提醒该用户发来的消息,false为静音(不提醒)
128  * @return InvocationFuture 可以设置回调函数。消息发送完成后才会调用,如果出错,会有具体的错误代码。
129  */
130  InvocationFuture<Void> setMessageNotify(String account, boolean notify);
131 
132  /**
133  * 判断用户是否需要消息提醒/静音
134  *
135  * @param account 用户帐号
136  * @return true表示需要消息提醒;false表示静音
137  */
138  boolean isNeedMessageNotify(String account);
139 
140  /**
141  * 获取所有不需要进行消息提醒的账号列表(静音帐号列表)
142  *
143  * @return 不需要进行消息提醒的帐号集合
144  */
145  List<String> getMuteList();
146 
147  /**
148  * 搜索与关键字匹配的所有好友
149  *
150  * @return 好友关系集合
151  */
152  InvocationFuture<List<Friend>> searchFriendsByKeyword(String keyword);
153 
154  /**
155  * 根据备注反查账号
156  *
157  * @param alias 备注
158  * @return 账号列表
159  */
160  InvocationFuture<List<String>> searchAccountByAlias(String alias);
161 }
好友管理/好友关系/黑名单关系/消息提醒相关操作