chore: release 1.0.5
This commit is contained in:
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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'];
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>>;
|
||||
}
|
||||
|
||||
12
src/types/libOpenIMSDK.d.ts
vendored
12
src/types/libOpenIMSDK.d.ts
vendored
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user