更新记录
1.0.0(2025-08-06)
初始版本
平台兼容性
云端兼容性
uni-app x(4.25)
Chrome |
Safari |
Android |
iOS |
鸿蒙 |
微信小程序 |
- |
- |
√ |
√ |
- |
- |
基于开源聊天框架openim SDK编写的uts插件,提供思路,节省uniappx开发者工作量
导入类(注:自定义type类型按需导入)
import { OpenIMManager } from '@/uni_modules/yzc-openIM'
相关类方法
sdk配置相关方法
// 初始化SDK
configSDK(config: OpenIMInitConfig, callbackType:InitSDKCallbackType): boolean;
// 登录
login(logParams: LoginParams, callbackType: CommonCallBackType): void;
// 退出登录
logout(callbackType: CommonCallBackType): void;
// 获取登录状态
getLoginStatus(): LoginStatus;
// 获取userId
getLoginUserID(): string;
// 卸载SDK
unInitSDK(): void;
用户信息相关方法
// 设置用户信息更新或者状态改变监听器
setOnUserListener(callbackType: UserInfoOrStatusChangeCallBackType): void;
// 获取当前用户信息
getSelfUserInfo(callbackType: GetSelfUserInfoCallbackType): void;
// 设置当前用户信息
setSelfInfo(userInfo: SetSelfInfoParams, callbackType: CommonCallBackType): void;
// 获取指定用户缓存信息
getUsersInfo(params: GetUserInfoWithCacheParams, callbackType: GetFullUsersCallBackType): void;
// 订阅指定用户的在线状态,并返回这些用户的在线状况
subscribeUsersStatus(userIDs: string[], callbackType: GetUserOnlineStatesCallBackType): void;
// 取消订阅指定用户在线状态
unsubscribeUsersStatus(userIDs: string[], callbackType: CommonCallBackType): void;
// 获取所有已订阅用户的在线状态
getSubscribeUsersStatus(callbackType: GetUserOnlineStatesCallBackType): void;
朋友相关方法
// 添加朋友关系改变监听
addFriendListener(callbackType: FriendShipCallBackType): void;
// 接受好友申请
acceptFriendApplication(params: AccessFriendParams, callbackType: CommonCallBackType): void;
// 加入黑名单
addBlack(params: AddBlackParams, callbackType: CommonCallBackType): void;
// 添加朋友
addFriend(params: AddFriendParams, callbackType: CommonCallBackType): void;
// 验证朋友,以确定他们是否在你的朋友列表中
checkFriend(usersIds: string[], callbackType: GetFriendshipInfoItemsCallBackType): void;
// 删除朋友
deleteFriend(friendUserID: string, callbackType: CommonCallBackType): void;
// 获取黑名单
getBlackList(callbackType: GetBlackUserItemsCallBackType):void;
// 检索好友请求列表,参考用户作为申请人发起的好友请求列表
getFriendApplicationListAsApplicant(callbackType: GetFriendApplicationItemsCallBackType): void;
// 检索当前用户为收件人的好友请求列表,即他们收到的好友请求
getFriendApplicationListAsRecipient(callbackType: GetFriendApplicationItemsCallBackType): void;
// 获取好友列表
getFriendList(filterBlack: boolean, callbackType: GetFullUsersCallBackType): void;
// 分页获取好友列表
getFriendListPage(params: FriendListPageParams, callbackType: GetFullUsersCallBackType): void;
// 检索特定朋友的昵称、头像和备注
getSpecifiedFriendsInfo(usersIds: string[], filterBlack: boolean, callbackType: GetFullUsersCallBackType): void;
// 拒绝对方将您添加为好友的请求
refuseFriendApplication(params: AccessFriendParams, callbackType: CommonCallBackType): void;
// 从黑名单中删除用户
removeBlack(userID: string, callbackType: CommonCallBackType): void;
// 使用关键字在好友列表中搜索好友
searchFriends(params: SearchFriendParams, callbackType: GetSearchedFriendsInfosCallBackType): void;
// 更新朋友信息
updateFriends(params: UpdateFriendsReqParams, callbackType: CommonCallBackType): void;
群组相关方法
// 添加群组关系改变监听
addGroupListener(callbackType: GroupShipCallBackType): void;
// 创建群组
createGroup(params: CreateGroupParams, callbackType: GetGroupItemCallBackType): void;
// 加入群组
joinGroup(params: JoinGroupParams, callbackType: CommonCallBackType): void;
// 邀请用户加入群组
// 注意: 文档是成功回调是ResultInfo数组
inviteUserToGroup(params: OpreateGroupParams, callbackType: CommonCallBackType): void;
// 获取您已加入的组列表
getJoinedGroupList(callbackType: GetGroupItemsCallBackType): void;
// 使用关键字搜索已加入的组
searchGroups(params: SearchGroupParams, callbackType: GetGroupItemsCallBackType): void;
// 检索指定组的信息
getSpecifiedGroupsInfo(groupsIds: string[], callbackType: GetGroupItemsCallBackType): void;
// 设置群组信息,包括群组头像、名称、公告、介绍、扩展字段
setGroupInfo(params: SetGroupinfoParams, callbackType: CommonCallBackType): void;
// 作为群组所有者或管理员,检索希望加入组的成员申请列表
getGroupApplicationListAsRecipient(callbackType: GetGroupApplicationItemsCallBackType): void;
// 检索您作为申请人发送的群加入请求
getGroupApplicationListAsApplicant(callbackType: GetGroupApplicationItemsCallBackType): void;
// 群组所有者或管理员批准组加入请求。批准后,申请人将加入该小组
acceptGroupApplication(params: AccessGroupParams, callbackType: CommonCallBackType): void;
// 拒绝群组成员申请
refuseGroupApplication(params: AccessGroupParams, callbackType: CommonCallBackType): void;
// 检索指定群组的成员信息
getGroupMemberList(params: GetGroupMemberParams, callbackType: GetGroupMemberItemsCallBackType): void;
// 检索指定群组成员的信息
getSpecifiedGroupMembersInfo(params: GetGroupMembersInfoParams, callbackType: GetGroupMemberItemsCallBackType): void;
// 使用关键字搜索特定群组的成员
searchGroupMembers(params: SearchGroupMemberParams, callbackType: GetGroupMemberItemsCallBackType): void;
// 修改群组成员信息 注意:UpdateMemberInfoParams字段需要核对下
setGroupMemberInfo(params: UpdateMemberInfoParams, callbackType: CommonCallBackType): void;
// 检索指定群组所有者和管理员
getGroupMemberOwnerAndAdmin(groupID: string, callbackType: GetGroupMemberItemsCallBackType): void;
// 获取特定群组的成员信息,并能够按加入时间进行筛选
getGroupMemberListByJoinTimeFilter(params: GetGroupMemberByTimeParams, callbackType: GetGroupMemberItemsCallBackType): void;
// 从群组中删除成员
// 注意: 文档是成功回调是iOS是OIMSimpleResultInfo数组 安卓是GroupInviteResult数组
kickGroupMember(params: OpreateGroupParams, callbackType: CommonCallBackType): void;
// 群组所有者或组管理员可以更改组成员的静音状态
changeGroupMemberMute(params: ChangeGroupMemberMuteParams, callbackType: CommonCallBackType): void;
// 群组所有者或组管理员更改组的静音状态
changeGroupMute(params: ChangeGroupMuteParams, callbackType: CommonCallBackType): void;
// 转移群组所有者状态
transferGroupOwner(params: TransferGroupParams, callbackType: CommonCallBackType): void;
// 解散群组
dismissGroup(groupID: string, callbackType: CommonCallBackType): void;
// 退出群组
quitGroup(groupID: string, callbackType: CommonCallBackType): void;
会话相关方法
// 添加会话监听
addConversationListener(callbackType: ConversationCallBackType): void;
// 获取所有会话列表
getAllConversationList(callbackType: GetConversationItemsCallBackType): void;
// 以分页方式检索会话列表
getConversationListSplit(params: SplitConversationParams, callbackType: GetConversationItemsCallBackType): void;
// 检索会话详细信息
getOneConversation(params: GetOneConversationParams, callbackType: GetConversationDetailCallBack): void;
// 根据指定的会话ID检索多个会话列表
getMultipleConversation(conversationIDs: string[], callbackType: GetConversationItemsCallBackType): void;
// 根据会话类型获取会话ID
getConversationIDBySessionType(params: GetOneConversationParams): string;
// 获取所有会话的未读总数
getTotalUnreadMsgCount(callbackType: GetNumberCallBack): void;
// 将对话标记为已读
markConversationMessageAsRead(conversationID: string, callbackType: CommonCallBackType): void;
// 设置对话草稿
setConversationDraft(params: SetConversationDraftParams, callbackType: CommonCallBackType): void;
// 以上几个方法合并成了一个方法setConversation
setConversation(conversationID: string, params: ConversationReqParams, callbackType: CommonCallBackType): void;
// 隐藏本地对话,但不删除对话中的消息。收到新消息后,对话将再次显示
hideConversation(conversationID: string, callbackType: CommonCallBackType): void;
// 隐藏所有本地对话
hideAllConversation(callbackType: CommonCallBackType): void;
// 从本地和服务器上的指定对话中删除消息,但保留对话
clearConversationAndDeleteAllMsg(conversationID: string, callbackType: CommonCallBackType): void;
// 从本地和服务器上删除指定的对话及其消息
deleteConversationAndDeleteAllMsg(conversationID: string, callbackType: CommonCallBackType): void;
消息相关方法
// 添加message监听
addAdvancedMsgListener(callbackType: MessageCallBackType): void;
// 创建文本消息
createTextMessage(text: string): MessageItem;
// 创建@消息
createTextAtMessage(params: AtMsgParams, message?: MessageItem | null): MessageItem;
// 通过路径创建图片消息
createImageMessageFromFullPath(imagePath: string): MessageItem;
// 通过URL地址创建图片消息
createImageMessageByURL(params: ImageMsgParams): MessageItem;
// 通过路径创建语音消息
createSoundMessageFromFullPath(soundPath: string, duration: number): MessageItem;
// 通过URL地址创建语音消息
createSoundMessageByURL(params: SoundMsgParams): MessageItem;
// 通过路径创建视频消息
createVideoMessageFromFullPath(params: VideoLocalMsgParams): MessageItem;
// 通过URL地址创建视频消息
createVideoMessageByURL(params: VideoURLMsgParams): MessageItem;
// 通过路径创建文件消息
createFileMessageFromFullPath(filePath: string, fileName: string): MessageItem;
// 通过URL创建文件消息
createFileMessageByURL(params: FileMsgParams): MessageItem;
// 通过将多条消息合并为一条来创建合并消息。参数包括标题、摘要和多条消息
createMergerMessage(params: MergerMsgParams, messageList: MessageItem[]): MessageItem;
// 创建转发消息
createForwardMessage(params: MessageItem): MessageItem;
// 创建位置消息,其中包含位置的纬度和经度
createLocationMessage(params: LocationMsgParams): MessageItem;
// 创建回复消息
createQuoteMessage(params: QuoteMsgParams, message: MessageItem): MessageItem;
// 创建卡片消息
createCardMessage(params: CardMsgPrams): MessageItem;
// 创建自定义消息
createCustomMessage(params: CustomMsgParams): MessageItem;
// 创建表情符号消息
createFaceMessage(params: FaceMessageParams): MessageItem;
// 发送一条消息
sendMessage(params: SendMsgParams, message: MessageItem, callbackType: SendMessageCallBackType): void;
// 发送一条消息不存储oss 如视频
sendMessageNotOss(params: SendMsgParams, message: MessageItem, callbackType: SendMessageCallBackType): void;
// 上传一个文件
uploadFile(params: UploadFileParams, callbackType: UploadFileCallBackType): void;
// 发送打字状态,接受人只有在IM上在线时才会收到
typingStatusUpdate(params: TypingUpdateParams, callbackType: CommonCallBackType): void;
// 撤回一条消息
revokeMessage(params: OpreateMessageParams, callbackType: CommonCallBackType): void;
// 删除一条消息
deleteMessage(params: OpreateMessageParams, callbackType: CommonCallBackType): void;
// 从本地存储中删除一条消息 卸载APP后,可以再次检索
deleteMessageFromLocalStorage(params: OpreateMessageParams, callbackType: CommonCallBackType): void;
// 删除本地对话中的所有消息,但对话本身保持不变。卸载并重新安装应用程序后,仍然可以访问这些消息
deleteAllMsgFromLocal(callbackType: CommonCallBackType): void;
// 从本地和服务器上删除所有消息 会话仍然保留
deleteAllMsgFromLocalAndSvr(callbackType: CommonCallBackType): void;
// 搜索本地消息
searchLocalMessages(params: SearchLocalParams, success:(data: SearchMessageResult) => void, fail: (code: number, errMsg: string) => void): void;
// 从对话中的最新消息中检索历史聊天记录
getAdvancedHistoryMessageList(params: GetAdvancedHistoryMsgParams, success:(data: AdvancedGetMessageResult) => void, fail: (code: number, errMsg: string) => void): void;
// 倒序检索对话中的历史聊天记录,适用于在定位消息上下文时向下拉取历史消息
getAdvancedHistoryMessageListReverse(params: GetAdvancedHistoryMsgParams, success:(data: AdvancedGetMessageResult) => void, fail: (code: number, errMsg: string) => void): void;
// 按消息id搜索本地消息
findMessageList(params: FindMessageParams[], success:(data: SearchMessageResult) => void, fail: (code: number, errMsg: string) => void): void;
// 本地插入群聊消息
insertGroupMessageToLocalStorage(params: InsertGroupMsgParams, message: MessageItem, callbackType: GetMessageItemCallBackType): void;
// 在本地插入一条聊天消息
insertSingleMessageToLocalStorage(params: InsertSingleMsgParams, message: MessageItem, callbackType: GetMessageItemCallBackType): void;
// 修改消息的本地ex字段,例如在下载文件后设置保存路径
setMessageLocalEx(params: SetMessageLocalExParams, callbackType: CommonCallBackType): void;