message_message_source.js
/**
* `MessageSource` 类型代表一条消息的来源。
*
* @property { String } #msgId 该消息来源的 **msgId**。
* @property { Contact } #contact 该消息来源的联系人。
*/
class MessageSource {
#msgId;
#contact;
/**
* 通过 **msgId** 和联系人构造一个消息来源。
*
* @param { String } msgId 消息的 **msgId**。
* @param { Contact } contact 来源联系人。
*/
constructor(msgId, contact) {
this.#msgId = msgId;
this.#contact = contact;
}
/**
* 返回该消息来源的 `#msgId` 属性。
*
* @returns { String } 该消息来源的 `#msgId` 属性。
*/
getMsgId() {
return this.#msgId;
}
/**
* 返回该消息来源的 `#contact` 属性。
*
* @returns { Contact } 该消息来源的 `#contact` 属性。
*/
getContact() {
return this.#contact;
}
/**
* 撤回该消息来源所代表的消息。
*/
async recall() {
await euphonyNative.invokeNative('ns-ntApi', 'nodeIKernelMsgService/recallMsg', false, {
msgIds: [
this.#msgId
],
peer: this.#contact.toPeer()
});
}
}
export default MessageSource