{"remainingRequest":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\deviceMonitor\\components\\DHVideoPlayPlugin.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\deviceMonitor\\components\\DHVideoPlayPlugin.vue","mtime":1687831404002},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport utils from '@/hotent-ui-util'\r\nexport default {\r\n components: {},\r\n props: {},\r\n data() {\r\n return {\r\n domId: 'playWnd',\r\n text: '视频插件加载中......',\r\n showSetting: false,\r\n isLogin: false,\r\n https: window.context.DHVideoHttps,\r\n loginIp: window.context.DHVideoIp,\r\n loginPort: window.context.DHVideoPort,\r\n userName: window.context.DHVideoAccount,\r\n userPwd: window.context.DHVideoPsd,\r\n downloadUrl32: './../static/plugin/DSS_LightWeight_Client32.zip',\r\n downloadUrl64: './../static/plugin/DSS_LightWeight_Client.zip',\r\n displayMode: 1, //1:实时视频; 2:视频回放\r\n splitNum: 4,\r\n ctrl: 'ctrl1', // 可生成多个控件\r\n ctrlType: 'playerWin', // 'playerWin': 播放控件';'realMonitorUI':'带设备树实时预览控件';'playbackUI':'带设备树视频回放控件';'TVWallUI':'视频上墙'\r\n crtPosX: 0,\r\n crtPosY: 0,\r\n crtWidth: 700,\r\n crtHeight: 400,\r\n channelId: '',\r\n // 插件对象实例,初始化为null,需要创建多个插件窗口时,需要定义多个插件对象实例变量,各个变量唯一标志对应的插件实例\r\n ws: null,\r\n bIE: !!window.ActiveXObject || 'ActiveXObject' in window, // 是否为IE浏览器\r\n\r\n //\r\n }\r\n },\r\n beforeCreate() {},\r\n created() {},\r\n methods: {\r\n realTimeVideo(channelId) {\r\n this.channelId = channelId\r\n if (this.ws.ctrls.length === 0) {\r\n this.$message.info('请先创建控件!')\r\n }\r\n const params = {\r\n ctrlCode: this.ctrl,\r\n channelIds: [this.channelId],\r\n }\r\n this.ws.openCtrlPreview(params)\r\n },\r\n createVideoPlayer() {\r\n let _this = this\r\n console.log(this.crtPosX, this.crtPosY, 'this.cutPosX')\r\n const params = [\r\n {\r\n ctrlType: this.ctrlType,\r\n ctrlCode: this.ctrl,\r\n ctrlProperty: {\r\n displayMode: this.displayMode,\r\n splitNum: this.splitNum,\r\n // channelList: [{channelId: this.channelId}],\r\n },\r\n visible: true,\r\n domId: this.domId,\r\n },\r\n ]\r\n this.setPos()\r\n _this.ws\r\n .createCtrl(params)\r\n .then((res) => {\r\n console.log(res)\r\n })\r\n .catch((e) => {\r\n console.log(e)\r\n })\r\n _this.ws.on('createCtrlResult', (res) => {\r\n console.warn(res)\r\n })\r\n },\r\n // 设置窗口大小\r\n setPos() {\r\n let target = document.getElementById(this.domId)\r\n console.log(target, 'target')\r\n target.style.right = `${this.crtPosX}px`\r\n target.style.top = `${this.crtPosY}px`\r\n // target.style.width = `${this.crtWidth}px`\r\n // target.style.height = `${this.crtHeight}px`\r\n if (document.createEvent) {\r\n var event = document.createEvent('HTMLEvents')\r\n event.initEvent('resize', true, true)\r\n window.dispatchEvent(event)\r\n } else if (document.createEventObject) {\r\n window.fireEvent('onresize')\r\n }\r\n },\r\n // 登录视频插件\r\n login() {\r\n this.ws.login({\r\n loginIp: this.loginIp,\r\n loginPort: this.loginPort,\r\n userName: this.userName,\r\n userPwd: this.userPwd,\r\n https: this.https,\r\n token: '',\r\n })\r\n console.log('登录中...')\r\n this.$message.info('登录中')\r\n this.ws.on('loginState', (res) => {\r\n this.isLogin = res\r\n if (res) {\r\n console.log('登录成功')\r\n this.$message.info('登录成功')\r\n this.$nextTick(() => {\r\n setTimeout(() => {\r\n this.createVideoPlayer() // 创建视频插件\r\n }, 1000)\r\n })\r\n } else {\r\n this.text = '视频插件登录失败,请联系管理员!'\r\n }\r\n })\r\n },\r\n logout() {\r\n // 调用登出接口\r\n this.ws.logout({\r\n loginIp: this.loginIp,\r\n })\r\n },\r\n // 获取窗口宽高\r\n getWindowSize() {\r\n this.width = this.$refs.playerContainer.clientWidth\r\n this.height = this.$refs.playerContainer.clientHeight\r\n },\r\n },\r\n mounted() {\r\n let path = this.$route.path\r\n if (path.indexOf('frontPlat') !== -1) {\r\n this.crtPosY = 0\r\n } else {\r\n this.crtPosY = 80\r\n }\r\n console.log('创建组件')\r\n const DHWsInstance = DHWs.getInstance()\r\n this.ws = DHWsInstance\r\n console.log(this.ws, 'chajian')\r\n\r\n this.ws.detectConnectQt().then((res) => {\r\n if (res) {\r\n this.ws.detectLoginClient().then((res) => {\r\n if (!res) {\r\n this.login()\r\n }\r\n })\r\n } else {\r\n this.$message.info('连接失败,下载客户端')\r\n }\r\n })\r\n this.ws.addEventListener('connectStateChange', (data) => {\r\n if (data) {\r\n this.$message.info('连接成功')\r\n this.ws.detectLoginClient().then((res) => {\r\n if (!res) {\r\n this.login()\r\n }\r\n })\r\n } else {\r\n this.$message.info('连接失败,下载客户端')\r\n console.log('连接失败,下载客户端')\r\n this.showSetting = true\r\n this.text = ''\r\n }\r\n })\r\n window.addEventListener('onunload', () => {\r\n this.$ws.logout()\r\n })\r\n },\r\n beforeDestroy() {\r\n this.ws.logout()\r\n },\r\n}\r\n",null]}