sim-sdk-web
Version:
Sim SDK for Web
130 lines (129 loc) • 5.17 kB
TypeScript
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>>;
}