正在显示
7 个修改的文件
包含
196 行增加
和
57 行删除
此 diff 太大无法显示。
| @@ -2,6 +2,7 @@ require('es6-promise').polyfill(); | @@ -2,6 +2,7 @@ require('es6-promise').polyfill(); | ||
| 2 | require('whatwg-fetch'); | 2 | require('whatwg-fetch'); |
| 3 | require('jquery-touchswipe'); | 3 | require('jquery-touchswipe'); |
| 4 | require('string.fromcodepoint'); | 4 | require('string.fromcodepoint'); |
| 5 | +//require('messenger'); | ||
| 5 | 6 | ||
| 6 | import Emiter from './Emiter'; | 7 | import Emiter from './Emiter'; |
| 7 | import Sass from 'Sass'; | 8 | import Sass from 'Sass'; |
| @@ -30,7 +31,7 @@ import MediaSharedApe from 'apes/MediaSharedApe'; | @@ -30,7 +31,7 @@ import MediaSharedApe from 'apes/MediaSharedApe'; | ||
| 30 | import UTF8 from 'utf-8'; | 31 | import UTF8 from 'utf-8'; |
| 31 | 32 | ||
| 32 | let loger = Loger.getLoger('McuClient'); | 33 | let loger = Loger.getLoger('McuClient'); |
| 33 | -let _sdkInfo = {"version": "v1.30.7.20170606", "author": "www.3mang.com"}; | 34 | +let _sdkInfo = {"version": "v1.30.20.20170607", "author": "www.3mang.com"}; |
| 34 | 35 | ||
| 35 | //APE | 36 | //APE |
| 36 | let _sass; | 37 | let _sass; |
| @@ -205,8 +206,6 @@ export default class MessageEntrance extends Emiter { | @@ -205,8 +206,6 @@ export default class MessageEntrance extends Emiter { | ||
| 205 | 206 | ||
| 206 | this.mediaSharedPlay = this._sendMediaSharedPlay.bind(this); //播放 | 207 | this.mediaSharedPlay = this._sendMediaSharedPlay.bind(this); //播放 |
| 207 | this.mediaSharedStop = this._sendMediaSharedStop.bind(this);//停止 | 208 | this.mediaSharedStop = this._sendMediaSharedStop.bind(this);//停止 |
| 208 | - //this.mediaSharedPause=this._sendMediaSharedPause.bind(this);//暂停 | ||
| 209 | - //this.mediaSharedSeek=this._sendMediaSharedSeek.bind(this);//seek | ||
| 210 | this.mediaSharedUpdate=this._sendMediaSharedUpdate.bind(this); //更新媒体的状态 | 209 | this.mediaSharedUpdate=this._sendMediaSharedUpdate.bind(this); //更新媒体的状态 |
| 211 | 210 | ||
| 212 | this.setDeviceInfo = this._setDeviceInfo.bind(this);//设置设备信息(麦克风,摄像头等等.....) | 211 | this.setDeviceInfo = this._setDeviceInfo.bind(this);//设置设备信息(麦克风,摄像头等等.....) |
| @@ -823,8 +822,8 @@ export default class MessageEntrance extends Emiter { | @@ -823,8 +822,8 @@ export default class MessageEntrance extends Emiter { | ||
| 823 | GlobalConfig.setCurrentStatus(GlobalConfig.statusCode_2); | 822 | GlobalConfig.setCurrentStatus(GlobalConfig.statusCode_2); |
| 824 | GlobalConfig.classJoinSuccess=true; | 823 | GlobalConfig.classJoinSuccess=true; |
| 825 | 824 | ||
| 826 | - GlobalConfig.screenWidth=window.screen.availWidth; | ||
| 827 | - GlobalConfig.screenHeight=window.screen.availHeight; | 825 | + GlobalConfig.screenWidth=window.screen.width; |
| 826 | + GlobalConfig.screenHeight=window.screen.height; | ||
| 828 | 827 | ||
| 829 | 828 | ||
| 830 | //返回给客户端初始化成功的数据 | 829 | //返回给客户端初始化成功的数据 |
| @@ -1563,26 +1562,6 @@ export default class MessageEntrance extends Emiter { | @@ -1563,26 +1562,6 @@ export default class MessageEntrance extends Emiter { | ||
| 1563 | _mediaShareApe.mediaSharedStop(_param); | 1562 | _mediaShareApe.mediaSharedStop(_param); |
| 1564 | } | 1563 | } |
| 1565 | } | 1564 | } |
| 1566 | - //暂停 | ||
| 1567 | - _sendMediaSharedPause(_param){ | ||
| 1568 | - if (!_mcu.connected) { | ||
| 1569 | - loger.warn(GlobalConfig.getCurrentStatus()); | ||
| 1570 | - return; | ||
| 1571 | - } | ||
| 1572 | - if (_mediaShareApe) { | ||
| 1573 | - _mediaShareApe.mediaSharedPause(_param); | ||
| 1574 | - } | ||
| 1575 | - } | ||
| 1576 | - //seek | ||
| 1577 | - _sendMediaSharedSeek(_param){ | ||
| 1578 | - if (!_mcu.connected) { | ||
| 1579 | - loger.warn(GlobalConfig.getCurrentStatus()); | ||
| 1580 | - return; | ||
| 1581 | - } | ||
| 1582 | - if (_mediaShareApe) { | ||
| 1583 | - _mediaShareApe.mediaSharedSeek(_param); | ||
| 1584 | - } | ||
| 1585 | - } | ||
| 1586 | 1565 | ||
| 1587 | //媒体共享模块加入频道成功,同步到MCU服务器上的数据 | 1566 | //媒体共享模块加入频道成功,同步到MCU服务器上的数据 |
| 1588 | mediaShareApeJoinChannelSuccess() { | 1567 | mediaShareApeJoinChannelSuccess() { |
src/apes/MessengerMoudle.js
0 → 100644
| 1 | +import Emiter from 'Emiter'; | ||
| 2 | +import Loger from 'Loger'; | ||
| 3 | +let loger = Loger.getLoger('MessengerMoudle'); | ||
| 4 | +class MessengerMoudle { | ||
| 5 | + // 信使类 | ||
| 6 | + // 创建Messenger实例时指定, 必须指定Messenger的名字, (可选)指定项目名, 以避免Mashup类应用中的冲突 | ||
| 7 | + // !注意: 父子页面中projectName必须保持一致, 否则无法匹配 | ||
| 8 | + constructor(messengerName, projectName){ | ||
| 9 | + this.prefix = "[PROJECT_NAME]"; | ||
| 10 | + this.supportPostMessage = 'postMessage' in window; | ||
| 11 | + this.targets = {}; | ||
| 12 | + this.name = messengerName; | ||
| 13 | + this.listenFunc = []; | ||
| 14 | + this.prefix = projectName || this.prefix; | ||
| 15 | + this.initListen(); | ||
| 16 | + } | ||
| 17 | + | ||
| 18 | + // Target 类, 消息对象 | ||
| 19 | + Target(target, name, prefix) { | ||
| 20 | + let errMsg = ''; | ||
| 21 | + if (arguments.length < 2) { | ||
| 22 | + errMsg = 'target error - target and name are both required'; | ||
| 23 | + } else if (typeof target != 'object') { | ||
| 24 | + errMsg = 'target error - target itself must be window object'; | ||
| 25 | + } else if (typeof name != 'string') { | ||
| 26 | + errMsg = 'target error - target name must be string type'; | ||
| 27 | + } | ||
| 28 | + if (errMsg) { | ||
| 29 | + //throw new Error(errMsg); | ||
| 30 | + loger.warn(errMsg); | ||
| 31 | + } | ||
| 32 | + this.target = target; | ||
| 33 | + this.name = name; | ||
| 34 | + this.prefix = prefix; | ||
| 35 | + } | ||
| 36 | + | ||
| 37 | + targetSend(_targetObj,_msg,_supportPostMessage,_prefix,_name){ | ||
| 38 | + loger.log('_supportPostMessage',_supportPostMessage,'_prefix:'+_prefix,'_name:'+_name); | ||
| 39 | + if (_supportPostMessage) { | ||
| 40 | + // IE8+ 以及现代浏览器支持 | ||
| 41 | + if(_targetObj&&_targetObj.target){ | ||
| 42 | + _targetObj.target.postMessage(_prefix + '|' + _name + '__Messenger__' + _msg, '*'); | ||
| 43 | + }else{ | ||
| 44 | + loger.warn('第三方消息通道发送消息失败->target->',_targetObj); | ||
| 45 | + } | ||
| 46 | + }else { | ||
| 47 | + // 兼容IE 6/7 | ||
| 48 | + try{ | ||
| 49 | + let targetFunc = window.navigator[_prefix + _name]; | ||
| 50 | + if (typeof targetFunc == 'function') { | ||
| 51 | + targetFunc(_prefix + _msg, window); | ||
| 52 | + } else { | ||
| 53 | + //throw new Error("target callback function is not defined"); | ||
| 54 | + loger.warn('第三方消息通道发送消息失败->target callback function is not defined'); | ||
| 55 | + } | ||
| 56 | + }catch (err){ | ||
| 57 | + loger.warn('第三方消息通道发送消息失败->',err.message); | ||
| 58 | + } | ||
| 59 | + } | ||
| 60 | + } | ||
| 61 | + // 添加一个消息对象 | ||
| 62 | + addTarget(target, name) { | ||
| 63 | + let errMsg = ''; | ||
| 64 | + if (arguments.length < 2) { | ||
| 65 | + errMsg = 'target error - target and name are both required'; | ||
| 66 | + } else if (typeof target != 'object') { | ||
| 67 | + errMsg = 'target error - target itself must be window object'; | ||
| 68 | + } else if (typeof name != 'string') { | ||
| 69 | + errMsg = 'target error - target name must be string type'; | ||
| 70 | + } | ||
| 71 | + if (errMsg) { | ||
| 72 | + loger.warn(errMsg); | ||
| 73 | + } | ||
| 74 | + | ||
| 75 | + //let targetObj = new Target(target, name, this.prefix); | ||
| 76 | + this.supportPostMessage = 'postMessage' in window; | ||
| 77 | + loger.log('addTarget->supportPostMessage',this.supportPostMessage); | ||
| 78 | + let targetObj = new Object(); | ||
| 79 | + targetObj.target = target; | ||
| 80 | + targetObj.name = name; | ||
| 81 | + targetObj.targetSend=this.targetSend; | ||
| 82 | + targetObj.prefix = this.prefix; | ||
| 83 | + this.targets[name] = targetObj; | ||
| 84 | + }; | ||
| 85 | + | ||
| 86 | + // 初始化消息监听 | ||
| 87 | + initListen () { | ||
| 88 | + let self = this; | ||
| 89 | + let generalCallback = function (_msg) { | ||
| 90 | + let msgData; | ||
| 91 | + if (typeof _msg == 'object' && _msg.data) { | ||
| 92 | + msgData = _msg.data; | ||
| 93 | + } | ||
| 94 | + | ||
| 95 | + let msgPairs = msgData.split('__Messenger__'); | ||
| 96 | + let msg1 = msgPairs[1]; | ||
| 97 | + let pairs = msgPairs[0].split('|'); | ||
| 98 | + let prefix = pairs[0]; | ||
| 99 | + let name = pairs[1]; | ||
| 100 | + | ||
| 101 | + for (let i = 0; i < self.listenFunc.length; i++) { | ||
| 102 | + if (prefix + name === self.prefix + self.name) { | ||
| 103 | + self.listenFunc[i](msg1); | ||
| 104 | + } | ||
| 105 | + } | ||
| 106 | + }; | ||
| 107 | + | ||
| 108 | + if (this.supportPostMessage) { | ||
| 109 | + if ('addEventListener' in document) { | ||
| 110 | + window.addEventListener('message', generalCallback, false); | ||
| 111 | + } else if ('attachEvent' in document) { | ||
| 112 | + window.attachEvent('onmessage', generalCallback); | ||
| 113 | + } | ||
| 114 | + } else { | ||
| 115 | + // 兼容IE 6/7 | ||
| 116 | + window.navigator[this.prefix + this.name] = generalCallback; | ||
| 117 | + } | ||
| 118 | + }; | ||
| 119 | + | ||
| 120 | + // 监听消息 | ||
| 121 | + listen (callback) { | ||
| 122 | + let i = 0; | ||
| 123 | + let len = this.listenFunc.length; | ||
| 124 | + let cbIsExist = false; | ||
| 125 | + for (; i < len; i++) { | ||
| 126 | + if (this.listenFunc[i] == callback) { | ||
| 127 | + cbIsExist = true; | ||
| 128 | + break; | ||
| 129 | + } | ||
| 130 | + } | ||
| 131 | + if (!cbIsExist) { | ||
| 132 | + this.listenFunc.push(callback); | ||
| 133 | + } | ||
| 134 | + }; | ||
| 135 | + // 注销监听 | ||
| 136 | + clear () { | ||
| 137 | + this.listenFunc = []; | ||
| 138 | + }; | ||
| 139 | + // 广播消息 | ||
| 140 | + send (msg) { | ||
| 141 | + let targets = this.targets; | ||
| 142 | + let target; | ||
| 143 | + for (target in targets) { | ||
| 144 | + if (targets.hasOwnProperty(target)) { | ||
| 145 | + let targetObj= targets[target]; | ||
| 146 | + //console.log('target->', targetObj); | ||
| 147 | + //targets[target].send(msg); | ||
| 148 | + if(targetObj){ | ||
| 149 | + targetObj.targetSend(targetObj,msg,this.supportPostMessage,targetObj.prefix,targetObj.name); | ||
| 150 | + } | ||
| 151 | + } | ||
| 152 | + } | ||
| 153 | + }; | ||
| 154 | +} | ||
| 155 | + | ||
| 156 | +export default MessengerMoudle; |
| @@ -25,30 +25,30 @@ class ShareApe extends Emiter { | @@ -25,30 +25,30 @@ class ShareApe extends Emiter { | ||
| 25 | } | 25 | } |
| 26 | init(){ | 26 | init(){ |
| 27 | 27 | ||
| 28 | - // // 版本信息 | ||
| 29 | - // ss.on(ss.VERSION_INFO_CHANGE, (d) => { | ||
| 30 | - // console.log('VERSION_INFO_CHANGE->', d); | ||
| 31 | - // }) | ||
| 32 | - | ||
| 33 | - // // 本地摄像头设备 | ||
| 34 | - // ss.on(ss.CAMERA_INFO_CHANGE, (d) => { | ||
| 35 | - // console.log('CAMERA_INFO_CHANGE->', d); | ||
| 36 | - // }) | ||
| 37 | - | ||
| 38 | - // // 本地麦克风设备 | ||
| 39 | - // ss.on(ss.MIC_INFO_CHANGE, (d) => { | ||
| 40 | - // console.log('MIC_INFO_CHANGE->', d); | ||
| 41 | - // }) | ||
| 42 | - | ||
| 43 | - // // 本地RTMP服务端口 | ||
| 44 | - // ss.on(ss.RTMP_PORT_CHANGE, (d) => { | ||
| 45 | - // console.log('RTMP_PORT_CHANGE->', d); | ||
| 46 | - // }) | ||
| 47 | - | ||
| 48 | - // // 麦克风音量 | ||
| 49 | - // ss.on(ss.MIC_VOL_CHANGE, (d) => { | ||
| 50 | - // console.log('MIC_VOL_CHANGE->', d); | ||
| 51 | - // }) | 28 | + // 版本信息 |
| 29 | + this.shareScreen.on(ShareScreen.VERSION_INFO_CHANGE, (d) => { | ||
| 30 | + console.log('VERSION_INFO_CHANGE->', d); | ||
| 31 | + }) | ||
| 32 | + | ||
| 33 | + // 本地摄像头设备 | ||
| 34 | + this.shareScreen.on(ShareScreen.CAMERA_INFO_CHANGE, (d) => { | ||
| 35 | + console.log('CAMERA_INFO_CHANGE->', d); | ||
| 36 | + }) | ||
| 37 | + | ||
| 38 | + // 本地麦克风设备 | ||
| 39 | + this.shareScreen.on(ShareScreen.MIC_INFO_CHANGE, (d) => { | ||
| 40 | + console.log('MIC_INFO_CHANGE->', d); | ||
| 41 | + }) | ||
| 42 | + | ||
| 43 | + // 本地RTMP服务端口 | ||
| 44 | + this.shareScreen.on(ShareScreen.RTMP_PORT_CHANGE, (d) => { | ||
| 45 | + console.log('RTMP_PORT_CHANGE->', d); | ||
| 46 | + }) | ||
| 47 | + | ||
| 48 | + // 麦克风音量 | ||
| 49 | + this.shareScreen.on(ShareScreen.MIC_VOL_CHANGE, (d) => { | ||
| 50 | + console.log('MIC_VOL_CHANGE->', d); | ||
| 51 | + }) | ||
| 52 | 52 | ||
| 53 | // 媒体信息 | 53 | // 媒体信息 |
| 54 | this.shareScreen.on(ShareScreen.MOVIE_INFO_CHANGE, (d) => { | 54 | this.shareScreen.on(ShareScreen.MOVIE_INFO_CHANGE, (d) => { |
| 1 | -require('messenger'); | ||
| 2 | import Emiter from 'Emiter'; | 1 | import Emiter from 'Emiter'; |
| 3 | -import McuObj from 'mcu'; | ||
| 4 | import Loger from 'Loger'; | 2 | import Loger from 'Loger'; |
| 3 | +import MessengerMoudle from './MessengerMoudle'; | ||
| 4 | + | ||
| 5 | let loger = Loger.getLoger('ThirdMessage'); | 5 | let loger = Loger.getLoger('ThirdMessage'); |
| 6 | class ThirdMessage extends Emiter{ | 6 | class ThirdMessage extends Emiter{ |
| 7 | constructor(){ | 7 | constructor(){ |
| 8 | super(); | 8 | super(); |
| 9 | // 初始化消息通道 | 9 | // 初始化消息通道 |
| 10 | - this.messenger = new Messenger(ThirdMessage.IFRAME_MESSAGE_ID, ThirdMessage.PARENT_MESAGE_ID); | ||
| 11 | - this.messenger.addTarget(window.parent, ThirdMessage.PARENT); | ||
| 12 | - this.messenger.listen(this._reciveParentMessage.bind(this)) | ||
| 13 | - loger.log('ThirdMessage'); | 10 | + try{ |
| 11 | + //this.messenger = new Messenger(ThirdMessage.IFRAME_MESSAGE_ID, ThirdMessage.PARENT_MESAGE_ID); | ||
| 12 | + this.messenger = new MessengerMoudle(ThirdMessage.IFRAME_MESSAGE_ID, ThirdMessage.PARENT_MESAGE_ID); | ||
| 13 | + this.messenger.addTarget(window.parent, ThirdMessage.PARENT); | ||
| 14 | + this.messenger.listen(this._reciveParentMessage.bind(this)) | ||
| 15 | + loger.log('ThirdMessage'); | ||
| 16 | + }catch (err){ | ||
| 17 | + console.warn('第三方消息通道创建失败'); | ||
| 18 | + } | ||
| 19 | + | ||
| 14 | } | 20 | } |
| 15 | 21 | ||
| 16 | //发送消息给父级页面 | 22 | //发送消息给父级页面 |
| @@ -430,7 +430,6 @@ class VideoApe extends Ape { | @@ -430,7 +430,6 @@ class VideoApe extends Ape { | ||
| 430 | 430 | ||
| 431 | 431 | ||
| 432 | tableUpdateHandler(owner, itemIdx, itemData,seek) { | 432 | tableUpdateHandler(owner, itemIdx, itemData,seek) { |
| 433 | - // debugger; | ||
| 434 | let unpackChannelInfo = this.unPackPdu(owner, itemIdx, itemData); | 433 | let unpackChannelInfo = this.unPackPdu(owner, itemIdx, itemData); |
| 435 | loger.log("tableUpdateHandler->channel",itemIdx,'mediaType',unpackChannelInfo.mediaType,'status->',unpackChannelInfo.status,"seek->",seek); | 434 | loger.log("tableUpdateHandler->channel",itemIdx,'mediaType',unpackChannelInfo.mediaType,'status->',unpackChannelInfo.status,"seek->",seek); |
| 436 | 435 |
| @@ -76,7 +76,6 @@ window.Messenger = (function () { | @@ -76,7 +76,6 @@ window.Messenger = (function () { | ||
| 76 | Messenger.prototype.initListen = function () { | 76 | Messenger.prototype.initListen = function () { |
| 77 | var self = this; | 77 | var self = this; |
| 78 | var generalCallback = function (msg) { | 78 | var generalCallback = function (msg) { |
| 79 | - debugger; | ||
| 80 | if (typeof msg == 'object' && msg.data) { | 79 | if (typeof msg == 'object' && msg.data) { |
| 81 | msg = msg.data; | 80 | msg = msg.data; |
| 82 | } | 81 | } |
-
请 注册 或 登录 后发表评论