UNPKG

sim-sdk-web

Version:

Sim SDK for Web

130 lines (129 loc) 5.17 kB
import { HistoryMessageParam, HistoryMessageResponse, LiveMessageParam, MessageItem, ServerResponse } from '../types/entity'; import SIMSDK from './index'; import { GroupType } from '../types/enum'; /** * 消息服务 - 负责消息创建、发送和历史记录 */ export declare class MessageService { private readonly sdk; /** * 创建消息服务实例 * @param sdk SIMSDK实例 */ constructor(sdk: SIMSDK); /** * 通用发送消息方法 * @param messageItem 消息项 * @param apiEndpoint API端点 * @returns 发送结果Promise */ private sendMessage; /** * 获取发送消息所需的API端点 * @param params 附加参数 * @param groupType 会话类型 * @returns API端点 */ private getMessageApi; /** * 创建消息通用方法 * @param type 消息类型 * @param to 接收者用户名或群组ID * @param groupType 会话类型 * @param additionalParams 附加参数 * @param content 内容对象 * @returns 创建结果Promise */ private createMessage; /** * 创建文本消息 * @param text 文本内容 * @param to 接收者用户名或群组ID * @param groupType 会话类型 * @param params 附加参数 */ createTextMessage(text: string, to: string, groupType: GroupType, params?: Partial<Omit<MessageItem, 'text'>>): Promise<ServerResponse<MessageItem[]>>; /** * 创建图片消息 * @param link 图片链接 * @param snapshot 快照链接 * @param to 接收者用户名或群组ID * @param groupType 会话类型 * @param params 附加参数 */ createImageMessage(link: string, snapshot: string, to: string, groupType: GroupType, params?: Partial<Omit<MessageItem, 'link' | 'snapshot'>>): Promise<ServerResponse<MessageItem[]>>; /** * 创建文件消息 * @param fileUrl 文件链接 * @param to 接收者用户名或群组ID * @param groupType 会话类型 * @param params 附加参数 */ createFileMessage(fileUrl: string, to: string, groupType: GroupType, params?: Partial<Omit<MessageItem, 'link'>>): Promise<ServerResponse<MessageItem[]>>; /** * 创建音频消息 * @param audioUrl 音频链接 * @param to 接收者用户名或群组ID * @param groupType 会话类型 * @param params 附加参数 */ createAudioMessage(audioUrl: string, to: string, groupType: GroupType, params?: Partial<Omit<MessageItem, 'link'>>): Promise<ServerResponse<MessageItem[]>>; /** * 创建视频消息 * @param videoUrl 视频链接 * @param to 接收者用户名或群组ID * @param groupType 会话类型 * @param params 附加参数 */ createVideoMessage(videoUrl: string, to: string, groupType: GroupType, params?: Partial<Omit<MessageItem, 'link'>>): Promise<ServerResponse<MessageItem[]>>; /** * 创建链接消息 * @param linkUrl 链接地址 * @param to 接收者用户名或群组ID * @param groupType 会话类型 * @param params 附加参数 */ createLinkMessage(linkUrl: string, to: string, groupType: GroupType, params?: Partial<Omit<MessageItem, 'text'>>): Promise<ServerResponse<MessageItem[]>>; /** * 创建GIF消息 * @param gifUrl GIF图片链接 * @param to 接收者用户名或群组ID * @param groupType 会话类型 * @param params 附加参数 */ createGifMessage(gifUrl: string, to: string, groupType: GroupType, params?: Partial<Omit<MessageItem, 'link'>>): Promise<ServerResponse<MessageItem[]>>; /** * 创建操作类消息 * @param optionText 操作文本 * @param to 接收者用户名或群组ID * @param groupType 会话类型 * @param params 附加参数 */ createOptionMessage(optionText: string, to: string, groupType: GroupType, params?: Partial<Omit<MessageItem, 'text'>>): Promise<ServerResponse<MessageItem[]>>; /** * 创建Emoji消息 * @param emoji emoji文本 * @param to 接收者用户名或群组ID * @param groupType 会话类型 * @param params 附加参数 */ createEmojiMessage(emoji: string, to: string, groupType: GroupType, params?: Partial<Omit<MessageItem, 'text'>>): Promise<ServerResponse<MessageItem[]>>; /** * 创建自定义消息 * @param customText 自定义文本 * @param to 接收者用户名或群组ID * @param groupType 会话类型 * @param params 附加参数 */ createCustomMessage(customText: string, to: string, groupType: GroupType, params?: Partial<Omit<MessageItem, 'text'>>): Promise<ServerResponse<MessageItem[]>>; /** * 获取历史消息列表 * @param params 查询参数,包括groupId, lastId, size */ getHistoryMessageList({ groupId, lastId, size }: HistoryMessageParam): Promise<ServerResponse<HistoryMessageResponse>>; /** * 获取直播消息接口 * @param params 查询参数,包括groupId */ getLiveMessageList({ groupId }: LiveMessageParam): Promise<ServerResponse<HistoryMessageResponse>>; }