Преглед на файлове

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

刘洋 преди 1 година
родител
ревизия
8bc4ff3fac
променени са 2 файла, в които са добавени 14 реда и са изтрити 6 реда
  1. 7 3
      src/features/OnlineExam/CheckComputer.vue
  2. 7 3
      src/features/OnlineExam/Examing/TextQuestionView.vue

+ 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;