node-nim
Version:
NetEase IM nodejs wrapper based on NetEase IM C++ SDK
746 lines • 24 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.V2NIMTeamService = void 0;
const loader_1 = __importDefault(require("../loader"));
const eventemitter3_1 = require("eventemitter3");
/** @brief 存储服务 */
class V2NIMTeamService extends eventemitter3_1.EventEmitter {
constructor() {
super();
this.instance = new loader_1.default.V2NIMTeamService({ emit: this.emit.bind(this) });
}
/**
* @brief 创建群组
* @param createTeamParams 创建群组参数
* @param inviteeAccountIds 群组创建时, 同时被邀请加入群的成员列表
* @param postscript 群组创建时, 邀请入群的附言
* @param antispamConfig 反垃圾配置
* @returns Promise<V2NIMCreateTeamResult>
* @example
* ```javascript
* const result = await v2.teamService.createTeam({
* name: 'team1',
* teamType: 0,
* }, inviteeAccountIds, postscript, antispamConfig)
* ```
*/
createTeam(createTeamParams, inviteeAccountIds, postscript, antispamConfig) {
return new Promise((resolve, reject) => {
this.instance.createTeam(createTeamParams, inviteeAccountIds, postscript, antispamConfig, (result) => {
resolve(result);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 修改群组信息
* @param teamId 群组 id
* @param teamType 群组类型
* @param updateTeamInfoParams 修改群组信息参数
* @param antispamConfig 反垃圾配置
* @returns void
* @example
* ```javascript
* await v2.teamService.updateTeamInfo(teamId, teamType, {
* name: 'team1',
* }, antispamConfig)
* ```
*/
updateTeamInfo(teamId, teamType, updateTeamInfoParams, antispamConfig) {
return new Promise((resolve, reject) => {
this.instance.updateTeamInfo(teamId, teamType, updateTeamInfoParams, antispamConfig, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 退出群组
* @param teamId 群组 id
* @param teamType 群组类型
* @returns void
* @example
* ```javascript
* await v2.teamService.leaveTeam(teamId, teamType)
* ```
*/
leaveTeam(teamId, teamType) {
return new Promise((resolve, reject) => {
this.instance.leaveTeam(teamId, teamType, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 获取群组信息
* @param teamId 群组 id
* @param teamType 群组类型
* @returns Promise<V2NIMTeam>
* @example
* ```javascript
* const team = await v2.teamService.getTeamInfo(teamId, teamType)
* ```
*/
getTeamInfo(teamId, teamType) {
return new Promise((resolve, reject) => {
this.instance.getTeamInfo(teamId, teamType, (team) => {
resolve(team);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 根据群组 ID 获取群组信息
* @param teamIds 群组 id 列表
* @param teamType 群组类型
* @returns Promise<Array<V2NIMTeam>>
* @example
* ```javascript
* const teams = await v2.teamService.getTeamInfoByIds(teamIds, teamType)
* ```
*/
getTeamInfoByIds(teamIds, teamType) {
return new Promise((resolve, reject) => {
this.instance.getTeamInfoByIds(teamIds, teamType, (teams) => {
resolve(teams);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 解散群组
* @param teamId 群组 id
* @param teamType 群组类型
* @returns void
* @example
* ```javascript
* await v2.teamService.dismissTeam(teamId, teamType)
* ```
*/
dismissTeam(teamId, teamType) {
return new Promise((resolve, reject) => {
this.instance.dismissTeam(teamId, teamType, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 邀请成员加入群组
* @param teamId 群组 id
* @param teamType 群组类型
* @param inviteeAccountIds 被邀请人 id 列表
* @param postscript 邀请附言
* @returns Promise<Array<string>>
* @example
* ```javascript
* const accountIds = await v2.teamService.inviteMember(teamId, teamType, inviteeAccountIds, postscript)
* ```
*/
inviteMember(teamId, teamType, inviteeAccountIds, postscript) {
return new Promise((resolve, reject) => {
this.instance.inviteMember(teamId, teamType, inviteeAccountIds, postscript, (accountIds) => {
resolve(accountIds);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 邀请成员加入群组
* @param teamId 群组 id
* @param teamType 群组类型
* @param inviteeParams 被邀请加入群的参数
* @returns Promise<Array<string>>
* @example
* ```javascript
* const accountIds = await v2.teamService.inviteMemberEx(teamId, teamType, inviteeParams)
* ```
*/
inviteMemberEx(teamId, teamType, inviteeParams) {
return new Promise((resolve, reject) => {
this.instance.inviteMemberEx(teamId, teamType, inviteeParams, (accountIds) => {
resolve(accountIds);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 同意邀请入群
* @param invitationInfo 邀请信息
* @returns Promise<V2NIMTeam>
* @example
* ```javascript
* const team = await v2.teamService.acceptInvitation(invitationInfo)
* ```
*/
acceptInvitation(invitationInfo) {
return new Promise((resolve, reject) => {
this.instance.acceptInvitation(invitationInfo, (team) => {
resolve(team);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 拒绝邀请入群
* @param invitationInfo 邀请信息
* @param postscript 拒绝邀请的理由附言
* @returns void
* @example
* ```javascript
* await v2.teamService.rejectInvitation(invitationInfo, postscript)
* ```
*/
rejectInvitation(invitationInfo, postscript) {
return new Promise((resolve, reject) => {
this.instance.rejectInvitation(invitationInfo, postscript, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 踢出群组成员
* @param teamId 群组 id
* @param teamType 群组类型
* @param memberAccountIds 踢出群组的成员账号列表
* @returns void
* @example
* ```javascript
* await v2.teamService.kickMember(teamId, teamType, memberAccountIds)
* ```
*/
kickMember(teamId, teamType, memberAccountIds) {
return new Promise((resolve, reject) => {
this.instance.kickMember(teamId, teamType, memberAccountIds, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 申请加入群组
* @param teamId 群组 id
* @param teamType 群组类型
* @param postscript 申请入群的附言
* @returns Promise<V2NIMTeam>
* @example
* ```javascript
* const team = await v2.teamService.applyJoinTeam(teamId, teamType, postscript)
* ```
*/
applyJoinTeam(teamId, teamType, postscript) {
return new Promise((resolve, reject) => {
this.instance.applyJoinTeam(teamId, teamType, postscript, (team) => {
resolve(team);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 接受入群申请
* @param applicationInfo 申请信息
* @returns void
* @example
* ```javascript
* await v2.teamService.acceptJoinApplication(applicationInfo)
* ```
*/
acceptJoinApplication(applicationInfo) {
return new Promise((resolve, reject) => {
this.instance.acceptJoinApplication(applicationInfo, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 拒绝入群申请
* @param applicationInfo 申请信息
* @param postscript 拒绝入群申请的附言
* @returns void
* @example
* ```javascript
* await v2.teamService.rejectJoinApplication(applicationInfo, postscript)
* ```
*/
rejectJoinApplication(applicationInfo, postscript) {
return new Promise((resolve, reject) => {
this.instance.rejectJoinApplication(applicationInfo, postscript, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 设置成员角色
* @param teamId 群组 id
* @param teamType 群组类型
* @param memberAccountIds 成员 id 列表
* @param memberRole 设置新的角色类型
* @returns void
* @example
* ```javascript
* await v2.teamService.updateTeamMemberRole(teamId, teamType, memberAccountIds, memberRole)
* ```
*/
updateTeamMemberRole(teamId, teamType, memberAccountIds, memberRole) {
return new Promise((resolve, reject) => {
this.instance.updateTeamMemberRole(teamId, teamType, memberAccountIds, memberRole, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 移交群主
* @param teamId 群组 id
* @param teamType 群组类型
* @param accountId 新群主 id
* @param leave 是否同时退出群组
* @returns void
* @example
* ```javascript
* await v2.teamService.transferTeamOwner(teamId, teamType, accountId, leave)
* ```
*/
transferTeamOwner(teamId, teamType, accountId, leave) {
return new Promise((resolve, reject) => {
this.instance.transferTeamOwner(teamId, teamType, accountId, leave, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 修改自己的群成员信息
* @param teamId 群组 id
* @param teamType 群组类型
* @param memberInfoParams 修改群成员信息参数
* @returns void
* @example
* ```javascript
* await v2.teamService.updateSelfTeamMemberInfo(teamId, teamType, memberInfoParams)
* ```
*/
updateSelfTeamMemberInfo(teamId, teamType, memberInfoParams) {
return new Promise((resolve, reject) => {
this.instance.updateSelfTeamMemberInfo(teamId, teamType, memberInfoParams, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 修改群成员昵称
* @param teamId 群组 id
* @param teamType 群组类型
* @param accountId 群成员 id
* @param teamNick 群成员昵称
* @returns void
* @example
* ```javascript
* await v2.teamService.updateTeamMemberNick(teamId, teamType, accountId, teamNick)
* ```
*/
updateTeamMemberNick(teamId, teamType, accountId, teamNick) {
return new Promise((resolve, reject) => {
this.instance.updateTeamMemberNick(teamId, teamType, accountId, teamNick, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 修改群成员昵称
* @param teamId 群组 ID
* @param teamType 群组类型
* @param nickParams 修改群成员昵称参数
* @returns void
* @since v10.9.30
* @example
* ```javascript
* await v2.teamService.updateTeamMemberNickEx(teamId, teamType, {
* accountId: 'member1',
* teamNick: 'newNick',
* })
* ```
*/
updateTeamMemberNickEx(teamId, teamType, nickParams) {
return new Promise((resolve, reject) => {
this.instance.updateTeamMemberNickEx(teamId, teamType, nickParams, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 设置群组禁言模式
* @param teamId 群组 id
* @param teamType 群组类型
* @param chatBannedMode 群组禁言模式
* @returns void
* @example
* ```javascript
* await v2.teamService.setTeamChatBannedMode(teamId, teamType, chatBannedMode)
* ```
*/
setTeamChatBannedMode(teamId, teamType, chatBannedMode) {
return new Promise((resolve, reject) => {
this.instance.setTeamChatBannedMode(teamId, teamType, chatBannedMode, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 设置群组成员聊天禁言状态
* @param teamId 群组 id
* @param teamType 群组类型
* @param accountId 群成员 id
* @param chatBanned 是否禁言
* @returns void
* @example
* ```javascript
* await v2.teamService.setTeamMemberChatBannedStatus(teamId, teamType, accountId, chatBanned)
* ```
*/
setTeamMemberChatBannedStatus(teamId, teamType, accountId, chatBanned) {
return new Promise((resolve, reject) => {
this.instance.setTeamMemberChatBannedStatus(teamId, teamType, accountId, chatBanned, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 获取当前已经加入的群组列表
* @param teamType 群组类型
* @returns Promise<Array<V2NIMTeam>>
* @example
* ```javascript
* const teams = await v2.teamService.getJoinedTeamList(teamTypes)
* ```
*/
getJoinedTeamList(teamTypes) {
return new Promise((resolve, reject) => {
this.instance.getJoinedTeamList(teamTypes, (teams) => {
resolve(teams);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 获取当前已经加入的群组数量
* @param teamTypes 群组类型列表, 为空表示查询所有群类型
* @returns number
* @example
* ```javascript
* const count = v2.teamService.getJoinedTeamCount(teamTypes)
* ```
*/
getJoinedTeamCount(teamTypes) {
return this.instance.getJoinedTeamCount(teamTypes);
}
/**
* @brief 获取群组成员列表
* @param teamId 群组 id
* @param teamType 群组类型
* @param queryOption 群组成员查询选项
* @returns Promise<V2NIMTeamMemberListResult>
* @example
* ```javascript
* const result = await v2.teamService.getTeamMemberList(teamId, teamType, {
* limit: 10,
* nextToken: ''
* })
* ```
*/
getTeamMemberList(teamId, teamType, queryOption) {
return new Promise((resolve, reject) => {
this.instance.getTeamMemberList(teamId, teamType, queryOption, (result) => {
resolve(result);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 根据账号 ID 列表获取群组成员列表
* @param teamId 群组 id
* @param teamType 群组类型
* @param accountIds 账号 ID 列表
* @returns Promise<Array<V2NIMTeamMember>>
* @example
* ```javascript
* const members = await v2.teamService.getTeamMemberListByIds(teamId, teamType, accountIds)
* ```
*/
getTeamMemberListByIds(teamId, teamType, accountIds) {
return new Promise((resolve, reject) => {
this.instance.getTeamMemberListByIds(teamId, teamType, accountIds, (members) => {
resolve(members);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 根据账号 ID 列表获取群组成员邀请人
* @param teamId 群组 id
* @param teamType 群组类型
* @param accountIds 账号 ID 列表
* @returns Promise<Map<string, string>>
* @example
* ```javascript
* const invitorMap = await v2.teamService.getTeamMemberInvitor(teamId, teamType, accountIds)
* ```
*/
getTeamMemberInvitor(teamId, teamType, accountIds) {
return new Promise((resolve, reject) => {
this.instance.getTeamMemberInvitor(teamId, teamType, accountIds, (invitorMap) => {
resolve(invitorMap);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 获取群加入相关信息
* @param option 查询参数
* @returns Promise<V2NIMTeamJoinActionInfoResult>
* @example
* ```javascript
* const result = await v2.teamService.getTeamJoinActionInfoList(option)
* ```
*/
getTeamJoinActionInfoList(option) {
return new Promise((resolve, reject) => {
this.instance.getTeamJoinActionInfoList(option, (result) => {
resolve(result);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 根据关键字搜索群组,混合搜索高级群和超大群,使用 LIKE 方式匹配,只搜索群名称
* @param keyword 关键字
* @returns Promise<Array<V2NIMTeam>>
* @example
* ```javascript
* const teams = await v2.teamService.searchTeamByKeyword(keyword)
* ```
*/
searchTeamByKeyword(keyword) {
return new Promise((resolve, reject) => {
this.instance.searchTeamByKeyword(keyword, (teams) => {
resolve(teams);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 本地搜索群组,混合搜索高级群和超大群,使用 FTS 方式匹配,搜索群名称
* @param params 群信息检索参数
* @returns Promise<Array<V2NIMTeam>>
* @example
* ```javascript
* const teams = await v2.teamService.searchTeams(params)
* ```
*/
searchTeams(params) {
return new Promise((resolve, reject) => {
this.instance.searchTeams(params, (teams) => {
resolve(teams);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 根据关键字搜索群组成员
* @param option 搜索选项
* @returns Promise<V2NIMTeamMemberListResult>
* @example
* ```javascript
* const result = await v2.teamService.searchTeamMembers(option)
* ```
*/
searchTeamMembers(option) {
return new Promise((resolve, reject) => {
this.instance.searchTeamMembers(option, (result) => {
resolve(result);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 本地全文检索群成员信息,可以指定是否检索群成员ID或者群成员昵称
* @param params 群成员检索参数
* @returns Promise<Map<V2NIMTeamRefer, Array<V2NIMTeamMember>>>
* @example
* ```javascript
* const teams = await v2.teamService.searchTeamMembersEx(params)
* ```
*/
searchTeamMembersEx(params) {
return new Promise((resolve, reject) => {
this.instance.searchTeamMembersEx(params, (memberMap) => {
resolve(memberMap);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 添加特别关注群成员列表
* @param teamId 群组 id
* @param teamType 群组类型
* @param accountIds 账号 id 列表
* @returns void
* @example
* ```javascript
* await v2.teamService.addTeamMembersFollow(teamId, teamType, accountIds)
* ```
*/
addTeamMembersFollow(teamId, teamType, accountIds) {
return new Promise((resolve, reject) => {
this.instance.addTeamMembersFollow(teamId, teamType, accountIds, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 移除特别关注群成员列表
* @param teamId 群组 id
* @param teamType 群组类型
* @param accountIds 账号 id 列表
* @returns void
* @example
* ```javascript
* await v2.teamService.removeTeamMembersFollow(teamId, teamType, accountIds)
* ```
*/
removeTeamMembersFollow(teamId, teamType, accountIds) {
return new Promise((resolve, reject) => {
this.instance.removeTeamMembersFollow(teamId, teamType, accountIds, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 清空所有群申请
* @returns void
* @example
* ```javascript
* await v2.teamService.clearAllTeamJoinActionInfo()
* ```
*/
clearAllTeamJoinActionInfo() {
return new Promise((resolve, reject) => {
this.instance.clearAllTeamJoinActionInfo(() => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 删除群申请
* @param applicationInfo 群申请信息
* @returns void
* @example
* ```javascript
* await v2.teamService.deleteTeamJoinActionInfo(applicationInfo)
* ```
*/
deleteTeamJoinActionInfo(applicationInfo) {
return new Promise((resolve, reject) => {
this.instance.deleteTeamJoinActionInfo(applicationInfo, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 获取自己所有加入的群的自己群成员信息
* @param teamTypes 群组类型列表, 为空表示查询所有群类型
* @returns Promise<Array<V2NIMTeamMember>>
* @example
* ```javascript
* const members = await v2.teamService.getJoinedTeamMembers(teamTypes)
* ```
*/
getJoinedTeamMembers(teamTypes) {
return new Promise((resolve, reject) => {
this.instance.getJoinedTeamMembers(teamTypes, (members) => {
resolve(members);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 获取群申请/邀请未读数量
* @returns Promise<number>
* @since v10.9.20
* @example
* ```javascript
* const count = await v2.teamService.getTeamJoinActionInfoUnreadCount()
* ```
*/
getTeamJoinActionInfoUnreadCount() {
return new Promise((resolve, reject) => {
this.instance.getTeamJoinActionInfoUnreadCount((count) => {
resolve(count);
}, (error) => {
reject(error);
});
});
}
setTeamJoinActionInfoRead(applicationInfo) {
return new Promise((resolve, reject) => {
this.instance.setTeamJoinActionInfoRead(applicationInfo, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
}
exports.V2NIMTeamService = V2NIMTeamService;
//# sourceMappingURL=v2_nim_team_service.js.map
;