public class UserApi extends Object
限定符和类型 | 方法和说明 |
---|---|
reactor.core.publisher.Mono<List<EMUser>> |
create(List<EMCreateUser> createUsers)
批量创建用户。
|
reactor.core.publisher.Mono<EMUser> |
create(String username,
String password)
创建用户。
|
reactor.core.publisher.Mono<EMUser> |
create(String username,
String password,
String pushNickname)
创建用户。
|
reactor.core.publisher.Mono<Void> |
delete(String username)
删除用户。
|
reactor.core.publisher.Flux<String> |
deleteAll()
删除全部用户。
|
reactor.core.publisher.Mono<Void> |
forceLogoutAllDevices(String username)
强制指定用户所有设备下线。
|
reactor.core.publisher.Mono<Void> |
forceLogoutOneDevice(String username,
String resource)
强制指定用户指定设备下线。
|
reactor.core.publisher.Mono<EMUser> |
get(String username)
获取用户详情。
|
reactor.core.publisher.Mono<Token> |
getToken(String username,
String password)
已过时。
|
reactor.core.publisher.Mono<Boolean> |
isUserOnline(String username)
获取用户在线状态。
|
reactor.core.publisher.Mono<List<EMUserStatus>> |
isUsersOnline(List<String> usernames)
批量获取用户在线状态
API使用示例:
EMService service;
List<String> users = new ArrayList<>();
users.add("user1");
users.add("user2");
try {
List<EMUserStatus> userStatuses = service.user().isUsersOnline(users).block();
} catch (EMException e) {
e.getErrorCode();
e.getMessage();
}
|
reactor.core.publisher.Flux<String> |
listAllUsers()
获取全部用户。
|
reactor.core.publisher.Mono<EMPage<String>> |
listUsers(int limit,
String cursor)
分页获取用户列表。
|
reactor.core.publisher.Mono<Void> |
updateUserPassword(String username,
String password)
修改用户密码。
|
public UserApi(Context context)
public reactor.core.publisher.Mono<EMUser> create(String username, String password)
Server SDK 对创建的用户名有自己的限制,如果不想使用该限制,请查看此文档: 用户名限制
API使用示例:
EMService service;
try {
EMUser user = service.user().create("username", "password").block();
} catch (EMException e) {
e.getErrorCode();
e.getMessage();
}
username
- 用户名,可以包含小写字母、数字、减号,有效长度1至32个字节password
- 密码,可以包含字母、数字、特殊符号(~!@#$%^&*-_=+<>;:,./?),有效长度1至32字节public reactor.core.publisher.Mono<EMUser> create(String username, String password, String pushNickname)
Server SDK 对创建的用户名有自己的限制,如果不想使用该限制,请查看此文档: 用户名限制
API使用示例:
EMService service;
try {
EMUser user = service.user().create("username", "password", "pushNickname").block();
} catch (EMException e) {
e.getErrorCode();
e.getMessage();
}
username
- 用户名,可以包含小写字母、数字、减号,有效长度1至32个字节password
- 密码,可以包含字母、数字、特殊符号(~!@#$%^&*-_=+<>;:,./?),有效长度1至32字节pushNickname
- 推送昵称,离线推送时在接收方的客户端推送通知栏中显示的发送方的昵称。你可以自定义该昵称,长度不能超过 100 个字符。
提示:1. 若不设置昵称,推送时会显示发送方的用户 ID,而非昵称。
2. 该昵称可与用户属性中的昵称设置不同,不过我们建议这两种昵称的设置保持一致。因此,修改其中一个昵称时,也需调用相应方法对另一个进行更新,确保设置一致。更新用户属性中的昵称的方法,详见 设置用户属性。public reactor.core.publisher.Mono<List<EMUser>> create(List<EMCreateUser> createUsers)
Server SDK 对创建的用户名有自己的限制,如果不想使用该限制,请查看此文档: 用户名限制
API使用示例:
EMService service;
try {
List<EMCreateUser> createUsers = new ArrayList<>();
EMCreateUser createUser1 = new EMCreateUser("user1", "123456");
EMCreateUser createUser2 = new EMCreateUser("user2", "123456");
createUsers.add(createUser1);
createUsers.add(createUser2);
List<EMUser> users = service.user().create(createUsers).block();
} catch (EMException e) {
e.getErrorCode();
e.getMessage();
}
createUsers
- 需要创建用户的列表,EMCreateUser中包含用户名以及密码,用户名可以包含小写字母、数字、减号,有效长度1至32个字节
密码,可以包含字母、数字、特殊符号(~!@#$%^&*-_=+<>;:,./?),有效长度1至32字节public reactor.core.publisher.Mono<Void> delete(String username)
API使用示例:
EMService service;
try {
service.user().delete("username").block();
} catch (EMException e) {
e.getErrorCode();
e.getMessage();
}
username
- 要删除的用户的用户名public reactor.core.publisher.Flux<String> listAllUsers()
API使用示例:
EMService service;
try {
List<String> users = service.user().listAllUsers().collectList().block();
} catch (EMException e) {
e.getErrorCode();
e.getMessage();
}
public reactor.core.publisher.Mono<EMPage<String>> listUsers(int limit, String cursor)
API使用示例:
EMService service;
EMPage<String> page = null;
try {
page = service.user().listUsers(10, null).block();
List<String> users = page.getValues();
System.out.println("用户列表:" + users);
} catch (EMException e) {
e.getErrorCode();
e.getMessage();
}
// ... do something with the users ...
if (page != null) {
String cursor = page.getCursor();
// cursor == null indicates the end of the list
while (cursor != null) {
try {
page = service.user().listUsers(10, cursor).block();
System.out.println("用户列表:" + page.getValues());
// ... do something to the users ...
cursor = page.getCursor();
} catch (EMException e) {
e.getErrorCode();
e.getMessage();
}
}
}
public reactor.core.publisher.Flux<String> deleteAll()
请谨慎使用。
API使用示例:
EMService service;
try {
List<String> users = service.user().deleteAll().collectList().block();
} catch (EMException e) {
e.getErrorCode();
e.getMessage();
}
public reactor.core.publisher.Mono<EMUser> get(String username)
API使用示例:
EMService service;
try {
EMUser user = service.user().get("username").block();
String uuid = user.getUuid();
String username = user.getUsername();
Boolean canLogin = user.getCanLogin();
} catch (EMException e) {
e.getErrorCode();
e.getMessage();
}
username
- 用户名Mono
emits EMUser
on success.public reactor.core.publisher.Mono<Void> updateUserPassword(String username, String password)
API使用示例:
EMService service;
try {
service.user().updateUserPassword("username", "password").block();
} catch (EMException e) {
e.getErrorCode();
e.getMessage();
}
username
- 要修改的用户的用户名password
- 新密码public reactor.core.publisher.Mono<Void> forceLogoutAllDevices(String username)
API使用示例:
EMService service;
try {
service.user().forceLogoutAllDevices("username").block();
} catch (EMException e) {
e.getErrorCode();
e.getMessage();
}
username
- 要强制下线的用户的用户名public reactor.core.publisher.Mono<Void> forceLogoutOneDevice(String username, String resource)
TODO: 增加查询用户在线设备id的API API使用示例:
EMService service;
try {
service.user().forceLogoutOneDevice("username", "resource").block();
} catch (EMException e) {
e.getErrorCode();
e.getMessage();
}
username
- 要强制下线的用户的用户名resource
- 要强制下线的设备id,获取设备id的方法待补充public reactor.core.publisher.Mono<Boolean> isUserOnline(String username)
API使用示例:
EMService service;
try {
Boolean isOnline = service.user().isUserOnline("username").block();
} catch (EMException e) {
e.getErrorCode();
e.getMessage();
}
username
- 要查询的用户的用户名public reactor.core.publisher.Mono<List<EMUserStatus>> isUsersOnline(List<String> usernames)
API使用示例:
EMService service;
List<String> users = new ArrayList<>();
users.add("user1");
users.add("user2");
try {
List<EMUserStatus> userStatuses = service.user().isUsersOnline(users).block();
} catch (EMException e) {
e.getErrorCode();
e.getMessage();
}
usernames
- 需要查询状态的用户名@Deprecated public reactor.core.publisher.Mono<Token> getToken(String username, String password)
TokenApi.getUserToken(EMUser, Integer, Consumer, String)
instead.API使用示例:
EMService service;
try {
Token token = service.user().getToken("u1", "123").block();
String userToken = token.getValue();
} catch (EMException e) {
e.getErrorCode();
e.getMessage();
}
username
- 要获取token的用户名password
- 要获取token的用户名密码Copyright © 2024. All rights reserved.