Pārlūkot izejas kodu

fix: web ui port value error

GyDi 3 gadi atpakaļ
vecāks
revīzija
7a3285adaf
1 mainītis faili ar 10 papildinājumiem un 1 dzēšanām
  1. 10 1
      src/components/setting/mods/web-ui-viewer.tsx

+ 10 - 1
src/components/setting/mods/web-ui-viewer.tsx

@@ -76,8 +76,17 @@ const WebUIViewer = ({ handler, onError }: Props) => {
 
       if (url.includes("%port") || url.includes("%secret")) {
         if (!clashInfo) throw new Error("failed to get clash info");
+        if (!clashInfo.server?.includes(":")) {
+          throw new Error(
+            `failed to parse server with status ${clashInfo.status}`
+          );
+        }
 
-        url = url.replaceAll("%port", clashInfo.port || "9090");
+        const port = clashInfo.server
+          .slice(clashInfo.server.indexOf(":") + 1)
+          .trim();
+
+        url = url.replaceAll("%port", port || "9090");
         url = url.replaceAll("%secret", clashInfo.secret || "");
       }