From 66a914d39274af0928b1354365341249e81f9091 Mon Sep 17 00:00:00 2001
From: 1012414140@qq.com <1012414140@qq.com>
Date: 星期五, 16 十月 2026 10:34:56 +0800
Subject: [PATCH] feat: 路径参数解析优化,避免undefined造成白屏

---
 src/components/page/IndexXTYH.vue |  169 ++++++++++++++++++++++++++++++--------------------------
 1 files changed, 90 insertions(+), 79 deletions(-)

diff --git a/src/components/page/IndexXTYH.vue b/src/components/page/IndexXTYH.vue
index 1079c01..cc2d7a6 100644
--- a/src/components/page/IndexXTYH.vue
+++ b/src/components/page/IndexXTYH.vue
@@ -1,11 +1,13 @@
 <template>
   <div class="weizhang-box"  v-loading="dataLoading">
     <!-- 棣栧睆楠ㄦ灦灞忥紙鍒濆鍖栧畬鎴愬墠鏄剧ず锛� -->
-    <div class="skeleton" v-if="!initCompleted">
-      <div class="skeleton-top"></div>
-      <div class="skeleton-form">
-        <div class="skeleton-form-item" v-for="i in 6" :key="i"></div>
-        <div class="skeleton-btn"></div>
+    <div class="loading-tips" v-if="!initCompleted">
+      <div class="tips-text">璇风◢鍚�...</div>
+      <!-- 鍙�夛細鍔犱釜鍔犺浇鍔ㄧ敾鍦嗙偣 -->
+      <div class="loading-dots">
+        <span></span>
+        <span></span>
+        <span></span>
       </div>
     </div>
     <div class="weizhang-main-box" v-else>
@@ -226,6 +228,8 @@
     }
   },
   created(){
+    //39鏈嶅姟鍣ㄧ敤鐨勬槸code2瀛楁锛�183鏈嶅姟鍣ㄧ敤鐨勬槸code瀛楁锛岃繖鏍峰氨鍙互杈惧埌183璁块棶鐨勬椂鍊欓噸鏂拌烦杞埌39鏈嶅姟鍣ㄩ〉闈�
+
     this.$message = Message; // 鎸傝浇鍏ㄥ眬Message锛岄伩鍏嶉噸澶嶅紩鍏�
     this.code = ''
     this.code2 = ''
@@ -252,36 +256,28 @@
       return;
     }
 
-    var url = decodeURIComponent(window.location.href);
-    const getUrlParams=(url) => {
-      const params = {};
-      const queryIndex = url.indexOf('?');
-      if (queryIndex === -1) return params;
-      const query = url.slice(queryIndex + 1);
-      query.split('&').forEach(item => {
-        const [key, val] = item.split('=');
-        if (key) params[key] = val || '';
-      });
-      return params;
-    }
-
-    const params = getUrlParams(url);
-    this.code = params.code || '';
-    this.code2 = params.code2 || '';
-
-    // 浼樺寲璺宠浆閫昏緫锛堥伩鍏嶉噸澶嶈烦杞級
-    if (Object.keys(params).length > 2 && params.code && params.code2) {
-      // 浠呭綋鍙傛暟瀹屾暣鏃惰烦杞紙閬垮厤鏃犻檺寰幆锛�
-      window.location.href = `http://hesuancj.cn/#/index2?code=${encodeURIComponent(params.code)}&state=STATE&code2=${encodeURIComponent(params.code2)}`;
+    var url = window.location.href;
+    url = decodeURIComponent(url)
+    var count = url.split('?').length-1;
+    if(count >1){  //鑾峰彇鐢ㄦ埛淇℃伅鍚庤烦鍥炴潵鏈〉闈�
+      let data = this.getCodeFromUrl(url)
+      window.location.href = `http://hesuancj.cn/#/index2?code=${encodeURIComponent(data.code)}&state=STATE&code2=${encodeURIComponent(data.code2)}`
       return;
     }
-
+    var cs = url.split('?')[1];
+    var cs_arr = cs.split('&');
+    var cs={};
+    for(var i=0;i<cs_arr.length;i++){
+      cs[cs_arr[i].split('=')[0]] = cs_arr[i].split('=')[1]
+    }
+    this.code2 = cs.code2;
+    this.code = cs.code;
     //鍒濆鍖栬烦杞� 39 鏈嶅姟鍣�
     if(this.code2 == null || this.code2 == ''){
-      window.location.href = `http://192.168.0.118:8082/#/index2?code2=${params.code || ''}`;
-      //window.location.href = "http://60.0.121.40:8889/#/IndexXTYH39?code2="+cs.code   //娴嬭瘯鐢ㄧ殑
+      window.location.href = "http://hesuancj.cn/#/index2?code2="+cs.code  //姝e紡
       return;
     }
+
     if(this.code != null && this.code != '') {
       this.dialogVisible = true  //绔嬪嵆鏀粯寮规
     }else {
@@ -481,26 +477,34 @@
      */
     getCodeFromUrl (cur_url) {
 
-      console.log(cur_url,'cur_url-----iiiii')
-      let index = cur_url.split('?')[1]
-      let index2 = cur_url.split('?')[2]
-      let code = null
-      let code2 = null
-      let data = {}
-      console.log(index,'1111111111111111index')
-      let paramStr =index.split('&');
+      // console.log(cur_url,'cur_url-----iiiii')
+      // let index = cur_url.split('?')[1]
+      // let index2 = cur_url.split('?')[2]
+      // let code = null
+      // let code2 = null
+      // let data = {}
+      // console.log(index,'1111111111111111index')
+      // let paramStr =index.split('&');
 
-      if(paramStr.length>1) {
-        code = paramStr[0].split('=')[1]
-        code2 = index2.split('=')[1]
-      }else {
-        code2 = paramStr[0].split('=')[1]
-        code = index2.split('&')[0].split('=')[1]
-      }
-      console.log(code,'code=====')
-      console.log(code2,'code2=====')
-      data.code = code
-      data.code2 = code2
+      // if(paramStr.length>1) {
+      //   code = paramStr[0].split('=')[1]
+      //   code2 = index2.split('=')[1]
+      // }else {
+      //   code2 = paramStr[0].split('=')[1]
+      //   code = index2.split('&')[0].split('=')[1]
+      // }
+      // console.log(code,'code=====')
+      // console.log(code2,'code2=====')
+      // data.code = code
+      // data.code2 = code2
+      // return data
+
+      const data = {}
+      // 鍙栧嚭 ? 鍚庨潰鍏ㄩ儴鍙傛暟
+      const queryStr = cur_url.split('?')[1] || ''
+      const params = new URLSearchParams(queryStr)
+      data.code = params.get('code')
+      data.code2 = params.get('code2')
       return data
     },
     /**
@@ -516,6 +520,7 @@
       if(this.type == 0 ){
         //寰俊锛岃幏鍙朿ode
         if(this.code==null||this.code==""){
+          this.$message.loading("姝e湪璺宠浆寰俊鎺堟潈...", 0)
           var url = encodeURIComponent("http://hesuancj.cn/#/index2?code2="+this.code2);
           // window.location.href = `http://192.168.0.8:8082/#/Index2?code=${encodeURIComponent('123')}&state=STATE?code2=${encodeURIComponent(this.code2)}`
           // window.location.href =url;
@@ -606,45 +611,51 @@
 
 </script>
 <style lang="scss" scoped>
-// 鏂板楠ㄦ灦灞忔牱寮�
-.skeleton {
+//楠ㄦ灦灞忔牱寮�
+.loading-tips {
   width: 100%;
-  padding: 0 5.33vw;
-  box-sizing: border-box;
+  height: 80vh; // 鍗犳弧灞忓箷涓昏鍖哄煙
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
 
-  .skeleton-top {
-    height: 15vh;
-    background: #f5f5f5;
-    border-radius: 1.33vw;
-    margin-bottom: 3.33vw;
-    animation: skeleton-loading 1.5s infinite alternate;
+  .tips-text {
+    font-size: 4.27vw; // 閫傞厤绉诲姩绔瓧鍙�
+    color: #666;
+    margin-bottom: 3vw;
   }
 
-  .skeleton-form {
-    .skeleton-form-item {
-      height: 8vw;
-      background: #f5f5f5;
-      border-radius: 1.33vw;
-      margin-bottom: 3.33vw;
-      animation: skeleton-loading 1.5s infinite alternate;
-    }
+  // 鍔犺浇鍦嗙偣鍔ㄧ敾锛堝彲閫夛紝澧炲姞鍔ㄦ晥锛�
+  .loading-dots {
+    display: flex;
+    gap: 1.33vw;
 
-    .skeleton-btn {
-      height: 12vw;
-      background: #f5f5f5;
-      border-radius: 6.67vw;
-      margin-top: 4.498vh;
-      animation: skeleton-loading 1.5s infinite alternate;
+    span {
+      width: 1.87vw;
+      height: 1.87vw;
+      border-radius: 50%;
+      background: #666;
+      animation: dot-flash 1.5s infinite ease-in-out;
+
+      &:nth-child(2) {
+        animation-delay: 0.3s;
+      }
+
+      &:nth-child(3) {
+        animation-delay: 0.6s;
+      }
     }
   }
+}
 
-  @keyframes skeleton-loading {
-    0% {
-      opacity: 0.5;
-    }
-    100% {
-      opacity: 0.8;
-    }
+// 鍔犺浇鍦嗙偣鍔ㄧ敾
+@keyframes dot-flash {
+  0%, 100% {
+    opacity: 0.3;
+  }
+  50% {
+    opacity: 1;
   }
 }
 

--
Gitblit v1.9.1