Bläddra i källkod

小程序二维码的apiServer对ip型域名兼容

刘洋 1 år sedan
förälder
incheckning
8bc4ff3fac

+ 7 - 3
src/features/OnlineExam/CheckComputer.vue

@@ -129,9 +129,13 @@ onMounted(async () => {
   //   /.*(\.(ea100.com.cn|exam-cloud.cn))/,
   //   `${location.protocol}//www$1`
   // );
-  let origin = `${location.protocol}//${window.location.origin.slice(
-    window.location.origin.indexOf(".")
-  )}`;
+  let pattern =
+    /^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/;
+  let origin = pattern.test(location.hostname)
+    ? location.origin
+    : `${location.protocol}//${window.location.origin.slice(
+        window.location.origin.indexOf(".")
+      )}`;
   console.debug("测试验证:", origin);
   if (import.meta.env.DEV) {
     origin = import.meta.env.VITE_CONFIG_API_SERVER as string;

+ 7 - 3
src/features/OnlineExam/Examing/TextQuestionView.vue

@@ -204,9 +204,13 @@ async function fetchQRCode() {
       //   /.*(\.(ea100.com.cn|exam-cloud.cn))/,
       //   `${location.protocol}//www$1`
       // );
-      let origin = `${location.protocol}//${window.location.origin.slice(
-        window.location.origin.indexOf(".")
-      )}`;
+      let pattern =
+        /^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/;
+      let origin = pattern.test(location.hostname)
+        ? location.origin
+        : `${location.protocol}//${window.location.origin.slice(
+            window.location.origin.indexOf(".")
+          )}`;
       console.debug("测试验证:", origin);
       if (import.meta.env.DEV) {
         origin = import.meta.env.VITE_CONFIG_API_SERVER as string;