From 66cc734e81fe0497d88e0951b6aee9c9c8342f2c Mon Sep 17 00:00:00 2001 From: WXL (wul) <wl_5969728@163.com> Date: 星期三, 17 九月 2025 11:43:07 +0800 Subject: [PATCH] 电话更新 --- src/components/CallButton/index.vue | 53 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 45 insertions(+), 8 deletions(-) diff --git a/src/components/CallButton/index.vue b/src/components/CallButton/index.vue index 47931a4..78ea734 100644 --- a/src/components/CallButton/index.vue +++ b/src/components/CallButton/index.vue @@ -37,17 +37,18 @@ }, }, data() { - const randomNum = Math.floor(Math.random() * 11) + 1000; // 鍐呴儴瀹氫箟 + const randomNum = Math.floor(Math.random() * 20) + 1000; // 鍐呴儴瀹氫箟 return { isCalling: false, callStatus: "idle", // idle, calling, connected, ended sipStatus: "鏈繛鎺�", sipStatusClass: "status-disconnected", sipConfig: { - wsUrl: "wss://192.168.10.124:7443", - sipUri: `${randomNum}` + "@192.168.10.124", + wsUrl: "wss://1192.170.66.107:7443", + sipUri: `${randomNum}` + "@1192.170.66.107", password: "Smartor@2023", displayName: "Web 灏忛緳", + // realm: "9.208.5.18:8090", }, }; }, @@ -61,6 +62,15 @@ }; return statusMap[this.callStatus]; }, + countdownText() { + if (this.sipStatus !== "宸叉敞鍐�") return ""; + + const { canCall, reason } = sipService.canMakeCall(); + if (!canCall && reason.includes("绛夊緟")) { + return reason; + } + return ""; + }, callStatusClass() { return `status-${this.callStatus}`; }, @@ -69,6 +79,8 @@ }, }, mounted() { + console.log('褰撳墠鍒嗘満鍙�',this.sipConfig); + sipService.init(this.sipConfig); sipService.onStatusChange = (status) => { this.sipStatus = status.text; @@ -92,15 +104,40 @@ } try { + // 鍏堟鏌ユ槸鍚﹀彲浠ュ懠鍙� + const { canCall, reason } = sipService.canMakeCall(); + if (!canCall) { + const { canCall, reason } = sipService.canMakeCall(); + //this.$message.warning(reason); + //return; + } this.callStatus = "calling"; this.isCalling = true; + console.log("寮�濮嬪懠鍙細", sipService); - await sipService.makeCall(this.phoneNumber); + await sipService.makeCall("0"+this.phoneNumber); } catch (error) { - console.error("鍛煎彨澶辫触:", error); - this.callStatus = "ended"; - this.isCalling = false; - this.$message.error(`鍛煎彨澶辫触: ${error.message}`); + let registrationTime = Date.now(); // 璁板綍娉ㄩ攢鎴愬姛鏃堕棿 + console.log(registrationTime, "鍛煎彨澶辫触鏃堕棿"); + console.error("鍛煎彨澶辫触1:", error); + // this.callStatus = "ended"; + // this.isCalling = false; + //this.$message.error(`鍛煎彨澶辫触: ${error.message}`); + try { + // 鍏堟鏌ユ槸鍚﹀彲浠ュ懠鍙� + const { canCall, reason } = sipService.canMakeCall(); + if (!canCall) { + const { canCall, reason } = sipService.canMakeCall(); + } + this.callStatus = "calling"; + this.isCalling = true; + console.log("寮�濮嬪懠鍙細", sipService); + + await sipService.makeCall("0"+this.phoneNumber); + } catch (error) { + this.callStatus = "ended"; + this.isCalling = false; + } } }, -- Gitblit v1.9.3