阶段性代码提交

This commit is contained in:
WORK\64751 2025-08-25 11:40:42 +08:00
parent dfb1928d62
commit d503311198
5 changed files with 106 additions and 205 deletions

View File

@ -41,7 +41,7 @@ if (!qiankunWindow.__POWERED_BY_QIANKUN__) {
id_token: id_token:
'eyJraWQiOiI3M2I5NTI0Ni02NjI2LTQ3N2YtYWFmYS1kMDJiODFhNjFkZmYiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjc2FkbWluIiwiYXVkIjoidHVvaGVuZy1haXJwb3J0LWFkbWluIiwicm9sZSI6WyJ0dW9oZW5nLWFpcnBvcnRTY3JlZW4tbXAiLCJ0dW9oZW5nLXBpbG90LW1wIiwidHVvaGVuZy13YXRlcndheS1hZG1pbiIsInR1b2hlbmctdGVsZWNvbXVtYWxlLW1wIiwidHVvaGVuZy1haXJwb3J0U2NyZWVuLWFkbWluIiwidHVvaGVuZy1kbXAtbXAiLCJ0dW9oZW5nLWZseXBvcnRhbC1hZG1pbiIsInR1b2hlbmctdGVsZWNvbXVtYWxlLWFkbWluIiwidHVvaGVuZy1oaHotYWRtaW4iLCJ0dW9oZW5nLWhoei1tcCIsInR1b2hlbmctZnJlZXdheS1hZG1pbiIsInR1b2hlbmctd2VwdHNwLW1wIiwidHVvaGVuZy1waWxvdC1hZG1pbiIsInR1b2hlbmctc3BhY2V0aW1lLWFkbWluIiwidHVvaGVuZy1hbGVydC1tcCIsInR1b2hlbmctYnVzaW5lc3MtYWRtaW4iLCJ0dW9oZW5nLWJ1c2luZXNzLW1wIiwidHVvaGVuZy13ZXB0c3AtYWRtaW4iLCJ0dW9oZW5nLWFpcm1vbml0b3ItbXAiLCJ0dW9oZW5nLWFpcnBvcnQtbXAiLCJ0dW9oZW5nLWFpcm1vbml0b3ItYWRtaW4iLCJ0dW9oZW5nLWFsZXJ0LWFkbWluIiwidHVvaGVuZy1haXJwb3J0LWFkbWluIiwidHVvaGVuZy13YXRlcndheS1tcCIsInR1b2hlbmctZnJlZXdheS1tcCIsInR1b2hlbmctZG1wLWFkbWluIiwidHVvaGVuZy1zcGFjZXRpbWUtbXAiXSwiYXpwIjoidHVvaGVuZy1haXJwb3J0LWFkbWluIiwiaXNzIjoiaHR0cHM6XC9cL2xvZ2luLXRlc3QudC1hYXJvbi5jb20iLCJleHAiOjE3NTUwNzA3MjMsImlhdCI6MTc1NTA2ODkyM30.deCJZsyu2dgLrbl-rnnoYTBhZD59zUJoLzFkadL7m_RJ_jWlvQvLXjQn2h0tuba0HRN7ZT2COVmNxTgLLATbdJU2SQ-_wVt30XwyX1hauDV1DALzdk5UiRelP2lIJlPWZKhpqMX52gYsGZXyliErbORBLMc_920vTZDHKeuiriuODXlT7__5MnKFTCGXDegZRPALY7kLwpQfL4DSn3ILeSGMIqU7dPx3kM4CV1iIJs2f2jEZT4HOzXy51o_GjCW7enY2qWERRfvsLIX8a8DPg0YvN-j3AHoUoKWYX_1ZCmD3eGHhqQbEvZsLJV2J6MlwF6eZOkz08M-mdkyU2_Trpg', 'eyJraWQiOiI3M2I5NTI0Ni02NjI2LTQ3N2YtYWFmYS1kMDJiODFhNjFkZmYiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjc2FkbWluIiwiYXVkIjoidHVvaGVuZy1haXJwb3J0LWFkbWluIiwicm9sZSI6WyJ0dW9oZW5nLWFpcnBvcnRTY3JlZW4tbXAiLCJ0dW9oZW5nLXBpbG90LW1wIiwidHVvaGVuZy13YXRlcndheS1hZG1pbiIsInR1b2hlbmctdGVsZWNvbXVtYWxlLW1wIiwidHVvaGVuZy1haXJwb3J0U2NyZWVuLWFkbWluIiwidHVvaGVuZy1kbXAtbXAiLCJ0dW9oZW5nLWZseXBvcnRhbC1hZG1pbiIsInR1b2hlbmctdGVsZWNvbXVtYWxlLWFkbWluIiwidHVvaGVuZy1oaHotYWRtaW4iLCJ0dW9oZW5nLWhoei1tcCIsInR1b2hlbmctZnJlZXdheS1hZG1pbiIsInR1b2hlbmctd2VwdHNwLW1wIiwidHVvaGVuZy1waWxvdC1hZG1pbiIsInR1b2hlbmctc3BhY2V0aW1lLWFkbWluIiwidHVvaGVuZy1hbGVydC1tcCIsInR1b2hlbmctYnVzaW5lc3MtYWRtaW4iLCJ0dW9oZW5nLWJ1c2luZXNzLW1wIiwidHVvaGVuZy13ZXB0c3AtYWRtaW4iLCJ0dW9oZW5nLWFpcm1vbml0b3ItbXAiLCJ0dW9oZW5nLWFpcnBvcnQtbXAiLCJ0dW9oZW5nLWFpcm1vbml0b3ItYWRtaW4iLCJ0dW9oZW5nLWFsZXJ0LWFkbWluIiwidHVvaGVuZy1haXJwb3J0LWFkbWluIiwidHVvaGVuZy13YXRlcndheS1tcCIsInR1b2hlbmctZnJlZXdheS1tcCIsInR1b2hlbmctZG1wLWFkbWluIiwidHVvaGVuZy1zcGFjZXRpbWUtbXAiXSwiYXpwIjoidHVvaGVuZy1haXJwb3J0LWFkbWluIiwiaXNzIjoiaHR0cHM6XC9cL2xvZ2luLXRlc3QudC1hYXJvbi5jb20iLCJleHAiOjE3NTUwNzA3MjMsImlhdCI6MTc1NTA2ODkyM30.deCJZsyu2dgLrbl-rnnoYTBhZD59zUJoLzFkadL7m_RJ_jWlvQvLXjQn2h0tuba0HRN7ZT2COVmNxTgLLATbdJU2SQ-_wVt30XwyX1hauDV1DALzdk5UiRelP2lIJlPWZKhpqMX52gYsGZXyliErbORBLMc_920vTZDHKeuiriuODXlT7__5MnKFTCGXDegZRPALY7kLwpQfL4DSn3ILeSGMIqU7dPx3kM4CV1iIJs2f2jEZT4HOzXy51o_GjCW7enY2qWERRfvsLIX8a8DPg0YvN-j3AHoUoKWYX_1ZCmD3eGHhqQbEvZsLJV2J6MlwF6eZOkz08M-mdkyU2_Trpg',
access_token: access_token:
'eyJraWQiOiI3M2I5NTI0Ni02NjI2LTQ3N2YtYWFmYS1kMDJiODFhNjFkZmYiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjc2FkbWluIiwiaXNBYmxlIjoxLCJpc3MiOiJodHRwczpcL1wvbG9naW4tdGVzdC50LWFhcm9uLmNvbSIsImF1ZCI6InR1b2hlbmctYWlycG9ydC1hZG1pbiIsIm5iZiI6MTc1NTkxNDQ5MSwib1VzZXJJZCI6NTQzLCJzY29wZSI6WyJ0dW9oZW5nLWFpcnBvcnRTY3JlZW4tbXAiLCJ0dW9oZW5nLXBpbG90LW1wIiwidHVvaGVuZy13YXRlcndheS1hZG1pbiIsInR1b2hlbmctdGVsZWNvbXVtYWxlLW1wIiwidHVvaGVuZy1haXJwb3J0U2NyZWVuLWFkbWluIiwidHVvaGVuZy1kbXAtbXAiLCJ0dW9oZW5nLWZseXBvcnRhbC1hZG1pbiIsInR1b2hlbmctdGVsZWNvbXVtYWxlLWFkbWluIiwidHVvaGVuZy1oaHotYWRtaW4iLCJ0dW9oZW5nLWhoei1tcCIsInR1b2hlbmctZnJlZXdheS1hZG1pbiIsInR1b2hlbmctd2VwdHNwLW1wIiwidHVvaGVuZy1waWxvdC1hZG1pbiIsInR1b2hlbmctc3BhY2V0aW1lLWFkbWluIiwidHVvaGVuZy1hbGVydC1tcCIsInR1b2hlbmctYnVzaW5lc3MtYWRtaW4iLCJ0dW9oZW5nLWJ1c2luZXNzLW1wIiwidHVvaGVuZy13ZXB0c3AtYWRtaW4iLCJ0dW9oZW5nLWFpcm1vbml0b3ItbXAiLCJ0dW9oZW5nLWFpcnBvcnQtbXAiLCJ0dW9oZW5nLWFpcm1vbml0b3ItYWRtaW4iLCJ0dW9oZW5nLWFsZXJ0LWFkbWluIiwidHVvaGVuZy1haXJwb3J0LWFkbWluIiwidHVvaGVuZy13YXRlcndheS1tcCIsInR1b2hlbmctZnJlZXdheS1tcCIsInR1b2hlbmctZG1wLWFkbWluIiwidHVvaGVuZy1zcGFjZXRpbWUtbXAiXSwiY2xpZW50Um9sZUxpc3QiOiJbe1wiY2xpZW50SWRcIjpcInR1b2hlbmctZmx5cG9ydGFsLWFkbWluXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1idXNpbmVzcy1tcFwiLFwicm9sZUlkXCI6MTE0NX0se1wiY2xpZW50SWRcIjpcInR1b2hlbmctYnVzaW5lc3MtYWRtaW5cIixcInJvbGVJZFwiOjExNDV9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLWFpcnBvcnRTY3JlZW4tYWRtaW5cIixcInJvbGVJZFwiOjF9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLXNwYWNldGltZS1hZG1pblwiLFwicm9sZUlkXCI6MX0se1wiY2xpZW50SWRcIjpcInR1b2hlbmctc3BhY2V0aW1lLW1wXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1oaHotYWRtaW5cIixcInJvbGVJZFwiOjEwMDN9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLWhoei1tcFwiLFwicm9sZUlkXCI6MTAwM30se1wiY2xpZW50SWRcIjpcInR1b2hlbmctd2F0ZXJ3YXktYWRtaW5cIixcInJvbGVJZFwiOjF9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLXdhdGVyd2F5LW1wXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1kbXAtYWRtaW5cIixcInJvbGVJZFwiOjF9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLWRtcC1tcFwiLFwicm9sZUlkXCI6MX0se1wiY2xpZW50SWRcIjpcInR1b2hlbmctYWlycG9ydC1hZG1pblwiLFwicm9sZUlkXCI6NjYzfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1haXJwb3J0LW1wXCIsXCJyb2xlSWRcIjo2NjN9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLWFsZXJ0LWFkbWluXCIsXCJyb2xlSWRcIjoyN30se1wiY2xpZW50SWRcIjpcInR1b2hlbmctYWxlcnQtbXBcIixcInJvbGVJZFwiOjI3fSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1haXJtb25pdG9yLWFkbWluXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1haXJtb25pdG9yLW1wXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy13ZXB0c3AtYWRtaW5cIixcInJvbGVJZFwiOjI1fSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy13ZXB0c3AtbXBcIixcInJvbGVJZFwiOjI1fSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy10ZWxlY29tdW1hbGUtYWRtaW5cIixcInJvbGVJZFwiOjF9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLXRlbGVjb211bWFsZS1tcFwiLFwicm9sZUlkXCI6MX0se1wiY2xpZW50SWRcIjpcInR1b2hlbmctcGlsb3QtbXBcIixcInJvbGVJZFwiOjF9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLXBpbG90LWFkbWluXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1mcmVld2F5LW1wXCIsXCJyb2xlSWRcIjo1OH0se1wiY2xpZW50SWRcIjpcInR1b2hlbmctZnJlZXdheS1hZG1pblwiLFwicm9sZUlkXCI6NTh9XSIsImV4cCI6MTc1NjAwMDg5MSwiaXNFeHBpcmUiOjEsImlhdCI6MTc1NTkxNDQ5MSwidXNlcm5hbWUiOiJjc2FkbWluIn0.Opt-pZg4tgqZkfcme-jSyOOw80j0s5tqWiPVp0lLlOZu20-nJEO2co3A1UZ-ZOsrCik1N3_ZqGWhrk9QYhj0EAeoD6ByLDkLIw7k66_YtBidygxdDaSdpNt_RSat2QBNdrkvoG1bSEgaffh8_x205sFzlYfywn0zQfT6eANiKS8NDyamiwFPg5PcWkf9hmW3IxvhiLbCoSpD1LfHR6izkD2_vBmrNAhV33l84BGpW3HLcD19ZcLWKauSLztiNLMT46zCyZIYaAtzSASdu3esADK28KpzBECBfpSfodvkU3kcv3r_IJ1yrmwdrg9kojOF27WxM3z6ekJAMsuMoUECLg', 'eyJraWQiOiI3M2I5NTI0Ni02NjI2LTQ3N2YtYWFmYS1kMDJiODFhNjFkZmYiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjc2FkbWluIiwiaXNBYmxlIjoxLCJpc3MiOiJodHRwczpcL1wvbG9naW4tdGVzdC50LWFhcm9uLmNvbSIsImF1ZCI6InR1b2hlbmctYWlycG9ydC1hZG1pbiIsIm5iZiI6MTc1NjA4MjkxNiwib1VzZXJJZCI6NTQzLCJzY29wZSI6WyJ0dW9oZW5nLWFpcnBvcnRTY3JlZW4tbXAiLCJ0dW9oZW5nLXBpbG90LW1wIiwidHVvaGVuZy13YXRlcndheS1hZG1pbiIsInR1b2hlbmctdGVsZWNvbXVtYWxlLW1wIiwidHVvaGVuZy1haXJwb3J0U2NyZWVuLWFkbWluIiwidHVvaGVuZy1kbXAtbXAiLCJ0dW9oZW5nLWZseXBvcnRhbC1hZG1pbiIsInR1b2hlbmctdGVsZWNvbXVtYWxlLWFkbWluIiwidHVvaGVuZy1oaHotYWRtaW4iLCJ0dW9oZW5nLWhoei1tcCIsInR1b2hlbmctZnJlZXdheS1hZG1pbiIsInR1b2hlbmctd2VwdHNwLW1wIiwidHVvaGVuZy1waWxvdC1hZG1pbiIsInR1b2hlbmctc3BhY2V0aW1lLWFkbWluIiwidHVvaGVuZy1hbGVydC1tcCIsInR1b2hlbmctYnVzaW5lc3MtYWRtaW4iLCJ0dW9oZW5nLWJ1c2luZXNzLW1wIiwidHVvaGVuZy13ZXB0c3AtYWRtaW4iLCJ0dW9oZW5nLWFpcm1vbml0b3ItbXAiLCJ0dW9oZW5nLWFpcnBvcnQtbXAiLCJ0dW9oZW5nLWFpcm1vbml0b3ItYWRtaW4iLCJ0dW9oZW5nLWFsZXJ0LWFkbWluIiwidHVvaGVuZy1haXJwb3J0LWFkbWluIiwidHVvaGVuZy13YXRlcndheS1tcCIsInR1b2hlbmctZnJlZXdheS1tcCIsInR1b2hlbmctZG1wLWFkbWluIiwidHVvaGVuZy1zcGFjZXRpbWUtbXAiXSwiY2xpZW50Um9sZUxpc3QiOiJbe1wiY2xpZW50SWRcIjpcInR1b2hlbmctZmx5cG9ydGFsLWFkbWluXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1idXNpbmVzcy1tcFwiLFwicm9sZUlkXCI6MTE0NX0se1wiY2xpZW50SWRcIjpcInR1b2hlbmctYnVzaW5lc3MtYWRtaW5cIixcInJvbGVJZFwiOjExNDV9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLWFpcnBvcnRTY3JlZW4tYWRtaW5cIixcInJvbGVJZFwiOjF9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLXNwYWNldGltZS1hZG1pblwiLFwicm9sZUlkXCI6MX0se1wiY2xpZW50SWRcIjpcInR1b2hlbmctc3BhY2V0aW1lLW1wXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1oaHotYWRtaW5cIixcInJvbGVJZFwiOjEwMDN9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLWhoei1tcFwiLFwicm9sZUlkXCI6MTAwM30se1wiY2xpZW50SWRcIjpcInR1b2hlbmctd2F0ZXJ3YXktYWRtaW5cIixcInJvbGVJZFwiOjF9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLXdhdGVyd2F5LW1wXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1kbXAtYWRtaW5cIixcInJvbGVJZFwiOjF9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLWRtcC1tcFwiLFwicm9sZUlkXCI6MX0se1wiY2xpZW50SWRcIjpcInR1b2hlbmctYWlycG9ydC1hZG1pblwiLFwicm9sZUlkXCI6NjYzfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1haXJwb3J0LW1wXCIsXCJyb2xlSWRcIjo2NjN9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLWFsZXJ0LWFkbWluXCIsXCJyb2xlSWRcIjoyN30se1wiY2xpZW50SWRcIjpcInR1b2hlbmctYWxlcnQtbXBcIixcInJvbGVJZFwiOjI3fSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1haXJtb25pdG9yLWFkbWluXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1haXJtb25pdG9yLW1wXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy13ZXB0c3AtYWRtaW5cIixcInJvbGVJZFwiOjI1fSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy13ZXB0c3AtbXBcIixcInJvbGVJZFwiOjI1fSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy10ZWxlY29tdW1hbGUtYWRtaW5cIixcInJvbGVJZFwiOjF9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLXRlbGVjb211bWFsZS1tcFwiLFwicm9sZUlkXCI6MX0se1wiY2xpZW50SWRcIjpcInR1b2hlbmctcGlsb3QtbXBcIixcInJvbGVJZFwiOjF9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLXBpbG90LWFkbWluXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1mcmVld2F5LW1wXCIsXCJyb2xlSWRcIjo1OH0se1wiY2xpZW50SWRcIjpcInR1b2hlbmctZnJlZXdheS1hZG1pblwiLFwicm9sZUlkXCI6NTh9XSIsImV4cCI6MTc1NjE2OTMxNiwiaXNFeHBpcmUiOjEsImlhdCI6MTc1NjA4MjkxNiwidXNlcm5hbWUiOiJjc2FkbWluIn0.cU4vIbNjPppa9Mvyhc5uFXcVHum8xjf-B3HTjHuI8M_smFlUsOj8WFoLkxrB0GZmX_8fspxlcXoQaQ0ukFk1jF1Eyn1upL5mKVi8y_PCZPKJzXGU-67U2pA3MMWrztGQEmmDn_zi33Qi8BiG4cqB9nfqj4cqes50Nrq_LNPCgLjAcnfnYnZss9--3-SQqD15rLT7juVj9GfBhIphtVtAXoaftsQiccEW8NXTUH49Knpw8YlhTWN4Ibi92sQ353EcCVAqZ1iDuqlX4WcT4IRRzz5y248Bbp6R-lbJm92NjhAeQepb67io7muSAOrpTDZ2cfgd0bUCwooCD-QixNxWNw',
refresh_token: refresh_token:
'HNyAXnoDhR2kgjXUSVwqMldvgzazvaY3tVlCodSiDon7fA7P8Ci3BMsnk31cjeSKwcbsPzUaMdCdBilBhSqQ1dZLk-Md-ERqh5mbbeu7rJDWX4MexO0eKtRBwz-mbnbR', 'HNyAXnoDhR2kgjXUSVwqMldvgzazvaY3tVlCodSiDon7fA7P8Ci3BMsnk31cjeSKwcbsPzUaMdCdBilBhSqQ1dZLk-Md-ERqh5mbbeu7rJDWX4MexO0eKtRBwz-mbnbR',
token_type: 'Bearer', token_type: 'Bearer',

View File

@ -3,10 +3,11 @@ import { defineStore } from 'pinia'
export const useAirPortSocketStore = defineStore('airportSocket', () => { export const useAirPortSocketStore = defineStore('airportSocket', () => {
const currentAirPort = ref(null) const currentAirPort = ref(null)
const ceurrentAirPortData = ref(null)
// function increment() { // function increment() {
// count.value++ // count.value++
// } // }
return { currentAirPort } return { currentAirPort, ceurrentAirPortData }
}) })

View File

@ -1,36 +1,53 @@
<script setup> <script setup>
import { ref, defineAsyncComponent, onMounted, watch, toRaw, defineProps, reactive } from 'vue' import { ref, defineAsyncComponent, onMounted, watch, toRaw, defineProps, reactive } from 'vue'
const ScreenComp = defineAsyncComponent(() => import('@/views/carbin/toolComp/screen.vue'))
const emit = defineEmits(['switchScreen']) const emit = defineEmits(['switchScreen', 'iframeLoaded'])
const props = defineProps({ const props = defineProps({
row: Object, // row: Object, //
}) })
let out_title = ref('舱外直播') let out_title = ref('舱外直播')
let in_title = ref('舱内直播') let in_title = ref('舱内直播')
let out_showType = ref('video_out')
let in_showType = ref('video_in')
let lastType = ref(null) let lastType = ref(null)
const switchScreen = (type) => { const switchScreen = (type) => {
let title = ''
if (lastType != type) { if (lastType != type) {
out_title.value = '舱外直播' out_title.value = '舱外直播'
in_title.value = '舱内直播' in_title.value = '舱内直播'
out_showType.value = 'video_out'
in_showType.value = 'video_in'
} }
if (type == 'out') { if (type == 'video_out') {
if (out_title.value == '地图') { if (out_title.value == '地图') {
out_title.value = '舱外直播' out_title.value = '舱外直播'
out_showType.value = 'video_out'
} else { } else {
out_title.value = '地图' out_title.value = '地图'
out_showType.value = 'map'
} }
title = out_showType.value
} }
if (type == 'in') { if (type == 'video_in') {
if (in_title.value == '地图') { if (in_title.value == '地图') {
in_title.value = '舱内直播' in_title.value = '舱内直播'
in_showType.value = 'video_in'
} else { } else {
in_title.value = '地图' in_title.value = '地图'
in_showType.value = 'map'
} }
title = in_showType.value
} }
lastType = type lastType = type
emit('switchScreen', type) emit('switchScreen', type, title)
}
//iframe
const iframeLoaded = (iframeContent) => {
emit('iframeLoaded', iframeContent)
} }
watch( watch(
@ -60,7 +77,7 @@ onMounted(() => {})
<div <div
class="flex flex-row items-center px-3 bg-[#016CF8] text-[#ffffff] rounded-sm cursor-pointer" class="flex flex-row items-center px-3 bg-[#016CF8] text-[#ffffff] rounded-sm cursor-pointer"
@click="switchScreen('out')" @click="switchScreen('video_out')"
> >
<span class="iconfont icon-qiehuan"></span> <span class="iconfont icon-qiehuan"></span>
<span class="text-xs ml-1">切换</span> <span class="text-xs ml-1">切换</span>
@ -71,12 +88,7 @@ onMounted(() => {})
id="out_small_video_area" id="out_small_video_area"
class="relative w-full aspect-video bg-[#0B2038] mt-2 rounded-md border border-[#3C89C6] overflow-hidden" class="relative w-full aspect-video bg-[#0B2038] mt-2 rounded-md border border-[#3C89C6] overflow-hidden"
> >
<!-- <LivePlayer <ScreenComp :showType="out_showType" :row="props.row" @iframeLoaded="iframeLoaded" />
v-show="LiveOptions_out.videoUrl?.includes('.flv')"
ref="OutlivePlayerRef"
id="realOutTimeCamera"
:options="LiveOptions_out"
/> -->
</div> </div>
</div> </div>
@ -90,7 +102,7 @@ onMounted(() => {})
<div <div
class="flex flex-row items-center px-3 bg-[#016CF8] text-[#ffffff] rounded-sm cursor-pointer" class="flex flex-row items-center px-3 bg-[#016CF8] text-[#ffffff] rounded-sm cursor-pointer"
@click="switchScreen('in')" @click="switchScreen('video_in')"
> >
<span class="iconfont icon-qiehuan"></span> <span class="iconfont icon-qiehuan"></span>
<span class="text-xs ml-1">切换</span> <span class="text-xs ml-1">切换</span>
@ -100,7 +112,9 @@ onMounted(() => {})
<div <div
id="in_small_video_area" id="in_small_video_area"
class="relative w-full aspect-video bg-[#0B2038] mt-2 rounded-md border border-[#3C89C6] overflow-hidden" class="relative w-full aspect-video bg-[#0B2038] mt-2 rounded-md border border-[#3C89C6] overflow-hidden"
></div> >
<ScreenComp :showType="in_showType" :row="props.row" @iframeLoaded="iframeLoaded" />
</div>
</div> </div>
<!-- 按钮 暂时不做--> <!-- 按钮 暂时不做-->

View File

@ -31,19 +31,6 @@ let leftPlaneWidth = ref('25%')
let rightPlaneWidth = ref('75%') let rightPlaneWidth = ref('75%')
let rightPlaneHeight = ref('100%') let rightPlaneHeight = ref('100%')
let rightPlaneBottom = ref('0') let rightPlaneBottom = ref('0')
// //
// let out_showLive = ref(false)
// //
// let in_showLive = ref(false)
// //
// let plane_showLive = ref(false)
// //gismap
// let showIframeMap = ref(false)
// let outVideo_teleport = ref('#out_small_video_area')
// let inVideo_teleport = ref('#in_small_video_area')
// let planeVideo_teleport = ref('#plane_small_video_area')
// let map_teleport = ref('#big_area')
let big_area_showType = ref('map') let big_area_showType = ref('map')
@ -67,31 +54,6 @@ const statusList = reactive({
let virturalDrive_iframe_full = ref(null) let virturalDrive_iframe_full = ref(null)
let iframeData = null let iframeData = null
//1
const LiveOptions_out = reactive({
videoUrl: null,
// videoTitle: null,
// live: true,
// hideFullscreenButton: true,
// stretch: true
})
//2
const LiveOptions_in = reactive({
videoUrl: null,
// videoTitle: null,
// live: true,
// hideFullscreenButton: true,
// stretch: true
})
//-
const LiveOptions_plane = reactive({
videoUrl: null,
// videoTitle: null,
// live: true,
// hideFullscreenButton: true,
// stretch: true
})
// //
const modifPlaneWidthFn = (num) => { const modifPlaneWidthFn = (num) => {
if (num == 1) { if (num == 1) {
@ -126,11 +88,7 @@ const queryAirLine_AirPort = async () => {
if (res[0].value.code == 0) { if (res[0].value.code == 0) {
// //
currentAirPortInfo.value = res[0].value.data[0] currentAirPortInfo.value = res[0].value.data[0]
airPortSocketStore.ceurrentAirPortData = currentAirPortInfo.value
//
LiveOptions_out.videoUrl = currentAirPortInfo.value.external_monitor_url
LiveOptions_in.videoUrl = currentAirPortInfo.value.internal_monitor_url
LiveOptions_plane.videoUrl = currentAirPortInfo.value.camera_url
// //
if (currentAirPortStatus.value != Number(currentAirPortInfo.value.status)) { if (currentAirPortStatus.value != Number(currentAirPortInfo.value.status)) {
@ -140,8 +98,8 @@ const queryAirLine_AirPort = async () => {
currentAirPortStatus.value, currentAirPortStatus.value,
statusList[currentAirPortStatus.value], statusList[currentAirPortStatus.value],
) )
//teleport
// resetTeleportTo(currentAirPortStatus.value) resetScreen()
} }
//socket //socket
@ -188,14 +146,9 @@ const queryAirPort = async () => {
let res = await queryAirportApi(params) let res = await queryAirportApi(params)
if (res.code == 0) { if (res.code == 0) {
currentAirPortInfo.value = res.data[0] currentAirPortInfo.value = res.data[0]
// console.log(currentAirPortInfo.value) airPortSocketStore.ceurrentAirPortData = currentAirPortInfo.value
// currentAirPortInfo.value.status = 3
LiveOptions_out.videoUrl = currentAirPortInfo.value.external_monitor_url
LiveOptions_in.videoUrl = currentAirPortInfo.value.internal_monitor_url
LiveOptions_plane.videoUrl = currentAirPortInfo.value.camera_url
// currentAirPortInfo.value.status = 2
// //
if (currentAirPortStatus.value != Number(currentAirPortInfo.value.status)) { if (currentAirPortStatus.value != Number(currentAirPortInfo.value.status)) {
@ -205,8 +158,8 @@ const queryAirPort = async () => {
currentAirPortStatus.value, currentAirPortStatus.value,
statusList[currentAirPortStatus.value], statusList[currentAirPortStatus.value],
) )
//teleport
// resetTeleportTo(currentAirPortStatus.value) resetScreen()
} }
} }
// //
@ -214,53 +167,6 @@ const queryAirPort = async () => {
queryAirPort() queryAirPort()
}, 6000) }, 6000)
} }
//
const resetTeleportTo = (currentAirPortStatus) => {
if (currentAirPortStatus == 1) {
//
setTimeout(() => {
//
map_teleport.value = '#big_area'
//
outVideo_teleport.value = '#out_small_video_area'
//
inVideo_teleport.value = '#in_small_video_area'
out_showLive.value = true
in_showLive.value = true
showIframeMap.value = true
plane_showLive.value = false
}, 50)
} else if (currentAirPortStatus == 2) {
//
rightPlaneHeight.value = 'calc(100% - 150px)'
rightPlaneBottom.value = '150px'
setTimeout(() => {
//
map_teleport.value = '#left_flying_map'
//
outVideo_teleport.value = '#plane_small_video_area'
out_showLive.value = true
in_showLive.value = false
showIframeMap.value = true
plane_showLive.value = false
}, 200)
} else if (currentAirPortStatus == 3) {
//
setTimeout(() => {
//
outVideo_teleport.value = '#big_area'
out_showLive.value = true
in_showLive.value = false
showIframeMap.value = false
plane_showLive.value = false
}, 50)
}
}
//socket线 //socket线
const socketFn = (workParams) => { const socketFn = (workParams) => {
//线,使type:moduleworkerimportjs //线,使type:moduleworkerimportjs
@ -281,7 +187,7 @@ const socketFn = (workParams) => {
const iframeLoaded = (iframeContent) => { const iframeLoaded = (iframeContent) => {
// let iframeItem = virturalDrive_iframe_full.value // let iframeItem = virturalDrive_iframe_full.value
// let iframeContent = iframeItem.contentWindow // let iframeContent = iframeItem.contentWindow
console.log(iframeContent)
let data = JSON.stringify(iframeData) let data = JSON.stringify(iframeData)
// console.log(data) // console.log(data)
@ -294,7 +200,6 @@ const iframeLoaded = (iframeContent) => {
// sendPosToPlane() // sendPosToPlane()
// }, 2000) // }, 2000)
} }
// //
const sendPosToPlane = () => { const sendPosToPlane = () => {
if (currentAirPortStatus.value != 2) { if (currentAirPortStatus.value != 2) {
@ -335,7 +240,6 @@ const sendPosToPlane = () => {
} }
sendPosFn() sendPosFn()
} }
//gis //gis
const sendGisMessage = (params) => { const sendGisMessage = (params) => {
//params //params
@ -346,55 +250,48 @@ const sendGisMessage = (params) => {
iframeContent.postMessage(data, '*') iframeContent.postMessage(data, '*')
} }
//screen
const resetScreen = () => {
if (currentAirPortStatus.value == 3) {
//
big_area_showType.value = 'video_out'
}
}
// //
const switchRightVideoFn = (videoType) => { const switchRightVideoFn = (videoType) => {
if (videoType == 1) { if (videoType == 1) {
// //
setTimeout(() => { big_area_showType.value = 'video_out'
outVideo_teleport.value = '#big_area'
out_showLive.value = true
in_showLive.value = false
showIframeMap.value = false
plane_showLive.value = false
}, 50)
} else if (videoType == 2) { } else if (videoType == 2) {
// //
setTimeout(() => { big_area_showType.value = 'video_in'
inVideo_teleport.value = '#big_area'
out_showLive.value = false
in_showLive.value = true
showIframeMap.value = false
plane_showLive.value = false
}, 50)
} else if (videoType == 3) { } else if (videoType == 3) {
// //
setTimeout(() => { big_area_showType.value = 'video_plane'
planeVideo_teleport.value = '#big_area'
out_showLive.value = false
in_showLive.value = false
showIframeMap.value = false
plane_showLive.value = true
}, 50)
} }
} }
// //
const switchScreenFn = (type) => { const switchScreenFn = (type, title) => {
console.log(type) // console.log(title)
if (type == 'video_out') {
if (switchType != type) {
//
outVideo_teleport.value = '#out_small_video_area'
inVideo_teleport.value = '#in_small_video_area'
map_teleport.value = '#big_area'
}
if (type == 'out') {
// //
;[outVideo_teleport.value, map_teleport.value] = [map_teleport.value, outVideo_teleport.value] if (title == 'video_out') {
} else if (type == 'in') { //map
big_area_showType.value = 'map'
} else if (title == 'map') {
//
big_area_showType.value = type
}
} else if (type == 'video_in') {
// //
;[inVideo_teleport.value, map_teleport.value] = [map_teleport.value, inVideo_teleport.value] if (title == 'video_in') {
//map
big_area_showType.value = 'map'
} else if (title == 'map') {
//
big_area_showType.value = type
}
} }
switchType = type switchType = type
} }
@ -437,6 +334,7 @@ onMounted(() => {
v-if="currentAirPortStatus == 1" v-if="currentAirPortStatus == 1"
:row="currentAirPortInfo" :row="currentAirPortInfo"
@switchScreen="switchScreenFn" @switchScreen="switchScreenFn"
@iframeLoaded="iframeLoaded"
/> />
<!-- 自检面板 准备中--> <!-- 自检面板 准备中-->
@ -479,45 +377,6 @@ onMounted(() => {
</div> </div>
</div> </div>
</div> </div>
<!-- 直播播放器 -->
<!-- 舱外视频 -->
<!-- <teleport :to="outVideo_teleport" v-if="out_showLive">
<LivePlayer
class="h-full absolute left-0 right-0 top-0 right-0 m-auto"
v-show="out_showLive && LiveOptions_out.videoUrl?.includes('.flv')"
ref="OutlivePlayerRef"
:options="LiveOptions_out"
/>
</teleport> -->
<!-- 舱内视频 -->
<!-- <teleport :to="inVideo_teleport" v-if="in_showLive">
<LivePlayer
class="h-full absolute left-0 right-0 top-0 right-0 m-auto"
v-show="in_showLive && LiveOptions_in.videoUrl?.includes('.flv')"
ref="inlivePlayerRef"
:options="LiveOptions_in"
/>
</teleport> -->
<!-- 无人机视角 -->
<!-- <teleport :to="planeVideo_teleport" v-if="plane_showLive">
<LivePlayer
class="h-full absolute left-0 right-0 top-0 right-0 m-auto"
v-show="plane_showLive && LiveOptions_plane.videoUrl?.includes('.flv')"
ref="planelivePlayerRef"
:options="LiveOptions_plane"
/>
</teleport> -->
<!-- map -->
<!-- <teleport v-if="showIframeMap" :to="map_teleport">
<iframe
v-if="showIframeMap"
id="virturalDrive_iframe_full"
ref="virturalDrive_iframe_full"
src="https://gisdata.t-aaron.com/virturalDrive/VirturalDrive.html"
@load="iframeLoaded"
></iframe>
</teleport> -->
</template> </template>
<style lang="scss"> <style lang="scss">

View File

@ -1,11 +1,21 @@
<script setup> <script setup>
import { ref, defineAsyncComponent, onMounted, watch, toRaw, defineProps, reactive } from 'vue' import { ref, defineAsyncComponent, onMounted, watch, toRaw, defineProps, reactive } from 'vue'
import { useAirPortSocketStore } from '@/stores/airportSocket.js'
//- //-
const LivePlayer = defineAsyncComponent(() => import('@/components/video/index.vue')) const LivePlayer = defineAsyncComponent(() => import('@/components/video/index.vue'))
const props = defineProps({ const props = defineProps({
showType: String, // video/map showType: String, // video_out/video_in/video_plane /map
row: Object, // // row: Object, //
})
const airPortSocketStore = useAirPortSocketStore()
let row = null
//pinia
airPortSocketStore.$subscribe((mutate, state) => {
row = state.ceurrentAirPortData
showType.value = props.showType
setVideo()
}) })
const emit = defineEmits(['iframeLoaded']) const emit = defineEmits(['iframeLoaded'])
@ -28,16 +38,30 @@ const iframeLoaded = () => {
emit('iframeLoaded', iframeContent) emit('iframeLoaded', iframeContent)
} }
const setVideo = () => {
if (showType.value == 'video_out') {
LiveOptions.videoUrl = row.external_monitor_url
} else if (showType.value == 'video_in') {
LiveOptions.videoUrl = row.internal_monitor_url
} else if (showType.value == 'video_plane') {
LiveOptions.videoUrl = row.camera_url
}
// console.log(row)
}
// watch(
// () => props.row,
// (val) => {
// showType.value = props.showType
// // setVideo()
// },
// { deep: true },
// )
watch( watch(
() => props.row, () => props.showType,
(val) => { (val) => {
// console.log('') showType.value = val
console.log(val) setVideo()
showType.value = props.showType
// LiveOptions_out.videoUrl = val.external_monitor_url
// LiveOptions_in.videoUrl = val.internal_monitor_url
}, },
{ deep: true },
) )
</script> </script>
@ -45,9 +69,12 @@ watch(
<div class="w-full h-full"> <div class="w-full h-full">
<LivePlayer <LivePlayer
class="h-full absolute left-0 right-0 top-0 right-0 m-auto" class="h-full absolute left-0 right-0 top-0 right-0 m-auto"
v-show="showType == 'video' && LiveOptions.videoUrl?.includes('.flv')" v-show="
(showType == 'video_out' || showType == 'video_in' || showType == 'video_plane') &&
LiveOptions.videoUrl?.includes('.flv')
"
ref="OutlivePlayerRef" ref="OutlivePlayerRef"
:options="LiveOptions_out" :options="LiveOptions"
/> />
<iframe <iframe
v-if="showType == 'map'" v-if="showType == 'map'"