ThirdMessage.js 1.4 KB
require('messenger');
import Emiter from 'Emiter';
import McuObj from 'mcu';
import Loger from 'Loger';
let loger = Loger.getLoger('ThirdMessage');
class ThirdMessage extends Emiter{
  constructor(){
    super();
    // 初始化消息通道
    this.messenger = new Messenger(ThirdMessage.IFRAME_MESSAGE_ID, ThirdMessage.PARENT_MESAGE_ID);
    this.messenger.addTarget(window.parent, ThirdMessage.PARENT);
    this.messenger.listen(this._reciveParentMessage.bind(this))
    loger.log('ThirdMessage');
  }

  //发送消息给父级页面
  sendMessageToParent(_msg){
    if(!_msg){
      loger.warn('发送的消息内容无效->',_msg);
      return;
    }
    if(this.messenger){
      loger.log('发送消息给父级页面->',_msg);
      this.messenger.send(_msg);
    }
  }
  //收到父级页面的消息
  _reciveParentMessage(_msg){
    loger.log('收到父级页面的的消息->', _msg);
    if(!_msg){
      loger.warn('收到父级页面的的消息->内容无效->',_msg);
      return;
    }
    this._emit(ThirdMessage.RECIVE_MESSAGE,_msg);
  }

}
ThirdMessage.prototype.RECIVE_MESSAGE=ThirdMessage.RECIVE_MESSAGE='recive_message';
ThirdMessage.prototype.IFRAME_MESSAGE_ID=ThirdMessage.IFRAME_MESSAGE_ID='xuedianyunIframe';
ThirdMessage.prototype.PARENT_MESAGE_ID=ThirdMessage.PARENT_MESAGE_ID='ParentMessengerChannel';
ThirdMessage.prototype.PARENT=ThirdMessage.PARENT='parent';
export default ThirdMessage;