sim-sdk-web
Version:
Sim SDK for Web
171 lines (170 loc) • 5.35 kB
TypeScript
import SIMSDK from './index';
import { GroupInfoVO, GroupPermission, KickGroupMemberParams, LatestMessagesUpdateResponse, MessageItem, MuteMembersParams, ReqPageParam, ServerResponse, UpdateGroupMemberPermission, UpdateGroupPermission } from '../types/entity';
/**
* 群组服务 - 负责群组创建、管理和成员操作
*/
export declare class GroupService {
private readonly sdk;
/**
* 创建群组服务实例
* @param sdk SIMSDK实例
*/
constructor(sdk: SIMSDK);
/**
* 获取群组详细信息
* @param groupId 群组ID
* @returns 群组信息Promise
*/
getGroupInfo(groupId: number): Promise<ServerResponse<GroupInfoVO>>;
/**
* 获取群成员
* @param groupId 群组ID
* @returns 群组信息Promise
*/
getGroupMember(groupId: number): Promise<ServerResponse>;
/**
* 获取群组成员列表
* @param params 包含群组ID和可选分页参数的对象
* @returns 群组成员信息Promise
*/
getGroupMembers(params: {
groupId: number;
} & Partial<ReqPageParam>): Promise<ServerResponse<GroupInfoVO>>;
/**
* 进群
* @param groupId 包含群组ID
* @returns Promise
*/
joinGroup(groupId: number): Promise<ServerResponse>;
/**
* leftGroup
* @param groupId 包含群组ID
* @returns Promise
*/
leftGroup(groupId: number): Promise<ServerResponse>;
/**
* 检测是否可以进群
* @param groupId 包含群组ID
* @returns Promise
*/
checkGroupBlock(groupId: number): Promise<ServerResponse>;
/**
* 更新最后一条消息
* @param latestMessage
* @returns Promise
*/
updateLatestMessage(latestMessage: Map<number, number>): Promise<ServerResponse<Map<number, number>>>;
/**
* 获取群组最后一条消息
* @param groups
* @returns Promise
*/
getGroupLatestMessage(groups: Array<number>): Promise<ServerResponse<Map<number, MessageItem>>>;
/**
* 检测最新的群消息
* @param ttl
* @returns Promise
*/
checkGroupLatestMessage(ttl: number): Promise<ServerResponse<LatestMessagesUpdateResponse>>;
/**
* 获取我的群权限
* @param groupId
* @returns Promise
*/
getMyGroupPermission(groupId: number): Promise<ServerResponse<GroupPermission[]>>;
/**
* 获取群权限
* @param groupId
* @returns Promise
*/
getGroupPermission(groupId: number): Promise<ServerResponse<GroupPermission[]>>;
/**
* 获取群成员权限
* @param groupId
* @param userId
* @returns Promise
*/
getGroupMemberPermission(groupId: number, userId: number): Promise<ServerResponse<GroupPermission[]>>;
/**
* 更新群权限(管理员使用)
* @param params
* @returns Promise
*/
updateGroupPermission(params: UpdateGroupPermission): Promise<ServerResponse>;
/**
* 更新群用户权限(管理员使用)
* @param params
* @returns Promise
*/
updateGroupMemberPermission(params: UpdateGroupMemberPermission): Promise<ServerResponse>;
/**
* 踢人
* @param params
* @returns Promise
*/
kickGroupMember(params: KickGroupMemberParams): Promise<ServerResponse>;
/**
* 禁言解除禁言
* @param params
* @returns Promise
*/
muteMembers(params: MuteMembersParams): Promise<ServerResponse>;
/**
* 修改群名称
* @param groupId 包含 groupId
* @param name 包含 name
* @returns Promise
*/
editGroupName(groupId: number, name: string): Promise<ServerResponse>;
/**
* 修改群简介/公告
* @param groupId 包含 groupId
* @param notification 包含 notification
* @returns Promise
*/
editNotification(groupId: number, notification: string): Promise<ServerResponse>;
/**
* 修改群自定义信息
* @param groupId 包含 groupId
* @param customer 包含 customer
* @returns Promise
*/
editGroupCustomer(groupId: number, customer: string): Promise<ServerResponse>;
/**
* 设置群管理员
* @param groupId 群 ID
* @param username 用户名
* @returns Promise
*/
addAdmin(groupId: number, username: number): Promise<ServerResponse>;
/**
* 删除群管理员
* @param groupId 群 ID
* @param username 用户名
* @returns Promise
*/
deleteAdmin(groupId: number, username: number): Promise<ServerResponse>;
/**
* 置顶消息
* @param groupId 群 ID
* @param messageId 消息 ID
* @param type 类型(0:取消置顶,1:置顶)
* @returns Promise
*/
pin(groupId: number, messageId: number, type: number): Promise<ServerResponse>;
/**
* 群禁言 / 解除禁言
* @param groupId 群 ID
* @param type 类型(0:禁言,1:解除禁言)
* @returns Promise
*/
muteGroup(groupId: number, type: number): Promise<ServerResponse>;
/**
* 群成员禁言 / 解除禁言
* @param groupId 群 ID
* @param username 用户名
* @param type 类型(0:禁言,1:解除禁言)
* @returns Promise
*/
muteMember(groupId: number, username: number, type: number): Promise<ServerResponse>;
}