From ebff666f223d920fb34cc79942fbbd59cc3038cb Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期一, 15 九月 2025 11:16:01 +0800
Subject: [PATCH] 拨号失败后二次拨号

---
 src/components/CallButton/index.vue |   54 +++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 45 insertions(+), 9 deletions(-)

diff --git a/src/components/CallButton/index.vue b/src/components/CallButton/index.vue
index 47931a4..378376d 100644
--- a/src/components/CallButton/index.vue
+++ b/src/components/CallButton/index.vue
@@ -37,16 +37,16 @@
     },
   },
   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",
-        password: "Smartor@2023",
+        wsUrl: "wss://192.169.129.198:7443",
+        sipUri: `${randomNum}` + "@192.169.129.198",
+        password: "heskj@1234",
         displayName: "Web 灏忛緳",
       },
     };
@@ -61,6 +61,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 +78,8 @@
     },
   },
   mounted() {
+    console.log("褰撳墠鍒嗘満鍙�", this.sipConfig);
+
     sipService.init(this.sipConfig);
     sipService.onStatusChange = (status) => {
       this.sipStatus = status.text;
@@ -92,15 +103,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