Skip to content

Commit 3e19660

Browse files
committed
chore: bump version 10.7.0
Signed-off-by: Dylan <[email protected]>
1 parent 947200f commit 3e19660

7 files changed

+150
-18
lines changed

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,14 @@ elseif (CONAN_SETTINGS_ARCH STREQUAL "armv8")
3939
set(CMAKE_JS_ARCH "arm64")
4040
endif ()
4141
if (TARGET nim_cpp_wrapper)
42-
execute_process(COMMAND ${NPM_EXUTABLE} install --ignoreDownloadSdk --force
42+
execute_process(COMMAND ${NPM_EXUTABLE} install --ignoreDownloadSdk
4343
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
4444
OUTPUT_QUIET)
4545
else ()
4646
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/.cmake/")
4747
include(PlatformSettings)
4848
include(GetGitRevisionDescription)
49-
execute_process(COMMAND ${NPM_EXUTABLE} install --nimSdkUrl=${NIM_SDK_URL} --force
49+
execute_process(COMMAND ${NPM_EXUTABLE} install --nimSdkUrl=${NIM_SDK_URL}
5050
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
5151
OUTPUT_QUIET)
5252
endif ()

package.json

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "node-nim",
3-
"version": "10.6.1",
3+
"version": "10.7.0",
44
"description": "NetEase IM nodejs wrapper based on NetEase IM C++ SDK",
55
"main": "dist/node-nim.js",
66
"bin": {
@@ -61,9 +61,6 @@
6161
"sinon": "^18.0.0",
6262
"typedoc": "^0.26.6",
6363
"typedoc-github-theme": "^0.1.2",
64-
"typedoc-github-wiki-theme": "^2.0.0",
65-
"typedoc-material-theme": "^1.1.0",
66-
"typedoc-plugin-markdown": "^4.2.6",
6764
"typescript": "^4.9.5"
6865
},
6966
"keywords": [

src/callback_specialization.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,8 @@ CallbackSpecialization(V2NIMSuccessCallback<const nstd::vector<V2NIMUserStatusSu
214214
CallbackSpecialization(V2NIMSuccessCallback<const V2NIMChatroomQueueElement&>);
215215
CallbackSpecialization(V2NIMSuccessCallback<const nstd::vector<V2NIMChatroomQueueElement>&>);
216216
CallbackSpecialization(V2NIMSuccessCallback<const V2NIMProxyResponse&>);
217+
CallbackSpecialization(V2NIMSuccessCallback<const V2NIMCollectionListResult&>);
218+
CallbackSpecialization(V2NIMSuccessCallback<const V2NIMMessageSearchResult&>);
217219

218220
namespace xpack {
219221
// std::function

src/v2/v2_node_nim_message_service.cpp

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,31 +5,44 @@ namespace node_nim {
55

66
Napi::Object node_nim::V2NodeNIMMessageService::Init(Napi::Env env, Napi::Object exports) {
77
return InternalInit("V2NIMMessageService", env, exports,
8-
{RegApi("sendMessage", &V2NIMMessageService::sendMessage), RegApi("replyMessage", &V2NIMMessageService::replyMessage),
9-
RegApi("revokeMessage", &V2NIMMessageService::revokeMessage), RegApi("modifyMessage", &V2NIMMessageService::modifyMessage),
10-
RegApi("getMessageList", &V2NIMMessageService::getMessageList), RegApi("getMessageListByIds", &V2NIMMessageService::getMessageListByIds),
8+
{
9+
RegApi("sendMessage", &V2NIMMessageService::sendMessage),
10+
RegApi("replyMessage", &V2NIMMessageService::replyMessage),
11+
RegApi("revokeMessage", &V2NIMMessageService::revokeMessage),
12+
RegApi("modifyMessage", &V2NIMMessageService::modifyMessage),
13+
RegApi("getMessageList", &V2NIMMessageService::getMessageList),
14+
RegApi("getMessageListByIds", &V2NIMMessageService::getMessageListByIds),
1115
RegApi("getMessageListByRefers", &V2NIMMessageService::getMessageListByRefers),
1216
RegApi("getThreadMessageList", &V2NIMMessageService::getThreadMessageList),
1317
RegApi("getLocalThreadMessageList", &V2NIMMessageService::getLocalThreadMessageList),
14-
RegApi("deleteMessage", &V2NIMMessageService::deleteMessage), RegApi("deleteMessages", &V2NIMMessageService::deleteMessages),
18+
RegApi("deleteMessage", &V2NIMMessageService::deleteMessage),
19+
RegApi("deleteMessages", &V2NIMMessageService::deleteMessages),
1520
RegApi("clearHistoryMessage", &V2NIMMessageService::clearHistoryMessage),
1621
RegApi("updateMessageLocalExtension", &V2NIMMessageService::updateMessageLocalExtension),
17-
RegApi("insertMessageToLocal", &V2NIMMessageService::insertMessageToLocal), RegApi("pinMessage", &V2NIMMessageService::pinMessage),
18-
RegApi("unpinMessage", &V2NIMMessageService::unpinMessage), RegApi("updatePinMessage", &V2NIMMessageService::updatePinMessage),
22+
RegApi("insertMessageToLocal", &V2NIMMessageService::insertMessageToLocal),
23+
RegApi("pinMessage", &V2NIMMessageService::pinMessage),
24+
RegApi("unpinMessage", &V2NIMMessageService::unpinMessage),
25+
RegApi("updatePinMessage", &V2NIMMessageService::updatePinMessage),
1926
RegApi("getPinnedMessageList", &V2NIMMessageService::getPinnedMessageList),
20-
RegApi("addQuickComment", &V2NIMMessageService::addQuickComment), RegApi("removeQuickComment", &V2NIMMessageService::removeQuickComment),
21-
RegApi("getQuickCommentList", &V2NIMMessageService::getQuickCommentList), RegApi("addCollection", &V2NIMMessageService::addCollection),
27+
RegApi("addQuickComment", &V2NIMMessageService::addQuickComment),
28+
RegApi("removeQuickComment", &V2NIMMessageService::removeQuickComment),
29+
RegApi("getQuickCommentList", &V2NIMMessageService::getQuickCommentList),
30+
RegApi("addCollection", &V2NIMMessageService::addCollection),
2231
RegApi("removeCollections", &V2NIMMessageService::removeCollections),
2332
RegApi("updateCollectionExtension", &V2NIMMessageService::updateCollectionExtension),
2433
RegApi("getCollectionListByOption", &V2NIMMessageService::getCollectionListByOption),
34+
RegApi("getCollectionListExByOption", &V2NIMMessageService::getCollectionListExByOption),
2535
RegApi("sendP2PMessageReceipt", &V2NIMMessageService::sendP2PMessageReceipt),
26-
RegApi("getP2PMessageReceipt", &V2NIMMessageService::getP2PMessageReceipt), RegApi("isPeerRead", &V2NIMMessageService::isPeerRead),
36+
RegApi("getP2PMessageReceipt", &V2NIMMessageService::getP2PMessageReceipt),
37+
RegApi("isPeerRead", &V2NIMMessageService::isPeerRead),
2738
RegApi("sendTeamMessageReceipts", &V2NIMMessageService::sendTeamMessageReceipts),
2839
RegApi("getTeamMessageReceipts", &V2NIMMessageService::getTeamMessageReceipts),
2940
RegApi("getTeamMessageReceiptDetail", &V2NIMMessageService::getTeamMessageReceiptDetail),
3041
RegApi("voiceToText", &V2NIMMessageService::voiceToText),
3142
RegApi("cancelMessageAttachmentUpload", &V2NIMMessageService::cancelMessageAttachmentUpload),
32-
RegApi("searchCloudMessages", &V2NIMMessageService::searchCloudMessages)});
43+
RegApi("searchCloudMessages", &V2NIMMessageService::searchCloudMessages),
44+
RegApi("searchLocalMessages", &V2NIMMessageService::searchLocalMessages),
45+
});
3346
}
3447

3548
node_nim::V2NodeNIMMessageService::V2NodeNIMMessageService(const Napi::CallbackInfo& info)

ts/v2/v2_nim_message_service.ts

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import {
1515
V2NIMAddCollectionParams,
1616
V2NIMCollection,
1717
V2NIMCollectionOption,
18+
V2NIMCollectionListResult,
1819
V2NIMP2PMessageReadReceipt,
1920
V2NIMTeamMessageReadReceipt,
2021
V2NIMTeamMessageReadReceiptDetail,
@@ -26,7 +27,9 @@ import {
2627
V2NIMMessageQuickCommentNotification,
2728
V2NIMMessageRevokeNotification,
2829
V2NIMModifyMessageParams,
29-
V2NIMModifyMessageResult
30+
V2NIMModifyMessageResult,
31+
V2NIMMessageSearchExParams,
32+
V2NIMMessageSearchResult,
3033
} from 'ts/v2_def/v2_nim_struct_def'
3134
import sdk from '../loader'
3235
import { EventEmitter } from 'eventemitter3'
@@ -711,6 +714,29 @@ export class V2NIMMessageService extends EventEmitter<V2NIMMessageListener> {
711714
})
712715
}
713716

717+
/**
718+
* @brief 分页获取收藏列表
719+
* @param option 获取收藏列表查询参数
720+
* @returns V2NIMCollectionListResult
721+
* @example
722+
* ```javascript
723+
* const result = await v2.messageService.getCollectionListExByOption(option)
724+
* ```
725+
*/
726+
getCollectionListExByOption(option: V2NIMCollectionOption): Promise<V2NIMCollectionListResult> {
727+
return new Promise((resolve, reject) => {
728+
this.instance.getCollectionListExByOption(
729+
option,
730+
(result: V2NIMCollectionListResult) => {
731+
resolve(result)
732+
},
733+
(error: V2NIMError) => {
734+
reject(error)
735+
}
736+
)
737+
})
738+
}
739+
714740
/**
715741
* @brief 发送 P2P 消息已读回执
716742
* @param message 要发送已读回执的消息
@@ -909,4 +935,29 @@ export class V2NIMMessageService extends EventEmitter<V2NIMMessageListener> {
909935
)
910936
})
911937
}
938+
939+
/**
940+
* @brief 搜索本地消息
941+
* @param params 消息检索参数
942+
* @returns V2NIMMessageSearchResult
943+
* @example
944+
* ```javascript
945+
* const result = await v2.messageService.searchLocalMessages({
946+
* keywordList: ['keyword1', 'keyword2'],
947+
* })
948+
* ```
949+
*/
950+
searchLocalMessages (params: V2NIMMessageSearchExParams): Promise<V2NIMMessageSearchResult> {
951+
return new Promise((resolve, reject) => {
952+
this.instance.searchLocalMessages(
953+
params,
954+
(result: V2NIMMessageSearchResult) => {
955+
resolve(result)
956+
},
957+
(error: V2NIMError) => {
958+
reject(error)
959+
}
960+
)
961+
})
962+
}
912963
}

ts/v2_def/v2_nim_enum_def.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1248,3 +1248,11 @@ export enum V2NIMProxyRequestMethod {
12481248
/** DELETE 请求 */
12491249
V2NIM_PROXY_REQUEST_METHOD_DELETE
12501250
}
1251+
1252+
/** @brief 搜索关键字匹配条件 @since v10.7.0 */
1253+
export enum V2NIMSearchKeywordMathType {
1254+
/** 或 */
1255+
V2NIM_SEARCH_KEYWORD_MATH_TYPE_OR,
1256+
/** 与 */
1257+
V2NIM_SEARCH_KEYWORD_MATH_TYPE_AND
1258+
}

ts/v2_def/v2_nim_struct_def.ts

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ import {
4242
V2NIMTeamMemberRoleQueryType,
4343
V2NIMTeamType,
4444
V2NIMTeamUpdateExtensionMode,
45-
V2NIMTeamUpdateInfoMode
45+
V2NIMTeamUpdateInfoMode,
46+
V2NIMSearchKeywordMathType
4647
} from './v2_nim_enum_def'
4748

4849
export interface V2NIMError {
@@ -443,6 +444,8 @@ export interface V2NIMNotificationConfig {
443444
offlineEnabled?: boolean
444445
/** 是否需要计未读 */
445446
unreadEnabled?: boolean
447+
/** 外部输入标识字段,建议输入时每次串唯一,长度不超过 32 个字符 */
448+
clientNotificationId?: string
446449
}
447450

448451
export interface V2NIMMessageRefer {
@@ -844,6 +847,8 @@ export interface V2NIMMessageListOption {
844847
direction?: V2NIMQueryDirection
845848
/** 严格模式, 无法确定消息完整性则返回错误 */
846849
strictMode?: boolean
850+
/** 是否只查询本地消息 */
851+
onlyQueryLocal?: boolean
847852
}
848853

849854
export interface V2NIMClearHistoryMessageOption {
@@ -951,6 +956,13 @@ export interface V2NIMCollectionOption {
951956
collectionType?: number
952957
}
953958

959+
export interface V2NIMCollectionListResult {
960+
/** 总收藏条数 */
961+
totalCount: number
962+
/** 本次分页查询返回的收藏列表 */
963+
collectionList: Array<V2NIMCollection>
964+
}
965+
954966
/** @brief 动态 token 获取回调 */
955967
/** @param accountId 账号 */
956968
/** @return token */
@@ -2348,3 +2360,52 @@ export interface V2NIMProxyNotify {
23482360
/** 发送时间,毫秒 */
23492361
time: number
23502362
}
2363+
2364+
/** @brief 消息检索参数 @since v10.7.0 */
2365+
export interface V2NIMMessageSearchExParams {
2366+
/** 要查询的会话 ID,不指定则查询所有会话 */
2367+
conversationId?: string
2368+
/** 要查询的关键字列表,为空则按发送者或消息类型查询,最多支持 5 个。当消息发送者以及消息类型均未指定时,必须设置关键字列表 */
2369+
keywordList?: Array<string>
2370+
/** 指定关键字列表匹配类型,见 {@link V2NIMSearchKeywordMathType},默认为 V2NIM_SEARCH_KEYWORD_MATH_TYPE_OR */
2371+
keywordMatchType: V2NIMSearchKeywordMathType
2372+
/** 匹配消息发送者,最多支持 5 个,为空则匹配所有发送者 */
2373+
senderAccountIds?: Array<string>
2374+
/** 匹配消息类型,为空则匹配所有类型 */
2375+
messageTypes?: Array<V2NIMMessageType>
2376+
/** 搜索的起始时间点,默认为 0(从现在开始搜索)。UTC 时间戳,单位:毫秒 */
2377+
searchStartTime: number
2378+
/** 从起始时间点开始的过去时间范围,默认为 0(不限制时间范围)。24 x 60 x 60 x 1000 代表过去一天,单位:毫秒 */
2379+
searchTimePeriod: number
2380+
/** 搜索的数量限制,默认为 20,最大为 100 */
2381+
limit: number
2382+
/** 下一页的 token,用于分页查询 */
2383+
pageToken?: string
2384+
}
2385+
2386+
/** @brief 查询消息返回的结果项 @since v10.7.0 */
2387+
export interface V2NIMMessageSearchItem {
2388+
/// 会话 ID
2389+
conversationId: string
2390+
/// 返回的消息列表
2391+
messages: Array<V2NIMMessage>
2392+
/// 单个会话命中的数量
2393+
count: number
2394+
}
2395+
2396+
/** @brief 查询消息返回的结果 @since v10.7.0 */
2397+
export interface V2NIMMessageSearchResult {
2398+
/** 满足检索条件的所有消息数量 */
2399+
count: number
2400+
/**
2401+
* - 单个会话的返回结果
2402+
* - 如果查询会话 ID 不会空,则返回 items 会对应会话按指定条数检索出来的消息
2403+
* - 如果会话 ID 为空,则为每一个会话检索出来的内容
2404+
* - 单个 items 查出的消息按从新到旧排序
2405+
* - 多个会话的返回结果
2406+
* - 按每个会话的最新消息从新到旧排序
2407+
*/
2408+
items: Array<V2NIMMessageSearchItem>
2409+
/** 下次请求的 token,两次查询参数必须一致 */
2410+
nextPageToken: string
2411+
}

0 commit comments

Comments
 (0)