{"remainingRequest":"D:\\dm\\HHHT-fbky\\hhht_fbky\\node_modules\\babel-loader\\lib\\index.js!D:\\dm\\HHHT-fbky\\hhht_fbky\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\dm\\HHHT-fbky\\hhht_fbky\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\dm\\HHHT-fbky\\hhht_fbky\\src\\components\\HelloWorld.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\dm\\HHHT-fbky\\hhht_fbky\\src\\components\\HelloWorld.vue","mtime":1741075589528},{"path":"D:\\dm\\HHHT-fbky\\hhht_fbky\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1740991511838},{"path":"D:\\dm\\HHHT-fbky\\hhht_fbky\\node_modules\\babel-loader\\lib\\index.js","mtime":1740991520080},{"path":"D:\\dm\\HHHT-fbky\\hhht_fbky\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1740991511838},{"path":"D:\\dm\\HHHT-fbky\\hhht_fbky\\node_modules\\vue-loader\\lib\\index.js","mtime":1740991518721}],"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//\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//\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//\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//\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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { rtcHelper } from '@/assets/js/tr_webrtc.min.js'; // import Dayjs from \"dayjs\";\n// import { mapGetters } from \"vuex\";\n\nexport default {\n name: \"Fbky\",\n // computed: {\n // ...mapGetters([\"rtcHelper\"]),\n // },\n // props: {\n // curFbkyData: {\n // //分机登录参数\n // type: Object,\n // require: true,\n // default: () => ({}),\n // },\n // ringNumber: {\n // //号码参数\n // type: String,\n // require: true,\n // default: \"111\",\n // },\n // callDisable: {\n // //呼出或挂断控制\n // type: Boolean,\n // require: true,\n // default: false,\n // },\n // },\n data: function data() {\n return {\n login: \"8889\",\n //分机号\n password: \"123456\",\n //分机密码\n socketUrl: \"wss://172.10.10.61:1443/webrtc\",\n //webSocketURL\n localIp: \"\",\n autoReg: true,\n autoAnswer: false,\n mic: \"\",\n //麦克风选择\n cam: \"\",\n //摄像头选择\n speak: \"\",\n //扬声器选择\n call_in_now_d: null,\n ringNumber: '111',\n callback: {\n onRinging: function onRinging(d) {\n // 来电\n this.onRinging(d);\n },\n onCalling: function onCalling(d) {\n // 外呼\n this.onCalling(d);\n },\n onAnswer: function onAnswer(d) {\n // 通话中\n this.onAnswer(d);\n },\n onHangup: function onHangup(d) {// 挂机\n // this.onHangup(d);\n },\n onLogin: function onLogin() {\n //登录回调\n console.log(\"登录状态在线回调\");\n document.getElementById(\"off_status\").setAttribute(\"hidden\", \"hidden\");\n document.getElementById(\"on_status\").removeAttribute(\"hidden\");\n },\n onLogout: function onLogout() {\n //登出回调\n console.log(\"登出状态离线回调\");\n document.getElementById(\"on_status\").setAttribute(\"hidden\", \"hidden\");\n document.getElementById(\"off_status\").removeAttribute(\"hidden\");\n }\n }\n };\n },\n watch: {\n curFbkyData: {\n handler: function handler(newValue) {\n var _this = this;\n\n this.callHangupAll();\n console.log(\"数据更新:\", newValue);\n\n if (newValue.url) {\n this.login = newValue.admin;\n this.password = newValue.password;\n this.socketUrl = newValue.url;\n this.localIp = newValue.localIp;\n }\n\n setTimeout(function () {\n _this.initPerimeter();\n }, 1500);\n },\n deep: true\n },\n ringNumber: {\n handler: function handler(newValue) {\n this.callHangupAll();\n\n if (this.callDisable) {\n this.dial(0);\n }\n\n console.log(\"拨打号码:\", newValue);\n },\n deep: true\n },\n callDisable: {\n handler: function handler(newValue) {\n if (newValue) {\n this.dial(0);\n console.log(\"拨号\", this.ringNumber);\n } else {\n this.callHangupAll();\n console.log(\"挂断\");\n }\n },\n deep: true\n }\n },\n created: function created() {\n var _this2 = this;\n\n this.initMediaDevices();\n setTimeout(function () {\n _this2.initPerimeter();\n }, 500);\n },\n destroyed: function destroyed() {\n var _this3 = this;\n\n this.callHangupAll();\n setTimeout(function () {\n _this3.webRtcLogout();\n }, 500);\n },\n mounted: function mounted() {},\n methods: {\n getVideoDiv: function getVideoDiv() {\n return document.getElementById(\"peerTag\").value;\n },\n getValue: function getValue(id) {\n return document.getElementById(id).value;\n },\n setValue: function setValue(id, value) {\n document.getElementById(id).value = value;\n },\n //载入参数登录\n initPerimeter: function initPerimeter() {\n if (!this.login || !this.password || !this.socketUrl) {\n alert(\"请填写必填参数\");\n return;\n } // 缓存配置\n\n\n localStorage.verto_login = this.login; //分机账号\n\n localStorage.verto_password = this.password; //分机密码\n\n localStorage.verto_socketUrl = this.socketUrl; //webSocketURL\n\n localStorage.verto_localIp = this.localIp;\n localStorage.verto_autoReg = this.autoReg; //自动登录开关\n\n localStorage.verto_autoAnswer = this.autoAnswer; //自动接听开关\n\n rtcHelper.bootstrap(this.login, this.password, this.socketUrl, this.localIp, this.getVideoDiv(), \"local_video\", this.callback, this.mic, this.speak, this.cam); // console.log(\n // \"配置载入参数\",\n // this.login,\n // this.password,\n // this.socketUrl,\n // this.localIp,\n // this.getVideoDiv(),\n // \"local_video\",\n // this.callback,\n // this.mic,\n // this.speak,\n // this.cam\n // );\n },\n //获取音视频设备\n initMediaDevices: function initMediaDevices() {\n var _this4 = this;\n\n rtcHelper.getMediaDevices().then(function (result) {\n try {\n var microphone = result.audioInputDevices; //麦克风\n\n var camera = result.videoDevices; //摄像头+\n\n var loudspeaker = result.audioOutputDevices; //扬声器\n\n var microphoneStr = \"\";\n var cameraStr = \"\";\n var loudspeakerStr = \"\";\n\n for (var i = 0; i < microphone.length; i++) {\n microphoneStr += '\";\n }\n\n document.getElementById(\"audioInputDev\").innerHTML = microphoneStr;\n\n for (var _i = 0; _i < camera.length; _i++) {\n cameraStr += '\";\n }\n\n document.getElementById(\"videoInputDev\").innerHTML = cameraStr;\n\n for (var _i2 = 0; _i2 < loudspeaker.length; _i2++) {\n loudspeakerStr += '\";\n }\n\n document.getElementById(\"audioOutputDev\").innerHTML = loudspeakerStr;\n\n if (microphone.length > 0) {\n _this4.mic = microphone[0].deviceId;\n }\n\n if (camera.length > 0) {\n _this4.cam = camera[0].deviceId;\n }\n\n if (loudspeaker.length > 0) {\n _this4.speak = loudspeaker[0].deviceId;\n }\n\n console.log(\"音视频设备:\", result, _this4.mic, _this4.cam, _this4.speak);\n } catch (e) {\n console.error(e);\n } // 自动登录\n // if (\n // localStorage.verto_autoReg == \"true\" &&\n // localStorage.verto_login &&\n // localStorage.verto_password &&\n // localStorage.verto_socketUrl\n // ) {\n // this.initPerimeter();\n // }\n\n });\n },\n //登录\n webRtcLogin: function webRtcLogin() {\n try {\n rtcHelper.rtcLogin();\n } catch (e) {\n console.error(e);\n }\n },\n //登出\n webRtcLogout: function webRtcLogout() {\n try {\n rtcHelper.rtcLogout();\n } catch (e) {\n console.error(e);\n }\n },\n // 拨号外呼\n dial: function dial(type) {\n document.getElementById('hc').addEventListener('click', function () {\n navigator.mediaDevices.getUserMedia({\n audio: true\n }).then(function (stream) {\n var audio = document.createElement('audio');\n audio.srcObject = stream;\n audio.autoplay = true;\n document.body.appendChild(audio);\n }).catch(function (error) {\n console.error('获取麦克风失败:', error);\n });\n });\n console.log(\"拨号号码:\", this.ringNumber);\n var destinationNumber = this.ringNumber;\n\n if (!destinationNumber) {\n alert(\"没有输入被叫号码\");\n return;\n }\n\n if (type === 1) {\n // 视频呼出\n rtcHelper.rtcDial(destinationNumber, true);\n } else {\n // 语音呼出\n rtcHelper.rtcDial(destinationNumber, false);\n }\n },\n //历史记录\n logRecords: function logRecords(callee, type) {\n var log = \"\";\n\n switch (type) {\n case \"ringing\":\n log = new Date().Format(\"yyyy-MM-dd HH:mm:ss\") + \" 呼入 \" + callee;\n break;\n\n case \"calling\":\n log = new Date().Format(\"yyyy-MM-dd HH:mm:ss\") + \" 呼出 \" + callee;\n break;\n\n default:\n break;\n }\n\n if (localStorage.verto_his_list) {\n localStorage.verto_his_list += \",\" + log;\n } else {\n localStorage.verto_his_list = log;\n }\n },\n // =================== 通话事件 start ====================\n onRinging: function onRinging(d) {\n var callee = d.cidString();\n console.log(\"===========来电信息===========\" + callee);\n console.log(\"通话呼入事件\", d); // 判断是否自动接听\n\n if (localStorage.verto_autoAnswer) {\n console.log(\"自动接听\");\n\n if (d.params.wantVideo) {\n // 选择是否有视频\n var videoFlag = true;\n rtcHelper.rtcAnswer(d, videoFlag);\n } else {\n rtcHelper.rtcAnswer(d, false);\n }\n } else {\n document.getElementById(\"call_in_now\").innerHTML = callee;\n document.getElementById(\"call_in_now\").setAttribute(\"callID\", d.callID);\n this.call_in_now_d = d;\n }\n\n document.getElementById(\"call_list\").innerHTML += \"