聊天室队列管理
更新时间: 2025/06/04 13:39:09
网易云信 IM 支持聊天室队列服务,包括初始化队列、添加\更新队列元素、清空队列等操作。
聊天室队列,其本质是一个键值对的存储,可以用于存储麦位管理等逻辑。
支持平台
本文内容适用的开发平台或框架如下表所示,涉及的接口请参考下文 相关接口 章节:
安卓 | iOS | macOS/Windows | Web/uni-app/小程序 | Node.js/Electron | 鸿蒙 | Flutter |
---|---|---|---|---|---|---|
✔️️️️️ | ✔️️️️️ | ✔️️️️️ | ✔️️️️️ | ✔️️️️️ | ✔️️ | ✔️ |
技术原理
使用聊天室队列服务需要权限,其权限通过 queueLevelMode
来控制。若为 ANY
,则所有聊天室成员都可以操作队列。若为 MANAGER
,则只有聊天室创建者和管理员才能操作队列。
您可以通过服务端 API 更新聊天室信息 修改聊天室队列管理权限模式。
前提条件
在使用聊天室队列服务中的 API 前,需要先调用 getChatroomQueueService
方法获取聊天室队列服务类。
聊天室队列相关事件监听
在进行聊天室队列相关操作前,您可以先注册监听聊天室队列相关事件。监听后,在进行聊天室队列管理操作后,会收到对应的通知。
相关回调:
onChatroomQueueOffered
:聊天室新增队列元素回调。在聊天室队列中新增元素成功后,SDK 会返回该回调。onChatroomQueuePolled
:聊天室取出(移除)队列元素回调。在聊天室队列中取出(移除)元素会触发该回调。onChatroomQueueDropped
:聊天室清空队列元素回调。聊天室队列中的元素被清空会触发该回调。onChatroomQueuePartCleared
:聊天室清理部分队列元素回调。聊天室队列中的部分元素被清理时会触发该回调。onChatroomQueueBatchUpdated
:聊天室批量更新队列元素回调。当聊天室队列中的元素被批量更新时会触发该回调。onChatroomQueueBatchOffered
:聊天室批量添加队列元素回调。当聊天室队列中批量添加元素时会触发该回调。
示例代码如下:
调用 addQueueListener
注册聊天室队列相关监听器,监听队列变更、清除等事件。
JavaV2NIMChatroomQueueListener queueListener = new V2NIMChatroomQueueListener() {
@Override
public void onChatroomQueueOffered(V2NIMChatroomQueueElement element) {
//新增队列元素
}
@Override
public void onChatroomQueuePolled(V2NIMChatroomQueueElement element) {
//删除队列元素
}
@Override
public void onChatroomQueueDropped() {
//队列被清空
}
@Override
public void onChatroomQueuePartCleared(List<V2NIMChatroomQueueElement> elements) {
//部分队列元素被清除
}
@Override
public void onChatroomQueueBatchUpdated(List<V2NIMChatroomQueueElement> elements) {
//批量更新队列元素
}
@Override
public void onChatroomQueueBatchOffered(List<V2NIMChatroomQueueElement> elements) {
//批量新增队列元素
}
};
//设置队列服务监听可以在进入聊天室之前就设置
V2NIMChatroomQueueService chatroomQueueService = v2NIMChatroomClient.getChatroomQueueService();
chatroomQueueService.addQueueListener(queueListener);
调用 addQueueListener
注册聊天室队列相关监听器,监听队列变更、清除等事件。
Objective-C@interface MyQueueListener : NSObject<V2NIMChatroomQueueListener>
@end
@implementation MyQueueListener
- (void)onChatroomQueueOffered:(V2NIMChatroomQueueElement *)element
{
// 聊天室新增队列元素
}
- (void)onChatroomQueuePolled:(V2NIMChatroomQueueElement *)element
{
// 聊天室移除队列元素
}
- (void)onChatroomQueueDropped
{
// 聊天室清空队列元素
}
- (void)onChatroomQueuePartCleared:(NSArray<V2NIMChatroomQueueElement *> *)elements
{
// 聊天室清理部分队列元素
}
- (void)onChatroomQueueBatchUpdated:(NSArray<V2NIMChatroomQueueElement *> *)elements
{
// 聊天室批量更新队列元素
}
- (void)onChatroomQueueBatchOffered:(NSArray<V2NIMChatroomQueueElement *> *)elements
{
// 聊天室批量添加队列元素
}
@end
MyQueueListener *queueListener = [[MyQueueListener alloc] init];
//设置队列服务监听可以在进入聊天室之前就设置
id<V2NIMChatroomQueueService> chatroomQueueService = [v2NIMChatroomClient getChatroomQueueService];
[chatroomQueueService addQueueListener:queueListener];
调用 addQueueListener
注册聊天室队列相关监听器,监听队列变更、清除等事件。
C++V2NIMChatroomQueueListener listener;
listener.onChatroomQueueOffered = [](const V2NIMChatroomQueueElement& element) {
// handle event
};
listener.onChatroomQueuePolled = [](const V2NIMChatroomQueueElement& element) {
// handle event
};
listener.onChatroomQueueDropped = []() {
// handle event
};
listener.onChatroomQueuePartCleared = [](const std::vector<V2NIMChatroomQueueElement>& keyValues) {
// handle event
};
listener.onChatroomQueueBatchUpdated = [](const std::vector<V2NIMChatroomQueueElement>& keyValues) {
// handle event
};
listener.onChatroomQueueBatchOffered = [](const std::vector<V2NIMChatroomQueueElement>& keyValues) {
// handle event
};
chatroomQueueService.addQueueListener(listener);
调用 on("EventName")
注册聊天室队列相关监听器,监听队列变更、清除等事件。
TypeScriptchatroom.V2NIMChatroomQueueListener.on('onChatroomQueueBatchOffered', function (elements: V2NIMChatroomQueueElement[]) {})
chatroom.V2NIMChatroomQueueListener.on('onChatroomQueueBatchUpdated', function (elements: V2NIMChatroomQueueElement[]) {})
chatroom.V2NIMChatroomQueueListener.on('onChatroomQueueOffered', function (element: V2NIMChatroomQueueElement) {})
chatroom.V2NIMChatroomQueueListener.on('onChatroomQueuePartCleared', function (elements: V2NIMChatroomQueueElement[]) {})
chatroom.V2NIMChatroomQueueListener.on('onChatroomQueuePolled', function (element: V2NIMChatroomQueueElement) {})
chatroom.V2NIMChatroomQueueListener.on('onChatroomQueueDropped', function () {})
调用 on("EventName")
注册聊天室队列相关监听器,监听队列变更、清除等事件。
TypeScriptchatroom.chatroomQueueListener.on('chatroomQueueBatchOffered', function (elements: V2NIMChatroomQueueElement[]) {})
chatroom.chatroomQueueListener.on('chatroomQueueBatchUpdated', function (elements: V2NIMChatroomQueueElement[]) {})
chatroom.chatroomQueueListener.on('chatroomQueueOffered', function (element: V2NIMChatroomQueueElement) {})
chatroom.chatroomQueueListener.on('chatroomQueuePartCleared', function (elements: V2NIMChatroomQueueElement[]) {})
chatroom.chatroomQueueListener.on('chatroomQueuePolled', function (element: V2NIMChatroomQueueElement) {})
chatroom.chatroomQueueListener.on('chatroomQueueDropped', function () {})
调用 on("EventName")
注册聊天室队列相关监听器,监听队列变更、清除等事件。
TypeScriptchatroom.on('onChatroomQueueBatchOffered', function (elements: V2NIMChatroomQueueElement[]) {})
chatroom.on('onChatroomQueueBatchUpdated', function (elements: V2NIMChatroomQueueElement[]) {})
chatroom.on('onChatroomQueueOffered', function (element: V2NIMChatroomQueueElement) {})
chatroom.on('onChatroomQueuePartCleared', function (elements: V2NIMChatroomQueueElement[]) {})
chatroom.on('onChatroomQueuePolled', function (element: V2NIMChatroomQueueElement) {})
chatroom.on('onChatroomQueueDropped', function () {})
调用 addQueueListener
注册聊天室队列相关监听器,监听队列变更、清除等事件。
Dartimport 'package:nim_core_v2/nim_core_v2.dart';
void addChatroomQueueListener(V2NIMChatroomQueueService queueService) async {
NIMResult<void> result = await queueService.addQueueListener();
if (result.isSuccess) {
queueService.onChatroomQueueOffered.listen((element) {
print('New queue element offered: ${element.key} - ${element.value}');
});
queueService.onChatroomQueuePolled.listen((element) {
print('Queue element polled: ${element.key} - ${element.value}');
});
queueService.onChatroomQueueDropped.listen((_) {
print('Queue dropped');
});
queueService.onChatroomQueuePartCleared.listen((elements) {
print('Part of queue cleared: ${elements.length} elements');
});
queueService.onChatroomQueueBatchUpdated.listen((elements) {
print('Queue elements batch updated: ${elements.length} elements');
});
queueService.onChatroomQueueBatchOffered.listen((elements) {
print('Queue elements batch offered: ${elements.length} elements');
});
} else {
print('Failed to add queue listener: ${result.code} - ${result.errorDetails}');
}
}
初始化队列
调用 queueInit
方法初始化聊天室队列。
示例代码如下:
Java//进入聊天室成功后才能使用队列服务
V2NIMChatroomQueueService chatroomQueueService = v2NIMChatroomClient.getChatroomQueueService();
chatroomQueueService.queueInit(100, new V2NIMSuccessCallback<Void>() {
@Override
public void onSuccess(Void unused) {
//success
}
}, new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
//failed
}
});
Objective-C//进入聊天室成功后才能使用队列服务
id<V2NIMChatroomQueueService> chatroomQueueService = [v2NIMChatroomClient getChatroomQueueService];
[chatroomQueueService queueInit:100 success:^() {
//success
} failure:^(V2NIMError *error) {
//failed
}];
C++chatroomQueueService.queueInit(100, []() {
// success
}, [](const V2NIMError& error) {
// handle error
});
TypeScriptawait chatroom.V2NIMChatroomQueueService.queueInit(100)
TypeScriptawait chatroomQueueService.queueInit(100)
TypeScriptawait chatroom.queueService.queueInit(100)
Dartimport 'package:nim_core_v2/nim_core_v2.dart';
void initQueue(V2NIMChatroomQueueService queueService, int size) async {
NIMResult<void> result = await queueService.queueInit(size);
if (result.isSuccess) {
print('Successfully initialized queue with size: $size');
} else {
print('Failed to initialize queue: ${result.code} - ${result.errorDetails}');
}
}
新增/更新队列元素
调用 queueOffer
方法在队列中新增或更新元素。
新增或更新元素成功后,会触发 onChatroomQueueOffered
回调。
示例代码如下:
JavaV2NIMChatroomClient v2NIMChatroomClient = V2NIMChatroomClient.newInstance();
V2NIMChatroomEnterParams enterParams = getEnterParams();
v2NIMChatroomClient.enter("100", enterParams, new V2NIMSuccessCallback<V2NIMChatroomEnterResult>() {
@Override
public void onSuccess(V2NIMChatroomEnterResult v2NIMChatroomEnterResult) {
//进入聊天室成功
}
}, new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
//进入聊天室失败
}
});
……
//进入聊天室成功后才能使用队列服务
V2NIMChatroomQueueService chatroomQueueService = v2NIMChatroomClientv2NIMChatroomClient.getChatroomQueueService();
V2NIMChatroomQueueOfferParams offerParams = new V2NIMChatroomQueueOfferParams("key1","value1");
//设置元素是否为瞬态的,true 表示元素是瞬态的,当前元素所属的成员退出或者掉线时会同步删除;false 表示元素是持久的,会被保留
offerParams.setTransient(true);
//设置元素属于的账号,默认为当前操作者,管理员操作可以指定元素属于的合法账号
offerParams.setElementOwnerAccountId("other account");
chatroomQueueService.queueOffer(offerParams, new V2NIMSuccessCallback<Void>() {
@Override
public void onSuccess(Void unused) {
//success
}
}, new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
//failed
}
});
Objective-CV2NIMChatroomClient *client = [V2NIMChatroomClient newInstance];
V2NIMChatroomEnterParams *enterParams = [[V2NIMChatroomEnterParams alloc] init];
[client enter:@"100" enterParams:enterParams success:^(V2NIMChatroomEnterResult *result) {
//进入聊天室成功
} failure:^(V2NIMError *error) {
//进入聊天室失败
}];
……
//进入聊天室成功后才能使用队列服务
id<V2NIMChatroomQueueService> chatroomQueueService = [v2NIMChatroomClient getChatroomQueueService];
V2NIMChatroomQueueOfferParams *offerParams = [[V2NIMChatroomQueueOfferParams alloc] init];
offerParams.elementKey = @"key";
offerParams.elementValue = @"value";
//设置元素是否为瞬态的。YES 表示元素是瞬态的,当前元素所属的成员退出或者掉线时会同步删除;NO 表示元素是持久的,会被保留
offerParams.transient = YES;
//设置元素属于的账号,默认为当前操作者,管理员操作可以指定元素属于的合法账号
offerParams.elementOwnerAccountId = @"other account";
[chatroomQueueService queueOffer:offerParams success:^() {
//success
} failure:^(V2NIMError *error) {
//failed
}];
C++V2NIMChatroomQueueOfferParams params;
params.key = "key";
params.value = "value";
chatroomQueueService.queueOffer(params, []() {
// success
}, [](const V2NIMError& error) {
// handle error
});
TypeScriptawait chatroom.V2NIMChatroomQueueService.queueOffer(
{
"elementKey": "key5",
"elementValue": "value5",
"transient": false,
"elementOwnerAccountId": "YOUR_ACCOUNT_ID"
}
)
TypeScriptawait chatroomQueueService.queueOffer({
elementKey: 'your element key',
elementValue: 'your element value'
})
TypeScriptawait chatroom.queueService.queueOffer(
{
"elementKey": "key5",
"elementValue": "value5",
"transient": false,
"elementOwnerAccountId": "YOUR_ACCOUNT_ID"
}
)
Dartimport 'package:nim_core_v2/nim_core_v2.dart';
void offerQueueElement(V2NIMChatroomQueueService queueService, String key, String value) async {
final params = V2NIMChatroomQueueOfferParams(elementKey: key, elementValue: value);
NIMResult<void> result = await queueService.queueOffer(params);
if (result.isSuccess) {
print('Successfully offered queue element: $key - $value');
} else {
print('Failed to offer queue element: ${result.code} - ${result.errorDetails}');
}
}
批量更新队列元素
调用 queueBatchUpdate
方法批量更新队列元素。
批量更新成功后,会触发 onChatroomQueueBatchUpdated
回调。
示例代码如下:
Java//进入聊天室成功后才能使用队列服务
V2NIMChatroomQueueService chatroomQueueService = v2NIMChatroomClient.getChatroomQueueService();
//待更新队列元素列表
List<V2NIMChatroomQueueElement> elements = new ArrayList<>();
elements.add(new V2NIMChatroomQueueElement("key1", "value1 new"));
elements.add(new V2NIMChatroomQueueElement("key2", "value2 new"));
//是否发送广播通知
boolean notificationEnabled = true;
//本次操作生成的通知中的扩展字段
String notificationExtension = "notificationExtension";
chatroomQueueService.queueBatchUpdate(elements, notificationEnabled, notificationExtension, new V2NIMSuccessCallback<List<String>>() {
@Override
public void onSuccess(List<String> result) {
//success,result is non-existent element key list
}
}, new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
//failed
}
});
Objective-C//进入聊天室成功后才能使用队列服务
id<V2NIMChatroomQueueService> chatroomQueueService = [v2NIMChatroomClient getChatroomQueueService];
//待更新队列元素列表
NSMutableArray<V2NIMChatroomQueueElement *> *elements = [NSMutableArray array];
V2NIMChatroomQueueElement* element;
element = [[V2NIMChatroomQueueElement alloc] init];
element.key = @"key1";
element.value = @"value1 new";
[elements addObject:element];
element = [[V2NIMChatroomQueueElement alloc] init];
element.key = @"key1";
element.value = @"value1 new";
[elements addObject:element];
//是否发送广播通知
BOOL notificationEnabled = YES;
//本次操作生成的通知中的扩展字段
NSString *notificationExtension = @"notificationExtension";
[chatroomQueueService queueBatchUpdate:elements notificationEnabled:notificationEnabled notificationExtension:notificationExtension success:^(NSArray<NSString *> *result) {
//success
} failure:^(V2NIMError *error) {
//failed
}];
C++V2NIMChatroomQueueElement element;
element.key = "key";
element.value = "value";
nstd::vector<V2NIMChatroomQueueElement> elements;
elements.push_back(element);
chatroomQueueService.queueBatchUpdate(elements, true, "notificationExtension", [](const nstd::vector<nstd::string>& failedKeys) {
// success
}, [](const V2NIMError& error) {
// handle error
});
TypeScript const invalidKeys = await chatroom.V2NIMChatroomQueueService.queueBatchUpdate([
{
"key": "key1",
"value": "valueA"
},
{
"key": "key2",
"value": "valueB"
}
], true, 'An extension')
console.log(invalidKeys) // ["key2"], because "key2" is not exist
TypeScriptconst elementKeys = await chatroomQueueService.queueBatchUpdate([{
key: 'your element key',
value: 'your element value'
}], true, 'your notification extension')
TypeScriptconst invalidKeys = await chatroom.queueService.queueBatchUpdate([
{
"key": "key1",
"value": "valueA"
},
{
"key": "key2",
"value": "valueB"
}
], true, 'An extension')
console.log(invalidKeys) // ["key2"], because "key2" is not exist
Dartimport 'package:nim_core_v2/nim_core_v2.dart';
void batchUpdateQueueElements(V2NIMChatroomQueueService queueService, List<V2NIMChatroomQueueElement> elements) async {
NIMResult<List<String>?> result = await queueService.queueBatchUpdate(elements);
if (result.isSuccess) {
print('Successfully batch updated queue elements');
if (result.data != null) {
print('Non-existent elements: ${result.data}');
}
} else {
print('Failed to batch update queue elements: ${result.code} - ${result.errorDetails}');
}
}
取出指定的队列元素
调用 queuePoll
方法取出队列中的指定元素。若未指定元素,则默认取出队列的头元素。
取出成功后,会触发 onChatroomQueuePolled
回调。
示例代码如下:
Java//进入聊天室成功后才能使用队列服务
V2NIMChatroomQueueService chatroomQueueService = v2NIMChatroomClient.getChatroomQueueService();
chatroomQueueService.queuePoll("key1", new V2NIMSuccessCallback<V2NIMChatroomQueueElement>() {
@Override
public void onSuccess(V2NIMChatroomQueueElement element) {
//success
}
}, new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
//failed
}
});
Objective-C//进入聊天室成功后才能使用队列服务
id<V2NIMChatroomQueueService> chatroomQueueService = [v2NIMChatroomClient getChatroomQueueService];
[chatroomQueueService queuePoll:@"key1" success:^(V2NIMChatroomQueueElement *result) {
//success
} failure:^(V2NIMError *error) {
//failed
}];
C++chatroomQueueService.queuePoll("key", [](const V2NIMChatroomQueueElement& element) {
// success
}, [](const V2NIMError& error) {
// handle error
});
TypeScriptconst element = await chatroom.V2NIMChatroomQueueService.queuePoll("key1")
TypeScriptconst element = await chatroomQueueService.queuePoll('your element key')
TypeScriptconst element = await chatroom.queueService.queuePoll("key1")
Dartimport 'package:nim_core_v2/nim_core_v2.dart';
void pollQueueElement(V2NIMChatroomQueueService queueService, String? elementKey) async {
NIMResult<V2NIMChatroomQueueElement> result = await queueService.queuePoll(elementKey ?? '');
if (result.isSuccess && result.data != null) {
print('Successfully polled queue element: ${result.data!.key} - ${result.data!.value}');
} else {
print('Failed to poll queue element: ${result.code} - ${result.errorDetails}');
}
}
查询队列头元素
调用 queuePeek
方法查看队列的头元素。
示例代码如下:
Java//进入聊天室成功后才能使用队列服务
V2NIMChatroomQueueService chatroomQueueService = v2NIMChatroomClient.getChatroomQueueService();
chatroomQueueService.queuePeek(new V2NIMSuccessCallback<V2NIMChatroomQueueElement>() {
@Override
public void onSuccess(V2NIMChatroomQueueElement element) {
//success
}
}, new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
//failed
}
});
Objective-C//进入聊天室成功后才能使用队列服务
id<V2NIMChatroomQueueService> chatroomQueueService = [v2NIMChatroomClient getChatroomQueueService];
[chatroomQueueService queuePeek:^(V2NIMChatroomQueueElement *result) {
//success
} failure:^(V2NIMError *error) {
//failed
}];
C++chatroomQueueService.queuePeek([](const V2NIMChatroomQueueElement& element) {
// success
}, [](const V2NIMError& error) {
// handle error
});
TypeScriptconst element = await chatroom.V2NIMChatroomQueueService.queuePeek()
TypeScriptconst element = await chatroomQueueService.queuePeek()
TypeScriptconst element = await chatroom.queueService.queuePeek()
Dartimport 'package:nim_core_v2/nim_core_v2.dart';
void peekQueueElement(V2NIMChatroomQueueService queueService) async {
NIMResult<V2NIMChatroomQueueElement> result = await queueService.queuePeek();
if (result.isSuccess && result.data != null) {
print('Queue head element: ${result.data!.key} - ${result.data!.value}');
} else {
print('Failed to peek queue element: ${result.code} - ${result.errorDetails}');
}
}
查询队列所有元素
调用 queueList
方法排序列出所有队列元素。
示例代码如下:
Java//进入聊天室成功后才能使用队列服务
V2NIMChatroomQueueService chatroomQueueService = v2NIMChatroomClient.getChatroomQueueService();
chatroomQueueService.queueList(new V2NIMSuccessCallback<List<V2NIMChatroomQueueElement>>() {
@Override
public void onSuccess(List<V2NIMChatroomQueueElement> v2NIMChatroomQueueElements) {
//success
}
}, new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
//failed
}
});
Objective-C//进入聊天室成功后才能使用队列服务
id<V2NIMChatroomQueueService> chatroomQueueService = [v2NIMChatroomClient getChatroomQueueService];
[chatroomQueueService queueList:^(NSArray<V2NIMChatroomQueueElement *> *result) {
//success
} failure:^(V2NIMError *error) {
//failed
}];
C++chatroomQueueService.queueList([](const nstd::vector<V2NIMChatroomQueueElement>& elements) {
// success
}, [](const V2NIMError& error) {
// handle error
});
TypeScriptconst elements = await chatroom.V2NIMChatroomQueueService.queueList()
TypeScriptconst elements = await chatroomQueueService.queueList()
console.log(elements)
TypeScriptconst elements = await chatroom.queueService.queueList()
Dartimport 'package:nim_core_v2/nim_core_v2.dart';
void listQueueElements(V2NIMChatroomQueueService queueService) async {
NIMResult<List<V2NIMChatroomQueueElement>> result = await queueService.queueList();
if (result.isSuccess && result.data != null) {
print('Queue elements:');
for (var element in result.data!) {
print('${element.key} - ${element.value}');
}
} else {
print('Failed to list queue elements: ${result.code} - ${result.errorDetails}');
}
}
清空聊天室队列
调用 queueDrop
方法清空聊天室队列。
清空成功后,会触发 onChatroomQueueDropped
回调。
示例代码如下:
Java//进入聊天室成功后才能使用队列服务
V2NIMChatroomQueueService chatroomQueueService = v2NIMChatroomClient.getChatroomQueueService();
chatroomQueueService.queueDrop(new V2NIMSuccessCallback<Void>() {
@Override
public void onSuccess(Void unused) {
//success
}
}, new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
//failed
}
});
Objective-C//进入聊天室成功后才能使用队列服务
id<V2NIMChatroomQueueService> chatroomQueueService = [v2NIMChatroomClient getChatroomQueueService];
[chatroomQueueService queueDrop:^() {
//success
} failure:^(V2NIMError *error) {
//failed
}];
C++chatroomQueueService.queueDrop([]() {
// success
}, [](const V2NIMError& error) {
// handle error
});
TypeScriptawait chatroom.V2NIMChatroomQueueService.queueDrop()
TypeScriptawait chatroomQueueService.queueDrop()
TypeScriptawait chatroom.queueService.queueDrop()
Dartimport 'package:nim_core_v2/nim_core_v2.dart';
void dropQueue(V2NIMChatroomQueueService queueService) async {
NIMResult<void> result = await queueService.queueDrop();
if (result.isSuccess) {
print('Successfully dropped queue');
} else {
print('Failed to drop queue: ${result.code} - ${result.errorDetails}');
}
}
相关接口
API | 说明 |
---|---|
V2NIMChatroomClient.getChatroomQueueService |
获取聊天室队列服务类 |
addQueueListener |
注册聊天室队列监听器 |
removeQueueListener |
取消注册聊天室队列监听器 |
queueInit |
初始化聊天室队列 |
queueOffer |
在队列中新增或更新元素 |
queueBatchUpdate |
批量更新队列元素 |
queuePoll |
在队列中取出头元素或指定的元素 |
queuePeek |
查询队列的头元素 |
queueList |
排序列出所有队列元素 |
queueDrop |
清空队列 |
API | 说明 |
---|---|
V2NIMChatroomClient.getChatroomQueueService |
获取聊天室队列服务类 |
on("EventName") |
注册聊天室队列监听器 |
off("EventName") |
取消注册聊天室队列监听器 |
queueInit |
初始化聊天室队列 |
queueOffer |
在队列中新增或更新元素 |
queueBatchUpdate |
批量更新队列元素 |
queuePoll |
在队列中取出头元素或指定的元素 |
queuePeek |
查询队列的头元素 |
queueList |
排序列出所有队列元素 |
queueDrop |
清空队列 |
API | 说明 |
---|---|
V2NIMChatroomClient.getChatroomQueueService |
获取聊天室队列服务类 |
addQueueListener |
注册聊天室队列监听器 |
removeQueueListener |
取消注册聊天室队列监听器 |
queueInit |
初始化聊天室队列 |
queueOffer |
在队列中新增或更新元素 |
queueBatchUpdate |
批量更新队列元素 |
queuePoll |
在队列中取出头元素或指定的元素 |
queuePeek |
查询队列的头元素 |
queueList |
排序列出所有队列元素 |
queueDrop |
清空队列 |