From 7f48ad7939773a9bc02aad98dbc5e11a35d132e1 Mon Sep 17 00:00:00 2001 From: zuoxiao <zuoxiao> Date: 星期二, 19 八月 2025 15:42:32 +0800 Subject: [PATCH] 更新项目配置,启用URL检查功能;修改监测页面状态管理逻辑,优化在线状态的判断方式,提升用户体验和代码可读性。 --- pages/stationMonitor/stationMonitor.js | 359 +---------------------------------------------------------- 1 files changed, 6 insertions(+), 353 deletions(-) diff --git a/pages/stationMonitor/stationMonitor.js b/pages/stationMonitor/stationMonitor.js index 1e45df5..df58747 100644 --- a/pages/stationMonitor/stationMonitor.js +++ b/pages/stationMonitor/stationMonitor.js @@ -387,7 +387,7 @@ return { id: item.id, name: item.name, - online: true, // 榛樿鍦ㄧ嚎锛屽疄闄呴」鐩腑鍙兘闇�瑕侀澶栫殑鐘舵�佹鏌� + onLine: true, // 榛樿鍦ㄧ嚎锛屽疄闄呴」鐩腑鍙兘闇�瑕侀澶栫殑鐘舵�佹鏌� lastUpdate: new Date().toLocaleString(), // 褰撳墠鏃堕棿浣滀负鏈�鍚庢洿鏂版椂闂� isPlaying: false, // 瑙嗛鎾斁鐘舵�� hslUrl: rtmpUrl, // 浣跨敤鐢熸垚鐨凴TMP URL @@ -432,356 +432,12 @@ - /** - * 鎵归噺鑾峰彇鎵�鏈夋憚鍍忓ご鐨凥LS鎾斁鍦板潃 - */ - batchGetHlsUrls(cameraList) { - if (!cameraList || cameraList.length === 0) { - console.log('鎽勫儚澶村垪琛ㄤ负绌猴紝鏃犻渶鑾峰彇鎾斁鍦板潃'); - return; - } - console.log('寮�濮嬫壒閲忚幏鍙栨挱鏀惧湴鍧�锛屾憚鍍忓ご鏁伴噺:', cameraList.length); - - // 涓烘瘡涓憚鍍忓ご鑾峰彇鎾斁鍦板潃 - cameraList.forEach((camera, index) => { - // 寤惰繜鑾峰彇锛岄伩鍏嶅悓鏃跺彂璧峰お澶氳姹� - setTimeout(() => { - this.getHlsUrlForCamera(camera); - }, index * 500); // 姣忎釜璇锋眰闂撮殧500ms - }); - }, - - /** - * 鎾斁瑙嗛 - */ - playVideo(e) { - const camera = e.currentTarget.dataset.camera; - console.log('=== 鎾斁瑙嗛寮�濮� ==='); - console.log('鎽勫儚澶翠俊鎭�:', camera); - console.log('璁惧淇℃伅:', this.data.deviceInfo); - console.log('璁惧鐗瑰畾閰嶇疆:', this.data.deviceSpecificConfig); - - if (!camera.online) { - console.log('鎽勫儚澶寸绾匡紝鏃犳硶鎾斁'); - wx.showToast({ - title: '璁惧绂荤嚎锛屾棤娉曟挱鏀�', - icon: 'error' - }); - return; - } - - if (!camera.hslUrl) { - console.log('鏃犳挱鏀惧湴鍧�锛屾棤娉曟挱鏀�'); - wx.showToast({ - title: '鏆傛棤鎾斁鍦板潃锛岃绋嶅悗閲嶈瘯', - icon: 'error' - }); - return; - } - - if (camera.isLoadingUrl) { - console.log('姝e湪鍔犺浇URL锛屾棤娉曟挱鏀�'); - wx.showToast({ - title: '姝e湪鑾峰彇鎾斁鍦板潃锛岃绋嶅��', - icon: 'none' - }); - return; - } - - console.log('寮�濮嬫挱鏀捐棰戯紝鎾斁鍦板潃:', camera.hslUrl); - console.log('褰撳墠椤甸潰鏁版嵁鐘舵��:', { - cameraList: this.data.cameraList, - activeTab: this.data.activeTab, - isLoading: this.data.isLoading - }); - - // 妫�鏌RL鏍煎紡 - if (camera.hslUrl.startsWith('rtmp://')) { - console.log('妫�娴嬪埌RTMP URL鏍煎紡锛屽紑濮嬫挱鏀�'); - - // 鏇存柊鎾斁鐘舵�� - const cameraList = this.data.cameraList.map(item => { - if (item.id === camera.id) { - return { - ...item, - isPlaying: true - }; - } - return item; - }); - - this.setData({ - cameraList: cameraList - }); - - // 鏄剧ず鎾斁鎴愬姛鎻愮ず - wx.showToast({ - title: `寮�濮嬫挱鏀� ${camera.name}`, - icon: 'success' - }); - - console.log(`鎾斁鐘舵�佸凡鏇存柊锛屾憚鍍忓ご ${camera.name} 寮�濮嬫挱鏀綬TMP娴乣); - } else { - console.log('URL鏍煎紡涓嶆槸RTMP锛屾棤娉曟挱鏀�'); - wx.showToast({ - title: '鎾斁鍦板潃鏍煎紡涓嶆纭�', - icon: 'error' - }); - } - - console.log('=== 鎾斁瑙嗛缁撴潫 ==='); - }, - - /** - * 鏆傚仠瑙嗛 - */ - pauseVideo(e) { - const camera = e.currentTarget.dataset.camera; - console.log('鏆傚仠鎽勫儚澶�:', camera.name); - - // 鏇存柊瑙嗛鎾斁鐘舵�� - const cameraList = this.data.cameraList.map(item => { - if (item.id === camera.id) { - return { - ...item, - isPlaying: false - }; - } - return item; - }); - - this.setData({ - cameraList: cameraList - }); - }, - - /** - * 鍋滄瑙嗛 - */ - stopVideo(e) { - const camera = e.currentTarget.dataset.camera; - console.log('鍋滄鎽勫儚澶�:', camera.name); - - // 鏇存柊瑙嗛鎾斁鐘舵�� - const cameraList = this.data.cameraList.map(item => { - if (item.id === camera.id) { - return { - ...item, - isPlaying: false - }; - } - return item; - }); - - this.setData({ - cameraList: cameraList - }); - }, + + - /** - * 鐩存挱鎾斁鍣ㄧ姸鎬佸彉鍖� - */ - onLivePlayerStateChange(e) { - const camera = e.currentTarget.dataset.camera; - console.log('鐩存挱鎾斁鍣ㄧ姸鎬佸彉鍖�:', camera.name, e.detail); - - const { - code - } = e.detail; - - // 鏄剧ず鐘舵�佷俊鎭粰鐢ㄦ埛 - let statusText = ''; - let isPlaying = false; - - switch (code) { - case 2001: - statusText = '宸茬粡杩炴帴鏈嶅姟鍣�'; - break; - case 2002: - statusText = '宸茬粡杩炴帴 RTMP 鏈嶅姟鍣�,寮�濮嬫媺娴�'; - isPlaying = true; - break; - case 2003: - statusText = '缃戠粶鎺ユ敹鍒伴涓棰戞暟鎹寘(IDR)'; - isPlaying = true; - break; - case 2004: - statusText = '瑙嗛鎾斁寮�濮�'; - isPlaying = true; - break; - case 2005: - statusText = '瑙嗛鎾斁杩涘害'; - isPlaying = true; - break; - case 2006: - statusText = '瑙嗛鎾斁缁撴潫'; - isPlaying = false; - break; - case 2007: - statusText = '瑙嗛鎾斁Loading'; - isPlaying = true; - break; - case 2008: - statusText = '瑙g爜鍣ㄥ惎鍔�'; - isPlaying = true; - break; - case 2009: - statusText = '瑙嗛鍒嗚鲸鐜囨敼鍙�'; - isPlaying = true; - break; - case 2101: - statusText = '缃戠粶鏂繛锛屼笖缁忓娆¢噸杩炴姠鏁戞棤鏁�'; - isPlaying = false; - break; - case 2102: - statusText = '鑾峰彇鍔犻�熸媺娴佸湴鍧�澶辫触'; - isPlaying = false; - break; - case 2103: - statusText = '褰撳墠瑙嗛甯цВ鐮佸け璐�'; - isPlaying = false; - break; - case 2104: - statusText = '缃戠粶鏂繛, 宸插惎鍔ㄨ嚜鍔ㄩ噸杩�'; - isPlaying = false; - break; - case 2105: - statusText = '缃戠粶鏉ユ柇杩�, 涓旂粡澶氭閲嶈繛鎶㈡晳鏃犳晥'; - isPlaying = false; - break; - case 2106: - statusText = '缃戠粶鏉ユ柇杩�, 涓旂粡澶氭閲嶈繛鎶㈡晳鏃犳晥'; - isPlaying = false; - break; - default: - statusText = `鏈煡鐘舵�佺爜: ${code}`; - break; - } - - console.log(`鎽勫儚澶� ${camera.name} 鐘舵��: ${statusText}`); - - // 鏇存柊鎾斁鐘舵�� - const cameraList = this.data.cameraList.map(item => { - if (item.id === camera.id) { - return { - ...item, - isPlaying: isPlaying - }; - } - return item; - }); - - this.setData({ - cameraList: cameraList - }); - }, - - /** - * 鐩存挱鎾斁鍣ㄧ綉缁滅姸鎬� - */ - onLivePlayerNetStatus(e) { - const camera = e.currentTarget.dataset.camera; - console.log('鐩存挱鎾斁鍣ㄧ綉缁滅姸鎬�:', camera.name, e.detail); - }, - - /** - * 鐩存挱鎾斁鍣ㄩ敊璇� - */ - onLivePlayerError(e) { - const camera = e.currentTarget.dataset.camera; - console.error('鐩存挱鎾斁鍣ㄩ敊璇�:', camera.name, e.detail); - - wx.showToast({ - title: '鐩存挱鎾斁澶辫触', - icon: 'error' - }); - - // 鏇存柊鎾斁鐘舵�� - const cameraList = this.data.cameraList.map(item => { - if (item.id === camera.id) { - return { - ...item, - isPlaying: false - }; - } - return item; - }); - - this.setData({ - cameraList: cameraList - }); - }, - - /** - * 鍏ㄥ睆鎾斁瑙嗛 - */ - fullscreenVideo(e) { - const camera = e.currentTarget.dataset.camera; - console.log('鍏ㄥ睆鎾斁:', camera.name); - - if (!camera.online) { - wx.showToast({ - title: '鎽勫儚澶寸绾�', - icon: 'error' - }); - return; - } - - // 浣跨敤RTMP URL杩涜鍏ㄥ睆鎾斁 - if (camera.hslUrl) { - console.log('鍏ㄥ睆瑙嗛URL:', camera.hslUrl); - - wx.showModal({ - title: '鍏ㄥ睆鎾斁', - content: `鍗冲皢鍏ㄥ睆鎾斁 ${camera.name} 鐨勮棰戞祦`, - confirmText: '寮�濮嬫挱鏀�', - success: (res) => { - if (res.confirm) { - // 杩欓噷鍙互璺宠浆鍒板叏灞忚棰戞挱鏀鹃〉闈� - wx.showToast({ - title: '姝e湪鍔犺浇鍏ㄥ睆瑙嗛...', - icon: 'loading' - }); - - // 妯℃嫙鍏ㄥ睆瑙嗛鍔犺浇 - setTimeout(() => { - wx.showToast({ - title: '鍏ㄥ睆鎾斁涓�', - icon: 'success' - }); - }, 1500); - } - } - }); - } else { - wx.showToast({ - title: '鍏ㄥ睆瑙嗛鍦板潃鏃犳晥', - icon: 'error' - }); - } - }, - - /** - * 鎽勫儚澶磋缃� - */ - cameraSettings(e) { - const camera = e.currentTarget.dataset.camera; - console.log('鎽勫儚澶磋缃�:', camera.name); - - wx.showActionSheet({ - itemList: ['浜戝彴鎺у埗', '褰曞儚璁剧疆', '鐢昏川璋冭妭', '鎶ヨ璁剧疆'], - success: (res) => { - const actions = ['浜戝彴鎺у埗', '褰曞儚璁剧疆', '鐢昏川璋冭妭', '鎶ヨ璁剧疆']; - wx.showToast({ - title: `${actions[res.tapIndex]}鍔熻兘寮�鍙戜腑`, - icon: 'none' - }); - } - }); - }, /** * 鑾峰彇姘旇薄绔欏垪琛紙鍏煎鎬ф柟娉曪紝鐜板湪璋冪敤缁熶竴鎺ュ彛锛� @@ -849,8 +505,6 @@ windDirectionAngle: content.windDirection, // 椋庡悜瑙掑害 // 鍦ㄧ嚎鐘舵�� onLine: content.onLine, - // 璁$畻鍦ㄧ嚎鐘舵�� - online: content.onLine === 1, // 鏍煎紡鍖栨樉绀烘暟鎹� lastUpdate: content.dt || new Date().toLocaleString() }; @@ -903,7 +557,7 @@ windSpeed: 0.00, windDirection: '鍖�', windDirectionAngle: 0, - onLine: 1, + onLine: false, online: true, lastUpdate: new Date().toLocaleString() }; @@ -1071,8 +725,7 @@ soilTemperature4: 0.00, soilTemperature5: 0.00, // 鍦ㄧ嚎鐘舵�� - onLine: 1, - online: true, + onLine: false, lastUpdate: new Date().toLocaleString() }; @@ -1240,7 +893,7 @@ stirTime: 0, stirDuration: 300, injectDuration: 300, - onLine: 1, + onLine: false, mixingEnabled: false, fertilizingEnabled: false, lastUpdate: new Date().toLocaleString() -- Gitblit v1.8.0