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 |   89 +++++++++++++++++++++++---------------------
 1 files changed, 46 insertions(+), 43 deletions(-)

diff --git a/src/components/page/IndexXTYH.vue b/src/components/page/IndexXTYH.vue
index 97fb194..cc2d7a6 100644
--- a/src/components/page/IndexXTYH.vue
+++ b/src/components/page/IndexXTYH.vue
@@ -228,6 +228,8 @@
     }
   },
   created(){
+    //39鏈嶅姟鍣ㄧ敤鐨勬槸code2瀛楁锛�183鏈嶅姟鍣ㄧ敤鐨勬槸code瀛楁锛岃繖鏍峰氨鍙互杈惧埌183璁块棶鐨勬椂鍊欓噸鏂拌烦杞埌39鏈嶅姟鍣ㄩ〉闈�
+
     this.$message = Message; // 鎸傝浇鍏ㄥ眬Message锛岄伩鍏嶉噸澶嶅紩鍏�
     this.code = ''
     this.code2 = ''
@@ -254,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://hesuancj.cn/#/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 {
@@ -483,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
     },
     /**
@@ -518,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;

--
Gitblit v1.9.1