node-nim
Version:
NetEase IM nodejs wrapper based on NetEase IM C++ SDK
302 lines • 8.65 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.V2NIMFriendService = void 0;
const loader_1 = __importDefault(require("../loader"));
const eventemitter3_1 = require("eventemitter3");
/** @brief 好友服务 */
class V2NIMFriendService extends eventemitter3_1.EventEmitter {
constructor() {
super();
this.instance = new loader_1.default.V2NIMFriendService({ emit: this.emit.bind(this) });
}
/**
* @brief 添加好友
* @param accountId 账号 ID
* @param params 添加好友参数
* @returns void
* @example
* ```javascript
* await v2.friendService.addFriend('accountId', {
* addMode: 1
* })
* ```
*/
addFriend(accountId, params) {
return new Promise((resolve, reject) => {
this.instance.addFriend(accountId, params, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 删除好友
* @param accountId 账号 ID
* @param params 删除好友参数
* @returns void
* @example
* ```javascript
* await v2.friendService.deleteFriend('accountId', {
* deleteAlias: true
* })
* ```
*/
deleteFriend(accountId, params) {
return new Promise((resolve, reject) => {
this.instance.deleteFriend(accountId, params, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 接受好友申请
* @param application 好友申请
* @returns void
* @example
* ```javascript
* await v2.friendService.acceptAddApplication(application)
* ```
*/
acceptAddApplication(application) {
return new Promise((resolve, reject) => {
this.instance.acceptAddApplication(application, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 拒绝好友申请
* @param application 好友申请
* @param postscript 拒绝理由
* @returns void
* @example
* ```javascript
* await v2.friendService.rejectAddApplication(application, 'reason')
* ```
*/
rejectAddApplication(application, postscript) {
return new Promise((resolve, reject) => {
this.instance.rejectAddApplication(application, postscript, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 设置好友信息
* @param accountId 账号 ID
* @param params 设置好友信息参数
* @returns void
* @example
* ```javascript
* await v2.friendService.setFriendInfo('accountId', {
* alias: 'alias'
* })
* ```
*/
setFriendInfo(accountId, params) {
return new Promise((resolve, reject) => {
this.instance.setFriendInfo(accountId, params, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 获取好友列表
* @returns void
* @example
* ```javascript
* await v2.friendService.getFriendList()
* ```
*/
getFriendList() {
return new Promise((resolve, reject) => {
this.instance.getFriendList((result) => {
resolve(result);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 根据账号 ID 获取好友信息
* @param accountIds 账号 ID 列表
* @returns void
* @example
* ```javascript
* await v2.friendService.getFriendByIds(['accountId1', 'accountId2'])
* ```
*/
getFriendByIds(accountIds) {
return new Promise((resolve, reject) => {
this.instance.getFriendByIds(accountIds, (result) => {
resolve(result);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 根据账号 ID 检查好友状态
* @param accountIds 账号 ID 列表
* @returns void
* @example
* ```javascript
* await v2.friendService.checkFriend(['accountId1', 'accountId2'])
* ```
*/
checkFriend(accountIds) {
return new Promise((resolve, reject) => {
this.instance.checkFriend(accountIds, (result) => {
resolve(result);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 获取申请添加好友信息列表
* @param option 查询申请添加好友相关信息参数
* @returns void
* @example
* ```javascript
* await v2.friendService.getAddApplicationList({
* offset: 0,
* limit: 10
* })
* ```
*/
getAddApplicationList(option) {
return new Promise((resolve, reject) => {
this.instance.getAddApplicationList(option, (result) => {
resolve(result);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 获取申请添加好友未读数量
* @returns void
* @example
* ```javascript
* await v2.friendService.getAddApplicationUnreadCount()
* ```
*/
getAddApplicationUnreadCount() {
return new Promise((resolve, reject) => {
this.instance.getAddApplicationUnreadCount((result) => {
resolve(result);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 设置所有申请添加好友已读
* @returns void
* @example
* ```javascript
* await v2.friendService.setAddApplicationRead()
* ```
*/
setAddApplicationRead() {
return new Promise((resolve, reject) => {
this.instance.setAddApplicationRead(() => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 设置单条申请添加好友已读
* @returns void
* @example
* ```javascript
* await v2.friendService.setAddApplicationReadEx(application)
* ```
*/
setAddApplicationReadEx(application) {
return new Promise((resolve, reject) => {
this.instance.setAddApplicationReadEx(application, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 根据关键字搜索用户信息
* @param option 搜索选项 @see V2NIMFriendSearchOption
* @returns Promise<Array<V2NIMFriend>>
* @example
* ```javascript
* await v2.friendService.searchFriendByOption({
* keyword: 'keyword'
* })
* ```
*/
searchFriendByOption(option) {
return new Promise((resolve, reject) => {
let defaultOption = {
searchAlias: true,
searchAccountId: false
};
let mergedOption = Object.assign({}, defaultOption, option);
this.instance.searchFriendByOption(mergedOption, (result) => {
resolve(result);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 清空所有添加好友申请
* @returns Promise<void>
* @example
* ```javascript
* await v2.friendService.clearAllAddApplication()
* ```
*/
clearAllAddApplication() {
return new Promise((resolve, reject) => {
this.instance.clearAllAddApplication(() => {
resolve();
}, (error) => {
reject(error);
});
});
}
/**
* @brief 删除添加好友申请
* @param application 添加好友申请
* @returns Promise<void>
* @example
* ```javascript
* await v2.friendService.deleteAddApplication(application)
* ```
*/
deleteAddApplication(application) {
return new Promise((resolve, reject) => {
this.instance.deleteAddApplication(application, () => {
resolve();
}, (error) => {
reject(error);
});
});
}
}
exports.V2NIMFriendService = V2NIMFriendService;
//# sourceMappingURL=v2_nim_friend_service.js.map
;