UNPKG

thunbu-im-sdk

Version:

thunbu IM JSSDK

626 lines (625 loc) 22.4 kB
import { SIMTypes } from "./index.i"; import { IMReceiveTypes } from "./IM.i"; export declare namespace GroupTypes { enum GroupUserRoleEnum { GroupOwner = 0, GroupAdmin = 1, GroupUser = 2 } interface GetAllUserGroupResItem { /** 群组Id */ "id": string; /** 群组名称 */ "name": string; /** 群组头像 */ "avatar": string; /** 群主ID */ "ownerId": string; /** 人数上限 */ "maxCount": number; /** 用户状态: 1需要审核,0不需要审核 */ "isReview": 0 | 1; /** 群组类型 1内部群,3事件群,4外部群 */ "groupType": GroupTypeEnum; /** 应用ID */ "appId": string; /** 建群时间 */ "createTime": number; /** 群组的默认类型:0名字头像都是自定义, 1名字默认头像自定义, 2名字是自定义头像是默认, 3都是默认 */ "defaultType": 0 | 1 | 2 | 3; /** 组成默认信息的人员id */ "defaultAccounts": string; /** 群人数 */ "num": number; /** 邀请开关 */ "invitedToggle": 0 | 1; /** @all开关 */ "atallToggle": 0 | 1; } interface GroupMemberItemType { /** 租户ID */ "appId": string; /** 群ID */ "groupId": string; /** 用户ID */ "userId": string; /** 用户角色(0群主,1管理员,2普通用户) */ "role": GroupUserRoleEnum; /** 群成员昵称 */ "nickname": string; /** 用户昵称 */ "petName": string; /** 用户昵称拼音 */ "nicknamePy": string; /** 免打扰(1表示消息免打扰) */ "disturb": 0 | 1; /** 删除标识,0代表为删除,1代表已删除 */ "delFlag": 0 | 1; /** 创建时间(加入时间) */ "createTime": number; /** 修改时间 */ "updateTime": number; /** 本人被谁邀请进群的(非邀请的情况,本字段则可为空) */ "beInviteId"?: string; /** 如是群的被转让人,本字段填的就是最近一次被转让时的时间 */ beOwnerTime?: string; } interface GroupEventExplainType { /** 建群人-account */ "createBy": string; /** 建群人-name */ "createName": string; /** 建群时间 */ "createTime": number; /** 是否解散:0正常,1解散 */ "delFlag": boolean; /** 附件地址JSON数组格式 */ "fileInfo": string; /** 群组ID */ "groupId": string; /** 事件ID */ "id": string; /** 图片地址JSON数组格式 */ "imageInfo": string; /** 文字内容 */ "text": string; } interface GetGroupDetailRes extends GetAllUserGroupResItem { /** 群成员信息 */ groupMembers: GroupMemberItemType[]; /** 群公告信息 */ groupEventExplain?: GroupEventExplainType; } interface GroupInterfaceType extends DefaultApiTypes.DefaultApiClass { /** 群组查询-查询用户的所有群 */ getAllUserGroup(params: GetAllUserGroupParams): Promise<DefaultApiTypes.DefaultResponse<GetAllUserGroupResItem[]>>; /** 修改群 */ modifyGroup(params: ModifyGroupParams): Promise<DefaultApiTypes.DefaultResponse>; /** 切换@All的设置 */ setGroupAtAllToggle(p: SetGroupAtAllToggleParams): Promise<DefaultApiTypes.DefaultResponse>; /** 更改邀请群成员的设置 */ setGroupInvitedToggle(p: SetGroupInvitedToggleParams): Promise<DefaultApiTypes.DefaultResponse>; /** 获取群的简要信息 */ getGroupIntro(p: GetGroupIntroParams): Promise<DefaultApiTypes.DefaultResponse<GetAllUserGroupResItem>>; /** 获取群组的详细信息 */ getGroupDetail(p: GetGroupDetailParams): Promise<DefaultApiTypes.DefaultResponse<GetGroupDetailRes>>; /** 获取群组的详细信息 - 列表获取 */ getGroupDetailList(p: GetGroupListDetailParams): Promise<DefaultApiTypes.DefaultResponse<GetGroupDetailRes[]>>; /** 通过群组名称和群组类型来搜索当前用户拥有的群组 */ searchGroups(p: SearchGroupsParams): Promise<DefaultApiTypes.DefaultResponse<GetAllUserGroupResItem[]>>; /** 邀请加入群聊 */ inviteJoinGroup(p: InviteGroupParams): Promise<DefaultApiTypes.DefaultResponse>; /** 转让群主 */ changeGroupOwner(p: ChangeOwnerParams): Promise<DefaultApiTypes.DefaultResponse>; /** 获取群组管理员 */ getGroupManagers(p: GetGroupManagerParams): Promise<DefaultApiTypes.DefaultResponse<GroupMemberItemType[]>>; /** getGroupMemberIds */ getGroupMemberIds(p: GetGroupMemberIdsParams): Promise<DefaultApiTypes.DefaultResponse<string[]>>; /** 获取群组成员集合 */ getGroupMemberList(p: GetGroupMemberListParams): Promise<DefaultApiTypes.DefaultResponse<GroupMemberItemType[]>>; /** 将人员移出群聊 */ deleteGroupMember(p: DeleteGroupMemberParams): Promise<DefaultApiTypes.DefaultResponse>; /** 退出群组 */ quitGroup(p: QuitGroupParams): Promise<DefaultApiTypes.DefaultResponse>; /** 修改群成员角色 */ setGroupMemberRole(p: SetGroupMemberRoleParams): Promise<DefaultApiTypes.DefaultResponse>; } interface ConstructorParams { baseUrl: string; } enum GroupTypeEnum { /** 内部群 */ InnerGroup = 1, /** 事件群 */ EventGroup = 3, /** 外部群 */ OuterGroup = 4, /** 组织群 */ OrgGroup = 5, /** 会议群聊 */ MeetingGroup = 6 } interface CreateGroupParams { /** 群组类型,0-群组,1-讨论组 */ groupType: 0 | 1; /** 群组名称 */ groupName: string; /** 人员列表 */ userIds: string[]; } /** 获取群成员参数 */ interface GetAllUserGroupParams { typeArr?: (1 | 3 | 4)[]; } /** 修改群组 */ interface ModifyGroupParams { groupType: GroupTypeEnum; groupId: string; groupName?: string; avatar?: string; /** 是否需要审批 1需要审核,0不需要审核 */ isReview?: 0 | 1; notice?: string; } interface SetGroupAtAllToggleParams { groupType: GroupTypeEnum; groupId: string; /** @All的设置 是否开启@All */ toggle: 0 | 1; } interface SetGroupInvitedToggleParams { groupType: GroupTypeEnum; groupId: string; /** 是否允许邀请 */ toggle: 0 | 1; } interface GetGroupIntroParams { groupType: GroupTypeEnum; groupId: string; } interface GetGroupDetailParams { groupType: GroupTypeEnum; groupId: string; } interface GetGroupListDetailParams { groupType: GroupTypeEnum; groupIds: string[]; } interface SearchGroupsParams { groupName: string; /** 0私密群,1公开群,2讨论组,3事件群(默认查询所有 */ typeJsonArray?: (0 | 1 | 2 | 3)[]; } interface JoinGroupParams { groupId: string; reason?: string; } interface InviteGroupParams { groupType: GroupTypeEnum; groupId: string; userIds: string[]; } interface ConfirmInviteJoinGroup { invitedId: string; agree: boolean; } interface GroupMemberInterfaceType { } interface ConstructorParams { baseUrl: string; loginMessage?: { userSig: string; terminal: string; appId: string; appversion: string; account: string; }; } /** 转让群组参数 */ interface ChangeOwnerParams { groupType: GroupTypes.GroupTypeEnum; groupId: string; newOwnerId: string; } /** 获取群组管理员参数 */ interface GetGroupManagerParams { groupType: GroupTypes.GroupTypeEnum; groupId: string; } /** 获取群组成员Id集合参数 */ interface GetGroupMemberIdsParams { groupType: GroupTypes.GroupTypeEnum; groupId: string; } /** 获取群组成员集合参数 */ interface GetGroupMemberListParams { groupType: GroupTypes.GroupTypeEnum; groupId: string; } /** 踢人参数 */ interface DeleteGroupMemberParams { groupType: GroupTypes.GroupTypeEnum; groupId: string; userIds: string[]; } /** 退出群组 */ interface QuitGroupParams { groupType: GroupTypes.GroupTypeEnum; groupId: string; } /** 设置群成员角色 */ interface SetGroupMemberRoleParams { groupType: GroupTypes.GroupTypeEnum; groupId: string; managerIds: string[]; /** 1设置管理员,2取消管理员 */ type: 1 | 2; } /** ES 搜索群 */ interface SearchEsGroupByNameParams { text: string; /** 页码 */ index: number; /** 当前页有多少数据 */ rows: number; } /** 通过手机号搜索群聊 */ interface SearchGroupByMobileParams { mobile: string; /** 页码 */ page: number; /** 当前页有多少数据 */ rows: number; } } /** 人员相关信息接口类型 */ export declare namespace UserTypes { interface FetchMultiPersonalDataResItem { /** 账号 */ account: string; /** 用户头像url地址 */ avatar: string; /** 账号创建时间 */ createTime: string; /** 自定义字段内容 */ definition: string; /** 0正常,1禁用手机离线推送 */ disablePush: number; /** 用户昵称拼音 */ nicknamePy: string; /** 用户昵称 */ petName: string; /** 用户姓名 */ userNickname: string; /** 用户状态0正常,1禁用 */ userStatus: number; /** 用户id */ userId: number; } interface UserInterfaceType extends DefaultApiTypes.DefaultApiClass { fetchMultiPersonalData: (params: UserTypes.FetchMultiPersonalDataParams) => Promise<DefaultApiTypes.DefaultResponse<FetchMultiPersonalDataResItem>>; } interface ConstructorParams { baseUrl: string; loginMessage?: { userSig: string; terminal: string; appId: string; appversion: string; account: string; }; } interface FetchMultiPersonalDataParams { accounts: string[]; } } /** 会话相关接口类型 */ export declare namespace ChatTypes { interface GetChatInfoTypes { /** id */ "id": string; /** 应用id */ "appId": string; /** 账号 */ "account": string; /** 聊天会话id(单聊为聊天对象用户id,群聊为群组id) */ "sessionId": string; /** 聊天会话名称 */ "sessionName": string; /** 聊天会话头像路径 */ "avatar": string; /** 会话类型,0单聊,1群聊,2订阅号,10订阅号盒子 */ "sessionType": SIMTypes.ChatTypeEnum; /** 群组类型 0私密群,1公开群,2讨论组,3事件群 */ "groupType": GroupTypes.GroupTypeEnum; /** 置顶时间 */ "toppingTime": string; /** 置顶时间Long型 */ "toppingTimeLong": string; /** 是否置顶 */ "isTop": 0 | 1; /** 安全类型0普通,1私聊 */ "securityType": 0 | 1; /** 是否免打扰:0否,1是 */ "notDisturb": 0 | 1; /** 是否显示:0否,1是 */ "isShow": 0 | 1; /** 创建时间 */ "createTime": string; /** 修改时间 */ "updateTime": string; /** 最后消息包 */ "lastMsg": IMReceiveTypes.DefaultMsg; /** 是否@标记:0否,1是 */ "isAt": 0 | 1; /** 会话状态: 0正常,1解散群,2被踢出群,3单聊对方账号禁用, 10彻底删除,不可恢复 */ "invalid": 0 | 1 | 2 | 3 | 10; /** 域状态 0内域,1外域 */ "cross": 0 | 1; /** 会话级别:0外层,1内层 */ "sessionLevel": 0 | 1; } interface ChatInterfaceType extends DefaultApiTypes.DefaultApiClass { /** 设置会话 */ setChatSession(p: SetChatSessionParams): Promise<DefaultApiTypes.DefaultResponse>; /** 获取会话详情信息 */ getChatInfo(p: GetChatInfoParams): Promise<DefaultApiTypes.DefaultResponse<GetChatInfoTypes>>; /** 获取所有会话 - 有增量选项 */ getAllChat(p: GetAllChatParams): Promise<DefaultApiTypes.DefaultResponse<GetChatInfoTypes[]>>; /** 删除会话(设置为不可见) */ deleteChat(p: DeleteChatParams): Promise<DefaultApiTypes.DefaultResponse>; /** 删除会话(彻底删除) */ destroyChat(p: DeleteChatParams): Promise<DefaultApiTypes.DefaultResponse>; } interface ConstructorParams { baseUrl: string; loginMessage?: { userSig: string; terminal: string; appId: string; appversion: string; account: string; }; } interface SetChatSessionParams { sessionId: string; securityType: 0 | 1; sessionType: SIMTypes.ChatTypeEnum; /** 是否置顶 0否,1是 */ isTop?: 0 | 1; /** 是否免打扰 0否,1是 */ notDisturb?: 0 | 1; } interface GetChatInfoParams { sessionId: string; securityType: 0 | 1; sessionType: SIMTypes.ChatTypeEnum; } interface GetAllChatParams { sessionLevel?: 0 | 1; lastPullTime?: number; } interface DeleteChatParams { sessionId: string; sessionType: SIMTypes.ChatTypeEnum; securityType: 0 | 1; } type SetChatSessionLaterDealParams = { sessionId: string; securityType: 0 | 1; sessionType: SIMTypes.ChatTypeEnum; isLaterDeal: 0 | 1; }; } /** 消息相关接口类型 */ export declare namespace MessageTypes { interface GetMsgListAndCdMsgRes { msg: IMReceiveTypes.DefaultMsg[]; cdMsg: IMReceiveTypes.CdMsgBody[]; } interface GetMsgReadDataRes { "appId": number; "avatar": string; "createBy": string; "createDate": string; "delFlag": 0 | 1; "groupId": string; "id": string; "isRead": 0 | 1; "msgId": string; "owner": string; "petName": string; "readDate": string; "remarks": string; "securityType": 0 | 1; "tId": string; "updateBy": string; "updateDate": string; "userName": string; } interface GetMsgStatusItemType { /** 是否标记 */ "sign": boolean; /** 是否删除 */ "delFlag": boolean; /** 删除标记 */ "priDelFlag": boolean; /** 回复数量 */ "replyCount": number; /** 是否有小红点? */ "redDarkenFlag": boolean; /** 排序ID */ "serialId": string; } interface MessageInterfaceType extends DefaultApiTypes.DefaultApiClass { /** 获取指定区间内消息和被指令修改的消息 */ getMsgListAndCdMsgById(p: GetMsgListAndCdMsgByIdParams): Promise<DefaultApiTypes.DefaultResponse<GetMsgListAndCdMsgRes>>; /** 历史记录搜索 */ searchMsg(p: SearchMsgParams): Promise<DefaultApiTypes.DefaultResponse<IMReceiveTypes.DefaultMsg[]>>; /** 获取已读状态 */ getMsgReadData(p: GetMsgReadDataParams): Promise<DefaultApiTypes.DefaultResponse<GetMsgReadDataRes[]>>; /** 查询回复消息列表 */ getReplyList(p: GetReplyListParams): Promise<DefaultApiTypes.DefaultResponse<IMReceiveTypes.DefaultMsg[]>>; /** 根据消息Id列表查询消息列表 */ getMessageDetails(p: GetMessageDetailsParams): Promise<DefaultApiTypes.DefaultResponse<IMReceiveTypes.DefaultMsg[]>>; /** 标记消息 */ signMessage(p: SignMessageParams): Promise<DefaultApiTypes.DefaultResponse>; /** 取消标记消息 */ unSignMessage(p: SignMessageParams): Promise<DefaultApiTypes.DefaultResponse>; /** 获取标记列表 */ getSignList(p: GetSignListParams): Promise<DefaultApiTypes.DefaultResponse<IMReceiveTypes.DefaultMsg[]>>; /** 查询用户敏感消息(查询指令) */ getCdMsgList(p: GetCdMsgListParams): Promise<DefaultApiTypes.DefaultResponse<IMReceiveTypes.CdMsgBody[]>>; /** 根据会话消息序号查询消息列表 */ getMsgList(p: GetMsgListParams): Promise<DefaultApiTypes.DefaultResponse<IMReceiveTypes.DefaultMsg[]>>; /** 根据会话消息序号区间查询消息状态列表 */ getMsgStatusList(p: GetMsgStatusListParams): Promise<DefaultApiTypes.DefaultResponse<GetMsgStatusItemType[]>>; } interface ConstructorParams { baseUrl: string; loginMessage?: { userSig: string; terminal: string; appId: string; appversion: string; account: string; }; } /** 获取指定区间内消息和被指令修改的消息参数 */ interface GetMsgListAndCdMsgByIdParams { sessionId: string; sessionType: SIMTypes.ChatTypeEnum; securityType: 0 | 1; /** 消息id */ msgId?: string; /** 获取数量 */ rows?: number; /** 0向下拉,1向上拉,2定位前后 */ type?: 0 | 1 | 2; } interface SearchMsgParams { sessionId: string; sessionType: SIMTypes.ChatTypeEnum; securityType: 0 | 1; /** 消息id */ msgId?: string; /** 搜索文字 */ searchName?: string; /** 获取数量 */ rows?: number; /** 搜索类型 0全部,1文件,2图片及视频 */ type: 0 | 1 | 2; } interface GetMsgReadDataParams { msgId: string; } interface GetReplyListParams { msgId: string; sessionType: SIMTypes.ChatTypeEnum; } interface GetMessageDetailsParams { msgIds: string[]; sessionType: SIMTypes.ChatTypeEnum; } interface SignMessageParams { sessionId: string; sessionType: SIMTypes.ChatTypeEnum; securityType: 0 | 1; msgId: string; cross: 0 | 1; } interface GetSignListParams { sessionId: string; sessionType: SIMTypes.ChatTypeEnum; securityType: 0 | 1; signDate?: number; rows?: number; } interface GetCdMsgListParams { time: string; } interface GetMsgListParams { sessionId: string; sessionType: SIMTypes.ChatTypeEnum; securityType: 0 | 1; serialId?: number; msgId?: string; rows: number; type: 0 | 1 | 2; } interface GetMsgStatusListParams { sessionId: string; sessionType: SIMTypes.ChatTypeEnum; securityType: 0 | 1; startSerialId: number; endSerialId: number; } } export declare namespace DefaultApiTypes { interface TbRequestConfig { url?: string; baseURL?: string; method: 'get' | 'post'; headers?: any; params?: any; paramsSerializer?: (params: any) => string; data?: any; timeout?: number; timeoutErrorMessage?: string; withCredentials?: boolean; responseType?: ResponseType; xsrfCookieName?: string; xsrfHeaderName?: string; onUploadProgress?: (progressEvent: any) => void; onDownloadProgress?: (progressEvent: any) => void; maxContentLength?: number; validateStatus?: ((status: number) => boolean) | null; maxBodyLength?: number; maxRedirects?: number; socketPath?: string | null; httpAgent?: any; httpsAgent?: any; decompress?: boolean; } interface TbResponse { [key: string]: any; } type HttpClient = { get: <T = any>(...params: any[]) => Promise<T>; post: <T = any>(...params: any[]) => Promise<T>; interceptors: { request: { use: (config: (config: DefaultApiTypes.TbRequestConfig) => DefaultApiTypes.TbRequestConfig) => DefaultApiTypes.TbRequestConfig; }; response: { use: (p: (response: DefaultApiTypes.TbResponse) => DefaultApiTypes.TbResponse, p1: (err: any) => void) => DefaultApiTypes.TbResponse; }; }; setDefaultConfig: (params: any) => void; }; interface DefaultApiClass { readonly Http: HttpClient; headers: DefaultApiConstructorProps['headers']; setDefaultHeaders: (headers: DefaultApiConstructorProps['headers']) => void; setLoginHeader: (headers: AppLoginHeader) => void; } interface DefaultApiConstructorProps { baseUrl: string; headers?: { [key: string]: string; }; } interface AppLoginHeader { userSig: string; terminal: string; appId: string; appversion: string; account: string; } interface DefaultResponse<T = {}> { code: number; message: string; success: boolean; data: T; } }