Browse Source

修改bug

修改bug
dangyunlong 2 weeks ago
parent
commit
00b1cd5f73

+ 12 - 0
assets/css/shop/index.less

@@ -315,6 +315,7 @@ section {
 
 .shop_4_box {
     margin: 4px auto 0px;
+    height: 326px;
 }
 
 .shop_5_box {
@@ -500,6 +501,17 @@ section {
 
 .shop_ul_img_3 {
     margin-top: 30px;
+    height: 250px;
+}
+
+.shop_ul_img_3_box_2 {
+    margin-top: 30px;
+    height: 500px;
+}
+
+.shop_ul_img_3_3 {
+    margin-top: 30px;
+    height: 1000px;
 }
 
 .shop_li_img_3 {

+ 4 - 1
components/shop/pageHead.vue

@@ -503,7 +503,10 @@ let getShopMenu = async () => {
             pageSize:10,//请求所有菜单
         },
     });
-    shopMenu.value = responseStatus.data.category[0].children;
+
+    if(responseStatus.data.category){
+        shopMenu.value = responseStatus.data.category[0].children;
+    }
     //shopMenuGoods.value = responseStatus.data.goods;
     //只展示6个商品
     for(let index in responseStatus.data.goods){

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

+ 4 - 3
pages/xiangcunshangcheng/index.html.vue

@@ -7,7 +7,7 @@
             <div class="shop_2_left clearfix">
                 <div class="shop_2_left_name_box">
                     <label class="shop_2_left_name">商城公告:</label>
-                    <span class="shop_2_left_name_box_a dot1" @click="ShowDialog = true">
+                    <span class="shop_2_left_name_box_a dot1" @click="ShowDialog = true" v-if="DialogData">
                         {{ DialogData.title }}
                     </span>
                 </div>
@@ -101,7 +101,7 @@
                 </div>
                 <div class="shop_name_right"></div>
             </div>
-            <div class="shop_ul_img_3 clearfix">
+            <div class="shop_ul_img_3_box_2 clearfix">
                 <section class="shop_hot_door_box clearfix" v-for="item in boxData5">
                     <NuxtLink
                         :to="getShopPathDetail1(item)"
@@ -164,7 +164,7 @@
                 <div class="shop_name_right"> </div>
             </div>
             <!--热搜商品-->
-            <div class="shop_ul_img_3 clearfix">
+            <div class="shop_ul_img_3_3 clearfix">
                 <div class="shop_li_img_3" v-for="item in boxData7" :key="per_obj">
                     <NuxtLink
                         :to="getShopPathDetail1(item)"
@@ -187,6 +187,7 @@
 
     <!--公告弹出框-->
     <el-dialog
+        v-if="DialogData"
         v-model="ShowDialog"
         :title="DialogData.title"
         width="50%"