@onyx-p/imlib-web 1.2.4 → 1.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +11854 -9170
- package/dist/index.umd.js +11861 -9169
- package/dist/types/index.d.ts +43 -3
- package/dist/types/model/iQuotedReplyMessage.d.ts +7 -0
- package/dist/types/model/iReceivedMessage.d.ts +6 -1
- package/dist/types/model/mentionedInfo.d.ts +4 -4
- package/dist/types/model/messages/index.d.ts +3 -3
- package/dist/types/model/messages/otherMediaMessages.d.ts +7 -1
- package/dist/types/types.d.ts +24 -4
- package/package.json +1 -1
package/dist/types/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ConnectionStatus, ConversationType, NotificationLevel, NotificationStatus } from './model/statusTypes';
|
|
2
|
-
import { EventListeners, Events, GetHistoryMessageOption, GetHistoryMessageResult, IBaseConversationInfo, IConversationOption, IConversationState, IDeleteMessageOptions, IGetConversationListOptions, IImageMessageOption, IInitOption, IPromiseResult, IRecallMessageOptions, ISendBody, ISendMessageOptions, IUploadHooks, IUploadMessageOption, ProfileInfo } from './types';
|
|
2
|
+
import { EventListeners, Events, GetHistoryMessageOption, GetHistoryMessageResult, IAsyncRes, IBaseConversationInfo, IConversationOption, IConversationState, IDeleteMessageOptions, IGetConversationListOptions, IImageMessageOption, IInitOption, IPromiseResult, IRecallMessageOptions, ISendBody, ISenderEnrichedMessage, ISendMessageOptions, IUploadHooks, IUploadMessageOption, ProfileInfo, IInsertOptions } from './types';
|
|
3
3
|
import { BaseMessage, IBaseMessageBody } from './model/baseMessage';
|
|
4
4
|
import { ITextMessageBody } from './model/messages/textMessage';
|
|
5
5
|
import IReceivedMessage from './model/iReceivedMessage';
|
|
@@ -7,8 +7,8 @@ import IReceivedConversation from './model/iReceivedConversation';
|
|
|
7
7
|
import { CommonReqResult, PBCodec } from './net/connection/webSocketServer';
|
|
8
8
|
import { BaseResp } from './net/pbs/rpc.base';
|
|
9
9
|
import { IChatRecordMsgDetail } from './model/messages/otherMediaMessages';
|
|
10
|
-
export { TextMessage, ImageMessage, HQVoiceMessage, GIFMessage, FileMessage, VideoMessage, RecallCommandMessage, LocationMessage, ChatRecordMessage, ContactMessage, InvitationMessage, RedEnvelopeMessage, TransferMessage, PrivateOpenBurnAfterReadingMessage, PrivateCloseBurnAfterReadingMessage, GroupOpenBurnAfterReadingMessage, GroupCloseBurnAfterReadingMessage } from './model/messages';
|
|
11
|
-
export type { ITextMessageBody, IImageMessageBody, IGIFMessageBody, IFileMessageBody, IHQVoiceMessageBody, IRecallCommandMessageBody, IVideoMessageBody, ILocationMessageBody, IChatRecordMessageBody, IContactMessageBody, IInvitationMessageBody, IRedEnvelopeMessageBody, ITransferMessageBody, IBurnAfterReadingMessageBody } from './model/messages';
|
|
10
|
+
export { TextMessage, ImageMessage, HQVoiceMessage, GIFMessage, FileMessage, VideoMessage, RecallCommandMessage, LocationMessage, ChatRecordMessage, ContactMessage, InvitationMessage, RedEnvelopeMessage, TransferMessage, LinkMessage, PrivateOpenBurnAfterReadingMessage, PrivateCloseBurnAfterReadingMessage, GroupOpenBurnAfterReadingMessage, GroupCloseBurnAfterReadingMessage } from './model/messages';
|
|
11
|
+
export type { ITextMessageBody, IImageMessageBody, IGIFMessageBody, IFileMessageBody, IHQVoiceMessageBody, IRecallCommandMessageBody, IVideoMessageBody, ILocationMessageBody, IChatRecordMessageBody, IContactMessageBody, IInvitationMessageBody, IRedEnvelopeMessageBody, ITransferMessageBody, IBurnAfterReadingMessageBody, ILinkMessageBody } from './model/messages';
|
|
12
12
|
export { MessageTypes, NotiMessageTypes } from './constants/messageTypes';
|
|
13
13
|
export type { IBaseMessageBody, IReceivedMessage, IReceivedConversation };
|
|
14
14
|
export * from './types';
|
|
@@ -175,6 +175,7 @@ export declare const getTopConversationList: () => IPromiseResult<IBaseConversat
|
|
|
175
175
|
* @param isStatusMessage 是否是状态消息
|
|
176
176
|
*/
|
|
177
177
|
export declare const registerMessageType: <T extends IBaseMessageBody>(messageType: number, isPersited: boolean, isCounted: boolean, isStatusMessage?: boolean) => new (content: T) => BaseMessage<T>;
|
|
178
|
+
export declare const insertMessage: (conversation: IConversationOption, content: IReceivedMessage, options?: IInsertOptions) => Promise<IAsyncRes<IReceivedMessage>>;
|
|
178
179
|
/**
|
|
179
180
|
* 发送消息
|
|
180
181
|
* @param options
|
|
@@ -223,7 +224,19 @@ export declare const deleteMessages: (conversation: IConversationOption, message
|
|
|
223
224
|
* @param timestamp 清除时间点, 该时间之前的消息将被清除
|
|
224
225
|
*/
|
|
225
226
|
export declare const clearHistoryMessages: (conversation: IConversationOption) => IPromiseResult<void>;
|
|
227
|
+
/**
|
|
228
|
+
* 解析聊天记录消息详情
|
|
229
|
+
* @param conversation 会话
|
|
230
|
+
* @param detailItems 消息详情
|
|
231
|
+
* @returns 消息列表
|
|
232
|
+
*/
|
|
226
233
|
export declare const parseChatRecordMsgDetails: (conversation: IConversationOption, detailItems: IChatRecordMsgDetail[]) => IReceivedMessage[];
|
|
234
|
+
/**
|
|
235
|
+
* 将消息编码为聊天记录消息详情
|
|
236
|
+
* @param message 消息
|
|
237
|
+
* @returns 消息详情
|
|
238
|
+
*/
|
|
239
|
+
export declare const encodeReceivedMessage2ChatRecordMsgDetail: (message: ISenderEnrichedMessage) => IChatRecordMsgDetail | null;
|
|
227
240
|
/**
|
|
228
241
|
* 发送已读回执
|
|
229
242
|
* @param messages 消息列表
|
|
@@ -235,9 +248,36 @@ export declare const mockLogin: (config: {
|
|
|
235
248
|
phone: string;
|
|
236
249
|
password: string;
|
|
237
250
|
}) => CommonReqResult<import("./net/pbs/rpc.login").AuthSignIn2Resp>;
|
|
251
|
+
export declare const mockGetLoginCode: (config: {
|
|
252
|
+
langCode: string;
|
|
253
|
+
phone: string;
|
|
254
|
+
}) => CommonReqResult<import("./net/pbs/rpc.login").WebGetLoginCodeResp>;
|
|
255
|
+
export declare const mockVerifyLoginCode: (config: {
|
|
256
|
+
country: string;
|
|
257
|
+
phone: string;
|
|
258
|
+
code: string;
|
|
259
|
+
}) => CommonReqResult<import("./net/pbs/rpc.login").ClickOKToWebResp>;
|
|
238
260
|
/**
|
|
239
261
|
* 清除指定会话中阅后即焚过期的消息
|
|
240
262
|
* @param conversation 会话信息
|
|
241
263
|
* @returns 被清除的消息ID列表
|
|
242
264
|
*/
|
|
243
265
|
export declare const clearBurnAfterReadingExpiredMessages: (conversation: IConversationOption) => IPromiseResult<string[]>;
|
|
266
|
+
/**
|
|
267
|
+
* 发送引用回复消息
|
|
268
|
+
* @param message 消息
|
|
269
|
+
* @param quoteReply 引用回复消息
|
|
270
|
+
* @param options 发送选项
|
|
271
|
+
* @returns 发送结果
|
|
272
|
+
*/
|
|
273
|
+
export declare const sendQuoteReplyMessage: (message: BaseMessage, quoteReply: IReceivedMessage, options?: ISendMessageOptions) => IPromiseResult<IReceivedMessage>;
|
|
274
|
+
/**
|
|
275
|
+
* 获取消息
|
|
276
|
+
* @param messageId 消息ID
|
|
277
|
+
* @returns 消息
|
|
278
|
+
*/
|
|
279
|
+
export declare const getMessageById: (messageId: number) => IPromiseResult<IReceivedMessage | null | undefined>;
|
|
280
|
+
/**
|
|
281
|
+
* 获取消息
|
|
282
|
+
*/
|
|
283
|
+
export declare const getMessageByUId: (messageUId: string) => IPromiseResult<IReceivedMessage | null | undefined>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ConversationType, MessageDirection, ReceivedStatus, SentStatus } from './statusTypes';
|
|
2
|
+
import IQuotedReplyMessage from './iQuotedReplyMessage';
|
|
2
3
|
/**
|
|
3
4
|
* 消息数据
|
|
4
5
|
*/
|
|
@@ -75,7 +76,7 @@ export default interface IReceivedMessage {
|
|
|
75
76
|
/**
|
|
76
77
|
* CPP 独有字段 消息本地 ID
|
|
77
78
|
*/
|
|
78
|
-
messageId
|
|
79
|
+
messageId: number;
|
|
79
80
|
/**
|
|
80
81
|
* 消息发送状态
|
|
81
82
|
*/
|
|
@@ -88,4 +89,8 @@ export default interface IReceivedMessage {
|
|
|
88
89
|
* 阅后即焚消息的时长
|
|
89
90
|
*/
|
|
90
91
|
burnAfterReadingTime?: number;
|
|
92
|
+
/**
|
|
93
|
+
* 引用消息
|
|
94
|
+
*/
|
|
95
|
+
quotedReply?: IQuotedReplyMessage;
|
|
91
96
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { MentionedType } from './statusTypes';
|
|
2
1
|
/**
|
|
3
2
|
* 群组内的消息包含的 @ 数据
|
|
4
3
|
*/
|
|
5
4
|
export default interface MentionedInfo {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
userList?: {
|
|
6
|
+
uin: string;
|
|
7
|
+
nickname: string;
|
|
8
|
+
}[] | undefined;
|
|
9
9
|
}
|
|
@@ -4,9 +4,9 @@ import GIFMessage, { IGIFMessageBody } from './gifMessage';
|
|
|
4
4
|
import HQVoiceMessage, { IHQVoiceMessageBody } from './voiceMessage';
|
|
5
5
|
import FileMessage, { IFileMessageBody } from './fileMessage';
|
|
6
6
|
import VideoMessage, { IVideoMessageBody } from './videoMessage';
|
|
7
|
-
import { ILocationMessageBody, LocationMessage, IChatRecordMessageBody, ChatRecordMessage, IContactMessageBody, ContactMessage, IInvitationMessageBody, InvitationMessage, IRedEnvelopeMessageBody, RedEnvelopeMessage, ITransferMessageBody, TransferMessage } from './otherMediaMessages';
|
|
7
|
+
import { ILocationMessageBody, LocationMessage, IChatRecordMessageBody, ChatRecordMessage, IContactMessageBody, ContactMessage, IInvitationMessageBody, InvitationMessage, IRedEnvelopeMessageBody, RedEnvelopeMessage, ITransferMessageBody, TransferMessage, ILinkMessageBody, LinkMessage } from './otherMediaMessages';
|
|
8
8
|
import { IBurnAfterReadingMessageBody } from './notificationMessages';
|
|
9
9
|
import { PrivateOpenBurnAfterReadingMessage, PrivateCloseBurnAfterReadingMessage, GroupOpenBurnAfterReadingMessage, GroupCloseBurnAfterReadingMessage } from './notificationMessages';
|
|
10
10
|
import RecallCommandMessage, { IRecallCommandMessageBody } from './recallCommandMessage';
|
|
11
|
-
export { TextMessage, ImageMessage, GIFMessage, HQVoiceMessage, FileMessage, RecallCommandMessage, VideoMessage, LocationMessage, ChatRecordMessage, ContactMessage, InvitationMessage, RedEnvelopeMessage, TransferMessage, PrivateOpenBurnAfterReadingMessage, PrivateCloseBurnAfterReadingMessage, GroupOpenBurnAfterReadingMessage, GroupCloseBurnAfterReadingMessage };
|
|
12
|
-
export type { ITextMessageBody, IImageMessageBody, IGIFMessageBody, IHQVoiceMessageBody, IFileMessageBody, IRecallCommandMessageBody, IVideoMessageBody, ILocationMessageBody, IChatRecordMessageBody, IContactMessageBody, IInvitationMessageBody, IRedEnvelopeMessageBody, ITransferMessageBody, IBurnAfterReadingMessageBody };
|
|
11
|
+
export { TextMessage, ImageMessage, GIFMessage, HQVoiceMessage, FileMessage, RecallCommandMessage, VideoMessage, LocationMessage, ChatRecordMessage, ContactMessage, InvitationMessage, RedEnvelopeMessage, TransferMessage, PrivateOpenBurnAfterReadingMessage, PrivateCloseBurnAfterReadingMessage, GroupOpenBurnAfterReadingMessage, GroupCloseBurnAfterReadingMessage, LinkMessage };
|
|
12
|
+
export type { ITextMessageBody, IImageMessageBody, IGIFMessageBody, IHQVoiceMessageBody, IFileMessageBody, IRecallCommandMessageBody, IVideoMessageBody, ILocationMessageBody, IChatRecordMessageBody, IContactMessageBody, IInvitationMessageBody, IRedEnvelopeMessageBody, ITransferMessageBody, IBurnAfterReadingMessageBody, ILinkMessageBody };
|
|
@@ -90,10 +90,16 @@ export interface ITransferMessageBody {
|
|
|
90
90
|
networkLogo: string;
|
|
91
91
|
refId: string;
|
|
92
92
|
}
|
|
93
|
+
export interface ILinkMessageBody {
|
|
94
|
+
url: string;
|
|
95
|
+
title?: string;
|
|
96
|
+
content?: string;
|
|
97
|
+
}
|
|
93
98
|
declare let LocationMessage: new (content: ILocationMessageBody) => import("../baseMessage").BaseMessage<ILocationMessageBody>;
|
|
94
99
|
declare let ChatRecordMessage: new (content: IChatRecordMessageBody) => import("../baseMessage").BaseMessage<IChatRecordMessageBody>;
|
|
95
100
|
declare let ContactMessage: new (content: IContactMessageBody) => import("../baseMessage").BaseMessage<IContactMessageBody>;
|
|
96
101
|
declare let InvitationMessage: new (content: IInvitationMessageBody) => import("../baseMessage").BaseMessage<IInvitationMessageBody>;
|
|
97
102
|
declare let RedEnvelopeMessage: new (content: IRedEnvelopeMessageBody) => import("../baseMessage").BaseMessage<IRedEnvelopeMessageBody>;
|
|
98
103
|
declare let TransferMessage: new (content: ITransferMessageBody) => import("../baseMessage").BaseMessage<ITransferMessageBody>;
|
|
99
|
-
|
|
104
|
+
declare let LinkMessage: new (content: ILinkMessageBody) => import("../baseMessage").BaseMessage<ILinkMessageBody>;
|
|
105
|
+
export { LocationMessage, ChatRecordMessage, ContactMessage, InvitationMessage, RedEnvelopeMessage, TransferMessage, LinkMessage };
|
package/dist/types/types.d.ts
CHANGED
|
@@ -137,7 +137,7 @@ export interface ISendMessageOptions {
|
|
|
137
137
|
/**
|
|
138
138
|
* 消息发送之前的回调
|
|
139
139
|
*/
|
|
140
|
-
onSendBefore?: (message: IReceivedMessage) => void;
|
|
140
|
+
onSendBefore?: (message: IReceivedMessage, uploadOptions?: IUploadMessageParams) => void;
|
|
141
141
|
/**
|
|
142
142
|
* 重发消息时用到,重发消息的 messageId。
|
|
143
143
|
* 当要重发消息时所有参数需与原始消息参数一致,messageId 必须存在。
|
|
@@ -166,11 +166,19 @@ export interface IUploadHooks {
|
|
|
166
166
|
/**
|
|
167
167
|
* 文件上传完成回调,可通过修改返回值以修改待发布的消息内容,如实现自定义消息
|
|
168
168
|
*/
|
|
169
|
-
onComplete?: (
|
|
169
|
+
onComplete?: (result: IUploadCompletedResult) => void | BaseMessage;
|
|
170
170
|
}
|
|
171
|
+
export interface IUploadMessageParams {
|
|
172
|
+
items: {
|
|
173
|
+
url: string;
|
|
174
|
+
file: Blob;
|
|
175
|
+
}[];
|
|
176
|
+
encryptKey: string;
|
|
177
|
+
}
|
|
178
|
+
export type IUploadPrepareResult = IUploadMessageParams;
|
|
171
179
|
export type IUploadCompletedResult = {
|
|
172
180
|
urls: string[];
|
|
173
|
-
encryptedKey
|
|
181
|
+
encryptedKey: string;
|
|
174
182
|
};
|
|
175
183
|
export type IUploadCallback = {
|
|
176
184
|
onProgress?: (progress: number) => void;
|
|
@@ -178,13 +186,15 @@ export type IUploadCallback = {
|
|
|
178
186
|
onError?: (reason: string) => void;
|
|
179
187
|
};
|
|
180
188
|
export interface IUploader {
|
|
181
|
-
upload(
|
|
189
|
+
upload(params: IUploadMessageParams, callback: IUploadCallback): void;
|
|
182
190
|
cancel(): void;
|
|
191
|
+
prepare(files: Blob[]): Promise<IUploadPrepareResult>;
|
|
183
192
|
}
|
|
184
193
|
/**
|
|
185
194
|
* 文件消息配置
|
|
186
195
|
*/
|
|
187
196
|
export interface IUploadMessageOption extends ISendMessageOptions {
|
|
197
|
+
full?: boolean;
|
|
188
198
|
}
|
|
189
199
|
/**
|
|
190
200
|
* 图片消息配置
|
|
@@ -192,6 +202,12 @@ export interface IUploadMessageOption extends ISendMessageOptions {
|
|
|
192
202
|
export interface IImageMessageOption extends IUploadMessageOption {
|
|
193
203
|
thumbnailConfig?: IThumbnailConfig;
|
|
194
204
|
}
|
|
205
|
+
export interface IInsertOptions {
|
|
206
|
+
/**
|
|
207
|
+
* 插入消息是否计入未读数: true 计数 false 不计数, 默认不计数
|
|
208
|
+
*/
|
|
209
|
+
isUnread?: boolean;
|
|
210
|
+
}
|
|
195
211
|
/**
|
|
196
212
|
* 缩略图配置
|
|
197
213
|
*/
|
|
@@ -295,3 +311,7 @@ export interface IAsyncRes<T = any> {
|
|
|
295
311
|
* 通过 `Promise.resolve` 来处理预期内的异常,进而通过 Uncatch Promise Error 暴露预期外的异常
|
|
296
312
|
*/
|
|
297
313
|
export type IPromiseResult<T> = Promise<IAsyncRes<T>>;
|
|
314
|
+
export interface ISenderEnrichedMessage extends IReceivedMessage {
|
|
315
|
+
senderNickname: string;
|
|
316
|
+
senderAvatar?: string | null | undefined;
|
|
317
|
+
}
|