chore: release 1.0.5

This commit is contained in:
Bloomingg
2024-07-30 16:17:56 +08:00
parent 4bfbce6727
commit 5601f935f0
6 changed files with 116 additions and 25 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "@openim/electron-client-sdk",
"version": "1.0.2",
"version": "1.0.5",
"description": "open im sdk for node",
"source": "src/index.ts",
"main": "lib/index.js",
@@ -59,7 +59,7 @@
"husky": "^6.0.0",
"jest": "^27.2.0",
"lint-staged": "^10.5.4",
"open-im-sdk-wasm": "^3.5.3-alpha.3",
"open-im-sdk-wasm": "^3.5.3-alpha.6",
"prettier": "^2.2.1",
"rollup": "^2.79.1",
"rollup-plugin-typescript2": "^0.36.0",
@@ -81,6 +81,6 @@
},
"peerDependencies": {
"electron": ">=12.0.0",
"open-im-sdk-wasm": "^3.5.3-alpha.5"
"open-im-sdk-wasm": "^3.8.0-rc.6"
}
}

View File

@@ -47,16 +47,17 @@ export enum NativeEvent {
USER_STATUS_CHANGED,
RECV_CUSTOM_BUSINESS_MESSAGE,
MESSAGE_KV_INFO_CHANGED,
UPLOAD_FILE_CALLBACK_OPEN,
UPLOAD_FILE_CALLBACK_PART_SIZE,
UPLOAD_FILE_CALLBACK_HASH_PART_PROGRESS,
UPLOAD_FILE_CALLBACK_HASH_PART_COMPLETE,
UPLOAD_FILE_CALLBACK_UPLOAD_ID,
UPLOAD_FILE_CALLBACK_UPLOAD_PART_COMPLETE,
UPLOAD_FILE_CALLBACK_UPLOAD_COMPLETE,
UPLOAD_FILE_CALLBACK_COMPLETE,
OPEN,
PART_SIZE,
HASH_PART_PROGRESS,
HASH_PART_COMPLETE,
UPLOAD_ID,
UPLOAD_PART_COMPLETE,
UPLOAD_COMPLETE,
COMPLETE,
CONVERSATION_USER_INPUT_STATUS_CHANGED,
RECV_ONLINE_ONLY_MESSAGE,
USER_TOKEN_INVALID,
RECV_NEW_INVITATION,
INVITEE_ACCEPTED,
INVITEE_ACCEPTED_BY_OTHER_DEVICE,
@@ -77,6 +78,7 @@ export const eventMapping: Record<NativeEvent, CbEvents> = {
[NativeEvent.CONNECT_FAILED]: CbEvents.OnConnectFailed,
[NativeEvent.KICKED_OFFLINE]: CbEvents.OnKickedOffline,
[NativeEvent.USER_TOKEN_EXPIRED]: CbEvents.OnUserTokenExpired,
[NativeEvent.USER_TOKEN_INVALID]: CbEvents.OnUserTokenInvalid,
[NativeEvent.JOINED_GROUP_ADDED]: CbEvents.OnJoinedGroupAdded,
[NativeEvent.JOINED_GROUP_DELETED]: CbEvents.OnJoinedGroupDeleted,
[NativeEvent.GROUP_MEMBER_ADDED]: CbEvents.OnGroupMemberAdded,
@@ -101,7 +103,7 @@ export const eventMapping: Record<NativeEvent, CbEvents> = {
[NativeEvent.BLACK_DELETED]: CbEvents.OnBlackDeleted,
[NativeEvent.SYNC_SERVER_START]: CbEvents.OnSyncServerStart,
[NativeEvent.SYNC_SERVER_FINISH]: CbEvents.OnSyncServerFinish,
[NativeEvent.SYNC_SERVER_PROGRESS]: CbEvents.OnProgress,
[NativeEvent.SYNC_SERVER_PROGRESS]: CbEvents.OnSyncServerProgress,
[NativeEvent.SYNC_SERVER_FAILED]: CbEvents.OnSyncServerFailed,
[NativeEvent.NEW_CONVERSATION]: CbEvents.OnNewConversation,
[NativeEvent.CONVERSATION_CHANGED]: CbEvents.OnConversationChanged,
@@ -116,7 +118,14 @@ export const eventMapping: Record<NativeEvent, CbEvents> = {
[NativeEvent.USER_STATUS_CHANGED]: CbEvents.OnUserStatusChanged,
[NativeEvent.RECV_CUSTOM_BUSINESS_MESSAGE]:
CbEvents.OnRecvCustomBusinessMessage,
[NativeEvent.UPLOAD_FILE_CALLBACK_COMPLETE]: CbEvents.UploadComplete,
[NativeEvent.UPLOAD_COMPLETE]: CbEvents.UploadComplete,
[NativeEvent.OPEN]: CbEvents.UnUsedEvent,
[NativeEvent.PART_SIZE]: CbEvents.UnUsedEvent,
[NativeEvent.HASH_PART_PROGRESS]: CbEvents.UnUsedEvent,
[NativeEvent.HASH_PART_COMPLETE]: CbEvents.UnUsedEvent,
[NativeEvent.UPLOAD_ID]: CbEvents.UnUsedEvent,
[NativeEvent.UPLOAD_PART_COMPLETE]: CbEvents.UnUsedEvent,
[NativeEvent.COMPLETE]: CbEvents.UnUsedEvent,
[NativeEvent.RECV_MESSAGE_EXTENSIONS_CHANGED]: CbEvents.UnUsedEvent,
[NativeEvent.RECV_MESSAGE_EXTENSIONS_DELETED]: CbEvents.UnUsedEvent,
[NativeEvent.RECV_MESSAGE_EXTENSIONS_ADDED]: CbEvents.UnUsedEvent,
@@ -124,13 +133,6 @@ export const eventMapping: Record<NativeEvent, CbEvents> = {
[NativeEvent.MSG_DELETED]: CbEvents.UnUsedEvent,
[NativeEvent.RECV_OFFLINE_NEW_MESSAGES]: CbEvents.UnUsedEvent,
[NativeEvent.MESSAGE_KV_INFO_CHANGED]: CbEvents.UnUsedEvent,
[NativeEvent.UPLOAD_FILE_CALLBACK_OPEN]: CbEvents.UnUsedEvent,
[NativeEvent.UPLOAD_FILE_CALLBACK_PART_SIZE]: CbEvents.UnUsedEvent,
[NativeEvent.UPLOAD_FILE_CALLBACK_HASH_PART_PROGRESS]: CbEvents.UnUsedEvent,
[NativeEvent.UPLOAD_FILE_CALLBACK_HASH_PART_COMPLETE]: CbEvents.UnUsedEvent,
[NativeEvent.UPLOAD_FILE_CALLBACK_UPLOAD_ID]: CbEvents.UnUsedEvent,
[NativeEvent.UPLOAD_FILE_CALLBACK_UPLOAD_PART_COMPLETE]: CbEvents.UnUsedEvent,
[NativeEvent.UPLOAD_FILE_CALLBACK_UPLOAD_COMPLETE]: CbEvents.UnUsedEvent,
[NativeEvent.CONVERSATION_USER_INPUT_STATUS_CHANGED]: CbEvents.UnUsedEvent,
[NativeEvent.RECV_ONLINE_ONLY_MESSAGE]: CbEvents.UnUsedEvent,
[NativeEvent.RECV_NEW_INVITATION]: CbEvents.OnReceiveNewInvitation,

View File

@@ -30,6 +30,13 @@ function isObject(value: unknown) {
return Object.prototype.toString.call(value) === '[object Object]';
}
const forceGetDataEvents = [
CbEvents.OnSyncServerStart,
CbEvents.OnSyncServerFinish,
CbEvents.OnSyncServerFailed,
CbEvents.OnSyncServerProgress,
];
class OpenIMSDK
extends Emitter
implements
@@ -73,7 +80,8 @@ class OpenIMSDK
(event: NativeEvent, data: string) => {
const cbEvent = eventMapping[event];
if (!cbEvent) return;
this.emit(cbEvent, this.generateEventResponse(data));
const forceGetData = forceGetDataEvents.includes(cbEvent);
this.emit(cbEvent, this.generateEventResponse(data, '', forceGetData));
},
koffi.pointer(listenerCallbackProto)
);
@@ -655,7 +663,7 @@ class OpenIMSDK
'__stdcall',
'add_black',
'void',
['baseCallback *', 'str', 'str']
['baseCallback *', 'str', 'str', 'str']
);
this.libOpenIMSDK.get_black_list = this.lib.func(
'__stdcall',
@@ -680,7 +688,7 @@ class OpenIMSDK
'__stdcall',
'join_group',
'void',
['baseCallback *', 'str', 'str', 'str', 'int']
['baseCallback *', 'str', 'str', 'str', 'int', 'str']
);
this.libOpenIMSDK.quit_group = this.lib.func(
'__stdcall',
@@ -724,6 +732,12 @@ class OpenIMSDK
'void',
['baseCallback *', 'str']
);
this.libOpenIMSDK.get_joined_group_list_page = this.lib.func(
'__stdcall',
'get_joined_group_list_page',
'void',
['baseCallback *', 'str', 'int', 'int']
);
this.libOpenIMSDK.get_specified_groups_info = this.lib.func(
'__stdcall',
'get_specified_groups_info',
@@ -826,9 +840,15 @@ class OpenIMSDK
this.libOpenIMSDK.is_join_group = this.lib.func(
'__stdcall',
'is_join_group',
'int',
'void',
['baseCallback *', 'str', 'str']
);
this.libOpenIMSDK.get_users_in_group = this.lib.func(
'__stdcall',
'get_users_in_group',
'void',
['baseCallback *', 'str', 'str', 'str']
);
this.libOpenIMSDK.upload_file = this.lib.func(
'__stdcall',
'upload_file',
@@ -982,7 +1002,11 @@ class OpenIMSDK
}
};
generateEventResponse = (data: unknown, operationID = ''): BaseResponse => {
generateEventResponse = (
data: unknown,
operationID = '',
forceGetData = false
): BaseResponse => {
let errCode = 0;
let errMsg = '';
try {
@@ -999,6 +1023,11 @@ class OpenIMSDK
// @ts-ignore
data = data.data;
}
if (forceGetData) {
// @ts-ignore
const values = Object.values(data);
data = values[0];
}
return {
errCode,
errMsg,
@@ -1216,6 +1245,7 @@ class OpenIMSDK
getFriendApplicationListAsApplicant!: FriendModuleApi['getFriendApplicationListAsApplicant'];
getFriendApplicationListAsRecipient!: FriendModuleApi['getFriendApplicationListAsRecipient'];
getFriendList!: FriendModuleApi['getFriendList'];
getFriendListPage!: FriendModuleApi['getFriendListPage'];
getSpecifiedFriendsInfo!: FriendModuleApi['getSpecifiedFriendsInfo'];
refuseFriendApplication!: FriendModuleApi['refuseFriendApplication'];
removeBlack!: FriendModuleApi['removeBlack'];
@@ -1227,6 +1257,7 @@ class OpenIMSDK
joinGroup!: GroupModuleApi['joinGroup'];
inviteUserToGroup!: GroupModuleApi['inviteUserToGroup'];
getJoinedGroupList!: GroupModuleApi['getJoinedGroupList'];
getJoinedGroupListPage!: GroupModuleApi['getJoinedGroupListPage'];
searchGroups!: GroupModuleApi['searchGroups'];
getSpecifiedGroupsInfo!: GroupModuleApi['getSpecifiedGroupsInfo'];
setGroupInfo!: GroupModuleApi['setGroupInfo'];
@@ -1247,6 +1278,7 @@ class OpenIMSDK
dismissGroup!: GroupModuleApi['dismissGroup'];
quitGroup!: GroupModuleApi['quitGroup'];
isJoinGroup!: GroupModuleApi['isJoinGroup'];
getUsersInGroup!: GroupModuleApi['getUsersInGroup'];
// implements conversation api
getAllConversationList!: ConversationModuleApi['getAllConversationList'];

View File

@@ -6,6 +6,7 @@ import {
AccessFriendApplicationParams,
AddBlackParams,
AddFriendParams,
OffsetParams,
RemarkFriendParams,
SearchFriendParams,
SetFriendExParams,
@@ -110,6 +111,15 @@ export function setupFriendModule(openIMSDK: OpenIMSDK) {
opid
);
}),
getFriendListPage: (params: OffsetParams, opid = uuidV4()) =>
new Promise<BaseResponse<FullUserItem[]>>((resolve, reject) => {
openIMSDK.libOpenIMSDK.get_friend_list_page(
openIMSDK.baseCallbackWrap<FullUserItem[]>(resolve, reject),
opid,
params.offset,
params.count
);
}),
getSpecifiedFriendsInfo: (userIDList: string[], opid = uuidV4()) =>
new Promise<BaseResponse<FullUserItem[]>>((resolve, reject) => {
@@ -185,6 +195,10 @@ export interface FriendModuleApi {
opid?: string
) => Promise<BaseResponse<FriendApplicationItem[]>>;
getFriendList: (opid?: string) => Promise<BaseResponse<FullUserItem[]>>;
getFriendListPage: (
params: OffsetParams,
opid?: string
) => Promise<BaseResponse<FullUserItem[]>>;
getSpecifiedFriendsInfo: (
userIDList: string[],
opid?: string

View File

@@ -19,6 +19,7 @@ import {
ChangeGroupMuteParams,
TransferGroupParams,
AccessToGroupParams,
OffsetParams,
} from 'open-im-sdk-wasm/lib/types/params';
export function setupGroupModule(openIMSDK: OpenIMSDK) {
@@ -63,6 +64,16 @@ export function setupGroupModule(openIMSDK: OpenIMSDK) {
);
}),
getJoinedGroupListPage: (params: OffsetParams, opid = uuidV4()) =>
new Promise<BaseResponse<GroupItem[]>>((resolve, reject) => {
openIMSDK.libOpenIMSDK.get_joined_group_list_page(
openIMSDK.baseCallbackWrap<GroupItem[]>(resolve, reject),
opid,
params.offset,
params.count
);
}),
searchGroups: (params: SearchGroupParams, opid = uuidV4()) =>
new Promise<BaseResponse<GroupItem[]>>((resolve, reject) => {
openIMSDK.libOpenIMSDK.search_groups(
@@ -274,6 +285,18 @@ export function setupGroupModule(openIMSDK: OpenIMSDK) {
groupID
);
}),
getUsersInGroup: (
params: Omit<AccessToGroupParams, 'reason'>,
opid = uuidV4()
) =>
new Promise<BaseResponse<void>>((resolve, reject) => {
openIMSDK.libOpenIMSDK.get_users_in_group(
openIMSDK.baseCallbackWrap<void>(resolve, reject),
opid,
params.groupID,
JSON.stringify(params.userIDList)
);
}),
};
}
@@ -291,6 +314,10 @@ export interface GroupModuleApi {
opid?: string
) => Promise<BaseResponse<void>>;
getJoinedGroupList: (opid?: string) => Promise<BaseResponse<GroupItem[]>>;
getJoinedGroupListPage: (
params: OffsetParams,
opid?: string
) => Promise<BaseResponse<GroupItem[]>>;
searchGroups: (
params: SearchGroupParams,
opid?: string
@@ -360,4 +387,8 @@ export interface GroupModuleApi {
dismissGroup: (groupID: string, opid?: string) => Promise<BaseResponse<void>>;
quitGroup: (groupID: string, opid?: string) => Promise<BaseResponse<void>>;
isJoinGroup: (groupID: string, opid?: string) => Promise<BaseResponse<void>>;
getUsersInGroup: (
params: Omit<AccessToGroupParams, 'reason'>,
opid?: string
) => Promise<BaseResponse<void>>;
}

View File

@@ -526,6 +526,12 @@ declare module 'libOpenIMSDK' {
cGroupMemberInfo: string
): void;
get_joined_group_list(cCallback: CB_S_I_S_S, operationID: string): void;
get_joined_group_list_page(
cCallback: CB_S_I_S_S,
operationID: string,
offset: number,
count: number
): void;
get_specified_groups_info(
cCallback: CB_S_I_S_S,
operationID: string,
@@ -647,6 +653,12 @@ declare module 'libOpenIMSDK' {
operationID: string,
cGroupID: string
): void;
get_users_in_group(
cCallback: CB_S_I_S_S,
operationID: string,
cGroupID: string,
userIDList: string
): void;
signaling_invite_in_group(
cCallback: CB_S_I_S_S,
operationID: string,