Selaa lähdekoodia

将频道页栏目简介去掉

Jing 1 päivä sitten
vanhempi
sitoutus
a1fb26eda5

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

@@ -1 +1 @@
-{"id":"6cbd3fb0-8374-410a-ad82-5fa47d13e1a1","timestamp":1751957590115}
+{"id":"fc76c4aa-cbfd-4273-8802-cf8812f9e6ac","timestamp":1752136157815}

+ 0 - 1
.nuxt/manifest/meta/6cbd3fb0-8374-410a-ad82-5fa47d13e1a1.json

@@ -1 +0,0 @@
-{"id":"6cbd3fb0-8374-410a-ad82-5fa47d13e1a1","timestamp":1751957590115,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}

+ 1 - 0
.nuxt/manifest/meta/fc76c4aa-cbfd-4273-8802-cf8812f9e6ac.json

@@ -0,0 +1 @@
+{"id":"fc76c4aa-cbfd-4273-8802-cf8812f9e6ac","timestamp":1752136157815,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}

+ 1 - 1
.nuxt/tsconfig.json

@@ -102,7 +102,7 @@
         "./imports"
       ],
       "#app-manifest": [
-        "./manifest/meta/6cbd3fb0-8374-410a-ad82-5fa47d13e1a1.json"
+        "./manifest/meta/fc76c4aa-cbfd-4273-8802-cf8812f9e6ac.json"
       ],
       "#components": [
         "./components"

+ 1 - 0
assets/css/class.less

@@ -195,6 +195,7 @@ section {
 .channel_2 {
     margin-top: 16px;
     height: 608px;
+    margin-bottom: 10px;
 }
 
 .channel_head {

+ 1 - 0
assets/css/shop/goodsDetail.less

@@ -315,6 +315,7 @@ section {
     margin: 20px auto 0px;
     box-sizing: border-box;
     padding: 0px 7px;
+    min-height: 165px;
 
     .img_li_1 {
         float: left;

+ 2 - 1
assets/css/shop/goodsDetail1.less

@@ -317,6 +317,7 @@ section {
     margin: 20px auto 0px;
     box-sizing: border-box;
     padding: 0px 7px;
+    min-height: 165px;
 
     .img_li_1 {
         float: left;
@@ -410,7 +411,7 @@ section {
 }
 
 .shop_ul_img_2 {
-    height: 260px;
+    height: 285px;
     width: 252px;
     margin: 20px auto 0px;
 }

+ 1316 - 0
assets/css/shop/shopClass1.less

@@ -0,0 +1,1316 @@
+@charset "utf-8";
+
+* {
+    margin: 0;
+    padding: 0;
+    font-family: "微软雅黑", "microsoft yahei";
+}
+
+ul,
+ol {
+    list-style: none;
+}
+
+a:active {
+    text-decoration: none;
+}
+
+a:hover {
+    text-decoration: none;
+}
+
+a:visited {
+    text-decoration: none;
+}
+
+a:link {
+    text-decoration: none;
+}
+
+a:focus {
+    text-decoration: none;
+}
+
+body {
+    position: relative;
+}
+
+.clearfix {
+    overflow: hidden;
+}
+
+.clearfix_2::after {
+    content: '';
+    display: block;
+    height: 0;
+    visibility: hidden;
+    clear: both;
+}
+
+.hiddenColor {
+    visibility: hidden;
+}
+
+.hand {
+    cursor: pointer;
+}
+
+.aTag_parent {
+    position: relative;
+}
+
+.aTag_parent>a,
+.aTag {
+    display: block;
+    width: 100%;
+    height: 100%;
+    position: absolute;
+    z-index: 99;
+    border: 0px;
+    top: 0px;
+    left: 0px;
+    background: rgba(0, 0, 0, 0);
+}
+
+.dot1 {
+    display: block;
+    word-break: keep-all;
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+}
+
+.dot2 {
+    overflow: hidden;
+    display: -webkit-box;
+    -webkit-box-orient: vertical;
+    -webkit-line-clamp: 2;
+}
+
+input,
+img {
+    border: none;
+}
+
+.cover100 img {
+    display: block;
+    width: 100%;
+    height: 100%;
+    object-fit: cover;
+}
+
+.back100 {
+    background-size: 100% 100%;
+    background-repeat: no-repeat;
+}
+
+article,
+aside,
+footer,
+header,
+time,
+video,
+main,
+nav,
+h4,
+h3,
+section {
+    display: block;
+}
+
+.index_main {
+    margin: 0 auto;
+}
+
+.slow_6 {
+    -webkit-transition: all .6s;
+    -moz-transition: all .6s;
+    -ms-transition: all .6s;
+    -o-transition: all .6s;
+    transition: all .6s;
+}
+
+.index_main {
+    width: 1200px;
+    margin-bottom: 30px;
+    margin-top: 20px;
+}
+
+.shop_nav {
+    margin-top: 20px;
+
+    .shop_nav_1 {
+        height: 60px;
+        line-height: 60px;
+        font-size: 24px;
+
+        .shop_nav_1_a {
+            display: inline-block;
+            color: #fff;
+            width: 100%;
+            padding-left: 30px;
+            letter-spacing: 2px;
+            background-image: url(@/public/shop/navbg.png);
+            background-repeat: no-repeat;
+        }
+    }
+
+    .shop_nav_2 {
+        width: 1200px;
+        min-height: 50px;
+        line-height: 35px;
+        border: 1px solid #ddd;
+        background-color: #f7fbfe;
+        margin: 20px 0;
+        padding: 10px;
+        box-sizing: border-box;
+        font-size: 16px;
+        font-weight: 600;
+
+        .shop_nav_2_a {
+            color: #255590;
+            display: inline-block;
+            width: 117px;
+            text-align: center;
+        }
+    }
+
+}
+
+.shop_3 {
+    margin-top: 30px;
+}
+
+.shop_3_in {
+    width: 590px;
+}
+
+.shop_3_in:nth-of-type(odd) {
+    float: left;
+}
+
+.shop_3_in:nth-of-type(even) {
+    float: right;
+}
+
+.shop_head_2 {
+    height: 29px;
+    position: relative;
+
+    .shop_head_2_name {
+        float: left;
+        height: 29px;
+        line-height: 29px;
+        color: #255590;
+        font-size: 22px;
+        font-weight: bold;
+        padding-left: 22px;
+        background: url(@/public/shop/01.png) no-repeat left center;
+        background-size: 12px 18px;
+    }
+
+    .shop_head_2_more {
+        height: 29px;
+        line-height: 29px;
+        color: #999;
+        float: right;
+        font-size: 16px;
+    }
+
+    .shop_head_2_more::after {
+        content: '';
+        display: block;
+        left: 0px;
+        top: 0px;
+        position: absolute;
+        width: 100%;
+        height: 100%;
+        z-index: 11;
+    }
+}
+
+.shop_head_3 {
+    height: 29px;
+    position: relative;
+
+    .shop_head_3_name {
+        float: left;
+        height: 29px;
+        line-height: 29px;
+        color: #F7812B;
+        font-size: 22px;
+        font-weight: bold;
+        padding-left: 22px;
+        background: url(@/public/shop/02.png) no-repeat left center;
+        background-size: 12px 18px;
+    }
+
+    .shop_head_3_more {
+        height: 29px;
+        line-height: 29px;
+        color: #999;
+        float: right;
+        font-size: 16px;
+    }
+
+    .shop_head_3_more::after {
+        content: '';
+        display: block;
+        left: 0px;
+        top: 0px;
+        position: absolute;
+        width: 100%;
+        height: 100%;
+        z-index: 11;
+    }
+}
+
+.shop_img_ul_1 {
+    margin-top: 30px;
+    min-height: 580px;
+
+    .shop_img_li_1 {
+        margin-bottom: 22px;
+        border: solid 1px #ddd;
+        box-sizing: border-box;
+    }
+
+    .shop_img_li_1_img_box {
+        float: left;
+        width: 180px;
+        height: 178px;
+    }
+
+    .shop_img_li_1_img {
+        display: block;
+        width: 100%;
+        height: 100%;
+    }
+
+    .shop_img_li_1_right {
+        float: right;
+        width: 367px;
+        margin-right: 22px;
+    }
+
+    .shop_img_li_1_h4 {
+        height: 50px;
+        line-height: 26px;
+        color: #333;
+        font-size: 20px;
+        font-weight: 500;
+        margin-top: 10px;
+    }
+
+    .shop_img_li_1_tag {
+        height: 25px;
+        line-height: 25px;
+        color: #255590;
+        border: solid 1px #255590;
+        margin-top: 16px;
+        box-sizing: border-box;
+        font-size: 14px;
+        float: left;
+        padding: 0px 5px;
+    }
+
+    .shop_img_li_1_price_box {
+        height: 26px;
+        margin-top: 21px;
+        line-height: 26px;
+        color: #333;
+        font-size: 20px;
+    }
+
+    .shop_img_li_1_price_tag {
+        height: 26px;
+        line-height: 26px;
+        color: #333;
+        font-size: 14px;
+        display: inline-block;
+    }
+
+    .shop_img_li_1_btn {
+        clear: both;
+        float: left;
+        height: 30px;
+        line-height: 30px;
+        color: #fff;
+        font-size: 14px;
+        background: #255590;
+        padding: 0px 20px;
+        margin-top: 32px;
+    }
+
+    .shop_img_li_1:nth-last-of-type(1) {
+        margin-bottom: 0px;
+    }
+
+    .shop_img_li_1_a:hover .shop_img_li_1_h4 {
+        color: #255590;
+    }
+
+    .shop_img_li_1_a:hover .shop_img_li_1_price_box {
+        color: #255590;
+    }
+
+    .shop_img_li_1_a:hover .shop_img_li_1_price_tag {
+        color: #255590;
+    }
+}
+
+.shop_ul_1 {
+    background: #F9F9F9;
+    border: solid 1px #ddd;
+    box-sizing: border-box;
+    margin-top: 30px;
+
+    .shop_li_1 {
+        border-bottom: dashed 1px #ddd;
+        padding: .6px 0px;
+    }
+
+    .shop_li_1_a {
+        display: block;
+        width: 100%;
+    }
+
+    .shop_li_1_left {
+        float: left;
+        width: 400px;
+        margin-left: 20px;
+    }
+
+    .shop_li_1_h4 {
+        height: 26px;
+        line-height: 26px;
+        color: #333;
+        font-size: 20px;
+        font-weight: 500;
+        position: relative;
+        text-indent: 16px;
+        margin-top: 20px;
+    }
+
+    .shop_li_1_h4::after {
+        content: '';
+        display: block;
+        width: 6px;
+        height: 6px;
+        background: #F7812B;
+        position: absolute;
+        left: 0px;
+        top: 11px;
+    }
+
+    .shop_li_1_text {
+        height: 21px;
+        line-height: 21px;
+        text-indent: 16px;
+        color: #666;
+        font-size: 16px;
+        margin: 10px 0px 18px 0px;
+    }
+
+    .shop_li_1_btn {
+        float: right;
+        height: 30px;
+        line-height: 30px;
+        color: #fff;
+        font-size: 14px;
+        background: #F7812B;
+        padding: 0px 20px;
+        margin: 34px 20px 0px 0px;
+    }
+
+    .shop_li_1_a:hover .shop_li_1_h4 {
+        color: #F7812B;
+    }
+
+    .shop_li_1_a:hover .shop_li_1_text {
+        color: #F7812B;
+    }
+}
+
+.shop_head_4 {
+    height: 29px;
+    position: relative;
+
+    .shop_head_4_name {
+        float: left;
+        height: 29px;
+        line-height: 29px;
+        color: #255590;
+        font-size: 22px;
+        font-weight: bold;
+        padding-left: 22px;
+        background: url(@/public/shop/01.png) no-repeat left center;
+        background-size: 12px 18px;
+    }
+
+    .shop_head_4_more {
+        height: 29px;
+        line-height: 29px;
+        color: #999;
+        float: right;
+        font-size: 16px;
+    }
+
+    .shop_head_4_more::after {
+        content: '';
+        display: block;
+        left: 0px;
+        top: 0px;
+        position: absolute;
+        width: 100%;
+        height: 100%;
+        z-index: 11;
+    }
+}
+
+.shop_head_5 {
+    height: 29px;
+    position: relative;
+
+    .shop_head_5_name {
+        float: left;
+        height: 29px;
+        line-height: 29px;
+        color: #F7812B;
+        font-size: 22px;
+        font-weight: bold;
+        padding-left: 22px;
+        background: url(@/public/shop/02.png) no-repeat left center;
+        background-size: 12px 18px;
+    }
+
+    .shop_head_5_more {
+        height: 29px;
+        line-height: 29px;
+        color: #999;
+        float: right;
+        font-size: 16px;
+    }
+
+    .shop_head_5_more::after {
+        content: '';
+        display: block;
+        left: 0px;
+        top: 0px;
+        position: absolute;
+        width: 100%;
+        height: 100%;
+        z-index: 11;
+    }
+}
+
+.shop_img_ul_2 {
+    margin-top: 30px;
+    min-height: 580px;
+
+    .shop_img_li_2 {
+        margin-bottom: 20px;
+        border: solid 1px #ddd;
+        box-sizing: border-box;
+    }
+
+    .shop_img_li_2_img_box {
+        float: left;
+        width: 180px;
+        height: 178px;
+    }
+
+    .shop_img_li_2_img {
+        display: block;
+        width: 100%;
+        height: 100%;
+    }
+
+    .shop_img_li_2_right {
+        float: right;
+        width: 367px;
+        margin-right: 22px;
+    }
+
+    .shop_img_li_2_h4 {
+        height: 50px;
+        line-height: 26px;
+        color: #333;
+        font-size: 20px;
+        font-weight: 500;
+        margin-top: 10px;
+    }
+
+    .shop_img_li_2_tag {
+        height: 25px;
+        line-height: 25px;
+        color: #255590;
+        border: solid 1px #255590;
+        margin-top: 16px;
+        box-sizing: border-box;
+        font-size: 14px;
+        float: left;
+        padding: 0px 5px;
+    }
+
+    .shop_img_li_2_price_box {
+        height: 26px;
+        margin-top: 21px;
+        line-height: 26px;
+        color: #333;
+        font-size: 20px;
+    }
+
+    .shop_img_li_2_price_tag {
+        height: 26px;
+        line-height: 26px;
+        color: #333;
+        font-size: 14px;
+        display: inline-block;
+    }
+
+    .shop_img_li_2_btn {
+        clear: both;
+        float: left;
+        height: 30px;
+        line-height: 30px;
+        color: #fff;
+        font-size: 14px;
+        background: #255590;
+        padding: 0px 20px;
+        margin-top: 27px;
+    }
+
+    .shop_img_li_2:nth-last-of-type(1) {
+        margin-bottom: 0px;
+    }
+
+    .shop_img_li_2_a:hover .shop_img_li_2_h4 {
+        color: #255590;
+    }
+
+    .shop_img_li_2_a:hover .shop_img_li_2_price_box {
+        color: #255590;
+    }
+
+    .shop_img_li_2_a:hover .shop_img_li_2_price_tag {
+        color: #255590;
+    }
+}
+
+.shop_img_ul_3 {
+    margin-top: 30px;
+
+    .shop_img_li_3 {
+        margin-bottom: 20px;
+        border: solid 1px #ddd;
+        box-sizing: border-box;
+    }
+
+    .shop_img_li_3_img_box {
+        float: left;
+        width: 180px;
+        height: 178px;
+    }
+
+    .shop_img_li_3_img {
+        display: block;
+        width: 100%;
+        height: 100%;
+    }
+
+    .shop_img_li_3_right {
+        float: right;
+        width: 367px;
+        margin-right: 22px;
+    }
+
+    .shop_img_li_3_h4 {
+        height: 50px;
+        line-height: 26px;
+        color: #333;
+        font-size: 20px;
+        font-weight: 500;
+        margin-top: 10px;
+    }
+
+    .shop_img_li_3_tag {
+        height: 25px;
+        line-height: 25px;
+        color: #F7812B;
+        border: solid 1px #F7812B;
+        margin-top: 16px;
+        box-sizing: border-box;
+        font-size: 14px;
+        float: left;
+        padding: 0px 5px;
+    }
+
+    .shop_img_li_3_price_box {
+        height: 26px;
+        margin-top: 21px;
+        line-height: 26px;
+        color: #333;
+        font-size: 20px;
+    }
+
+    .shop_img_li_3_price_tag {
+        height: 26px;
+        line-height: 26px;
+        color: #333;
+        font-size: 14px;
+        display: inline-block;
+    }
+
+    .shop_img_li_3_btn {
+        clear: both;
+        float: left;
+        height: 30px;
+        line-height: 30px;
+        color: #fff;
+        font-size: 14px;
+        background: #F7812B;
+        padding: 0px 20px;
+        margin-top: 27px;
+    }
+
+    .shop_img_li_3:nth-last-of-type(1) {
+        margin-bottom: 0px;
+    }
+
+    .shop_img_li_3_a:hover .shop_img_li_3_h4 {
+        color: #F7812B;
+    }
+
+    .shop_img_li_3_a:hover .shop_img_li_3_price_box {
+        color: #F7812B;
+    }
+
+    .shop_img_li_3_a:hover .shop_img_li_3_price_tag {
+        color: #F7812B;
+    }
+}
+
+.shop_4 {
+    margin-top: 29px;
+}
+
+.banner_1 {
+    margin-top: 29px;
+    height: 90px;
+    overflow: hidden;
+
+    .banner_1_a {
+        display: block;
+        width: 100%;
+        height: 100%;
+    }
+
+    .banner_1_img {
+        display: block;
+        width: 100%;
+    }
+}
+
+.shop_5 {
+    margin-top: 30px;
+    margin-bottom: 30px;
+}
+
+.shop_5_left {
+    float: left;
+    width: 720px;
+}
+
+.shop_5_right {
+    float: right;
+    width: 450px;
+    min-height: 411px;
+}
+
+.shop_head_7 {
+    height: 29px;
+    position: relative;
+
+    .shop_head_7_name {
+        float: left;
+        height: 29px;
+        line-height: 29px;
+        color: #255590;
+        font-size: 22px;
+        font-weight: bold;
+        padding-left: 22px;
+        background: url(@/public/img/3.png) no-repeat left center;
+        background-size: 12px 18px;
+    }
+
+    .shop_head_7_more {
+        height: 29px;
+        line-height: 29px;
+        color: #999;
+        float: right;
+        font-size: 16px;
+    }
+
+    .shop_head_7_more::after {
+        content: '';
+        display: block;
+        left: 0px;
+        top: 0px;
+        position: absolute;
+        width: 100%;
+        height: 100%;
+        z-index: 11;
+    }
+}
+
+.shop_box_1 {
+    float: left;
+    width: 350px;
+}
+
+.shop_box_2 {
+    float: right;
+    width: 350px;
+}
+
+.shop_img_ul_4 {
+    margin-top: 30px;
+
+    .shop_img_li_4 {
+        width: 350px;
+        height: 230px;
+        margin-bottom: 20px;
+        position: relative;
+    }
+
+
+    .shop_img_li_4_img {
+        display: block;
+        width: 350px;
+        height: 230px;
+    }
+
+    .shop_img_li_4_rgba {
+        width: 350px;
+        height: 44px;
+        line-height: 44px;
+        color: #fff;
+        font-size: 18px;
+        padding: 0px 10px;
+        box-sizing: border-box;
+        position: absolute;
+        z-index: 11;
+        left: 0px;
+        bottom: 0px;
+        background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 33%, rgba(0, 0, 0, 0) 100%);
+    }
+}
+
+.shop_img_ul_5 {
+    margin-top: 0px;
+
+    .shop_img_li_5 {
+        width: 165px;
+        height: 96px;
+        position: relative;
+    }
+
+    .shop_img_li_5:nth-of-type(odd) {
+        float: left;
+    }
+
+    .shop_img_li_5:nth-of-type(even) {
+        float: right;
+    }
+
+
+    .shop_img_li_5_img {
+        width: 165px;
+        height: 96px;
+    }
+
+    .shop_img_li_5_rgba {
+        width: 165px;
+        height: 28px;
+        line-height: 28px;
+        color: #fff;
+        font-size: 14px;
+        box-sizing: border-box;
+        position: absolute;
+        padding: 0px 10px;
+        left: 0px;
+        bottom: 0px;
+        z-index: 11;
+        background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 6%, rgba(0, 0, 0, 0) 100%);
+    }
+}
+
+.shop_ul_2 {
+    margin-top: 30px;
+
+    .shop_li_2 {
+        height: 24px;
+        line-height: 24px;
+        color: #333;
+        font-size: 18px;
+        margin-bottom: 17px;
+        box-sizing: border-box;
+        text-indent: 16px;
+        position: relative;
+    }
+
+    .shop_li_2:hover {
+        color: #255590;
+    }
+
+    .shop_li_2::after {
+        content: '';
+        display: block;
+        width: 6px;
+        height: 6px;
+        background: #ddd;
+        border-radius: 50%;
+        position: absolute;
+        left: 0px;
+        top: 8px;
+        z-index: 11;
+    }
+
+    .shop_li_2:nth-of-type(3n-2) {
+        font-weight: bold;
+    }
+
+    .shop_li_2:hover::after {
+        content: '';
+        display: block;
+        background: #255590;
+    }
+
+    .shop_li_2:nth-last-of-type(1) {
+        margin-bottom: 0px;
+    }
+}
+
+.shop_head_8 {
+    height: 29px;
+    position: relative;
+
+    .shop_head_8_name {
+        float: left;
+        height: 29px;
+        line-height: 29px;
+        color: #255590;
+        font-size: 22px;
+        font-weight: bold;
+        padding-left: 22px;
+        background: url(@/public/img/3.png) no-repeat left center;
+        background-size: 12px 18px;
+    }
+
+    .shop_head_8_more {
+        height: 29px;
+        line-height: 29px;
+        color: #999;
+        float: right;
+        font-size: 16px;
+    }
+
+    .shop_head_8_more::after {
+        content: '';
+        display: block;
+        left: 0px;
+        top: 0px;
+        position: absolute;
+        width: 100%;
+        height: 100%;
+        z-index: 11;
+    }
+}
+
+.shop_img_ul_6 {
+    margin-top: 30px;
+
+    .shop_img_li_6 {
+        height: 267px;
+        position: relative;
+        width: 450px;
+    }
+
+
+    .shop_img_li_6_img {
+        display: block;
+        height: 267px;
+        width: 450px;
+    }
+
+    .shop_img_li_6_rgba {
+        height: 44px;
+        line-height: 44px;
+        color: #fff;
+        font-size: 18px;
+        padding: 0px 10px;
+        box-sizing: border-box;
+        position: absolute;
+        width: 450px;
+        z-index: 11;
+        left: 0px;
+        bottom: 0px;
+        background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 6%, rgba(0, 0, 0, 0) 100%);
+    }
+}
+
+.shop_ul_3 {
+    margin-top: 20px;
+
+    .shop_li_3 {
+        height: 24px;
+        line-height: 24px;
+        color: #333;
+        font-size: 18px;
+        margin-bottom: 17px;
+        box-sizing: border-box;
+        text-indent: 16px;
+        position: relative;
+    }
+
+    .shop_li_3:hover {
+        color: #255590;
+    }
+
+    .shop_li_3::after {
+        content: '';
+        display: block;
+        width: 6px;
+        height: 6px;
+        background: #ddd;
+        border-radius: 50%;
+        position: absolute;
+        left: 0px;
+        top: 8px;
+        z-index: 11;
+    }
+
+    .shop_li_3:hover::after {
+        content: '';
+        display: block;
+        background: #255590;
+    }
+
+    .shop_li_3:nth-last-of-type(1) {
+        margin-bottom: 0px;
+    }
+}
+
+.shop_head_9 {
+    height: 29px;
+    position: relative;
+
+    .shop_head_9_name {
+        float: left;
+        height: 29px;
+        line-height: 29px;
+        color: #255590;
+        font-size: 22px;
+        font-weight: bold;
+        padding-left: 22px;
+        background: url(@/public/img/3.png) no-repeat left center;
+        background-size: 12px 18px;
+    }
+
+    .shop_head_9_more {
+        height: 29px;
+        line-height: 29px;
+        color: #999;
+        float: right;
+        font-size: 16px;
+    }
+
+    .shop_head_9_more::after {
+        content: '';
+        display: block;
+        left: 0px;
+        top: 0px;
+        position: absolute;
+        width: 100%;
+        height: 100%;
+        z-index: 11;
+    }
+}
+
+.shop_6 {
+    margin-top: 30px;
+}
+
+.shop_6_left {
+    float: left;
+    width: 720px;
+}
+
+.shop_6_right {
+    float: right;
+    width: 450px;
+}
+
+.shop_box_3 {
+    width: 350px;
+    float: left;
+}
+
+.shop_box_4 {
+    width: 350px;
+    float: right;
+}
+
+.shop_img_ul_7 {
+    margin-top: 30px;
+
+    .shop_img_li_7 {
+        width: 350px;
+        height: 230px;
+        margin-bottom: 20px;
+        position: relative;
+    }
+
+    .shop_img_li_7:nth-last-of-type(1) {
+        margin-bottom: 0px;
+    }
+
+
+    .shop_img_li_7_img {
+        display: block;
+        width: 350px;
+        height: 230px;
+    }
+
+    .shop_img_li_7_rgba {
+        width: 350px;
+        height: 44px;
+        line-height: 44px;
+        color: #fff;
+        font-size: 18px;
+        padding: 0px 10px;
+        box-sizing: border-box;
+        position: absolute;
+        z-index: 11;
+        left: 0px;
+        bottom: 0px;
+        background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 33%, rgba(0, 0, 0, 0) 100%);
+    }
+}
+
+.shop_ul_4 {
+    margin-top: 30px;
+
+    .shop_li_4 {
+        height: 24px;
+        line-height: 24px;
+        color: #333;
+        font-size: 18px;
+        margin-bottom: 17px;
+        box-sizing: border-box;
+        text-indent: 16px;
+        position: relative;
+    }
+
+    .shop_li_4:hover {
+        color: #255590;
+    }
+
+    .shop_li_4::after {
+        content: '';
+        display: block;
+        width: 6px;
+        height: 6px;
+        background: #ddd;
+        border-radius: 50%;
+        position: absolute;
+        left: 0px;
+        top: 8px;
+        z-index: 11;
+    }
+
+    .shop_li_4:nth-of-type(3n-2) {
+        font-weight: bold;
+    }
+
+    .shop_li_4:hover::after {
+        content: '';
+        display: block;
+        background: #255590;
+    }
+
+    .shop_li_4:nth-last-of-type(1) {
+        margin-bottom: 0px;
+    }
+}
+
+.shop_head_10 {
+    height: 29px;
+    position: relative;
+
+    .shop_head_10_name {
+        float: left;
+        height: 29px;
+        line-height: 29px;
+        color: #255590;
+        font-size: 22px;
+        font-weight: bold;
+        padding-left: 22px;
+        background: url(@/public/img/3.png) no-repeat left center;
+        background-size: 12px 18px;
+    }
+
+    .shop_head_10_more {
+        height: 29px;
+        line-height: 29px;
+        color: #999;
+        float: right;
+        font-size: 16px;
+    }
+
+    .shop_head_10_more::after {
+        content: '';
+        display: block;
+        left: 0px;
+        top: 0px;
+        position: absolute;
+        width: 100%;
+        height: 100%;
+        z-index: 11;
+    }
+}
+
+.shop_box_5 {
+    width: 170px;
+    float: left;
+}
+
+.shop_box_6 {
+    width: 265px;
+    float: right;
+}
+
+.shop_img_ul_8 {
+    margin-top: 28px;
+
+    .shop_img_li_8 {
+        width: 170px;
+        height: 110px;
+        margin-bottom: 10px;
+        position: relative;
+    }
+
+
+    .shop_img_li_8_img {
+        width: 170px;
+        height: 110px;
+        display: block;
+    }
+
+    .shop_img_li_8_rgba {
+        width: 170px;
+        height: 28px;
+        line-height: 28px;
+        color: #fff;
+        font-size: 14px;
+        box-sizing: border-box;
+        position: absolute;
+        padding: 0px 10px;
+        left: 0px;
+        bottom: 0px;
+        z-index: 11;
+        background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 6%, rgba(0, 0, 0, 0) 100%);
+    }
+
+    .shop_img_li_8:nth-last-of-type(1) {
+        margin-bottom: 0px;
+    }
+}
+
+.shop_ul_5 {
+    margin-top: 30px;
+
+    .shop_li_5 {
+        height: 48px;
+        margin-bottom: 11px;
+        width: 265px;
+    }
+
+    .shop_li_5:nth-last-of-type(1) {
+        margin-bottom: 0px;
+    }
+
+    .shop_li_5_in {
+        height: 48px;
+        width: 265px;
+        display: table-cell;
+        vertical-align: middle;
+    }
+
+    .shop_li_5_a {
+        line-height: 24px;
+        color: #333;
+        font-size: 18px;
+        box-sizing: border-box;
+        position: relative;
+        width: 265px;
+        box-sizing: border-box;
+        padding-left: 16px;
+    }
+
+    .shop_li_5_a::after {
+        content: '';
+        display: block;
+        width: 6px;
+        height: 6px;
+        background: #ddd;
+        border-radius: 50%;
+        position: absolute;
+        left: 0px;
+        top: 44%;
+        z-index: 11;
+    }
+
+    .shop_li_5_a:hover::after {
+        content: '';
+        display: block;
+        background: #255590;
+    }
+
+    .shop_li_5_a:hover {
+        color: #255590;
+    }
+}
+
+.banner_2 {
+    margin-top: 29px;
+    height: 90px;
+    overflow: hidden;
+
+    .banner_2_a {
+        display: block;
+        width: 100%;
+        height: 100%;
+    }
+
+    .banner_2_img {
+        display: block;
+        width: 100%;
+    }
+}
+
+@media screen and (min-width:1200px) {
+    /*pc_1440*/
+    @media screen and (max-width:1440px) {
+        /*1200*/
+    }
+
+    .pc_none {
+        display: none;
+    }
+}
+
+@media screen and (max-width:599px) {}
+
+@media screen and (max-width:320px) {}

+ 16 - 16
components/goods/class.vue

@@ -139,8 +139,8 @@
             </div>
             <div class="shop_3_in clearfix">
                 <div class="shop_head_3 clearfix">
-                    <a class="shop_head_3_more" :href="`/${goodsData[0].aLIas_pinyin}/index.html`"
-                        :title="goodsData[0].title">栏目简介</a>
+                    <!-- <a class="shop_head_3_more" :href="`/${goodsData[0].aLIas_pinyin}/index.html`"
+                        :title="goodsData[0].title">栏目简介</a> -->
                 </div>
                 <div class="shop_ul_1 clearfix" v-if="goodsData[0].data1.length > 0">
                     <div class="shop_li_1 clearfix" v-for="(item, index) in goodsData[0].data1" :key="index">
@@ -156,12 +156,12 @@
             </div>
             <!-- 集贸市场2 -->
         </section>
-        <section class="shop_4 clearfix" v-if="goodsData.length > 1">
+        <section class="shop_4 clearfix" v-if="goodsData.length > 2">
             <!-- 名品之窗1 -->
             <div class="shop_3_in clearfix" v-if="goodsData.length > 1">
                 <div class="shop_head_4 clearfix">
-                    <div class="shop_head_4_name">{{ goodsData[1].alias }}</div>
-                    <a class="shop_head_4_more" href="" title="">栏目简介</a>
+                    <NuxtLink class="shop_head_4_name" :href="`/${goodsData[1].aLIas_pinyin}/index.html`"
+                        :title="goodsData[1].title">{{ goodsData[1].alias }}</NuxtLink>
                 </div>
                 <div class="shop_img_ul_2 clearfix">
                     <div class="shop_img_li_2 clearfix" v-for="(item, index) in goodsData[1].data" :key="index">
@@ -184,8 +184,8 @@
             <!-- 供求信息1 -->
             <div class="shop_3_in clearfix" v-if="goodsData.length > 2">
                 <div class="shop_head_5 clearfix">
-                    <div class="shop_head_5_name">{{ goodsData[2].alias }}</div>
-                    <a class="shop_head_5_more" href="" title="">栏目简介</a>
+                    <NuxtLink class="shop_head_5_name" :href="`/${goodsData[2].aLIas_pinyin}/index.html`"
+                        :title="goodsData[2].title">{{ goodsData[2].alias }}</NuxtLink>
                 </div>
                 <div class="shop_img_ul_3 clearfix">
                     <div class="shop_img_li_3 clearfix" v-for="(item, index) in goodsData[2].data" :key="index">
@@ -217,10 +217,10 @@
                     <NuxtLink :href="`/${newsData[0].aLIas_pinyin}/index.html`" class="shop_head_7_name">
                         {{ newsData[0].alias }}
                     </NuxtLink>
-                    <NuxtLink :href="`/${newsData[0].aLIas_pinyin}/index.html`" class="shop_head_7_more"
+                    <!-- <NuxtLink :href="`/${newsData[0].aLIas_pinyin}/index.html`" class="shop_head_7_more"
                         :title="newsData[0].title">
                         栏目简介
-                    </NuxtLink>
+                    </NuxtLink> -->
                 </div>
                 <div class="shop_box_1 clearfix">
                     <div class="shop_img_ul_4 clearfix">
@@ -262,10 +262,10 @@
                     <NuxtLink :href="`/${newsData[1].aLIas_pinyin}/index.html`" class="shop_head_8_name">
                         {{ newsData[1].alias }}
                     </NuxtLink>
-                    <NuxtLink :href="`/${newsData[1].aLIas_pinyin}/index.html`" class="shop_head_8_more"
+                    <!-- <NuxtLink :href="`/${newsData[1].aLIas_pinyin}/index.html`" class="shop_head_8_more"
                         :title="newsData[1].title">
                         栏目简介
-                    </NuxtLink>
+                    </NuxtLink> -->
                 </div>
                 <div class="shop_img_ul_6 clearfix">
                     <div class="shop_img_li_6 clearfix">
@@ -294,10 +294,10 @@
                     <NuxtLink :href="`/${newsData[2].aLIas_pinyin}/index.html`" class="shop_head_9_name">
                         {{ newsData[2].alias }}
                     </NuxtLink>
-                    <NuxtLink :href="`/${newsData[2].aLIas_pinyin}/index.html`" class="shop_head_9_more"
+                    <!-- <NuxtLink :href="`/${newsData[2].aLIas_pinyin}/index.html`" class="shop_head_9_more"
                         :title="newsData[2].title">
                         栏目简介
-                    </NuxtLink>
+                    </NuxtLink> -->
                 </div>
                 <div class="shop_box_3 clearfix">
                     <div class="shop_img_ul_7 clearfix">
@@ -328,10 +328,10 @@
                     <NuxtLink :href="`/${newsData[3].aLIas_pinyin}/index.html`" class="shop_head_10_name">
                         {{ newsData[3].alias }}
                     </NuxtLink>
-                    <NuxtLink :href="`/${newsData[3].aLIas_pinyin}/index.html`" class="shop_head_10_more"
+                    <!-- <NuxtLink :href="`/${newsData[3].aLIas_pinyin}/index.html`" class="shop_head_10_more"
                         :title="newsData[3].title">
                         栏目简介
-                    </NuxtLink>
+                    </NuxtLink> -->
                 </div>
                 <div class="shop_box_5 clearfix" v-if="newsData[3].data">
                     <div class="shop_img_ul_8 clearfix">
@@ -619,7 +619,7 @@ if (setData.code == 200) {
     let seoName = setData.data.website_name;
 
     useSeoMeta({
-        title: seoTitle + "_" + seoSuffix,
+        title: seoTitle + "_" + seoName + "_" + seoSuffix,
         meta: [
             { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
             { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 }

+ 36 - 42
components/goods/detail.vue

@@ -471,62 +471,56 @@ const articleChoice = ref(false);
 //4.5 获取详情
 let shopImg = ref('')
 let shopType = ref(1)
-async function getPageData() {
-    const mkdata = await requestDataPromise('/web/getWebsiteshopInfo', {
-        method: 'GET',
-        query: {
-            'id': articleId
-        },
-    });
-    if (mkdata.code == 200) {
-        //判断是否显示投票
-        if (mkdata.data.is_survey == 1) {
-            console.log("本篇文章含有投票!")
-            articleChoice.value = true;
-        }
-        //获取内容
-        newsDetail.value = mkdata.data;
-        shopType.value = mkdata.data.type_id
-        //获取路径
-        routLevelTitle.value = newsDetail.value.cat_name;
-        routLevelId.value = newsDetail.value.category_id;
-        shopImg.value = mkdata.data.imgurl[0]
-        //获取发布时间
+let seoTitle;
+let seoDescription;
+let seoKeywords;
+const mkdata = await requestDataPromise('/web/getWebsiteshopInfo', {
+    method: 'GET',
+    query: {
+        'id': articleId
+    },
+});
+if (mkdata.code == 200) {
+    //获取内容
+    newsDetail.value = mkdata.data;
+    shopType.value = mkdata.data.type_id
+    //获取路径
+    routLevelTitle.value = newsDetail.value.cat_name;
+    routLevelId.value = newsDetail.value.category_id;
+    shopImg.value = mkdata.data.imgurl[0]
+    //获取发布时间
+    if (newsDetail.value.updated_at) {
         time.value = newsDetail.value.updated_at.split(' ')[0];
-        //修正标题长度
-        if (newsDetail.value.name.length >= 20) {
-            routeNewsTtitle.value = newsDetail.value.name.substr(0, 20) + "...";
-        } else {
-            routeNewsTtitle.value = newsDetail.value.name
-        }
+    }
+    //修正标题长度
+    if (newsDetail.value.name.length >= 20) {
+        routeNewsTtitle.value = newsDetail.value.name.substr(0, 20) + "...";
     } else {
-        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
-        console.log("错误位置:获取详情内容")
-        console.log("后端错误反馈:", mkdata.message)
-        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+        routeNewsTtitle.value = newsDetail.value.name
     }
+    seoTitle = newsDetail.value.name;
+    seoDescription = newsDetail.value.description;
+    seoKeywords = newsDetail.value.keyword;
+} else {
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    console.log("错误位置:获取详情内容")
+    console.log("后端错误反馈:", mkdata.message)
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
 }
-getPageData();
 //4.新闻详情 end ---------------------------------------->
 
-
-//6.设置seo信息 start---------------------------------------->
+//5.设置seo信息 start---------------------------------------->
 const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
     method: 'GET',
     query: {
-        'catid': routeId
+        'catid': parent_id.value
     },
 });
-
 if (setData.code == 200) {
-    let seoTitle = setData.data.seo_title;
-    let seoDescription = setData.data.seo_description;
-    let seoKeywords = setData.data.seo_keywords;
     let seoSuffix = setData.data.suffix;
     let seoName = setData.data.website_name;
-
     useSeoMeta({
-        title: seoTitle + "_" + seoSuffix,
+        title: seoTitle + "_" + seoName + "_" + seoSuffix,
         meta: [
             { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
             { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 }
@@ -535,7 +529,7 @@ if (setData.code == 200) {
 } else {
     console.log("设置频道页SEO出错!", setData.message)
 }
-//6.设置seo信息 end---------------------------------------->
+//5.设置seo信息 end---------------------------------------->
 
 //8.页面图片放大 start---------------------------------------->
 const previewVisible = ref(false)

+ 36 - 42
components/goods/detail_sec.vue

@@ -461,62 +461,56 @@ const articleChoice = ref(false);
 //4.5 获取详情
 let shopImg = ref('')
 let shopType = ref(1)
-async function getPageData() {
-    const mkdata = await requestDataPromise('/web/getWebsiteshopInfo', {
-        method: 'GET',
-        query: {
-            'id': articleId
-        },
-    });
-    if (mkdata.code == 200) {
-        //判断是否显示投票
-        if (mkdata.data.is_survey == 1) {
-            console.log("本篇文章含有投票!")
-            articleChoice.value = true;
-        }
-        //获取内容
-        newsDetail.value = mkdata.data;
-        shopType.value = mkdata.data.type_id
-        //获取路径
-        routLevelTitle.value = newsDetail.value.cat_name;
-        routLevelId.value = newsDetail.value.category_id;
-        shopImg.value = mkdata.data.imgurl[0]
-        //获取发布时间
+let seoTitle;
+let seoDescription;
+let seoKeywords;
+const mkdata = await requestDataPromise('/web/getWebsiteshopInfo', {
+    method: 'GET',
+    query: {
+        'id': articleId
+    },
+});
+if (mkdata.code == 200) {
+    //获取内容
+    newsDetail.value = mkdata.data;
+    shopType.value = mkdata.data.type_id
+    //获取路径
+    routLevelTitle.value = newsDetail.value.cat_name;
+    routLevelId.value = newsDetail.value.category_id;
+    shopImg.value = mkdata.data.imgurl[0]
+    //获取发布时间
+    if (newsDetail.value.updated_at) {
         time.value = newsDetail.value.updated_at.split(' ')[0];
-        //修正标题长度
-        if (newsDetail.value.name.length >= 20) {
-            routeNewsTtitle.value = newsDetail.value.name.substr(0, 20) + "...";
-        } else {
-            routeNewsTtitle.value = newsDetail.value.name
-        }
+    }
+    //修正标题长度
+    if (newsDetail.value.name.length >= 20) {
+        routeNewsTtitle.value = newsDetail.value.name.substr(0, 20) + "...";
     } else {
-        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
-        console.log("错误位置:获取详情内容")
-        console.log("后端错误反馈:", mkdata.message)
-        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+        routeNewsTtitle.value = newsDetail.value.name
     }
+    seoTitle = newsDetail.value.name;
+    seoDescription = newsDetail.value.description;
+    seoKeywords = newsDetail.value.keyword;
+} else {
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    console.log("错误位置:获取详情内容")
+    console.log("后端错误反馈:", mkdata.message)
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
 }
-getPageData();
 //4.新闻详情 end ---------------------------------------->
 
-
-//6.设置seo信息 start---------------------------------------->
+//5.设置seo信息 start---------------------------------------->
 const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
     method: 'GET',
     query: {
-        'catid': routeId
+        'catid': parent_id.value
     },
 });
-
 if (setData.code == 200) {
-    let seoTitle = setData.data.seo_title;
-    let seoDescription = setData.data.seo_description;
-    let seoKeywords = setData.data.seo_keywords;
     let seoSuffix = setData.data.suffix;
     let seoName = setData.data.website_name;
-
     useSeoMeta({
-        title: seoTitle + "_" + seoSuffix,
+        title: seoTitle + "_" + seoName + "_" + seoSuffix,
         meta: [
             { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
             { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 }
@@ -525,7 +519,7 @@ if (setData.code == 200) {
 } else {
     console.log("设置频道页SEO出错!", setData.message)
 }
-//6.设置seo信息 end---------------------------------------->
+//5.设置seo信息 end---------------------------------------->
 
 //8.页面图片放大 start---------------------------------------->
 const previewVisible = ref(false)

+ 4 - 75
components/news/class.vue

@@ -18,10 +18,6 @@
                             :title="pageData[0].alias">
                             {{ pageData[0].alias }}
                         </NuxtLink>
-                        <NuxtLink class="channel_head_more" :href="getLinkPath1(pageData[0])" v-if="pageData[0]"
-                            :title="pageData[0].alias">
-                            栏目简介
-                        </NuxtLink>
                     </div>
                     <div class="channel_name_ul" v-if="pageData[0]">
                         <div class="channel_name_ul_li" v-for="item in pageData[0].data2">
@@ -42,10 +38,6 @@
                             :title="pageData[1].alias">
                             {{ pageData[1].alias }}
                         </NuxtLink>
-                        <NuxtLink class="channel_head_more" :href="getLinkPath1(pageData[1])" v-if="pageData[1]"
-                            :title="pageData[1].alias">
-                            栏目简介
-                        </NuxtLink>
                     </div>
                     <div class="channel2_top_content clearfix" v-if="pageData.length > 1">
                         <div class="channel_1_box_1 clearfix">
@@ -79,10 +71,6 @@
                             :title="pageData[2].alias">
                             {{ pageData[2].alias }}
                         </NuxtLink>
-                        <NuxtLink class="channel_head_more" :href="getLinkPath1(pageData[2])" v-if="pageData[2]"
-                            :title="pageData[2].alias">
-                            栏目简介
-                        </NuxtLink>
                     </div>
                     <div class=" clearfix" v-if="pageData.length > 2">
                         <div class="channel_1_box_1 clearfix">
@@ -118,10 +106,6 @@
                             :title="pageData[3].alias">
                             {{ pageData[3].alias }}
                         </NuxtLink>
-                        <NuxtLink class="channel_head_more" :href="getLinkPath1(pageData[3])" v-if="pageData[3]"
-                            :title="pageData[3].alias">
-                            栏目简介
-                        </NuxtLink>
                     </div>
                     <div class="channel_img_big_3_ul clearfix" v-if="pageData[3].data">
                         <div class="channel_img_big_3_li" v-for="item in pageData[3].data">
@@ -149,8 +133,8 @@
                 </div>
             </section>
             <!--广告1-->
-            <HomeAdvertising :data="adImg1"></HomeAdvertising>
-
+            <HomeAdvertising :imgurl="adImg1" v-if="adImg1"></HomeAdvertising>
+            
             <section class="channel_3 clearfix">
                 <!--open 农贸节庆-->
                 <div class="channel_1_left clearfix" v-if="pageData.length > 4">
@@ -159,10 +143,6 @@
                             :title="pageData[4].alias">
                             {{ pageData[4].alias }}
                         </NuxtLink>
-                        <NuxtLink class="channel_head_more" :href="getLinkPath1(pageData[4])" v-if="pageData[4]"
-                            :title="pageData[4].alias">
-                            栏目简介
-                        </NuxtLink>
                     </div>
                     <div class=" clearfix" v-if="pageData[4]">
                         <div class="channel_1_box_1 clearfix">
@@ -210,10 +190,6 @@
                             :title="pageData[5].alias">
                             {{ pageData[5].alias }}
                         </NuxtLink>
-                        <NuxtLink class="channel_head_more" :href="getLinkPath1(pageData[5])" v-if="pageData[5]"
-                            :title="pageData[5].alias">
-                            栏目简介
-                        </NuxtLink>
                     </div>
                     <div class="channel_img_ul_2 clearfix" v-if="pageData[5]">
                         <div class="channel_img_ul_2_li" v-for="item in pageData[5].data">
@@ -244,10 +220,6 @@
                             :title="pageData[6].alias">
                             {{ pageData[6].alias }}
                         </NuxtLink>
-                        <NuxtLink class="channel_head_more" :href="getLinkPath1(pageData[6])" v-if="pageData[6]"
-                            :title="pageData[6].alias">
-                            栏目简介
-                        </NuxtLink>
                     </div>
                     <div class="channel_ul_7" v-if="pageData[6]">
                         <NuxtLink class="channel_ul_7_a dot1" :href="getLinkPathDetail(item)" :title="item.title"
@@ -265,10 +237,6 @@
                             :title="pageData[7].alias">
                             {{ pageData[7].alias }}
                         </NuxtLink>
-                        <NuxtLink class="channel_head_more" :href="getLinkPath1(pageData[7])" v-if="pageData[7]"
-                            :title="pageData[7].alias">
-                            栏目简介
-                        </NuxtLink>
                     </div>
                     <div class="channel_img_big_5_ul" v-if="pageData[7]">
                         <div class="channel_img_big_5_li" v-for="item in pageData[7].data">
@@ -323,14 +291,11 @@ let qhtabs = function (number) {
 
 //3.广告 start ---------------------------------------->
 let adImg1 = ref({})
-let adImg2 = ref({})
-let adImg3 = ref({})
-let adImg4 = ref({})
 onMounted(async () => {
     //从客户端获取行政职能部门 加快打开速度
     const { $webUrl, $CwebUrl } = useNuxtApp();
     //广告1
-    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0001`
+    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snscw_category_0001`
     const responseAd1 = await fetch(url, {
         headers: {
             'Content-Type': 'application/json',
@@ -340,42 +305,6 @@ onMounted(async () => {
     });
     const resultAd1 = await responseAd1.json();
     adImg1.value = resultAd1.data[0];
-
-    //广告2
-    let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0002`
-    const responseAd2 = await fetch(url2, {
-        headers: {
-            'Content-Type': 'application/json',
-            'Userurl': $CwebUrl,
-            'Origin': $CwebUrl
-        }
-    });
-    const resultAd2 = await responseAd2.json();
-    adImg2.value = resultAd2.data[0];
-
-    //广告3
-    let url3 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0003`
-    const responseAd3 = await fetch(url3, {
-        headers: {
-            'Content-Type': 'application/json',
-            'Userurl': $CwebUrl,
-            'Origin': $CwebUrl
-        }
-    });
-    const resultAd3 = await responseAd3.json();
-    adImg3.value = resultAd3.data[0];
-
-    //广告4
-    let url4 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0004`
-    const responseAd4 = await fetch(url4, {
-        headers: {
-            'Content-Type': 'application/json',
-            'Userurl': $CwebUrl,
-            'Origin': $CwebUrl
-        }
-    });
-    const resultAd4 = await responseAd4.json();
-    adImg4.value = resultAd4.data[0];
 })
 //3.广告 end ---------------------------------------->
 
@@ -490,7 +419,7 @@ async function getPageAllData(jsonString) {
             'id': jsonString
         },
     });
-    console.log('11111111111111111111', mkdata.data)
+    // console.log('11111111111111111111', mkdata.data)
 
     if (mkdata.code == 200) {
         //模块1 顶部大图和列表

+ 1 - 1
pages/[dir]/[dir]/[dir]/list-[id].vue

@@ -405,7 +405,7 @@ if (getGoodsList.code == 200) {
 const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
     method: 'GET',
     query: {
-        'catid': routeId
+        'catid': navCid.value
     },
 });
 

+ 0 - 36
pages/[dir]/[dir]/index.html.vue

@@ -33,7 +33,6 @@
                         <el-breadcrumb-item>
                             <NuxtLink :to="`list-1.html`"> {{ secNavTitle }}</NuxtLink>
                         </el-breadcrumb-item>
-                        <!-- <el-breadcrumb-item>{{ routeNewsTtitle }}</el-breadcrumb-item> -->
                     </el-breadcrumb>
                 </div>
             </div>
@@ -46,9 +45,6 @@
                         <NuxtLink class="shop_head_2_name" :href="getLinkPath1(newsData[0])">
                             {{ newsData[0].alias }}
                         </NuxtLink>
-                        <NuxtLink class="shop_head_2_more" :href="getLinkPath1(newsData[0])" :title="newsData[0].title">
-                            栏目简介
-                        </NuxtLink>
                     </div>
                     <div class="shop_ul_1 clearfix" v-if="newsData[0].data2">
                         <NuxtLink class="shop_li_1 dot1" :href="getLinkPathDetail(item)" title=""
@@ -65,9 +61,6 @@
                         <NuxtLink class="shop_head_2_name" :href="getLinkPath1(newsData[1])">
                             {{ newsData[1].alias }}
                         </NuxtLink>
-                        <NuxtLink class="shop_head_2_more" :href="getLinkPath1(newsData[1])" :title="newsData[1].title">
-                            栏目简介
-                        </NuxtLink>
                     </div>
                     <div class=" clearfix" v-if="newsData.length > 1">
                         <div class="index_3_in clearfix">
@@ -97,8 +90,6 @@
                     <div class="shop_head_3 clearfix" v-if="newsData.length > 2">
                         <NuxtLink class="shop_head_3_name" :href="getLinkPath1(newsData[2])">{{ newsData[2].alias }}
                         </NuxtLink>
-                        <NuxtLink class="shop_head_3_more" :href="getLinkPath1(newsData[2])" :title="newsData[2].title">
-                            栏目简介</NuxtLink>
                     </div>
                     <div class=" clearfix">
                         <div class="index_3_in_2 clearfix" v-if="newsData.length > 2">
@@ -131,9 +122,6 @@
                         <NuxtLink class="shop_head_4_name" :href="getLinkPath1(newsData[3])">
                             {{ newsData[3].alias }}
                         </NuxtLink>
-                        <NuxtLink class="shop_head_4_more" :href="getLinkPath1(newsData[3])" :title="newsData[3].title">
-                            栏目简介
-                        </NuxtLink>
                     </div>
                     <div class="shop_img_ul_3 clearfix">
                         <div class="shop_img_li_3 clearfix" v-if="newsData[3].data">
@@ -203,9 +191,6 @@
                         <NuxtLink class="box_1_head_name" :href="getLinkPath1(goodsData[0])">
                             {{ goodsData[0].alias }}
                         </NuxtLink>
-                        <NuxtLink class="box_1_head_a" :href="getLinkPath1(goodsData[0])" :title="goodsData[0].title">
-                            栏目简介
-                        </NuxtLink>
                     </div>
                     <div class="img_ul_1 clearfix">
                         <div class="img_li_1 clearfix" v-for="(item, index) in goodsData[0].data" :key="index">
@@ -223,9 +208,6 @@
                         <NuxtLink class="box_1_head_name" :href="getLinkPath1(goodsData[1])">
                             {{ goodsData[1].alias }}
                         </NuxtLink>
-                        <NuxtLink class="box_1_head_a" :href="getLinkPath1(goodsData[1])" :title="goodsData[1].title">
-                            栏目简介
-                        </NuxtLink>
                     </div>
                     <div class="img_ul_1 clearfix">
                         <div class="img_li_1 clearfix" v-for="(item, index) in goodsData[1].data" :key="index">
@@ -246,9 +228,6 @@
                         <NuxtLink class="box_2_head_name" :href="getLinkPath1(goodsData[2])">
                             {{ goodsData[2].alias }}
                         </NuxtLink>
-                        <NuxtLink class="box_2_head_a" :href="getLinkPath1(goodsData[2])" :title="goodsData[2].title">
-                            栏目简介
-                        </NuxtLink>
                     </div>
                     <div class="img_ul_2 clearfix">
                         <div class="img_li_2 clearfix" v-for="(item, index) in goodsData[2].data" :key="index">
@@ -269,9 +248,6 @@
                         <NuxtLink class="box_1_head_name" :href="getLinkPath1(goodsData[3])">
                             {{ goodsData[3].alias }}
                         </NuxtLink>
-                        <NuxtLink class="box_1_head_a" :href="getLinkPath1(goodsData[3])" :title="goodsData[3].title">
-                            栏目简介
-                        </NuxtLink>
                     </div>
                     <div class="img_ul_1 clearfix">
                         <div class="img_li_1 clearfix" v-for="(item, index) in goodsData[3].data" :key="index">
@@ -289,9 +265,6 @@
                         <NuxtLink class="box_1_head_name" :href="getLinkPath1(goodsData[4])">
                             {{ goodsData[4].alias }}
                         </NuxtLink>
-                        <NuxtLink class="box_1_head_a" :href="getLinkPath1(goodsData[4])" :title="goodsData[4].title">
-                            栏目简介
-                        </NuxtLink>
                     </div>
                     <div class="img_ul_1 clearfix">
                         <div class="img_li_1 clearfix" v-for="(item, index) in goodsData[4].data" :key="index">
@@ -312,9 +285,6 @@
                         <NuxtLink class="box_2_head_name" :href="getLinkPath1(goodsData[5])">
                             {{ goodsData[5].alias }}
                         </NuxtLink>
-                        <NuxtLink class="box_2_head_a" :href="getLinkPath1(goodsData[5])" :title="goodsData[5].title">
-                            栏目简介
-                        </NuxtLink>
                     </div>
                     <div class="img_ul_2 clearfix">
                         <div class="img_li_2 clearfix" v-for="(item, index) in goodsData[5].data" :key="index">
@@ -335,9 +305,6 @@
                         <NuxtLink class="box_1_head_name" :href="getLinkPath1(goodsData[6])">
                             {{ goodsData[6].alias }}
                         </NuxtLink>
-                        <NuxtLink class="box_1_head_a" :href="getLinkPath1(goodsData[6])" :title="goodsData[6].title">
-                            栏目简介
-                        </NuxtLink>
                     </div>
                     <div class="img_ul_1 clearfix">
                         <div class="img_li_1 clearfix" v-for="(item, index) in goodsData[6].data" :key="index">
@@ -355,9 +322,6 @@
                         <NuxtLink class="box_1_head_name" :href="getLinkPath1(goodsData[7])">
                             {{ goodsData[7].alias }}
                         </NuxtLink>
-                        <NuxtLink class="box_1_head_a" :href="getLinkPath1(goodsData[7])" :title="goodsData[7].title">
-                            栏目简介
-                        </NuxtLink>
                     </div>
                     <div class="img_ul_1 clearfix">
                         <div class="img_li_1 clearfix" v-for="(item, index) in goodsData[7].data" :key="index">

+ 586 - 0
pages/nongcunshichang/[dir]/[id].vue

@@ -0,0 +1,586 @@
+<template>
+    <!-- 农村市场详情页 -->
+    <HomePageHead></HomePageHead>
+    <HomePageNavigation></HomePageNavigation>
+    <!-- 列表页广告一 -->
+    <HomeTopTen :imgurl="adImg1" v-if="adImg1"></HomeTopTen>
+    <div class="goods">
+        <main class="index_main" v-if="shopType == 1">
+            <section class="index_1 clearfix">
+                <div class="breadcrumb">
+                    <div class="inner">
+                        <span class="location">当前位置 :</span>
+                        <el-breadcrumb :separator-icon="ArrowRight">
+                            <el-breadcrumb-item>
+                                <NuxtLink to="/">首页</NuxtLink>
+                            </el-breadcrumb-item>
+                            <el-breadcrumb-item v-if="p_parent_name != ''">
+                                <NuxtLink :to="`/${targetSegment}/index.html`"> {{ p_parent_name }}</NuxtLink>
+                            </el-breadcrumb-item>
+                            <el-breadcrumb-item v-if="parent_name != ''">
+                                <NuxtLink :to="`/${targetSegment}/${targetSegment1}/list-1.html`"> {{ parent_name }}
+                                </NuxtLink>
+                            </el-breadcrumb-item>
+                            <el-breadcrumb-item>
+                                {{ routeNewsTtitle }}
+                            </el-breadcrumb-item>
+                        </el-breadcrumb>
+                    </div>
+                </div>
+            </section>
+            <section class="index_2 clearfix">
+                <img class="index_2_img" :src="shopImg" :title="newsDetail.name" alt="">
+                <div class="index_2_left">
+                    <h4 class="index_2_h4 dot1">{{ newsDetail.name }}</h4>
+                    <div class="index_2_title_box clearfix">
+                        <time class="index_2_title"> 更新日期:{{ newsDetail.updated_at }}</time>
+                        <span class="index_2_title">浏览次数:{{ newsDetail.hits }}</span>
+                    </div>
+                    <div class="index_2_ul clearfix">
+                        <div class="index_2_li clearfix">
+                            <label class="index_2_li_label">公 司 名</label>
+                            <span class="index_2_li_text "> {{ newsDetail.com }}</span>
+                        </div>
+                        <div class="index_2_li clearfix">
+                            <label class="index_2_li_label">所 在 地</label>
+                            <span class="index_2_li_text ">{{ newsDetail.address }}</span>
+                        </div>
+                        <div class="index_2_li clearfix">
+                            <label class="index_2_li_label">联 系 人</label>
+                            <span class="index_2_li_text ">{{ newsDetail.contact }}</span>
+                        </div>
+                        <div class="index_2_li clearfix">
+                            <label class="index_2_li_label">产品单价</label>
+
+                            <span class="index_2_li_text">
+                                {{ newsDetail.price }}
+                                元/
+                                {{ newsDetail.unit }}
+                            </span>
+                        </div>
+                        <div class="index_2_li clearfix">
+                            <label class="index_2_li_label">最小定量</label>
+                            <span class="index_2_li_text ">{{ newsDetail.min }}</span>
+                        </div>
+                        <div class="index_2_li clearfix">
+                            <label class="index_2_li_label">供货总量</label>
+                            <span class="index_2_li_text ">{{ newsDetail.max }}</span>
+                        </div>
+                        <div class="index_2_li clearfix">
+                            <label class="index_2_li_label">有 效 期</label>
+                            <span class="index_2_li_text ">{{ getValidityTime(newsDetail) }}</span>
+                        </div>
+                    </div>
+                </div>
+            </section>
+            <!-- 选项卡1 -->
+            <section class="index_3 clearfix">
+                <div class="shop_head_1 clearfix">
+                    <div class="shop_head_1_name" :class="{ shop_head_1_name_only: supply_num == 1 }"
+                        @mouseover="supply_num = 1">详情信息</div>
+                    <div class="shop_head_1_name" :class="{ shop_head_1_name_only: supply_num == 2 }"
+                        @mouseover="supply_num = 2">联系方式</div>
+                    <div class="shop_head_1_name" :class="{ shop_head_1_name_only: supply_num == 3 }"
+                        @mouseover="supply_num = 3">图片展示</div>
+                </div>
+                <div class="card_out clearfix">
+                    <div class="card_1_box clearfix card_1_box_only" v-if="supply_num == 1" v-html="newsDetail.detail">
+                    </div>
+                    <div class="card_1_box clearfix card_1_box_only" v-if="supply_num == 2">
+                        <p class="supply_art_box_p">公司名称:{{ newsDetail.com }}</p>
+                        <p class="supply_art_box_p">电子邮箱:{{ newsDetail.email }}</p>
+                        <p class="supply_art_box_p">邮政编码:{{ newsDetail.postal }}</p>
+                        <p class="supply_art_box_p">联系地址:{{ newsDetail.address }}</p>
+                    </div>
+                    <div class="card_1_box clearfix card_1_box_only" v-if="supply_num == 3">
+                        <div class="supply_art_box_img">
+                            <img :src="item" v-for="item in newsDetail.imgurl">
+                        </div>
+                    </div>
+                </div>
+            </section>
+            <!-- 选项卡2 -->
+            <section class="index_4 clearfix">
+                <div class="box_1 clearfix">
+                    <div class="box_1_head">
+                        <div class="box_1_head_name">点击排行</div>
+                    </div>
+                    <div class="img_ul_1 clearfix">
+                        <div class="img_li_1 clearfix" v-for="(item, index) in pageData1" :key="index">
+                            <NuxtLink class="img_li_1_a" :href="getLinkPathDetail(item)" :title="item.title">
+                                <div class="img_li_1_img_box clearfix">
+                                    <img class="img_li_1_img" :src="item.imgurl" :title="item.title" alt="">
+                                </div>
+                                <div class="img_li_1_dot2">{{ item.name }}
+                                </div>
+                            </NuxtLink>
+                        </div>
+                    </div>
+                </div>
+                <div class="box_1 clearfix">
+                    <div class="box_1_head">
+                        <div class="box_1_head_name">最新商机</div>
+                    </div>
+                    <div class="img_ul_1 clearfix">
+                        <div class="img_li_1 clearfix" v-for="(item, index) in pageData2" :key="index">
+                            <NuxtLink class="img_li_1_a" :href="getLinkPathDetail(item)" :title="item.title">
+                                <div class="img_li_1_img_box clearfix">
+                                    <img class="img_li_1_img" :src="item.imgurl" :title="item.title" alt="">
+                                </div>
+                                <div class="img_li_1_dot2">{{ item.name }}
+                                </div>
+                            </NuxtLink>
+                        </div>
+                    </div>
+                </div>
+            </section>
+        </main>
+
+        <main class="index_main" v-if="shopType == 2">
+            <section class=" clearfix">
+                <div class="index_out_1_left clearfix">
+                    <section class="index_1 clearfix">
+                        <div class="breadcrumb">
+                            <div class="inner">
+                                <span class="location">当前位置 :</span>
+                                <el-breadcrumb :separator-icon="ArrowRight">
+                                    <el-breadcrumb-item>
+                                        <NuxtLink to="/">首页</NuxtLink>
+                                    </el-breadcrumb-item>
+                                    <el-breadcrumb-item v-if="p_parent_name != ''">
+                                        <NuxtLink :to="`/${targetSegment}/index.html`"> {{ p_parent_name }}</NuxtLink>
+                                    </el-breadcrumb-item>
+                                    <el-breadcrumb-item v-if="parent_name != ''">
+                                        <NuxtLink :to="`/${targetSegment}/${targetSegment1}/index.html`">
+                                            {{ parent_name }}
+                                        </NuxtLink>
+                                    </el-breadcrumb-item>
+                                    <el-breadcrumb-item>
+                                        {{ routeNewsTtitle }}
+                                    </el-breadcrumb-item>
+                                </el-breadcrumb>
+                            </div>
+                        </div>
+                    </section>
+                    <section class="index_2 clearfix">
+                        <img class="index_2_img" :src="shopImg" :title="newsDetail.name" alt="">
+                        <div class="index_2_right">
+                            <h4 class="index_2_h4 dot1">求购:{{ newsDetail.name }}</h4>
+                            <div class="index_2_ul clearfix">
+                                <div class="index_2_li clearfix">
+                                    <label class="index_2_li_label">发布日期</label>
+                                    <span class="index_2_li_text">{{ getTime(newsDetail.updated_at, 'year', 1) }}</span>
+                                </div>
+                                <div class="index_2_li clearfix">
+                                    <label class="index_2_li_label">截止日期</label>
+                                    <span class="index_2_li_text">{{ getTime(newsDetail.validity, 'year', 1) }}</span>
+                                </div>
+                                <div class="index_2_li clearfix">
+                                    <label class="index_2_li_label">浏览次数</label>
+                                    <span class="index_2_li_text">{{ newsDetail.hits }}</span>
+                                </div>
+                                <div class="index_2_li clearfix">
+                                    <label class="index_2_li_label">联 系 人</label>
+                                    <span class="index_2_li_text">{{ newsDetail.contact }}</span>
+                                </div>
+                                <div class="index_2_li clearfix">
+                                    <label class="index_2_li_label">发布地区</label>
+                                    <span class="index_2_li_text">{{ newsDetail.address }}</span>
+                                </div>
+                                <div class="index_2_li clearfix">
+                                    <label class="index_2_li_label">座 机</label>
+                                    <span class="index_2_li_text">{{ newsDetail.landline }}</span>
+                                </div>
+                                <div class="index_2_li clearfix">
+                                    <label class="index_2_li_label">联系电话</label>
+                                    <span class="index_2_li_text">{{ newsDetail.phone }}</span>
+                                </div>
+                            </div>
+                        </div>
+                    </section>
+                </div>
+                <div class="shop_3_right clearfix">
+                    <div class="choice_1_box clearfix">
+                        <div class="choice_1_btn_box clearfix">
+                            <div class="choice_1_btn" :class="{ choice_1_btn_only: supply_buy == 1 }"
+                                @mouseover="supply_buy = 1">
+                                <span class="choice_1_btn_a" title="供应商品">供应商品</span>
+                            </div>
+                            <div class="choice_1_btn " :class="{ choice_1_btn_only: supply_buy == 2 }"
+                                @mouseover="supply_buy = 2">
+                                <a class="choice_1_btn_a" title="求购商品">求购商品</a>
+                            </div>
+                        </div>
+                        <div class="choice_1_card_box">
+                            <!-- 供应商品 -->
+                            <div class="shop_ul_img_2 choice_1_card clearfix" v-show="supply_buy == 1">
+                                <div class="shop_li_img_2" v-for="(item, index) in pageData3" :key="index">
+                                    <NuxtLink class="shop_li_img_2_a" :href="getLinkPathDetail(item)"
+                                        :title="item.name">
+                                        <div class="shop_li_img_2_num"> {{ index + 1 }} </div>
+                                        <div class="shop_li_img_2_right clearfix">
+                                            <img class="shop_li_img_2_img" :src="item.imgurl" :title="item.name" alt="">
+                                            <div class="shop_li_img_2_text">
+                                                {{ item.name }}
+                                            </div>
+                                        </div>
+                                    </NuxtLink>
+                                </div>
+                            </div>
+                            <!-- 供应商品 -->
+                            <!-- 求购商品 -->
+                            <div class="shop_ul_img_2 choice_1_card clearfix" v-show="supply_buy == 2">
+                                <div class="shop_li_img_2" v-for="(item, index) in pageData4" :key="index">
+                                    <NuxtLink class="shop_li_img_2_a" :href="getLinkPathDetail(item)"
+                                        :title="item.name">
+                                        <div class="shop_li_img_2_num"> {{ index + 1 }} </div>
+                                        <div class="shop_li_img_2_right clearfix">
+                                            <img class="shop_li_img_2_img" :src="item.imgurl" :title="item.name" alt="">
+                                            <div class="shop_li_img_2_text">
+                                                {{ item.name }}
+                                            </div>
+                                        </div>
+                                    </NuxtLink>
+                                </div>
+                            </div>
+                            <!-- 求购商品 -->
+                        </div>
+                    </div>
+                </div>
+            </section>
+            <!-- 选项卡1 -->
+            <section class="index_3 clearfix">
+                <div class="shop_head_1 clearfix">
+                    <div class="shop_head_1_name" :class="{ shop_head_1_name_only: buy_num == 1 }"
+                        @mouseover="buy_num = 1">详情信息</div>
+                    <div class="shop_head_1_name" :class="{ shop_head_1_name_only: buy_num == 2 }"
+                        @mouseover="buy_num = 2">发布人信息</div>
+                </div>
+                <div class="card_out clearfix">
+                    <div class="card_1_box clearfix card_1_box_only" v-show="buy_num == 1" v-html="newsDetail.detail">
+                    </div>
+                    <div class="card_1_box clearfix card_1_box_only" v-show="buy_num == 2">
+                        <P>公司名称:{{ newsDetail.com }}</P>
+                        <P>电子邮箱:{{ newsDetail.email }}</P>
+                        <P>邮政编码:{{ newsDetail.postal }}</P>
+                        <P>联系地址:{{ newsDetail.address }}</P>
+                    </div>
+                </div>
+            </section>
+            <!-- 选项卡2 -->
+            <section class="index_4 clearfix">
+                <div class="box_1 clearfix">
+                    <div class="box_1_head">
+                        <div class="box_1_head_name">点击排行</div>
+                    </div>
+                    <div class="img_ul_1 clearfix">
+                        <div class="img_li_1 clearfix" v-for="(item, index) in pageData1" :key="index">
+                            <NuxtLink class="img_li_1_a" :href="getLinkPathDetail(item)" :title="item.title">
+                                <div class="img_li_1_img_box clearfix">
+                                    <img class="img_li_1_img" :src="item.imgurl" :title="item.title" alt="">
+                                </div>
+                                <div class="img_li_1_dot2">{{ item.name }}
+                                </div>
+                            </NuxtLink>
+                        </div>
+                    </div>
+                </div>
+                <div class="box_1 clearfix">
+                    <div class="box_1_head">
+                        <div class="box_1_head_name">最新商机</div>
+                    </div>
+                    <div class="img_ul_1 clearfix">
+                        <div class="img_li_1 clearfix" v-for="(item, index) in pageData2" :key="index">
+                            <NuxtLink class="img_li_1_a" :href="getLinkPathDetail(item)" :title="item.title">
+                                <div class="img_li_1_img_box clearfix">
+                                    <img class="img_li_1_img" :src="item.imgurl" :title="item.title" alt="">
+                                </div>
+                                <div class="img_li_1_dot2">{{ item.name }}
+                                </div>
+                            </NuxtLink>
+                        </div>
+                    </div>
+                </div>
+            </section>
+        </main>
+    </div>
+    <!-- 列表页广告一 -->
+    <HomeTopTen :imgurl="adImg2" v-if="adImg2"></HomeTopTen>
+    <HomeFoot></HomeFoot>
+</template>
+
+<script setup>
+//0.页面依赖 start ---------------------------------------->
+import { onMounted, ref } from 'vue'
+import { ElBreadcrumb, ElBreadcrumbItem, ElMessage } from 'element-plus'
+import { ArrowRight } from '@element-plus/icons-vue'
+//0.页面依赖 end ---------------------------------------->
+
+//1.获得路由id start ---------------------------------------->
+const route = useRoute();
+const articleId = parseInt(route.params.id);
+const targetSegment = getRoutePath(1);
+const targetSegment1 = getRoutePath(2);
+const targetSegment2 = getRoutePath(3);
+const supply_num = ref(1)
+const buy_num = ref(1)
+const supply_buy = ref(1)
+
+//1.1 获得当前的路由id
+let routeId;
+let routeType;
+let navTitle = ref('')//二级导航标题
+let navCid = ref('')//二级导航id
+//通过导航路径反向查询导航id
+const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
+    method: 'GET',
+    query: {
+        'pinyin': targetSegment2,
+    },
+});
+console.log("getRouteId", getRouteId);
+
+if (getRouteId.code == 200) {
+    navTitle.value = getRouteId.data.alias
+    navCid.value = getRouteId.data.category_id
+} else {
+    console.log("获得路由id出错!", getRouteId.message)
+}
+//1.2 获取二级栏目
+let parent_name = ref('');//父级名称
+let parent_id = ref('');//父级id
+let parent_pinyin = ref('');//父级拼音
+const getRoutePName = await requestDataPromise('/web/getWebsiteRoute', {
+    method: 'GET',
+    query: {
+        'pinyin': targetSegment1,
+    },
+});
+console.log("getRoutePName", getRoutePName);
+
+if (getRoutePName.code == 200) {
+    routeId = getRoutePName.data.category_id
+    parent_id.value = getRoutePName.data.category_id
+    parent_name.value = getRoutePName.data.alias
+    routeType = getRoutePName.data.type
+} else {
+    console.log("获得路由id出错!", getRoutePName.message)
+}
+//1.3 获取一级栏目
+let p_parent_name = ref('');//父级名称
+let p_parent_id = ref('');//父级id
+let p_parent_pinyin = ref('');//父级拼音
+const getRoutePName_parent = await requestDataPromise('/web/getWebsiteRoute', {
+    method: 'GET',
+    query: {
+        'pinyin': targetSegment,
+    },
+});
+console.log("getRoutePName_parent", getRoutePName_parent);
+
+if (getRoutePName_parent.code == 200) {
+    p_parent_id.value = getRoutePName_parent.data.category_id
+    p_parent_name.value = getRoutePName_parent.data.alias
+    // p_parent_pinyin.value = getRoutePName_parent.data.aLIas_pinyin
+} else {
+    console.log("获得路由id出错!", getRoutePName_parent.message)
+}
+//1.4 获取某个栏目
+const getParentId = await requestDataPromise('/web/getOneWebsiteCategory', {
+    method: 'GET',
+    query: {
+        'catid': parent_id.value,
+    },
+});
+console.log("getParentId", getParentId);
+
+if (getParentId.code == 200) {
+    parent_pinyin.value = getParentId.data.aLIas_pinyin
+} else {
+    console.log("获得路由id出错!", getParentId.message)
+}
+
+//1.5是否展示有效期
+const getValidityTime = (shopData) => {
+    if (shopData.islong == 1) {
+        return "无期限"
+    } else {
+        if (shopData.validity) {
+            return shopData.validity.split(' ')[0];
+        }
+    }
+}
+//1.获得路由id end ---------------------------------------->
+
+//2.获得模块数据 start ---------------------------------------->
+const pageData1 = ref([])//点击排行
+const pageData2 = ref([])//最新商机
+const pageData3 = ref([])//供应商品
+const pageData4 = ref([])//求购商品
+
+//创建请求数据json
+let getJson = [
+    { "level": "3,0,8" },//点击排行
+    { "level": "4,0,8" },//最新商机
+    { "level": "5,0,6" },//供应商品
+    { "level": "6,0,6" },//求购商品
+]
+let jsonString = JSON.stringify(getJson)
+
+//获取所有数据
+async function getPageAllData() {
+    const mkdata = await requestDataPromise('/web/getWebsiteshop', {
+        method: 'GET',
+        query: {
+            'id': jsonString,
+            'catid': 713,
+        },
+    });
+    if (mkdata.code == 200) {
+        //点击排行
+        pageData1.value = mkdata.data.goods[0];
+        //最新商机
+        pageData2.value = mkdata.data.goods[1];
+        //供应商品
+        pageData3.value = mkdata.data.goods[2];
+        //求购商品
+        pageData4.value = mkdata.data.goods[3];
+    } else {
+        ElMessage.error(mkdata.message)
+    }
+}
+getPageAllData();
+
+//2.获得模块数据 end ---------------------------------------->
+
+
+//4.新闻详情 start ---------------------------------------->
+//4.1 资讯详情
+const newsDetail = ref({})
+const routeNewsTtitle = ref("");
+//4.2 发布日期
+const time = ref("");
+//4.3 路径
+const routLevelTitle = ref("");
+const routLevelId = ref("");
+//4.4 是否展示投票
+const articleChoice = ref(false);
+//4.5 获取详情
+let shopImg = ref('')
+let shopType = ref(1)
+let seoTitle;
+let seoDescription;
+let seoKeywords;
+async function getPageData() {
+    const mkdata = await requestDataPromise('/web/getWebsiteshopInfo', {
+        method: 'GET',
+        query: {
+            'id': articleId
+        },
+    });
+    if (mkdata.code == 200) {
+        //获取内容
+        newsDetail.value = mkdata.data;
+        shopType.value = mkdata.data.type_id
+        //获取路径
+        routLevelTitle.value = newsDetail.value.cat_name;
+        routLevelId.value = newsDetail.value.category_id;
+        shopImg.value = mkdata.data.imgurl[0]
+        //获取发布时间
+        if (newsDetail.value.updated_at) {
+            time.value = newsDetail.value.updated_at.split(' ')[0];
+        }
+        //修正标题长度
+        if (newsDetail.value.name.length >= 20) {
+            routeNewsTtitle.value = newsDetail.value.name.substr(0, 20) + "...";
+        } else {
+            routeNewsTtitle.value = newsDetail.value.name
+        }
+        seoTitle = newsDetail.value.name;
+        seoDescription = newsDetail.value.description;
+        seoKeywords = newsDetail.value.keyword;
+    } else {
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+        console.log("错误位置:获取详情内容")
+        console.log("后端错误反馈:", mkdata.message)
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    }
+}
+getPageData();
+//4.新闻详情 end ---------------------------------------->
+
+//5.设置seo信息 start---------------------------------------->
+const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
+    method: 'GET',
+    query: {
+        'catid': parent_id.value
+    },
+});
+if (setData.code == 200) {
+    let seoSuffix = setData.data.suffix;
+    let seoName = setData.data.website_name;
+    useSeoMeta({
+        title: seoTitle + "_" + seoName + "_" + seoSuffix,
+        meta: [
+            { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
+            { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 }
+        ]
+    });
+} else {
+    console.log("设置频道页SEO出错!", setData.message)
+}
+//5.设置seo信息 end---------------------------------------->
+
+
+//6.广告 start ---------------------------------------->
+let adImg1 = ref([]);
+let adImg2 = ref([]);
+onMounted(async () => {
+    const { $webUrl, $CwebUrl } = useNuxtApp();
+    //广告1
+    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snscw_detail_0001`
+    const responseAd1 = await fetch(url, {
+        headers: {
+            'Content-Type': 'application/json',
+            'Userurl': $CwebUrl,
+            'Origin': $CwebUrl
+        }
+    });
+    const resultAd1 = await responseAd1.json();
+    adImg1.value = resultAd1.data[0];
+    //广告2
+    let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snscw_detail_0002`
+    const responseAd2 = await fetch(url2, {
+        headers: {
+            'Content-Type': 'application/json',
+            'Userurl': $CwebUrl,
+            'Origin': $CwebUrl
+        }
+    });
+    const resultAd2 = await responseAd2.json();
+    adImg2.value = resultAd2.data[0];
+})
+//6.广告 end ---------------------------------------->
+
+
+//8.页面图片放大 start---------------------------------------->
+const previewVisible = ref(false)
+const selectedImage = ref(' ')
+
+const openPreview = (event) => {
+    if (event.target.tagName === 'IMG') {
+        selectedImage.value = event.target.src;
+        previewVisible.value = true;
+    }
+}
+const closePreview = () => {
+    previewVisible.value = false;
+}
+//8.页面图片放大 end---------------------------------------->
+</script>
+
+
+<style lang="less" scoped>
+@import url('@/assets/css/shop/goodsDetail.less');
+@import url('@/assets/css/shop/goodsDetail1.less');
+</style>

+ 351 - 0
pages/nongcunshichang/[dir]/list-[id].vue

@@ -0,0 +1,351 @@
+<template>
+    <!-- 农村市场资讯列表页 -->
+    <HomePageHead></HomePageHead>
+    <HomePageNavigation></HomePageNavigation>
+    <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
+    <!-- 商品列表 goods-->
+    <main class="index_main" v-if="routeType == 2">
+        <section class="index_1 clearfix">
+            <div class="shop_head_1 clearfix">
+                <div class="shop_head_1_name">{{ parent_name }}</div>
+            </div>
+            <div class="categ_color_box clearfix">
+                <div class="categ_color_name clearfix">直达:</div>
+                <div class="categ_color_in clearfix">
+                    <NuxtLink class="categ_color_a" :href="`/${item.aLIas_pinyin}/list-1.html`" :title="item.title"
+                        v-for="(item, index) in goodsData" :key="index"
+                        :class="{ categ_color_a_only: navCid == item.cid }">
+                        {{ item.alias }}
+                    </NuxtLink>
+                </div>
+            </div>
+        </section>
+        <!-- 三农市场网-商城-商品列表 1-->
+        <section class="">
+            <div class="breadcrumb">
+                <div class="inner">
+                    <span class="location">当前位置 :</span>
+                    <el-breadcrumb :separator-icon="ArrowRight">
+                        <el-breadcrumb-item>
+                            <NuxtLink to="/">首页</NuxtLink>
+                        </el-breadcrumb-item>
+                        <el-breadcrumb-item v-if="parent_name != ''">
+                            <NuxtLink :to="`/${targetSegment}/index.html`"> {{ parent_name }}</NuxtLink>
+                        </el-breadcrumb-item>
+                        <el-breadcrumb-item>{{ navTitle }}</el-breadcrumb-item>
+                    </el-breadcrumb>
+                </div>
+            </div>
+            <div class="categ_table clearfix">
+                <div class="categ_table_head_box">
+                    <div class="categ_table_td_1">产品图片</div>
+                    <div class="categ_table_td_2">供求信息/公司</div>
+                    <div class="categ_table_td_3">发布时间</div>
+                    <div class="categ_table_td_4">地区</div>
+                </div>
+                <div class="categ_table_li" v-for="(item, index) in goodsList" :key="index">
+                    <a class="categ_table_li_a" :href="`/${item.pinyin}/${item.id}.html`" title="">
+                        <div class="categ_table_td_1">
+                            <img class="categ_table_td_1_img" :src="item.imgurl" title="" alt="">
+                        </div>
+                        <div class="categ_table_td_2 ">
+                            <div class="categ_table_td_2_in">
+                                <div class="categ_table_td_2_dot1 dot1">
+                                    {{ item.name }}
+                                </div>
+                                <div class="categ_table_td_2_dot2 dot2">
+                                    {{ item.description }}
+                                </div>
+                            </div>
+                        </div>
+                        <div class="categ_table_td_3">{{ getTime(item.updated_at, 'year', 1) }}</div>
+                        <div class="categ_table_td_4 dot1">{{ item.city_name }}</div>
+                    </a>
+                </div>
+                <div class="empty" v-if="goodsList == false">
+                    <img src="@/public/topic/empty.png" alt="" class="empty_img">
+                    <span class="empty_text">当前暂无数据</span>
+                </div>
+            </div>
+            <div class="pagination1" v-if="goodstotal > 0">
+                <el-pagination background layout="prev, pager, next" :total="goodstotal" :page-size="pageSize_goods"
+                    prev-text="上一页" next-text="下一页" />
+            </div>
+        </section>
+        <!-- 三农市场网-商城-商品列表 2-->
+    </main>
+    <HomeAdvertising :imgurl="adImg2"></HomeAdvertising>
+    <HomeFoot></HomeFoot>
+</template>
+
+<script setup>
+//0.加载页面依赖 start ---------------------------------------->
+import { ref, onMounted } from 'vue';
+import { ElMessage, ElBreadcrumb, ElBreadcrumbItem, ElPagination } from 'element-plus';
+import { ArrowRight } from '@element-plus/icons-vue'
+import { NuxtLink } from '#components';
+//0.加载页面依赖 end ---------------------------------------->
+
+//1.获得路由id start ---------------------------------------->
+const targetSegment = getRoutePath(1);
+const targetSegment1 = getRoutePath(2);
+//1.1 获得当前的路由id
+let routeId;
+let routeType;
+let navTitle = ref('')//二级导航标题
+let navCid = ref('')//二级导航id
+//通过导航路径反向查询导航id
+const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
+    method: 'GET',
+    query: {
+        'pinyin': targetSegment1,
+    },
+});
+console.log("getRouteId", getRouteId);
+
+if (getRouteId.code == 200) {
+    navTitle.value = getRouteId.data.alias
+    navCid.value = getRouteId.data.category_id
+    routeType = getRouteId.data.type
+} else {
+    console.log("获得路由id出错!", getRouteId.message)
+}
+//1.2 获取一级栏目
+let parent_name = ref('');//父级名称
+let parent_id = ref('');//父级id
+let parent_pinyin = ref('');//父级拼音
+const getRoutePName = await requestDataPromise('/web/getWebsiteRoute', {
+    method: 'GET',
+    query: {
+        'pinyin': targetSegment,
+    },
+});
+console.log("getRoutePName", getRoutePName);
+
+if (getRoutePName.code == 200) {
+    routeId = getRoutePName.data.category_id
+    parent_id.value = getRoutePName.data.category_id
+    parent_name.value = getRoutePName.data.alias
+} else {
+    console.log("获得路由id出错!", getRoutePName.message)
+}
+//1.4 获取某个栏目
+const getParentId = await requestDataPromise('/web/getOneWebsiteCategory', {
+    method: 'GET',
+    query: {
+        'catid': parent_id.value,
+    },
+});
+console.log("getParentId", getParentId);
+
+if (getParentId.code == 200) {
+    parent_pinyin.value = getParentId.data.aLIas_pinyin
+} else {
+    console.log("获得路由id出错!", getParentId.message)
+}
+//1.获得路由id end ---------------------------------------->
+
+//2.选项卡 start ---------------------------------------->
+let showTabs = ref(1)
+let qhtabs = function (number) {
+    console.log(number)
+    showTabs.value = number
+}
+//2.选项卡 end ---------------------------------------->
+
+//3.广告 start ---------------------------------------->
+let adImg1 = ref({})
+let adImg2 = ref({})
+onMounted(async () => {
+    //从客户端获取行政职能部门 加快打开速度
+    const { $webUrl, $CwebUrl } = useNuxtApp();
+    //广告1
+    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snscw_list_0001`
+    const responseAd1 = await fetch(url, {
+        headers: {
+            'Content-Type': 'application/json',
+            'Userurl': $CwebUrl,
+            'Origin': $CwebUrl
+        }
+    });
+    const resultAd1 = await responseAd1.json();
+    adImg1.value = resultAd1.data[0];
+
+    //广告2
+    let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snscw_list_0002`
+    const responseAd2 = await fetch(url2, {
+        headers: {
+            'Content-Type': 'application/json',
+            'Userurl': $CwebUrl,
+            'Origin': $CwebUrl
+        }
+    });
+    const resultAd2 = await responseAd2.json();
+    adImg2.value = resultAd2.data[0];
+})
+//3.广告 end ---------------------------------------->
+
+//4.页面数据 start ---------------------------------------->
+const pageData = ref([
+    //示例:
+    // {
+    //     id: 1, 
+    //     title: "", //该导航的标题
+    //     data: [], //数据1
+    //     data1: [], //数据2
+    //     data2: [], //数据3
+    //     data3: [], //数据4
+    //     data4: [], //数据5
+    //     category_id1: "",  //子导航id1
+    //     category_id2: "", 
+    //     category_id3: "",
+    //     category_id4: "",
+    //     title1: "", //子导航标题1
+    //     title2: "",
+    //     title3: "",
+    //     title4: "",
+    //     cid: "" //该导航的id
+    // },
+])
+const goodsData = ref([])
+
+//4.1 获取所有导航
+try {
+    const navigateData = await requestDataPromise('/web/getWebsiteModelCategory', {
+        method: 'GET',
+        query: {
+            'placeid': 1,
+            'pid': parent_id.value,
+            'num': 24,
+            'type': 1
+        },
+    });
+    // console.log('获取二级导航1111111', navigateData);
+
+    if (navigateData.code == 200) {
+        // 遍历可用的导航池放到页面中
+        for (let index in navigateData.data) {
+            let data = {
+                title: navigateData.data[index].name,
+                cid: navigateData.data[index].category_id,
+                children_count: navigateData.data[index].children_count,
+                alias: navigateData.data[index].alias,
+                aLIas_pinyin: targetSegment + "/" + navigateData.data[index].aLIas_pinyin,
+                type: navigateData.data[index].type,
+                // data: [],
+                // data1: [],
+                // data2: [],
+                // data3: [],
+                // data4: [],
+                // category_id1: "",
+                // category_id2: "",
+                // category_id3: "",
+                // category_id4: "",
+                // title1: "",
+                // title2: "",
+                // title3: "",
+                // title4: ""
+            };
+            if (navigateData.data[index].is_url == 1) {
+                // 处理 URL 的逻辑
+            } else {
+                if (navigateData.data[index].type == 2) {
+                    goodsData.value.push(data);
+                }
+                //每个页面最多8个模块
+                pageData.value.push(data);
+            }
+        }
+        // console.log('获取三级导航pageData', pageData.value);
+        // console.log('获取三级导航goods', goodsData.value);
+
+    } else {
+        console.log("错误:渲染8个模块环节出错,请检查是否存在没有数据的模块!")
+    }
+} catch (error) {
+    console.log("错误:导航池渲染执行接口出错!请检查频道页渲染的模块数据是否完整!")
+}
+
+
+// 获取商品数据列表 start--------------------------------------->
+const goodsList = ref()
+const page_goods = ref(1)
+const pageSize_goods = ref(20)
+const goodstotal = ref()
+const getGoodsList = await requestDataPromise('/web/getWebsiteshopList', {
+    method: 'GET',
+    query: {
+        'catid': navCid.value,
+        'page': page_goods.value,
+        'pageSize': pageSize_goods.value,
+        'ismix': 1
+    },
+});
+console.log("获取数据列表goods", getGoodsList);
+
+if (getGoodsList.code == 200) {
+    goodsList.value = getGoodsList.data.goods
+    goodstotal.value = getGoodsList.data.count
+}
+// 获取商品数据 end----------------------------------------->
+
+//4.页面数据 end ---------------------------------------->
+
+//5.设置seo信息 start---------------------------------------->
+const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
+    method: 'GET',
+    query: {
+        'catid': navCid.value
+    },
+});
+
+if (setData.code == 200) {
+    let seoTitle = setData.data.seo_title;
+    let seoDescription = setData.data.seo_description;
+    let seoKeywords = setData.data.seo_keywords;
+    let seoSuffix = setData.data.suffix;
+    let seoName = setData.data.website_name;
+
+    useSeoMeta({
+        title: seoTitle + "_" + seoName + "_" + seoSuffix,
+        meta: [
+            { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
+            { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 }
+        ]
+    });
+} else {
+    console.log("设置频道页SEO出错!", setData.message)
+}
+//5.设置seo信息 end---------------------------------------->
+</script>
+<style lang="less" scoped>
+@import url("@/assets/css/shop/newsList.less");
+@import url("@/assets/css/shop/goodsList.less");
+
+.empty {
+    width: 100%;
+    height: 300px;
+    line-height: 300px;
+    text-align: center;
+}
+
+.empty_img {
+    vertical-align: -30px;
+    margin-right: 20px;
+}
+
+.empty_text {
+    font-size: 26px;
+    color: #999;
+}
+
+.pagination {
+    height: 100px;
+    margin-top: 20px;
+}
+
+.pagination1 {
+    height: 100px;
+    margin-top: 20px;
+}
+</style>

+ 392 - 0
pages/nongcunshichang/index.html.vue

@@ -0,0 +1,392 @@
+<template>
+    <HomePageHead></HomePageHead>
+    <HomePageNavigation></HomePageNavigation>
+    <!-- 三农市场网-商城 -->
+    <main class="index_main">
+        <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
+        <!-- 导航 -->
+        <section class="shop_nav">
+            <div class="shop_nav_1 clearfix">
+                <span class="shop_nav_1_a" title="">{{ categoryName }}</span>
+            </div>
+            <div class="shop_nav_2">
+                <a class="shop_nav_2_a" :href="getLinkPath(item)" title="" v-for="(item, index) in pageData"
+                    :key="index">{{ item.alias }}</a>
+            </div>
+        </section>
+        <!-- 地区选择 -->
+        <GoodsSubMenu></GoodsSubMenu>
+        <section class="shop_3 clearfix">
+            <!-- 农产批发1 -->
+            <div class="shop_3_in clearfix">
+                <div class="shop_head_2 clearfix">
+                    <div class="shop_head_2_name">{{ goodsData[0].alias }}</div>
+                    <a class="shop_head_2_more" :href="getLinkPath(goodsData[0])" :title="goodsData[0].title"></a>
+                </div>
+                <div class="shop_img_ul_1 clearfix">
+                    <div class="shop_img_li_1 clearfix" v-for="(item, index) in goodsData[0].data" :key="index">
+                        <a class="shop_img_li_1_a" :href="getLinkPathDetail(item)" :title="item.title">
+                            <div class="shop_img_li_1_img_box clearfix">
+                                <img class="shop_img_li_1_img" :src="item.imgurl" :title="item.title" alt="">
+                            </div>
+                            <div class="shop_img_li_1_right clearfix">
+                                <h4 class="shop_img_li_1_h4 dot2">{{ item.name }}</h4>
+                                <div class="shop_img_li_1_tag">
+                                    {{ item.type_id == 1 ? '求购' : '供应' }}
+                                </div>
+                                <div class="shop_img_li_1_btn">查看详情</div>
+                            </div>
+                        </a>
+                    </div>
+                </div>
+            </div>
+            <!-- 农产批发2 -->
+            <!-- 集贸市场1 -->
+            <div class="shop_3_in clearfix">
+                <div class="shop_head_3 clearfix">
+                    <div class="shop_head_3_name">{{ goodsData[1].alias }}</div>
+                    <a class="shop_head_3_more" :href="getLinkPath(goodsData[1])" :title="goodsData[1].title"></a>
+                </div>
+                <div class="shop_ul_1 clearfix" v-if="goodsData.length > 1">
+                    <div class="shop_li_1 clearfix" v-for="(item, index) in goodsData[1].data" :key="index">
+                        <a class="shop_li_1_a" :href="getLinkPathDetail(item)" :title="item.title">
+                            <div class="shop_li_1_left">
+                                <h4 class="shop_li_1_h4 dot1">
+                                    {{ item.name }}
+                                </h4>
+                                <div class="shop_li_1_text dot1">
+                                    {{ item.description }}
+                                </div>
+                            </div>
+                            <div class="shop_li_1_btn">查看详情</div>
+                        </a>
+                    </div>
+                </div>
+            </div>
+            <!-- 集贸市场2 -->
+        </section>
+        <section class="shop_4 clearfix">
+            <!-- 名品之窗1 -->
+            <div class="shop_3_in clearfix" v-if="goodsData.length > 2">
+                <div class="shop_head_4 clearfix">
+                    <div class="shop_head_4_name">{{ goodsData[2].alias }}</div>
+                    <a class="shop_head_4_more" :href="getLinkPath(goodsData[2])" :title="goodsData[2].title"></a>
+                </div>
+                <div class="shop_img_ul_2 clearfix">
+                    <div class="shop_img_li_2 clearfix" v-for="(item, index) in goodsData[2].data" :key="index">
+                        <a class="shop_img_li_2_a" :href="getLinkPathDetail(item)" :title="item.title">
+                            <div class="shop_img_li_2_img_box clearfix">
+                                <img class="shop_img_li_2_img" :src="item.imgurl" title="" alt="">
+                            </div>
+                            <div class="shop_img_li_2_right clearfix">
+                                <h4 class="shop_img_li_2_h4 dot2">{{ item.name }}</h4>
+                                <div class="shop_img_li_2_tag">
+                                    {{ item.type_id == 1 ? '求购' : '供应' }}
+                                </div>
+                                <div class="shop_img_li_2_btn">查看详情</div>
+                            </div>
+                        </a>
+                    </div>
+                </div>
+            </div>
+            <!-- 名品之窗2 -->
+            <!-- 供求信息1 -->
+            <div class="shop_3_in clearfix" v-if="goodsData.length > 3">
+                <div class="shop_head_5 clearfix">
+                    <div class="shop_head_5_name">{{ goodsData[3].alias }}</div>
+                    <a class="shop_head_5_more" :href="getLinkPath(goodsData[3])" :title="goodsData[3].title"></a>
+                </div>
+                <div class="shop_img_ul_3 clearfix">
+                    <div class="shop_img_li_3 clearfix" v-for="(item, index) in goodsData[3].data" :key="index">
+                        <a class="shop_img_li_3_a" :href="getLinkPathDetail(item)" :title="item.title">
+                            <div class="shop_img_li_3_img_box clearfix">
+                                <img class="shop_img_li_3_img" :src="item.imgurl" :title="item.title" alt="">
+                            </div>
+                            <div class="shop_img_li_3_right clearfix">
+                                <h4 class="shop_img_li_3_h4 dot2">{{ item.name }}</h4>
+                                <div class="shop_img_li_3_tag">
+                                    {{ item.type_id == 1 ? '求购' : '供应' }}
+                                </div>
+                                <div class="shop_img_li_3_btn">查看详情</div>
+                            </div>
+                        </a>
+                    </div>
+                </div>
+            </div>
+            <!-- 供求信息2 -->
+        </section>
+        <section class="shop_5 clearfix">
+            <!-- 名品之窗1 -->
+            <div class="shop_3_in clearfix">
+                <div class="shop_head_4 clearfix">
+                    <div class="shop_head_4_name">{{ goodsData[4].alias }}</div>
+                    <a class="shop_head_4_more" :href="getLinkPath(goodsData[4])" :title="goodsData[4].title"></a>
+                </div>
+                <div class="shop_img_ul_2 clearfix">
+                    <div class="shop_img_li_2 clearfix" v-for="(item, index) in goodsData[4].data" :key="index">
+                        <a class="shop_img_li_2_a" :href="getLinkPathDetail(item)" :title="item.title">
+                            <div class="shop_img_li_2_img_box clearfix">
+                                <img class="shop_img_li_2_img" :src="item.imgurl" :title="item.title" alt="">
+                            </div>
+                            <div class="shop_img_li_2_right clearfix">
+                                <h4 class="shop_img_li_2_h4 dot2">{{ item.name }}</h4>
+                                <div class="shop_img_li_2_tag">
+                                    {{ item.type_id == 1 ? '求购' : '供应' }}
+                                </div>
+                                <div class="shop_img_li_2_btn">查看详情</div>
+                            </div>
+                        </a>
+                    </div>
+                </div>
+            </div>
+            <!-- 名品之窗2 -->
+            <!-- 供求信息1 -->
+            <div class="shop_3_in clearfix">
+                <div class="shop_head_5 clearfix">
+                    <div class="shop_head_5_name">{{ goodsData[5].alias }}</div>
+                    <a class="shop_head_5_more" :href="getLinkPath(goodsData[5])" :title="goodsData[5].title"></a>
+                </div>
+                <div class="shop_img_ul_3 clearfix">
+                    <div class="shop_img_li_3 clearfix" v-for="(item, index) in goodsData[5].data" :key="index">
+                        <a class="shop_img_li_3_a" :href="getLinkPathDetail(item)" :title="item.title">
+                            <div class="shop_img_li_3_img_box clearfix">
+                                <img class="shop_img_li_3_img" :src="item.imgurl" :title="item.title" alt="">
+                            </div>
+                            <div class="shop_img_li_3_right clearfix">
+                                <h4 class="shop_img_li_3_h4 dot2">{{ item.name }}</h4>
+                                <div class="shop_img_li_3_tag">
+                                    {{ item.type_id == 1 ? '求购' : '供应' }}
+                                </div>
+                                <div class="shop_img_li_3_btn">查看详情</div>
+                            </div>
+                        </a>
+                    </div>
+                </div>
+            </div>
+            <!-- 供求信息2 -->
+        </section>
+        <HomeAdvertising :imgurl="adImg2"></HomeAdvertising>
+    </main>
+    <HomeFoot1></HomeFoot1>
+</template>
+<script setup>
+import { ref } from 'vue'
+import { ElRadio, ElRadioGroup, ElMessage } from 'element-plus'
+//1.获得路由id start ---------------------------------------->
+const targetSegment = getRoutePath(1);
+//1.1 获得当前的路由id
+let routeId;
+let categoryName;
+//通过导航路径反向查询导航id
+const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
+    method: 'GET',
+    query: {
+        'pinyin': targetSegment,
+    },
+});
+if (getRouteId.code == 200) {
+    routeId = getRouteId.data.category_id
+    categoryName = getRouteId.data.alias
+} else {
+    console.log("获得路由id出错!", getRouteId.message)
+}
+//1.获得路由id end ---------------------------------------->
+
+//3.广告 start ---------------------------------------->
+let adImg1 = ref({})
+let adImg2 = ref({})
+onMounted(async () => {
+    //从客户端获取行政职能部门 加快打开速度
+    const { $webUrl, $CwebUrl } = useNuxtApp();
+    //广告1
+    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snscw_category_0001`
+    const responseAd1 = await fetch(url, {
+        headers: {
+            'Content-Type': 'application/json',
+            'Userurl': $CwebUrl,
+            'Origin': $CwebUrl
+        }
+    });
+    const resultAd1 = await responseAd1.json();
+    adImg1.value = resultAd1.data[0];
+
+    //广告2
+    let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snscw_category_0002`
+    const responseAd2 = await fetch(url2, {
+        headers: {
+            'Content-Type': 'application/json',
+            'Userurl': $CwebUrl,
+            'Origin': $CwebUrl
+        }
+    });
+    const resultAd2 = await responseAd2.json();
+    adImg2.value = resultAd2.data[0];
+
+})
+//3.广告 end ---------------------------------------->
+
+//4.页面数据 start ---------------------------------------->
+const pageData = ref([
+    //示例:
+    // {
+    //     id: 1, 
+    //     title: "", //该导航的标题
+    //     data: [], //数据1
+    //     data1: [], //数据2
+    //     data2: [], //数据3
+    //     data3: [], //数据4
+    //     data4: [], //数据5
+    //     category_id1: "",  //子导航id1
+    //     category_id2: "", 
+    //     category_id3: "",
+    //     category_id4: "",
+    //     title1: "", //子导航标题1
+    //     title2: "",
+    //     title3: "",
+    //     title4: "",
+    //     cid: "" //该导航的id
+    // },
+])
+const goodsData = ref([])
+const newsData = ref([])
+
+
+//4.1 获取所有导航
+try {
+    const navigateData = await requestDataPromise('/web/getWebsiteModelCategory', {
+        method: 'GET',
+        query: {
+            'placeid': 1,
+            'pid': routeId,
+            'num': 20,
+            'type': 1
+        },
+    });
+    console.log("导航池11111", navigateData);
+
+    if (navigateData.code == 200) {
+        // 遍历可用的导航池放到页面中
+        for (let index in navigateData.data) {
+            let data = {
+                title: navigateData.data[index].name,
+                cid: navigateData.data[index].category_id,
+                children_count: navigateData.data[index].children_count,
+                alias: navigateData.data[index].alias,
+                aLIas_pinyin: targetSegment + "/" + navigateData.data[index].aLIas_pinyin,
+                children: navigateData.data[index].children,
+                type: navigateData.data[index].type,
+                data: [],
+                data1: [],
+                data2: [],
+                data3: [],
+                data4: [],
+                category_id1: "",
+                category_id2: "",
+                category_id3: "",
+                category_id4: "",
+                title1: "",
+                title2: "",
+                title3: "",
+                title4: ""
+            };
+            if (navigateData.data[index].is_url == 1) {
+                // 处理 URL 的逻辑
+            } else {
+                if (navigateData.data[index].type == 2) {
+                    goodsData.value.push(data);
+                } else if (navigateData.data[index].type == 1) {
+                    newsData.value.push(data);
+                }
+                //每个页面最多8个模块
+                pageData.value.push(data);
+            }
+        }
+        console.log("导航池111111pageData", pageData.value);
+        console.log("导航池111111goodsData", goodsData.value);
+        console.log("导航池111111newsData", newsData.value);
+
+        //导航池加载完毕,开始申请模块数据
+        let goodsJson = [
+            // { "catid": goodsData.value[0].cid + ",0,12" },//模块1
+            // { "catid": goodsData.value[1].cid + ",0,4" },//模块2
+            // { "catid": goodsData.value[2].cid + ",0,4" },//模块3
+        ]
+        for (let i = 0; i < goodsData.value.length; i++) {
+            if (i == 0) {
+                goodsJson.push({ "catid": goodsData.value[0].cid + ",0,3" });
+            } else if (i == 1) {
+                goodsJson.push({ "catid": goodsData.value[1].cid + ",0,6" });
+            } else if (i == 2) {
+                goodsJson.push({ "catid": goodsData.value[2].cid + ",0,3" });
+            } else if (i == 3) {
+                goodsJson.push({ "catid": goodsData.value[3].cid + ",0,3" });
+            } else if (i == 4) {
+                goodsJson.push({ "catid": goodsData.value[4].cid + ",0,3" });
+            } else if (i == 5) {
+                goodsJson.push({ "catid": goodsData.value[5].cid + ",0,3" });
+            }
+        }
+        let goodsJsonString = JSON.stringify(goodsJson);
+        getPageGoodsAllData(goodsJsonString);
+
+    } else {
+        console.log("错误:渲染8个模块环节出错,请检查是否存在没有数据的模块!")
+    }
+} catch (error) {
+    console.log("错误:导航池渲染执行接口出错!请检查频道页渲染的模块数据是否完整!")
+}
+// 获取商品数据 start--------------------------------------->
+async function getPageGoodsAllData(goodsJsonString) {
+    const mkdata = await requestDataPromise('/web/getWebsiteCatidshop', {
+        method: 'GET',
+        query: {
+            'catid': goodsJsonString
+        },
+    });
+    console.log("获取商品数据", mkdata);
+
+    if (mkdata.code == 200) {
+        goodsData.value[0].data = mkdata.data[0];//模块1
+        goodsData.value[1].data = mkdata.data[1];//模块2
+        goodsData.value[2].data = mkdata.data[2];//模块3
+        goodsData.value[3].data = mkdata.data[3];//模块4
+        goodsData.value[4].data = mkdata.data[4];//模块5
+        goodsData.value[5].data = mkdata.data[5];//模块6
+    }
+}
+// 获取商品数据 end----------------------------------------->
+
+//4.页面数据 end ---------------------------------------->
+
+//5.设置seo信息 start---------------------------------------->
+const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
+    method: 'GET',
+    query: {
+        'catid': routeId
+    },
+});
+
+if (setData.code == 200) {
+    let seoTitle = setData.data.seo_title;
+    let seoDescription = setData.data.seo_description;
+    let seoKeywords = setData.data.seo_keywords;
+    let seoSuffix = setData.data.suffix;
+    let seoName = setData.data.website_name;
+
+    useSeoMeta({
+        title: seoTitle + "_" + seoSuffix,
+        meta: [
+            { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
+            { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 }
+        ]
+    });
+} else {
+    console.log("设置频道页SEO出错!", setData.message)
+}
+//5.设置seo信息 end---------------------------------------->
+
+
+</script>
+<style lang="less" scoped>
+@import url("@/assets/css/shop/shopClass1.less");
+</style>

+ 2 - 2
plugins/category.ts

@@ -44,7 +44,7 @@ const navPre: number[] = [
 
 export default defineNuxtPlugin((nuxtApp) => {
     //master 环境
-    nuxtApp.provide('pageNav', navMaster)
+    // nuxtApp.provide('pageNav', navMaster)
     //pre 环境
-    // nuxtApp.provide('pageNav', navPre)
+    nuxtApp.provide('pageNav', navPre)
 })

+ 10 - 10
plugins/globals.ts

@@ -1,15 +1,15 @@
 export default defineNuxtPlugin((nuxtApp) => {
   // 三农市场网pre环境
-  // nuxtApp.provide('webUrl', 'http://apipre1.bjzxtw.org.cn:29501')
-  // nuxtApp.provide('CwebUrl', 'http://pre.snscw.org.cn')
-  // nuxtApp.provide('BwebUrl', 'http://adminpre.bjzxtw.org.cn')
-  // nuxtApp.provide('LoginWebUrl', 'http://adminpre.bjzxtw.org.cn/adminapi')
-  // nuxtApp.provide('userUrl', 'http://localhost:3000')
+  nuxtApp.provide('webUrl', 'http://apipre1.bjzxtw.org.cn:29501')
+  nuxtApp.provide('CwebUrl', 'http://pre.snscw.org.cn')
+  nuxtApp.provide('BwebUrl', 'http://adminpre.bjzxtw.org.cn')
+  nuxtApp.provide('LoginWebUrl', 'http://adminpre.bjzxtw.org.cn/adminapi')
+  nuxtApp.provide('userUrl', 'http://localhost:3000')
 
   //正式环境
-  nuxtApp.provide('webUrl', 'https://flzxw.bjzxtw.org.cn')
-  nuxtApp.provide('CwebUrl', 'http://nw.snscw.org.cn')
-  nuxtApp.provide('BwebUrl', 'https://admin.bjzxtw.org.cn')
-  nuxtApp.provide('LoginWebUrl', 'http://admin.bjzxtw.org.cn/adminapi')
-  nuxtApp.provide('userUrl', 'http://localhost:3000')
+  // nuxtApp.provide('webUrl', 'https://flzxw.bjzxtw.org.cn')
+  // nuxtApp.provide('CwebUrl', 'http://nw.snscw.org.cn')
+  // nuxtApp.provide('BwebUrl', 'https://admin.bjzxtw.org.cn')
+  // nuxtApp.provide('LoginWebUrl', 'http://admin.bjzxtw.org.cn/adminapi')
+  // nuxtApp.provide('userUrl', 'http://localhost:3000')
 })

+ 4 - 4
plugins/request.ts

@@ -6,11 +6,11 @@ export default defineNuxtPlugin(() => {
 
     let Url = {
         //正式环境
-        webUrl: 'https://flzxw.bjzxtw.org.cn', //接口地址
-        CwebUrl: 'nw.snscw.org.cn' //页面地址
+        // webUrl: 'https://flzxw.bjzxtw.org.cn', //接口地址
+        // CwebUrl: 'nw.snscw.org.cn' //页面地址
         //pre环境
-        // webUrl: 'http://apipre1.bjzxtw.org.cn:29501', //pre接口地址
-        // CwebUrl: 'pre.snscw.org.cn' //页面地址
+        webUrl: 'http://apipre1.bjzxtw.org.cn:29501', //pre接口地址
+        CwebUrl: 'pre.snscw.org.cn' //页面地址
     }
 
     const service = axios.create({

BIN
public/shop/01.png


BIN
public/shop/02.png