Skip to content

Commit

Permalink
chore: bump version 10.6.0
Browse files Browse the repository at this point in the history
Signed-off-by: Dylan <[email protected]>
  • Loading branch information
nmgwddj committed Nov 22, 2024
1 parent 446d703 commit dc13f5c
Show file tree
Hide file tree
Showing 38 changed files with 9,081 additions and 6,889 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "node-nim",
"version": "10.5.2",
"version": "10.6.0",
"description": "NetEase IM nodejs wrapper based on NetEase IM C++ SDK",
"main": "dist/node-nim.js",
"bin": {
Expand Down
3 changes: 3 additions & 0 deletions src/callback_specialization.h
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,9 @@ CallbackSpecialization(V2NIMSuccessCallback<const V2NIMSignallingRoomInfo&>);
CallbackSpecialization(V2NIMSuccessCallback<const nstd::vector<nstd::string>&>);
CallbackSpecialization(V2NIMSuccessCallback<const V2NIMCustomUserStatusPublishResult&>);
CallbackSpecialization(V2NIMSuccessCallback<const nstd::vector<V2NIMUserStatusSubscribeResult>&>);
CallbackSpecialization(V2NIMSuccessCallback<const V2NIMChatroomQueueElement&>);
CallbackSpecialization(V2NIMSuccessCallback<const nstd::vector<V2NIMChatroomQueueElement>&>);
CallbackSpecialization(V2NIMSuccessCallback<const V2NIMProxyResponse&>);

namespace xpack {
// std::function
Expand Down
6 changes: 5 additions & 1 deletion src/entry.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
#include "v2/v2_node_nim_login_service.h"
#include "v2/v2_node_nim_message_service.h"
#include "v2/v2_node_nim_notification_service.h"
#include "v2/v2_node_nim_passthrough_service.h"
#include "v2/v2_node_nim_setting_service.h"
#include "v2/v2_node_nim_signalling_service.h"
#include "v2/v2_node_nim_storage_service.h"
Expand All @@ -50,6 +51,7 @@
#include "v2/v2_node_nim_user_service.h"
#include "v2/v2_node_nim_utilities.h"
#include "v2_chatroom/v2_node_nim_chatroom_client.h"
#include "v2_chatroom/v2_node_nim_chatroom_queue_service.h"
#include "v2_chatroom/v2_node_nim_chatroom_sdk.h"
#include "v2_chatroom/v2_node_nim_chatroom_service.h"

Expand Down Expand Up @@ -102,7 +104,9 @@ Napi::Object RegisterModule(Napi::Env env, Napi::Object exports) {
node_nim::V2NodeNIMChatroomSdk::Init(env, exports);
node_nim::V2NodeNIMChatroomClient::Init(env, exports);
node_nim::V2NodeNIMChatroomService::Init(env, exports);
node_nim::V2NodeSubscriptionService::Init(env, exports);
node_nim::V2NodeNIMChatroomQueueService::Init(env, exports);
node_nim::V2NodeNIMSubscriptionService::Init(env, exports);
node_nim::V2NodeNIMPassthroughService::Init(env, exports);
return exports;
}

Expand Down
79 changes: 45 additions & 34 deletions src/nim/msglog/nim_node_msglog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,40 +9,51 @@

namespace node_nim {
Napi::Object NIMMsgLog::Init(Napi::Env env, Napi::Object exports) {
return InternalInit("NIMMsgLog", env, exports,
{RegApi("InitEventHandlers", &NIMMsgLog::InitEventHandlers), RegApi("QueryMsgByIDAysnc", &MsgLog::QueryMsgByIDAysnc),
RegApi("QueryMsgAsync", &MsgLog::QueryMsgAsync),
RegAmbApi("QueryMsgOnlineAsync", &MsgLog::QueryMsgOnlineAsync,
bool (*)(const MsgLog::QueryMsgOnlineAsyncParam&, const MsgLog::QueryMsgCallback&)),
RegApi("GetMessagesDynamically", &MsgLog::GetMessagesDynamically),
RegApi("QueryMsgByKeywordOnlineAsync", &MsgLog::QueryMsgByKeywordOnlineAsync),
RegApi("QueryMsgOfSpecifiedTypeInASessionAsync", &MsgLog::QueryMsgOfSpecifiedTypeInASessionAsync),
RegApi("QueryMsgByOptionsAsync", &MsgLog::QueryMsgByOptionsAsyncEx), RegApi("BatchStatusReadAsync", &MsgLog::BatchStatusReadAsync),
RegApi("BatchStatusDeleteAsync", &MsgLog::BatchStatusDeleteAsyncEx), RegApi("SetStatusAsync", &MsgLog::SetStatusAsync),
RegApi("SetSubStatusAsync", &MsgLog::SetSubStatusAsync), RegApi("WriteMsglogToLocalAsync", &MsgLog::WriteMsglogToLocalAsyncEx),
RegApi("DeleteBySessionTypeAsync", &MsgLog::DeleteBySessionTypeAsyncEx), RegApi("DeleteAsync", &MsgLog::DeleteAsync),
RegApi("DeleteAllAsync", &MsgLog::DeleteAllAsyncEx), RegApi("DeleteMsgByTimeAsync", &MsgLog::DeleteMsgByTimeAsyncEx),
RegApi("ExportDbAsync", &MsgLog::ExportDbAsync), RegApi("ImportDbAsync", &MsgLog::ImportDbAsync),
RegAmbApi("SendReceiptAsync", &MsgLog::SendReceiptAsync, void (*)(const IMMessage&, const MsgLog::MessageStatusChangedCallback&)),
RegApi("QuerySentMessageBeReaded", &MsgLog::QuerySentMessageBeReaded),
RegApi("QueryReceivedMsgReceiptSent", &MsgLog::QueryReceivedMsgReceiptSent), RegApi("UpdateLocalExtAsync", &MsgLog::UpdateLocalExtAsync),
RegApi("ReadAllAsync", &MsgLog::ReadAllAsync), RegApi("ExportBackupToRemote", &MsgLog::ExportBackupToRemote),
RegApi("ImportBackupFromRemote", &MsgLog::ImportBackupFromRemote),
RegApi("CancelImportBackupFromRemote", &MsgLog::CancelImportBackupFromRemote),
RegApi("CancelExportBackupToRemote", &MsgLog::CancelExportBackupToRemote),
RegAmbApi("DeleteHistoryOnlineAsync", &MsgLog::DeleteHistoryOnlineAsync,
void (*)(const std::string&, bool, const std::string&, const MsgLog::DeleteHistoryOnLineAsyncCallback&)),
RegAmbApi("DeleteHistoryOnlineAsyncEx", &MsgLog::DeleteHistoryOnlineAsync,
void (*)(const std::string&, nim::NIMSessionType, bool, const std::string&, const MsgLog::DeleteHistoryOnLineAsyncExCallback&)),
RegAmbApi("DeleteMessageSelfAsync", &MsgLog::DeleteMessageSelfAsync,
void (*)(const IMMessage&, const std::string, const MsgLog::DeleteMsglogSelfCallback&)),
RegApi("QueryMessageIsThreadRoot", &MsgLog::QueryMessageIsThreadRoot), RegApi("QueryMessageOnline", &MsgLog::QueryMessageOnline),
RegApi("QueryThreadHistoryMsg", &MsgLog::QueryThreadHistoryMsg),
RegApi("QueryLocalThreadHistoryMsg", &MsgLog::QueryLocalThreadHistoryMsg),
RegApi("FullTextSearchOnlineAsync", &MsgLog::FullTextSearchOnlineAsync),
RegApi("QueryMessagesByKeywordAsync", &MsgLog::QueryMessagesByKeywordAsync),
RegApi("IsMessageIndexEstablished", &MsgLog::IsMessageIndexEstablished), RegApi("BuildMsglogIndexes", &MsgLog::BuildMsglogIndexes),
RegApi("CancelMsglogIndexesBuilding", &MsgLog::CancelMsglogIndexesBuilding)});
// clang-format off
return InternalInit("NIMMsgLog", env, exports,{
RegApi("InitEventHandlers", &NIMMsgLog::InitEventHandlers),
RegApi("QueryMsgByIDAysnc", &MsgLog::QueryMsgByIDAysnc),
RegApi("QueryMsgAsync", &MsgLog::QueryMsgAsync),
RegAmbApi("QueryMsgOnlineAsync", &MsgLog::QueryMsgOnlineAsync, bool (*)(const MsgLog::QueryMsgOnlineAsyncParam&, const MsgLog::QueryMsgCallback&)),
RegApi("GetMessagesDynamically", &MsgLog::GetMessagesDynamically),
RegApi("QueryMsgByKeywordOnlineAsync", &MsgLog::QueryMsgByKeywordOnlineAsync),
RegApi("QueryMsgOfSpecifiedTypeInASessionAsync", &MsgLog::QueryMsgOfSpecifiedTypeInASessionAsync),
RegApi("QueryMsgByOptionsAsync", &MsgLog::QueryMsgByOptionsAsyncEx),
RegApi("BatchStatusReadAsync", &MsgLog::BatchStatusReadAsync),
RegApi("BatchStatusDeleteAsync", &MsgLog::BatchStatusDeleteAsyncEx),
RegApi("SetStatusAsync", &MsgLog::SetStatusAsync),
RegApi("SetSubStatusAsync", &MsgLog::SetSubStatusAsync),
RegApi("WriteMsglogToLocalAsync", &MsgLog::WriteMsglogToLocalAsyncEx),
RegApi("DeleteBySessionTypeAsync", &MsgLog::DeleteBySessionTypeAsyncEx),
RegApi("DeleteAsync", &MsgLog::DeleteAsync),
RegApi("DeleteAllAsync", &MsgLog::DeleteAllAsyncEx),
RegApi("DeleteMsgByTimeAsync", &MsgLog::DeleteMsgByTimeAsyncEx),
RegApi("ExportDbAsync", &MsgLog::ExportDbAsync),
RegApi("ImportDbAsync", &MsgLog::ImportDbAsync),
RegAmbApi("SendReceiptAsync", &MsgLog::SendReceiptAsync, void (*)(const IMMessage&, const MsgLog::MessageStatusChangedCallback&)),
RegApi("QuerySentMessageBeReaded", &MsgLog::QuerySentMessageBeReaded),
RegApi("QueryReceivedMsgReceiptSent", &MsgLog::QueryReceivedMsgReceiptSent),
RegApi("UpdateLocalExtAsync", &MsgLog::UpdateLocalExtAsync),
RegApi("ReadAllAsync", &MsgLog::ReadAllAsync),
RegApi("ExportBackupToRemote", &MsgLog::ExportBackupToRemote),
RegApi("ImportBackupFromRemote", &MsgLog::ImportBackupFromRemote),
RegApi("CancelImportBackupFromRemote", &MsgLog::CancelImportBackupFromRemote),
RegApi("CancelExportBackupToRemote", &MsgLog::CancelExportBackupToRemote),
RegAmbApi("DeleteHistoryOnlineAsync", &MsgLog::DeleteHistoryOnlineAsync, void (*)(const std::string&, bool, const std::string&, const MsgLog::DeleteHistoryOnLineAsyncCallback&)),
RegAmbApi("DeleteHistoryOnlineAsyncEx", &MsgLog::DeleteHistoryOnlineAsync, void (*)(const std::string&, nim::NIMSessionType, bool, const std::string&, const MsgLog::DeleteHistoryOnLineAsyncExCallback&)),
RegAmbApi("DeleteMessageSelfAsync", &MsgLog::DeleteMessageSelfAsync, void (*)(const IMMessage&, const std::string, const MsgLog::DeleteMsglogSelfCallback&)),
RegApi("QueryMessageIsThreadRoot", &MsgLog::QueryMessageIsThreadRoot),
RegApi("QueryMessageOnline", &MsgLog::QueryMessageOnline),
RegApi("QueryThreadHistoryMsg", &MsgLog::QueryThreadHistoryMsg),
RegApi("QueryLocalThreadHistoryMsg", &MsgLog::QueryLocalThreadHistoryMsg),
RegApi("FullTextSearchOnlineAsync", &MsgLog::FullTextSearchOnlineAsync),
RegApi("QueryMessagesByKeywordAsync", &MsgLog::QueryMessagesByKeywordAsync),
RegApi("IsMessageIndexEstablished", &MsgLog::IsMessageIndexEstablished),
RegApi("BuildMsglogIndexes", &MsgLog::BuildMsglogIndexes),
RegApi("CancelMsglogIndexesBuilding", &MsgLog::CancelMsglogIndexesBuilding),
RegApi("RegHistoryMessageFilterCb", &MsgLog::RegHistoryMessageFilterCb)
});
// clang-format on
}

void NIMMsgLog::InitEventHandlers() {
Expand Down
2 changes: 2 additions & 0 deletions src/v2/v2_node_nim_friend_service.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ Napi::Object node_nim::V2NodeNIMFriendService::Init(Napi::Env env, Napi::Object
RegApi("getAddApplicationUnreadCount", &V2NIMFriendService::getAddApplicationUnreadCount),
RegApi("setAddApplicationRead", &V2NIMFriendService::setAddApplicationRead),
RegApi("searchFriendByOption", &V2NIMFriendService::searchFriendByOption),
RegApi("clearAllAddApplication", &V2NIMFriendService::clearAllAddApplication),
RegApi("deleteAddApplication", &V2NIMFriendService::deleteAddApplication),
});
// clang-format on
}
Expand Down
33 changes: 33 additions & 0 deletions src/v2/v2_node_nim_passthrough_service.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/**
* @file v2_node_nim_passthrough_service.cpp
* @author Dylan ([email protected])
* @brief
* @date 2024/10/29
*/

#include "v2_node_nim_passthrough_service.h"

namespace node_nim {

Napi::Object V2NodeNIMPassthroughService::Init(Napi::Env env, Napi::Object exports) {
// clang-format off
return InternalInit("V2NIMPassthroughService", env, exports, {
RegApi("httpProxy", &V2NIMPassthroughService::httpProxy)
});
// clang-format on
}

V2NodeNIMPassthroughService::V2NodeNIMPassthroughService(const Napi::CallbackInfo& info)
: BizService("V2NIMPassthroughService", info) {
service_instance_ = &v2::V2NIMClient::get().getPassthroughService();
initEventHandler();
}

void V2NodeNIMPassthroughService::initEventHandler() {
auto& passthrough_service = v2::V2NIMClient::get().getPassthroughService();
V2NIMPassthroughListener listener;
listener.onProxyNotify = MakeNotifyCallback<nstd::function<void(const V2NIMProxyNotify& time)>>("proxyNotify");
passthrough_service.addPassthroughListener(listener);
}

} // namespace node_nim
25 changes: 25 additions & 0 deletions src/v2/v2_node_nim_passthrough_service.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
/**
* @file v2_node_nim_passthrough_service.h
* @author Dylan ([email protected])
* @brief
* @date 2024/10/29
*/

#ifndef V2_NODE_NIM_PASSTHROUGH_SERVICE_H
#define V2_NODE_NIM_PASSTHROUGH_SERVICE_H

#include <napi.h>
#include "service_base.h"

namespace node_nim {

class V2NodeNIMPassthroughService : public BizService<V2NodeNIMPassthroughService> {
public:
static Napi::Object Init(Napi::Env env, Napi::Object exports);
explicit V2NodeNIMPassthroughService(const Napi::CallbackInfo& info);
void initEventHandler();
};

} // namespace node_nim

#endif // V2_NODE_NIM_PASSTHROUGH_SERVICE_H
6 changes: 3 additions & 3 deletions src/v2/v2_node_nim_subscription_service.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

namespace node_nim {

Napi::Object V2NodeSubscriptionService::Init(Napi::Env env, Napi::Object exports) {
Napi::Object V2NodeNIMSubscriptionService::Init(Napi::Env env, Napi::Object exports) {
return InternalInit("V2NIMSubscriptionService", env, exports,
{
RegApi("subscribeUserStatus", &V2NIMSubscriptionService::subscribeUserStatus),
Expand All @@ -19,13 +19,13 @@ Napi::Object V2NodeSubscriptionService::Init(Napi::Env env, Napi::Object exports
});
}

V2NodeSubscriptionService::V2NodeSubscriptionService(const Napi::CallbackInfo& info)
V2NodeNIMSubscriptionService::V2NodeNIMSubscriptionService(const Napi::CallbackInfo& info)
: BizService("V2NIMSubscriptionService", info) {
service_instance_ = &v2::V2NIMClient::get().getSubscriptionService();
initEventHandler();
}

void V2NodeSubscriptionService::initEventHandler() {
void V2NodeNIMSubscriptionService::initEventHandler() {
auto& subscription_service = v2::V2NIMClient::get().getSubscriptionService();
V2NIMSubscribeListener listener;
listener.onUserStatusChanged = MakeNotifyCallback<nstd::function<void(const nstd::vector<V2NIMUserStatus>& status)>>("userStatusChanged");
Expand Down
4 changes: 2 additions & 2 deletions src/v2/v2_node_nim_subscription_service.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@

namespace node_nim {

class V2NodeSubscriptionService : public BizService<V2NodeSubscriptionService> {
class V2NodeNIMSubscriptionService : public BizService<V2NodeNIMSubscriptionService> {
public:
static Napi::Object Init(Napi::Env env, Napi::Object exports);
explicit V2NodeSubscriptionService(const Napi::CallbackInfo& info);
explicit V2NodeNIMSubscriptionService(const Napi::CallbackInfo& info);
void initEventHandler();
};

Expand Down
2 changes: 2 additions & 0 deletions src/v2/v2_node_nim_team_service.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ Napi::Object node_nim::V2NodeNIMTeamService::Init(Napi::Env env, Napi::Object ex
{RegApi("searchTeamMembers", &V2NIMTeamService::searchTeamMembers)},
{RegApi("addTeamMembersFollow", &V2NIMTeamService::addTeamMembersFollow)},
{RegApi("removeTeamMembersFollow", &V2NIMTeamService::removeTeamMembersFollow)},
{RegApi("clearAllTeamJoinActionInfo", &V2NIMTeamService::clearAllTeamJoinActionInfo)},
{RegApi("deleteTeamJoinActionInfo", &V2NIMTeamService::deleteTeamJoinActionInfo)},
});
}

Expand Down
49 changes: 49 additions & 0 deletions src/v2_chatroom/v2_node_nim_chatroom_queue_service.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/**
* @file v2_node_nim_chatroom_queue_service.cpp
* @author Dylan ([email protected])
* @brief
* @date 2024/10/28
*/

#include "v2_node_nim_chatroom_queue_service.h"

namespace node_nim {

Napi::Object V2NodeNIMChatroomQueueService::Init(Napi::Env env, Napi::Object exports) {
// clang-format off
return InternalInit("V2NIMChatroomQueueService", env, exports,{
RegApi("queueInit", &V2NIMChatroomQueueService::queueInit),
RegApi("queueDrop", &V2NIMChatroomQueueService::queueDrop),
RegApi("queueOffer", &V2NIMChatroomQueueService::queueOffer),
RegApi("queuePoll", &V2NIMChatroomQueueService::queuePoll),
RegApi("queuePeek", &V2NIMChatroomQueueService::queuePeek),
RegApi("queueList", &V2NIMChatroomQueueService::queueList),
RegApi("queueBatchUpdate", &V2NIMChatroomQueueService::queueBatchUpdate),
});
// clang-format on
}

V2NodeNIMChatroomQueueService::V2NodeNIMChatroomQueueService(const Napi::CallbackInfo& info)
: BizService("V2NIMChatroomQueueService", info) {
if (info.Length() != 2 || !info[1].IsNumber()) {
Napi::Error::New(info.Env(), "V2NIMChatroomQueueService: constructor: bad arguments").ThrowAsJavaScriptException();
return;
}
auto instance_id = info[1].As<Napi::Number>().Int64Value();
auto instance = v2::V2NIMChatroomClient::getInstance(instance_id);
v2::V2NIMChatroomQueueListener listener;
listener.onChatroomQueueOffered = MakeNotifyCallback<nstd::function<void(const V2NIMChatroomQueueElement& element)>>("chatroomQueueOffered");
listener.onChatroomQueuePolled = MakeNotifyCallback<nstd::function<void(const V2NIMChatroomQueueElement& element)>>("chatroomQueuePolled");
listener.onChatroomQueueDropped = MakeNotifyCallback<nstd::function<void()>>("chatroomQueueDropped");
listener.onChatroomQueuePartCleared =
MakeNotifyCallback<nstd::function<void(const nstd::vector<V2NIMChatroomQueueElement>& keyValues)>>("chatroomQueuePartCleared");
listener.onChatroomQueueBatchUpdated =
MakeNotifyCallback<nstd::function<void(const nstd::vector<V2NIMChatroomQueueElement>& keyValues)>>("chatroomQueueBatchUpdated");
listener.onChatroomQueueBatchOffered =
MakeNotifyCallback<nstd::function<void(const nstd::vector<V2NIMChatroomQueueElement>& keyValues)>>("chatroomQueueBatchOffered");
auto& chatroom_queue_service = instance->getChatroomQueueService();
chatroom_queue_service.addQueueListener(listener);
service_instance_ = &chatroom_queue_service;
}

} // namespace node_nim
24 changes: 24 additions & 0 deletions src/v2_chatroom/v2_node_nim_chatroom_queue_service.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/**
* @file v2_node_nim_chatroom_queue_service.h
* @author Dylan ([email protected])
* @brief
* @date 2024/10/28
*/

#ifndef V2_NODE_NIM_CHATROOM_QUEUE_SERVICE_H
#define V2_NODE_NIM_CHATROOM_QUEUE_SERVICE_H

#include <napi.h>
#include "service_base.h"

namespace node_nim {

class V2NodeNIMChatroomQueueService : public BizService<V2NodeNIMChatroomQueueService> {
public:
static Napi::Object Init(Napi::Env env, Napi::Object exports);
explicit V2NodeNIMChatroomQueueService(const Napi::CallbackInfo& info);
};

} // namespace node_nim

#endif // V2_NODE_NIM_CHATROOM_QUEUE_SERVICE_H
4 changes: 3 additions & 1 deletion test/hooks.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ import assert from 'assert'

exports.mochaHooks = {
beforeAll: function (done) {
nim.client.init('', '', '', {})
nim.client.init('', '', '', {
sdk_log_level_: 6,
})
nim.client.login(
'45c6af3c98409b18a84451215d0bdd6e',
'jiajia01',
Expand Down
14 changes: 14 additions & 0 deletions test/test_chatroom_v2_spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,20 @@ describe('******************** Chatroom ********************', function () {
assert.strictEqual(instanceId, 0)
})
})
describe('#queueOffer', function () {
it('Offer queue should return with 0', async function () {
const queueService = chatroomInstance.getChatroomQueueService()
const spy = sinon.spy()
queueService.on('chatroomQueueOffered', spy)
await queueService.queueOffer({
elementKey: 'test',
elementValue: 'test'
})
// 延迟 5s
await new Promise(resolve => setTimeout(resolve, 5000))
assert.strictEqual(spy.calledOnce, true)
})
})
describe('#sendMessage', () => {
it('Send message should trigger onSendMessage event', async function () {
const spy = sinon.spy()
Expand Down
19 changes: 19 additions & 0 deletions test/test_msglog.js
Original file line number Diff line number Diff line change
Expand Up @@ -441,6 +441,25 @@ describe('********************Msglog********************', function () {
})
})
})
describe('#regHistoryMessageFilterCb', async function () {
it('regHistoryMessageFilterCb should return with 200', async function () {
NIM.nim.msgLog.regHistoryMessageFilterCb((message) => {
console.log('message filter running, messageID: ', message.client_msg_id_)
return message.client_msg_id_ === '9f9beab8-4486-7217-81ce-075716038eeb'
})
const [code, account, toType, result] = await NIM.nim.msgLog.queryMsgOnlineAsync({
id_: 'jiajia02',
to_type_: 0,
limit_count_: 10,
from_time_: 0,
end_time_: new Date().getTime(),
reverse_: false,
need_save_to_local_: true,
auto_download_attachment_: false
})
console.log(result)
})
})
})

describe('******************** Msglog thread ********************', function () {
Expand Down
Loading

0 comments on commit dc13f5c

Please sign in to comment.