{"remainingRequest":"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":1740993806929},{"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//\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'\n// import Dayjs from \"dayjs\";\n// import { mapGetters } from \"vuex\";\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() {\n return {\n login: \"8889\", //分机号\n password: \"123456\", //分机密码\n socketUrl: \"wss://172.10.10.61:1443/webrtc\", //webSocketURL\n localIp: \"\",\n autoReg: true,\n autoAnswer: false,\n mic: \"\", //麦克风选择\n cam: \"\", //摄像头选择\n speak: \"\", //扬声器选择\n call_in_now_d: null,\n callback: {\n onRinging: function (d) {\n // 来电\n this.onRinging(d);\n },\n onCalling: function (d) {\n // 外呼\n this.onCalling(d);\n },\n onAnswer: function (d) {\n // 通话中\n this.onAnswer(d);\n },\n onHangup: function (d) {\n // 挂机\n // this.onHangup(d);\n },\n onLogin: function () {\n //登录回调\n console.log(\"登录状态在线回调\");\n document\n .getElementById(\"off_status\")\n .setAttribute(\"hidden\", \"hidden\");\n document.getElementById(\"on_status\").removeAttribute(\"hidden\");\n },\n onLogout: function () {\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(newValue) {\n this.callHangupAll();\n console.log(\"数据更新:\", newValue);\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 setTimeout(() => {\n this.initPerimeter();\n }, 1500);\n },\n deep: true,\n },\n ringNumber: {\n handler(newValue) {\n this.callHangupAll();\n if (this.callDisable) {\n this.dial(0);\n }\n console.log(\"拨打号码:\", newValue);\n },\n deep: true,\n },\n callDisable: {\n 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() {\n this.initMediaDevices();\n setTimeout(() => {\n this.initPerimeter();\n }, 500);\n },\n destroyed() {\n this.callHangupAll();\n setTimeout(() => {\n this.webRtcLogout();\n }, 500);\n },\n mounted() {},\n methods: {\n getVideoDiv() {\n return document.getElementById(\"peerTag\").value;\n },\n getValue(id) {\n return document.getElementById(id).value;\n },\n setValue(id, value) {\n document.getElementById(id).value = value;\n },\n //载入参数登录\n initPerimeter() {\n if (!this.login || !this.password || !this.socketUrl) {\n alert(\"请填写必填参数\");\n return;\n }\n // 缓存配置\n localStorage.verto_login = this.login; //分机账号\n localStorage.verto_password = this.password; //分机密码\n localStorage.verto_socketUrl = this.socketUrl; //webSocketURL\n localStorage.verto_localIp = this.localIp;\n localStorage.verto_autoReg = this.autoReg; //自动登录开关\n localStorage.verto_autoAnswer = this.autoAnswer; //自动接听开关\n rtcHelper.bootstrap(\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 // 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() {\n rtcHelper.getMediaDevices().then((result) => {\n try {\n let microphone = result.audioInputDevices; //麦克风\n let camera = result.videoDevices; //摄像头+\n let loudspeaker = result.audioOutputDevices; //扬声器\n let microphoneStr = \"\";\n let cameraStr = \"\";\n let loudspeakerStr = \"\";\n for (let i = 0; i < microphone.length; i++) {\n microphoneStr +=\n '\";\n }\n document.getElementById(\"audioInputDev\").innerHTML = microphoneStr;\n for (let i = 0; i < camera.length; i++) {\n cameraStr +=\n '\";\n }\n document.getElementById(\"videoInputDev\").innerHTML = cameraStr;\n for (let i = 0; i < loudspeaker.length; i++) {\n loudspeakerStr +=\n '\";\n }\n document.getElementById(\"audioOutputDev\").innerHTML = loudspeakerStr;\n if (microphone.length > 0) {\n this.mic = microphone[0].deviceId;\n }\n if (camera.length > 0) {\n this.cam = camera[0].deviceId;\n }\n if (loudspeaker.length > 0) {\n this.speak = loudspeaker[0].deviceId;\n }\n console.log(\"音视频设备:\", result, this.mic, this.cam, this.speak);\n } catch (e) {\n console.error(e);\n }\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 webRtcLogin() {\n try {\n rtcHelper.rtcLogin();\n } catch (e) {\n console.error(e);\n }\n },\n //登出\n webRtcLogout() {\n try {\n rtcHelper.rtcLogout();\n } catch (e) {\n console.error(e);\n }\n },\n // 拨号外呼\n dial(type) {\n console.log(\"拨号号码:\", this.ringNumber);\n let destinationNumber = this.ringNumber;\n if (!destinationNumber) {\n alert(\"没有输入被叫号码\");\n return;\n }\n if (type === 1) {\n // 视频呼出\n rtcHelper.rtcDial(destinationNumber, true);\n } else {\n // 语音呼出\n rtcHelper.rtcDial(destinationNumber, false);\n }\n },\n //历史记录\n logRecords(callee, type) {\n let log = \"\";\n switch (type) {\n case \"ringing\":\n log = new Date().Format(\"yyyy-MM-dd HH:mm:ss\") + \" 呼入 \" + callee;\n break;\n case \"calling\":\n log = new Date().Format(\"yyyy-MM-dd HH:mm:ss\") + \" 呼出 \" + callee;\n break;\n default:\n break;\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(d) {\n let callee = d.cidString();\n console.log(\"===========来电信息===========\" + callee);\n console.log(\"通话呼入事件\", d);\n // 判断是否自动接听\n if (localStorage.verto_autoAnswer) {\n console.log(\"自动接听\");\n if (d.params.wantVideo) {\n // 选择是否有视频\n let 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 document.getElementById(\"call_list\").innerHTML +=\n \"