h5/pages/login/login.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
h5/pages/staff/task/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
h5/pages/staff/vehicle/sendACar.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
h5/utils/config.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
screen/src/assets/images/SecurityControl/ic_unable@2x.png | 补丁 | 查看 | 原始文档 | blame | 历史 | |
screen/src/views/SecurityControl.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
screen/src/views/videoUrl/Video.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
screen/src/views/videoUrl/demo_embedded_for_iframe.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
screen/src/views/videoUrl/init.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
h5/pages/login/login.vue
@@ -41,7 +41,7 @@ export default { data() { return { code: '111' code: '' } }, onLoad(option) { @@ -59,7 +59,7 @@ let code = '' if (window.location.href.indexOf('code=') !== -1 || this.code) { const ywinfo = uni.getStorageSync('ywinfo') || {} if(ywinfo.ywid){ if(ywinfo.ywid && (ywinfo.type || ywinfo.type == 0)){ this.userAuth(ywinfo.type) } } else { h5/pages/staff/task/index.vue
@@ -293,6 +293,9 @@ }, modalReset() { this.modelParam = {} this.search = { queryType: 0 } this.pagination.page = 0 this.dataList = [] this.showFilter = false @@ -319,13 +322,16 @@ ...search } }).then(res => { if(res.data && res.data.records){ res.data.records.forEach(i => { if (i.param1) { i.param1 = JSON.parse(i.param1) } }) } this.dataList = [...this.dataList, ...res.data.records] this.total = res.data.total this.dataList.forEach(i => { if (i.param1) { i.param1 = JSON.parse(i.param1) } }) }) }, getHeadList() { h5/pages/staff/vehicle/sendACar.vue
@@ -123,6 +123,10 @@ param.queryStartTime = param.queryDate + ' 00:00:00' param.queryEndTime = param.queryDate + ' 23:59:59' } if(param.carCode == 'å ¨é¨è½¦è¾'){ param.carCode = null param.carId = null } carUseBookPaiche({ ...pagination, model: { ...param } h5/utils/config.js
@@ -1,8 +1,8 @@ export const baseUrl = 'zhyq_interface/' // export const baseUrl = 'zhyq_interface/' // export const baseUrl = 'http://192.168.0.173/gateway_interface/' // export const baseUrl = 'http://10.50.250.253:8088/gateway_interface/' // export const baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/' export const baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/' export const app_url = 'https://atwl.ahzyssl.com/zhyq_h5/#/' screen/src/assets/images/SecurityControl/ic_unable@2x.png
screen/src/views/SecurityControl.vue
@@ -111,7 +111,8 @@ <div v-show="showJk" class="jiankong"> <img class="jk_bg" src="@/assets/images/SecurityControl/jiankong_bg@2x.png" alt=""> <div class="content"> <div class="player_bg" style="width: 100%;height: 100%;" id="playWnd"> </div> <Video v-if="showJk && activeMenu && activeMenu.indexCode" :href="data.videoPluginUrl" :indexCode="activeMenu.indexCode" /> <!-- <div class="player_bg" style="width: 100%;height: 100%;" id="playWnd"> </div> --> </div> <div class="right_wrap"> <div class="menus"> @@ -384,7 +385,7 @@ </div> <img src="@/assets/images/task/title@2x.png" class="bg" alt="" /> </div> <div class="monitoring" @click="showJk = !showJk"> <div class="monitoring" @click="changeMon"> <img src="@/assets/images/SecurityControl/ic_jiankong@2x.png" class="icon" alt=""> <div>çæ§å表</div> <img v-if="showJk" src="@/assets/images/SecurityControl/jiankong_ic_close@2x.png" class="top" alt=""> @@ -485,6 +486,7 @@ import * as echarts from 'echarts' import 'swiper/css/swiper.min.css' import Swiper from 'swiper' import Video from './videoUrl/Video.vue' import { getEnergyCenterData, afgetCarmeraPreviemUrl, @@ -507,145 +509,6 @@ time.value = dayjs().format('HH:mm:ss') }, 1000) const oWebControl = ref(null) const initCount = ref() const pubKey = ref('') const initPlugin = () => { oWebControl.value = new WebControl({ szPluginContainer: "playWnd", // æå®å®¹å¨id iServicePortStart: 15900, // æå®èµ·æ¢ç«¯å£å·ï¼å»ºè®®ä½¿ç¨è¯¥å¼ iServicePortEnd: 15900, szClassId: "23BF3B0A-2C56-4D97-9C03-0CB103AA8F11", // ç¨äºIE10使ç¨ActiveXçclsid cbConnectSuccess: function () { // å建WebControlå®ä¾æå console.log('å建WebControlå®ä¾æå'); oWebControl.value.JS_StartService("window", { // WebControlå®ä¾å建æååéè¦å¯å¨æå¡ dllPath: "./VideoPluginConnect.dll" // å¼"./VideoPluginConnect.dll"åæ» }).then(function () { oWebControl.value.JS_SetWindowControlCallback({ // è®¾ç½®æ¶æ¯åè° cbIntegrationCallBack: cbIntegrationCallBack })// å¯å¨æä»¶æå¡æå oWebControl.value.JS_CreateWnd("playWnd", '300', '200').then(function () { //JS_CreateWndå建è§é¢ææ¾çªå£ï¼å®½é«å¯è®¾å®ï¼boxWidth, boxHeightå®¹å¨ // oWebControl.value.JS_CreateWnd("playWnd").then(function () { //JS_CreateWndå建è§é¢ææ¾çªå£ï¼å®½é«å¯è®¾å®ï¼boxWidth, boxHeightå®¹å¨ init() // åå»ºææ¾å®ä¾æåååå§å }) }, function () { // å¯å¨æä»¶æå¡å¤±è´¥ }) }, cbConnectError: function () { // å建WebControlå®ä¾å¤±è´¥ console.log('å建WebControlå®ä¾å¤±è´¥'); oWebControl.value = null $("#playWnd").html("æä»¶æªå¯å¨ï¼æ£å¨å°è¯å¯å¨ï¼è¯·ç¨å...") WebControl.JS_WakeUp("VideoWebPlugin://") // ç¨åºæªå¯å¨æ¶æ§è¡error彿°ï¼éç¨wakeupæ¥å¯å¨ç¨åº initCount.value++ if (initCount.value < 3) { setTimeout(function () { initPlugin() }, 3000) } else { $("#playWnd").html("æä»¶å¯å¨å¤±è´¥ï¼è¯·æ£æ¥æä»¶æ¯å¦å®è£ ï¼æéæ°ä¸è½½ <a href='./videoUrl/VideoWebPlugin.exe' target='_blank'>ä¸è½½a<a>") } }, cbConnectClose: function (bNormalClose) { // å¼å¸¸æå¼ï¼bNormalClose = false // JS_Disconnectæ£å¸¸æå¼ï¼bNormalClose = true console.log('å¼å¸¸æå¼ï¼bNormalClose'); oWebControl.value = null $("#playWnd").html("æä»¶æªå¯å¨ï¼æ£å¨å°è¯å¯å¨ï¼è¯·ç¨å...") WebControl.JS_WakeUp("VideoWebPlugin://") initCount.value++ if (initCount.value < 3) { setTimeout(function () { initPlugin() }, 3000) } else { $("#playWnd").html("æä»¶å¯å¨å¤±è´¥ï¼è¯·æ£æ¥æä»¶æ¯å¦å®è£ ï¼æéæ°ä¸è½½ <a href='https://img0.baidu.com/it/u=3867022436,608124672&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1422' target='_blank'>ä¸è½½b<a>") } } }) } function fileDown() { window.open('./videoUrl/VideoWebPlugin.exe') } // æ¶æ¯åè° const cbIntegrationCallBack = (oData) => { let response = oData.responseMsg // response.type=1 éä¸çªå£æ¶æ¯ type=2 ææ¾æ¶æ¯ } // çæ§ // åå§å const init = () => { getPubKey(function () { ////////////////////////////////// 请èªè¡ä¿®æ¹ä»¥ä¸åéå¼ //////////////////////////////////// let appkey = "23154099" //综åå®é²ç®¡ç平尿ä¾çappkeyï¼å¿ å¡« let secret = '88wFsg3xfn7o8QMsWEO2' //综åå®é²ç®¡ç平尿ä¾çsecretï¼å¿ å¡« // let secret = setEncrypt("88wFsg3xfn7o8QMsWEO2") //综åå®é²ç®¡ç平尿ä¾çsecretï¼å¿ å¡« let ip = "10.50.250.253" //综åå®é²ç®¡çå¹³å°IPå°åï¼å¿ å¡« let playMode = 0 //åå§ææ¾æ¨¡å¼ï¼0-é¢è§(宿¶æµ)ï¼1-åæ¾(è§é¢) let port = 443 //综åå®é²ç®¡çå¹³å°ç«¯å£ï¼è¥å¯ç¨HTTPSåè®®ï¼é»è®¤443 let snapDir = "D:\\SnapDir" //æå¾åå¨è·¯å¾ let videoDir = "D:\\VideoDir" //ç´§æ¥å½åæå½ååªè¾åå¨è·¯å¾ let layout = "1x1" //playModeæå®æ¨¡å¼çå¸å± let enableHTTPS = 1 //æ¯å¦å¯ç¨HTTPSåè®®ä¸ç»¼åå®é²ç®¡çå¹³å°äº¤äºï¼è¿éæ»æ¯å¡«1 let encryptedFields = 'secret' //å å¯å段ï¼é»è®¤å å¯é¢å为secret let showToolbar = 1 //æ¯å¦æ¾ç¤ºå·¥å ·æ ï¼0-䏿¾ç¤ºï¼é0-æ¾ç¤º let showSmart = 1 //æ¯å¦æ¾ç¤ºæºè½ä¿¡æ¯ï¼å¦é 置移å¨ä¾¦æµåç»é¢ä¸ç线æ¡ï¼ï¼0-䏿¾ç¤ºï¼é0-æ¾ç¤º let buttonIDs = "0,16,256,257,258,259,260,513,514,515,516,517,768" //èªå®ä¹å·¥å ·æ¡æé® oWebControl.value.JS_RequestInterface({ funcName: "init", argument: JSON.stringify({ appkey: appkey, //APIç½å ³æä¾çappkey secret: secret, //APIç½å ³æä¾çsecret ip: ip, //APIç½å ³IPå°å playMode: playMode, //ææ¾æ¨¡å¼ï¼å³å®æ¾ç¤ºé¢è§è¿æ¯åæ¾çé¢ï¼ port: port, //ç«¯å£ snapDir: snapDir, //æå¾åå¨è·¯å¾ videoDir: videoDir, //ç´§æ¥å½åæå½ååªè¾åå¨è·¯å¾ layout: layout, //å¸å± enableHTTPS: enableHTTPS, //æ¯å¦å¯ç¨HTTPSåè®® encryptedFields: encryptedFields, //å å¯å段 showToolbar: showToolbar, //æ¯å¦æ¾ç¤ºå·¥å ·æ showSmart: showSmart, //æ¯å¦æ¾ç¤ºæºè½ä¿¡æ¯ buttonIDs: buttonIDs //èªå®ä¹å·¥å ·æ¡æé® }) }).then(function (oData) { console.log('åå§åæå'); // oWebControl.value.JS_Resize(that.boxWidth, that.boxHeight) // åå§ååresize䏿¬¡ï¼è§é¿firefoxä¸é¦æ¬¡æ¾ç¤ºçªå£åæä»¶çªå£æªä¸DIVçªå£éåé®é¢ }) }) } // è·åå ¬é¥ function getPubKey(callback) { oWebControl.value.JS_RequestInterface({ funcName: 'getRSAPubKey', argument: JSON.stringify({ keyLength: 1024, }), }).then((oData) => { if (oData.responseMsg.data) { pubKey.value = oData.responseMsg.data callback() } }) } // RSAå å¯ function setEncrypt(value) { let that = this let encrypt = new JSEncrypt() encrypt.setPublicKey(pubKey.value) return encrypt.encrypt(value) } const arr = ['#68e2e3', '#50afd3', '#377cdb', '#d5ae3a'] const initEnergy = () => { @@ -1045,6 +908,13 @@ data5.value = result.filter(item => item.carmeraList && item.carmeraList.length > 0) }) } const changeMon = () => { showJk.value = !showJk.value if(!showJk.value){ activeJkIndex.value = -1 activeMenu.value = {} } } const menuClick = (val) => { if (val == activeJkIndex.value) { activeJkIndex.value = -1 @@ -1053,35 +923,9 @@ } } const menuItemClick = (val) => { initPlugin() activeMenu.value = val nextTick(() => { console.log('indexCode', val.indexCode); oWebControl.value.JS_RequestInterface({ funcName: "startPreview", argument: JSON.stringify({ cameraIndexCode: val.indexCode, //çæ§ç¹ç¼å· streamMode: 0, //主åç æµæ è¯ï¼0-ä¸»ç æµï¼1-åç æµ transMode: 1, //ä¼ è¾åè®®ï¼0-UDPï¼1-TCP gpuMode: 0, //æ¯å¦å¯ç¨GPU硬解ï¼0-ä¸å¯ç¨ï¼1-å¯ç¨ wndId: -1 //ææ¾çªå£åºå·ï¼å¨2x2以ä¸å¸å±ä¸å¯æå®ææ¾çªå£ï¼ }) }).then((oData) => { if (oData.responseMsg.code === 1) { console.log('success', oData) } }, err => { console.log('err', err) }) }) // afgetCarmeraPreviemUrl({ indexCode: val.indexCode }).then(res => { // activeVideo.value = res.data // }) } const autoplayFlag = (list = [], leng = 4, time = 2000) => { if (list.length > leng) { return { delay: time, disableOnInteraction: false } @@ -1129,7 +973,6 @@ getData3() getData5() getWarning() setInterval(() => { getData1() screen/src/views/videoUrl/Video.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,229 @@ <template> <div class="video_app"> <div class="player_bg" ref="videoRef" style="width: 100%;height: 100%;" id="playWnd"> </div> </div> <!-- <img style="width: 34px;margin-bottom: 16px;" src="../../assets/images/SecurityControl/ic_unable@2x.png" > --> </template> <script setup> import { defineProps, ref, onMounted, onUnmounted, watch } from 'vue' const props = defineProps({ indexCode: String, href: String, }) const templateA = ` <div style="width:100%;height: 100%;display: flex;justify-content: center;align-items: center;flex-direction: column;"> <div style="font-weight: 500;font-size: 15px;color: #CCCCCC;margin-bottom: 4px;">æ æ³ææ¾çæ§ç»é¢ï¼</div> <div style="font-weight: 500;font-size: 15px;color: #CCCCCC;margin-bottom: 20px;">ç¹å»ä¸è½½å¹¶å®è£ è§å±ææ¾æä»¶</div> <a href="${props.href}" target="_blank" style="font-weight: 500;font-size: 15px;color: #01D9FE;">ç¹å»ä¸è½½</a> </div> ` const width = ref(0) const height = ref(0) const videoRef = ref(null) onMounted(() => { const rect = videoRef.value.getBoundingClientRect() width.value = rect.width height.value = rect.height initPlugin() window.addEventListener('resize', function () { // æ§è¡ if (oWebControl.value) { const rect = videoRef.value.getBoundingClientRect() width.value = rect.width height.value = rect.height oWebControl.value.JS_Resize($('#playWnd').width(), $('#playWnd').height()) } }) }) onUnmounted(() => { destroyed() }) const oWebControl = ref(null) const initCount = ref() const pubKey = ref('') watch( () => props.indexCode, (newValue, oldValue) => { console.log('ç¶ç»ä»¶ä¼ å¼ååï¼', newValue) videoPlay() } ) const initPlugin = () => { oWebControl.value = new WebControl({ szPluginContainer: "playWnd", // æå®å®¹å¨id iServicePortStart: 15900, // æå®èµ·æ¢ç«¯å£å·ï¼å»ºè®®ä½¿ç¨è¯¥å¼ iServicePortEnd: 15900, szClassId: "23BF3B0A-2C56-4D97-9C03-0CB103AA8F11", // ç¨äºIE10使ç¨ActiveXçclsid cbConnectSuccess: function () { // å建WebControlå®ä¾æå console.log('1--å建WebControlå®ä¾æå') oWebControl.value.JS_StartService("window", { // WebControlå®ä¾å建æååéè¦å¯å¨æå¡ dllPath: "./VideoPluginConnect.dll" // å¼"./VideoPluginConnect.dll"åæ» }).then(function () { oWebControl.value.JS_SetWindowControlCallback({ // è®¾ç½®æ¶æ¯åè° cbIntegrationCallBack: cbIntegrationCallBack })// å¯å¨æä»¶æå¡æå oWebControl.value.JS_CreateWnd("playWnd", width.value, height.value).then(function () { //JS_CreateWndå建è§é¢ææ¾çªå£ï¼å®½é«å¯è®¾å®ï¼boxWidth, boxHeightå®¹å¨ // oWebControl.value.JS_CreateWnd("playWnd").then(function () { //JS_CreateWndå建è§é¢ææ¾çªå£ï¼å®½é«å¯è®¾å®ï¼boxWidth, boxHeightå®¹å¨ init() // åå»ºææ¾å®ä¾æåååå§å }) }, function () { // å¯å¨æä»¶æå¡å¤±è´¥ }) }, cbConnectError: function () { // å建WebControlå®ä¾å¤±è´¥ console.log('å建WebControlå®ä¾å¤±è´¥') oWebControl.value = null $("#playWnd").html("æä»¶æªå¯å¨ï¼æ£å¨å°è¯å¯å¨ï¼è¯·ç¨å...") WebControl.JS_WakeUp("VideoWebPlugin://") // ç¨åºæªå¯å¨æ¶æ§è¡error彿°ï¼éç¨wakeupæ¥å¯å¨ç¨åº initCount.value++ if (initCount.value < 3) { setTimeout(function () { initPlugin() }, 3000) } else { $("#playWnd").html(templateA) } }, cbConnectClose: function (bNormalClose) { // å¼å¸¸æå¼ï¼bNormalClose = false // JS_Disconnectæ£å¸¸æå¼ï¼bNormalClose = true console.log('å¼å¸¸æå¼ï¼bNormalClose') oWebControl.value = null $("#playWnd").html("æä»¶æªå¯å¨ï¼æ£å¨å°è¯å¯å¨ï¼è¯·ç¨å...") WebControl.JS_WakeUp("VideoWebPlugin://") initCount.value++ if (initCount.value < 3) { setTimeout(function () { initPlugin() }, 3000) } else { $("#playWnd").html(templateA) } } }) } // åå§å const init = () => { getPubKey(function () { ////////////////////////////////// 请èªè¡ä¿®æ¹ä»¥ä¸åéå¼ //////////////////////////////////// let appkey = "23154099" //综åå®é²ç®¡ç平尿ä¾çappkeyï¼å¿ å¡« // let secret = '88wFsg3xfn7o8QMsWEO2' //综åå®é²ç®¡ç平尿ä¾çsecretï¼å¿ å¡« let secret = setEncrypt("88wFsg3xfn7o8QMsWEO2") //综åå®é²ç®¡ç平尿ä¾çsecretï¼å¿ å¡« let ip = "10.50.250.253" //综åå®é²ç®¡çå¹³å°IPå°åï¼å¿ å¡« let playMode = 0 //åå§ææ¾æ¨¡å¼ï¼0-é¢è§(宿¶æµ)ï¼1-åæ¾(è§é¢) let port = 443 //综åå®é²ç®¡çå¹³å°ç«¯å£ï¼è¥å¯ç¨HTTPSåè®®ï¼é»è®¤443 let snapDir = "D:\\SnapDir" //æå¾åå¨è·¯å¾ let videoDir = "D:\\VideoDir" //ç´§æ¥å½åæå½ååªè¾åå¨è·¯å¾ let layout = "1x1" //playModeæå®æ¨¡å¼çå¸å± let enableHTTPS = 1 //æ¯å¦å¯ç¨HTTPSåè®®ä¸ç»¼åå®é²ç®¡çå¹³å°äº¤äºï¼è¿éæ»æ¯å¡«1 let encryptedFields = 'secret' //å å¯å段ï¼é»è®¤å å¯é¢å为secret let showToolbar = 1 //æ¯å¦æ¾ç¤ºå·¥å ·æ ï¼0-䏿¾ç¤ºï¼é0-æ¾ç¤º let showSmart = 1 //æ¯å¦æ¾ç¤ºæºè½ä¿¡æ¯ï¼å¦é 置移å¨ä¾¦æµåç»é¢ä¸ç线æ¡ï¼ï¼0-䏿¾ç¤ºï¼é0-æ¾ç¤º let buttonIDs = "0,16,256,257,258,259,260,513,514,515,516,517,768" //èªå®ä¹å·¥å ·æ¡æé® oWebControl.value.JS_RequestInterface({ funcName: "init", argument: JSON.stringify({ appkey: appkey, //APIç½å ³æä¾çappkey secret: secret, //APIç½å ³æä¾çsecret ip: ip, //APIç½å ³IPå°å playMode: playMode, //ææ¾æ¨¡å¼ï¼å³å®æ¾ç¤ºé¢è§è¿æ¯åæ¾çé¢ï¼ port: port, //ç«¯å£ snapDir: snapDir, //æå¾åå¨è·¯å¾ videoDir: videoDir, //ç´§æ¥å½åæå½ååªè¾åå¨è·¯å¾ layout: layout, //å¸å± enableHTTPS: enableHTTPS, //æ¯å¦å¯ç¨HTTPSåè®® encryptedFields: encryptedFields, //å å¯å段 showToolbar: showToolbar, //æ¯å¦æ¾ç¤ºå·¥å ·æ showSmart: showSmart, //æ¯å¦æ¾ç¤ºæºè½ä¿¡æ¯ buttonIDs: buttonIDs //èªå®ä¹å·¥å ·æ¡æé® }) }).then(function (oData) { console.log('åå§åæå') videoPlay() // oWebControl.value.JS_Resize(that.boxWidth, that.boxHeight) // åå§ååresize䏿¬¡ï¼è§é¿firefoxä¸é¦æ¬¡æ¾ç¤ºçªå£åæä»¶çªå£æªä¸DIVçªå£éåé®é¢ }) }) } const videoPlay = () => { console.log('å¼å§ææ¾') oWebControl.value.JS_RequestInterface({ funcName: "startPreview", argument: JSON.stringify({ cameraIndexCode: props.indexCode, //çæ§ç¹ç¼å· streamMode: 0, //主åç æµæ è¯ï¼0-ä¸»ç æµï¼1-åç æµ transMode: 1, //ä¼ è¾åè®®ï¼0-UDPï¼1-TCP gpuMode: 0, //æ¯å¦å¯ç¨GPU硬解ï¼0-ä¸å¯ç¨ï¼1-å¯ç¨ wndId: -1 //ææ¾çªå£åºå·ï¼å¨2x2以ä¸å¸å±ä¸å¯æå®ææ¾çªå£ï¼ }) }).then((oData) => { if (oData.responseMsg.code === 1) { console.log('ææ¾æå', oData) } }, err => { console.log('err', err) }) } // 鿝 const destroyed = () => { if (oWebControl.value) { oWebControl.value.JS_HideWnd() // å 让çªå£éèï¼è§é¿æä»¶çªå£æ»åäºæµè§å¨æ¶å¤±é®é¢ oWebControl.value.JS_Disconnect().then(function () { }, function () { }) } } function fileDown() { window.open('./videoUrl/VideoWebPlugin.exe') } // æ¶æ¯åè° const cbIntegrationCallBack = (oData) => { let response = oData.responseMsg // response.type=1 éä¸çªå£æ¶æ¯ type=2 ææ¾æ¶æ¯ } // çæ§ // è·åå ¬é¥ function getPubKey(callback) { oWebControl.value.JS_RequestInterface({ funcName: 'getRSAPubKey', argument: JSON.stringify({ keyLength: 1024, }), }).then((oData) => { if (oData.responseMsg.data) { pubKey.value = oData.responseMsg.data callback() } }) } // RSAå å¯ function setEncrypt(value) { let that = this let encrypt = new JSEncrypt() encrypt.setPublicKey(pubKey.value) return encrypt.encrypt(value) } </script> <style lang="scss" scoped> .video_app { width: 100%; height: 100%; } </style> screen/src/views/videoUrl/demo_embedded_for_iframe.html
ÎļþÒÑɾ³ý screen/src/views/videoUrl/init.js
ÎļþÒÑɾ³ý