Browse Source

修改首页404报错问题

Jing 3 days ago
parent
commit
eef2b1a01d

+ 1 - 1
.nuxt/manifest/latest.json

@@ -1 +1 @@
-{"id":"a3e76ba7-4882-407c-826d-c55a999a0a35","timestamp":1747041881251}
+{"id":"04949f4a-4b9c-4838-aa6b-ad9bd745da1f","timestamp":1747193175563}

+ 1 - 0
.nuxt/manifest/meta/04949f4a-4b9c-4838-aa6b-ad9bd745da1f.json

@@ -0,0 +1 @@
+{"id":"04949f4a-4b9c-4838-aa6b-ad9bd745da1f","timestamp":1747193175563,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}

+ 0 - 1
.nuxt/manifest/meta/a3e76ba7-4882-407c-826d-c55a999a0a35.json

@@ -1 +0,0 @@
-{"id":"a3e76ba7-4882-407c-826d-c55a999a0a35","timestamp":1747041881251,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}

+ 1 - 1
.nuxt/nuxt.d.ts

@@ -1,6 +1,6 @@
 // Generated by nuxi
-/// <reference types="@nuxt/devtools" />
 /// <reference types="@nuxt/telemetry" />
+/// <reference types="@nuxt/devtools" />
 /// <reference path="types/builder-env.d.ts" />
 /// <reference types="nuxt" />
 /// <reference path="types/app-defaults.d.ts" />

+ 1 - 1
.nuxt/tsconfig.json

@@ -102,7 +102,7 @@
         "./imports"
       ],
       "#app-manifest": [
-        "./manifest/meta/a3e76ba7-4882-407c-826d-c55a999a0a35.json"
+        "./manifest/meta/04949f4a-4b9c-4838-aa6b-ad9bd745da1f.json"
       ],
       "#components": [
         "./components"

+ 57 - 25
middleware/setup.global.js

@@ -1,7 +1,7 @@
 export default async function (to, from) {
     //获得全局url
     const { $webUrl, $CwebUrl } = useNuxtApp();
-    if(to.path == '/' || to.path == '/404'){
+    if(getRouteWhiteList(to.path)){
         //如果目标路由是/,或者/404 无需验证
     }else{
         // to是目标路由对象,from是来源路由对象
@@ -43,30 +43,34 @@ function parseRoute(url) {
     }
     
     let all_route, last_route;
-    
+
     // 如果路径以 xiangcunshangcheng 开头
-    if (parts[0] === "xiangcunshangcheng") {
-        if( parts.length > 1){
-            if(parts[parts.length - 1] != 'gongying' && parts[parts.length - 1] != 'qiugou'){
-                // 否则按原逻辑处理
-                all_route = parts.join('/');
-                last_route = parts.length > 0 ? parts[parts.length - 1] : null;
-            }else{
-                // all_route = 去掉最后一层
-                all_route = parts.slice(0, -1).join('/');
-                // last_route = 新的最后一层
-                last_route = parts.length > 1 ? parts[parts.length - 2] : null;
-            }
-        }else{
-            // 否则按原逻辑处理
-            all_route = parts.join('/');
-            last_route = parts.length > 0 ? parts[parts.length - 1] : null;
-        }
-    } else {
-        // 否则按原逻辑处理
-        all_route = parts.join('/');
-        last_route = parts.length > 0 ? parts[parts.length - 1] : null;
-    }
+    // if (parts[0] === "xiangcunshangcheng") {
+    //     if( parts.length > 1){
+    //         if(parts[parts.length - 1] != 'gongying' && parts[parts.length - 1] != 'qiugou'){
+    //             // 否则按原逻辑处理
+    //             all_route = parts.join('/');
+    //             last_route = parts.length > 0 ? parts[parts.length - 1] : null;
+    //         }else{
+    //             // all_route = 去掉最后一层
+    //             all_route = parts.slice(0, -1).join('/');
+    //             // last_route = 新的最后一层
+    //             last_route = parts.length > 1 ? parts[parts.length - 2] : null;
+    //         }
+    //     }else{
+    //         // 否则按原逻辑处理
+    //         all_route = parts.join('/');
+    //         last_route = parts.length > 0 ? parts[parts.length - 1] : null;
+    //     }
+    // } else {
+    //     // 否则按原逻辑处理
+    //     all_route = parts.join('/');
+    //     last_route = parts.length > 0 ? parts[parts.length - 1] : null;
+    // }
+
+    all_route = parts.join('/');
+    last_route = parts.length > 0 ? parts[parts.length - 1] : null;
+
     // 返回结果(只有数字.html 时才包含 id)
     const result = {
         all_route,
@@ -76,4 +80,32 @@ function parseRoute(url) {
         result.id = id;
     }
     return result;
-}
+}
+
+//获得路由白名单列表
+function getRouteWhiteList(path){
+    if(path=='/'){
+        console.log('白名单路由!允许访问!')
+        //如果用户进入的是首页,直接返回true
+        return true
+    }else{
+        //如果用户进入的不是首页,则需要判断第一层路由是否在白名单
+        const parts = path.split('/').filter(Boolean); // 分割并过滤空字符串
+        console.log(parts[0])
+        let whiteList = [
+            "404",
+            "search",//搜索页
+            "xiangcunshangcheng",//乡村商城搜索页
+            "topic",//商圈
+            "advertising",//广告
+            "about",//关于我们
+        ]
+
+        if(whiteList.includes(parts[0])){
+            console.log('白名单路由!允许访问!')
+            return true
+        }else{
+            return false
+        }
+    }
+}

+ 14 - 12
pages/index.vue

@@ -379,42 +379,42 @@
                 </div>
                 <div class="index_6_left clearfix">
                     <div class="roll_2_box">
-                        <div class="roll_2_img_ul" v-if="boxData6.length > 0">
+                        <div class="roll_2_img_ul">
                             <div class="roll_2_per">
-                                <NuxtLink class="roll_2_per_a" v-if="showImg == 1 && boxData6[0]"
+                                <NuxtLink class="roll_2_per_a" v-if="showImg == 1 && boxData6[0].length > 0"
                                     :href="getLinkPathDetail(boxData6[0])" :title="boxData6[0].title"
                                     :target="boxData6[0].islink == 1 ? '_blank' : '_self'">
-                                    <img class="roll_2_per_a_img" :src="boxData6[0].imgurl" alt="boxData6[0].title">
+                                    <img class="roll_2_per_a_img" :src="boxData6[0].imgurl" :alt="boxData6[0].title">
                                 </NuxtLink>
-                                <NuxtLink class="roll_2_per_a" v-if="showImg == 2 && boxData6[1]"
+                                <NuxtLink class="roll_2_per_a" v-if="showImg == 2 && boxData6[0].length > 1"
                                     :href="getLinkPathDetail(boxData6[1])" :title="boxData6[1].title"
                                     :target="boxData6[1].islink == 1 ? '_blank' : '_self'">
-                                    <img class="roll_2_per_a_img" :src="boxData6[1].imgurl" alt="boxData6[1].title">
+                                    <img class="roll_2_per_a_img" :src="boxData6[1].imgurl" :alt="boxData6[1].title">
                                 </NuxtLink>
-                                <NuxtLink class="roll_2_per_a" v-if="showImg == 3 && boxData6[2]"
+                                <NuxtLink class="roll_2_per_a" v-if="showImg == 3 && boxData6[0].length > 2"
                                     :href="getLinkPathDetail(boxData6[2])" :title="boxData6[2].title"
                                     :target="boxData6[2].islink == 1 ? '_blank' : '_self'">
-                                    <img class="roll_2_per_a_img" :src="boxData6[2].imgurl" alt="boxData6[2].title">
+                                    <img class="roll_2_per_a_img" :src="boxData6[2].imgurl" :alt="boxData6[2].title">
                                 </NuxtLink>
                             </div>
                         </div>
                     </div>
-                    <div class="roll_2_btn_box" v-if="boxData6.length > 0">
-                        <div class="roll_2_btn roll_2_btn_only">
+                    <div class="roll_2_btn_box">
+                        <div class="roll_2_btn roll_2_btn_only" v-if="boxData6[0].length > 0">
                             <NuxtLink class="roll_2_btn_dot2 dot2" @mouseenter="changeImg(1)"
                                 :href="getLinkPathDetail(boxData6[0])" :title="boxData6[0].title"
                                 :target="boxData6[0].islink == 1 ? '_blank' : '_self'">
                                 {{ boxData6[0].title }}
                             </NuxtLink>
                         </div>
-                        <div class="roll_2_btn roll_2_btn_only">
+                        <div class="roll_2_btn roll_2_btn_only" v-if="boxData6[0].length > 1">
                             <NuxtLink class="roll_2_btn_dot2 dot2" @mouseenter="changeImg(2)"
                                 :href="getLinkPathDetail(boxData6[1])" :title="boxData6[1].title"
                                 :target="boxData6[1].islink == 1 ? '_blank' : '_self'">
                                 {{ boxData6[1].title }}
                             </NuxtLink>
                         </div>
-                        <div class="roll_2_btn roll_2_btn_only">
+                        <div class="roll_2_btn roll_2_btn_only" v-if="boxData6[0].length > 2">
                             <NuxtLink class="roll_2_btn_dot2 dot2" @mouseenter="changeImg(3)"
                                 :href="getLinkPathDetail(boxData6[2])" :title="boxData6[2].title"
                                 :target="boxData6[2].islink == 1 ? '_blank' : '_self'">
@@ -888,7 +888,7 @@ try {
             if (navigateData.data[index].category_id == $pageNav[1]) { pageData.value[1] = data }
             //3人才市场554  760
             if (navigateData.data[index].category_id == $pageNav[2]) { pageData.value[2] = data }
-            //4致富信息545  689
+            //4致富信息545  2039
             if (navigateData.data[index].category_id == $pageNav[3]) { pageData.value[3] = data }
             //5书刊音像城561 690
             if (navigateData.data[index].category_id == $pageNav[4]) { pageData.value[4] = data }
@@ -944,6 +944,8 @@ async function getPageAllData() {
             'id': jsonString
         },
     });
+    console.log('111', mkdata.data);
+
 
     if (mkdata.code == 200) {
         if (mkdata.data.length > 0) {