Procházet zdrojové kódy

广告和商圈更换头部和底部

广告和商圈更换头部和底部
dangyunlong před 1 dnem
rodič
revize
c1919bb807

+ 73 - 53
assets/css/public/footer.less

@@ -3,11 +3,13 @@
     width: 1200px;
     margin: 0 auto;
 }
+
 .index_foot_name_box {
     margin: 40px auto 0px;
     text-align: center;
     font-size: 0px;
 }
+
 .index_foot_name {
     display: inline-block;
     height: 67px;
@@ -17,32 +19,46 @@
     font-weight: bold;
     overflow: hidden;
 }
+
 .index_foot_name:nth-of-type(even) {
     color: #333;
     font-size: 32px;
 }
+
 .foot_img_box {
     overflow: hidden;
     display: block;
     margin: 10px auto 0;
     width: 100%;
+//     display: flex;
+//     justify-content: space-between;
+//     flex-wrap: wrap;
 }
+
 .foot_img_box>* {
     float: left;
     width: 170px;
     height: 57px;
     overflow: hidden;
+//     box-sizing: border-box;
+//     border: solid 1px #d7edd4;
     margin: 0px 36px 20px 0px;
+
+
+
 }
+
 .foot_img_box>* * {
     display: block;
     width: 170px;
     height: 57px;
      
 }
+
 .foot_img_box>*:nth-of-type(6n) {
     margin-right: 0px;
 }
+
 .foot_frind_box {
     display: block;
     margin: 20px auto 20px;
@@ -50,6 +66,7 @@
     display: flex;
     width: 100%;
 }
+
 .foot_frind_box span {
     word-break: keep-all;
     white-space: nowrap;
@@ -58,10 +75,12 @@
     color: #333;
     font-weight: bold;
 }
+
 .foot_frind_box div {
     width: 100%;
     overflow: hidden;
 }
+
 .foot_frind_box div * {
     float: left;
     line-height: 22px;
@@ -71,12 +90,50 @@
     margin: 0 27px;
     margin-bottom: 20px;
 }
+
+.call_us_box {
+    display: block;
+    width: 100%;
+    margin: 0 auto;
+    overflow: hidden;
+    text-align: center;
+    font-size: 0px;
+    background: #dd7d18;
+
+    a {
+        color: #fff;
+    }
+}
+
+.inner {
+    width: 1200px;
+    margin: 0 auto;
+}
+
+.inner>* {
+    height: 12px;
+    line-height: 12px;
+    color: #fff;
+    font-size: 14px;
+    display: inline-block;
+    box-sizing: border-box;
+    padding: 0 19px;
+    font-weight: bold;
+    border-left: solid 1px #CB7113;
+    margin: 18px 0;
+}
+
+.inner>*:nth-of-type(1) {
+    border-left: 0px;
+}
+
 .foot_text_box {
     margin: 40px auto 0px;
     text-align: center;
     color: #333;
     font-size: 14px;
     line-height: 25px;
+//      background-color: red; 
     p {
         a {
             color: #333;
@@ -88,41 +145,54 @@
         }
     }
 }
+
 .foot_text_box :deep(a){color: #333;}
+// .foot_text_box a{}
+
 .top_content {
     padding: 0 170px;
 }
+
 .webSitecolor {
     color: #dd7d18;
 }
+
+
 .foot_text_box_green {
     color: #40663B;
 }
+
 .foot_text_box img {
     display: inline-block;
     height: 20px;
     vertical-align: middle;
 }
+
 .foot_logo_out {
     position: relative;
     margin: 0px auto;
     width: 100%;
     height: 0px;
 }
+
 .foot_logo_out * {
     width: 120px;
     display: block;
 }
+
 .foot_logo_out>* {
     position: absolute;
     top: -145px;
 }
+
 .foot_logo_out>*:nth-of-type(1) {
     left: 0px;
 }
+
 .foot_logo_out>*:nth-of-type(2) {
     right: 0px;
 }
+
 .foot_last_img_box {
     margin: 40px auto 10px;
     text-align: center;
@@ -131,6 +201,7 @@
     font-size: 0px;
     padding-bottom: 40px;
 }
+
 .foot_last_img_box>* {
     height: 50px;
     width: 120px;
@@ -138,61 +209,10 @@
     display: inline-block;
     overflow: hidden;
 }
+
 .foot_last_img_box>* * {
     display: block;
     height: 100%;
     width: 100%;
     overflow: hidden;
-}
-// template start ---------------------------------------->
-.foot_menu_box_style1 {
-    width: 100%;
-    height: 50px;
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    background: #1C5468;
-    div {
-        a {
-            color:#fff;
-            font-size: 14px;
-        }
-        width: 200px;
-        border-right: 1px solid #193D4A;
-        text-align: center;
-        &:last-child {
-            border-right: none;
-        }
-    }
-}
-.foot_menu_box_style2 {
-    width: 100%;
-    height: 50px;
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    background: #A91B33;
-    div {
-        a {
-            color:#fff;
-            font-size: 14px;
-        }
-        width: 200px;
-        border-right: 1px solid #930F25;
-        text-align: center;
-        &:last-child {
-            border-right: none;
-        }
-    }
-}
-// template end ---------------------------------------->
-
-
-
-
-
-
-
-
-
-
+}

+ 11 - 11
assets/css/public/head.less

@@ -53,7 +53,7 @@
 /* 页面头部 */
 header {
     width: 100%;
-    height: 200px;
+    height: 180px;
     font-size: 12px;
     font-family: PingFang SC-Regular;
     color: #666666;
@@ -62,8 +62,8 @@ header {
 
 .headerNav {
     width: 100%;
-    height: 30px;
-    line-height: 30px;
+    height: 33px;
+    line-height: 33px;
 }
 
 .headerNav .left>span {
@@ -106,7 +106,7 @@ header {
         display: flex;
         align-items: center;
         justify-content: center;
-        height: 30px;
+        height: 33px;
 
         img {
             margin-right: 5px;
@@ -149,13 +149,16 @@ header {
 
 /* // 头部logo */
 .headerLogo {
-    height: 170px;
+    height: 145px;
     position: relative;
-    box-sizing: border-box;
     //background: url("../../public/head/topBg.png") no-repeat center;
     .titlead {
+        position: absolute;
+        bottom: 14px;
+        right: 26px;
         width: 830px;
         height: 110px;
+        overflow: hidden;
         a {
             display: block;
             width: 830px;
@@ -169,15 +172,12 @@ header {
     }
     .inner {
         position: relative;
-        height: 170px;
-        display: flex;
-        align-items: center;
-        justify-content: space-between;
-        box-sizing: border-box;        
+        height: 145px;
     }
     .inner>img {
         width: 297px;
         height: 110px;
+        margin-top: 20px;
         cursor: pointer;
     }
 

+ 198 - 143
assets/css/public/nav.less

@@ -1,175 +1,230 @@
-/*导航风格1*/
-.menuStyle1 {
+// 导航部分
+.partOne {
     width: 100%;
-    height: 130px;
-    background: #1C5468;
-    margin-bottom: 30px;
-    .componentBorder {
-        border-left: 2px dashed #999;
-        border-right: 2px dashed #999;
-    }
-    .menuBoxBg {
+    height: 60px;
+    line-height: 60px;
+    background-color: #dd7d18;
+    font-size: 20px;
+    font-family: PingFang SC-Semibold;
+
+    .inner {
         width: 1200px;
-        height: 130px;
-        background: #1C5468;
+        height: 60px;
         margin: 0 auto;
-        display: flex;
-        align-items: center;
-        justify-content: center;
-        .menuBox {
-            box-sizing: border-box;
+        position: relative;
+
+        .home {
+            width: 120px;
+            height: 68px;
+            line-height: 68px;
+            font-family: Microsoft YaHei, Microsoft YaHei;
+            font-weight: bold;
+            font-size: 20px;
+            letter-spacing: 2px;
+            text-align: center;
+            color: #fff;
+            background-color: #d2600f;
+            position: absolute;
+            top: -8px;
+            left: 0;
+            z-index: 100;
+
+            em {
+                display: inline-block;
+                width: 0;
+                height: 0;
+                border-top: 4px solid transparent;
+                border-left: 8px solid transparent;
+                border-bottom: 4px solid #803804;
+                border-right: 8px solid #803804;
+                position: absolute;
+                top: 0px;
+                left: -16px;
+
+            }
+
+            a {
+                color: #fff;
+            }
+
+        }
+
+        .partOneTitle {
+            width: 1050px;
+            height: 60px;
+            position: absolute;
+            top: 0;
+            left: 150px;
             display: flex;
-            flex-wrap: wrap;
-            justify-content: flex-start;
-            width: 100%;
-            div {
-                a{
+            justify-content: space-between;
+
+            .titleList1 {
+                font-family: Microsoft YaHei, Microsoft YaHei;
+                font-weight: bold;
+                font-size: 16px;
+                color: #FFFFFF;
+
+                a {
                     color: #fff;
                 }
-                width: 12.5%;
-                cursor: pointer;
-                box-sizing: border-box;
-                font-size: 14px;
-                height: 22px;
-                line-height: 22px;
-                text-align: center;
-                overflow: hidden;
-                white-space: nowrap;
-                text-overflow: ellipsis;
-                text-align: center;
-                color: #fff;
-                background: #1C5468;
-                border-right: #002D41 1px solid;
-                border-left: #29799D 1px solid;
-                margin-bottom: 15px;
-                /* 当是第17个及以后的div时去掉margin-bottom */
-                &:nth-child(n+17) {
-                    margin-bottom: 0;
-                }
-                /* 每行的第一个(第1、9、17...个)去掉左边框 */
-                &:nth-child(8n+1) {
-                    border-left: none;
-                }
-                /* 每行的最后一个(第8、16、24...个)去掉右边框 */
-                &:nth-child(8n) {
-                    border-right: none;
-                }
-                /* 最后一行的最后一个(如果总数不是8的倍数)去掉右边框 */
-                &:last-child {
-                    border-right: none;
-                }
+            }
+
+            .titleList111 {
+                font-family: Microsoft YaHei, Microsoft YaHei;
+                font-weight: 400;
+                font-size: 16px;
+                color: #FFFFFF;
+
                 a {
                     color: #fff;
                 }
             }
-        }
-    }
-    .menuSectorInputBox {
-        display: flex;
-        align-items: center;
-        justify-content: space-between;
-        font-size: 14px;
-        width: 80%;
-        margin: 0 auto;
-        border-top: none;
-        height: 50px;
-        .menuSectorInputBoxItem {
-            padding: 0 10px;
-            input {
-                margin-right: 10px;
-            }
-            .el-select {
-                margin-right: 10px;
+
+            .titleList111:hover {
+                font-weight: 600;
             }
         }
     }
-    .componentMenuBorder {
-        border: 2px dashed #999;
-    }
+
+
+
 }
 
-/*导航风格2*/
-.menuStyle2 {
+.partTwo {
     width: 100%;
-    height: 130px;
-    background: #A91B33;
-    .componentBorder {
-        border-left: 2px dashed #999;
-        border-right: 2px dashed #999;
-    }
-    .menuBoxBg {
+    height: 133px;
+    box-shadow: 0px 7px 14px 0px rgba(0, 0, 0, 0.1);
+    // margin-bottom: 50px;
+
+    .inner {
         width: 1200px;
-        height: 130px;
-        background: #A91B33;
-        margin: 0 auto;
+        height: 133px;
+        line-height: 60px;
+        padding-top: 5px;
         display: flex;
-        align-items: center;
-        justify-content: center;
-        .menuBox {
-            box-sizing: border-box;
-            display: flex;
-            flex-wrap: wrap;
-            justify-content: flex-start;
-            width: 100%;
-            div {
-                a{
-                    color: #fff;
-                }
-                width: 12.5%;
-                cursor: pointer;
-                box-sizing: border-box;
-                font-size: 14px;
-                height: 22px;
-                line-height: 22px;
-                text-align: center;
-                overflow: hidden;
-                white-space: nowrap;
-                text-overflow: ellipsis;
+        justify-content: space-between;
+
+        .navleft {
+            width: 100px;
+            text-align: center;
+            font-family: Microsoft YaHei, Microsoft YaHei;
+            font-weight: bold;
+            font-size: 16px;
+            color: #333333;
+        }
+
+        .navlist {
+            width: 1000px;
+            height: 65px;
+            font-family: Microsoft YaHei, Microsoft YaHei;
+            font-weight: 400;
+            font-size: 16px;
+            color: #333333;
+            /*display: flex;
+            justify-content: space-between;
+            flex-wrap: wrap;*/
+
+            .navListItem {
+                float: left;
+                width: 97px;
                 text-align: center;
-                
-                background: #A91B33;
-                border-right: #88172A 1px solid;
-                border-left: #DE3350 1px solid;
-                margin-bottom: 15px;
-                /* 当是第17个及以后的div时去掉margin-bottom */
-                &:nth-child(n+17) {
-                    margin-bottom: 0;
-                }
-                /* 每行的第一个(第1、9、17...个)去掉左边框 */
-                &:nth-child(8n+1) {
-                    border-left: none;
+                font-family: Microsoft YaHei, Microsoft YaHei;
+                font-weight: 400;
+                font-size: 16px;
+                color: #333333;
+
+                a {
+                    color: #333333;
                 }
-                /* 每行的最后一个(第8、16、24...个)去掉右边框 */
-                &:nth-child(8n) {
-                    border-right: none;
+            }
+
+            .navListItem:hover {
+                a {
+                    color: #e39543;
                 }
-                /* 最后一行的最后一个(如果总数不是8的倍数)去掉右边框 */
-                &:last-child {
-                    border-right: none;
+            }
+        }
+
+        .navright {
+            margin-left: 20px;
+            width: 115px;
+            height: 75px;
+            font-size: 16px;
+            margin-top: 25px;
+            background: url(https://img.bjzxtw.org.cn/master/www/nmw/img/nav_bg.png) no-repeat;
+
+            .nav111 {
+                width: 98px;
+                height: 30px;
+                line-height: 44px;
+                text-align: center;
+                font-family: Microsoft YaHei, Microsoft YaHei;
+                font-weight: bold;
+                font-size: 16px;
+
+                a {
+                    font-weight: bold;
+                    background: linear-gradient(to bottom, #FFF6B1 0%, #F5BC38 100%);
+                    -webkit-background-clip: text;
+                    color: transparent;
                 }
+
             }
         }
     }
-    .menuSectorInputBox {
-        display: flex;
-        align-items: center;
-        justify-content: space-between;
-        font-size: 14px;
-        width: 80%;
+}
+
+//小导航
+.littleNav {
+    width: 100%;
+    height: 88px;
+    margin-top: 30px;
+
+    .inner {
+        width: 1200px;
+        height: 88px;
+        line-height: 88px;
         margin: 0 auto;
-        border-top: none;
-        height: 50px;
-        .menuSectorInputBoxItem {
+        display: flex;
+        border: 1px solid #D3D5D8;
+        background-color: #fafafa;
+
+        img {
+            width: 138px;
+            height: 38px;
+            margin-top: 22px;
+            margin-left: 25px;
+        }
+
+        .leftPart {
+            margin-left: 40px;
+            margin-right: 10px;
+        }
+
+        .leftPart,
+        .rightPart {
+            width: 470px;
+            height: 78px;
+            margin-top: 5px;
+            display: flex;
+            align-items: center;
+            justify-content: space-between;
             padding: 0 10px;
-            input {
-                margin-right: 10px;
+            border-bottom: 3px solid #A01C0E;
+
+            .navList {
+                a {
+                    font-family: Microsoft YaHei, Microsoft YaHei;
+                    font-weight: bold;
+                    font-size: 16px;
+                    color: #333333;
+                    line-height: 19px;
+                }
             }
-            .el-select {
-                margin-right: 10px;
+
+            .navList:hover a {
+                color: #A01C0E;
             }
         }
     }
-    .componentMenuBorder {
-        border: 2px dashed #999;
-    }
 }

+ 198 - 0
assets/css/public/template/footer.less

@@ -0,0 +1,198 @@
+.index_foot {
+    box-sizing: border-box;
+    width: 1200px;
+    margin: 0 auto;
+}
+.index_foot_name_box {
+    margin: 40px auto 0px;
+    text-align: center;
+    font-size: 0px;
+}
+.index_foot_name {
+    display: inline-block;
+    height: 67px;
+    line-height: 67px;
+    color: #f2f9f4;
+    font-size: 51px;
+    font-weight: bold;
+    overflow: hidden;
+}
+.index_foot_name:nth-of-type(even) {
+    color: #333;
+    font-size: 32px;
+}
+.foot_img_box {
+    overflow: hidden;
+    display: block;
+    margin: 10px auto 0;
+    width: 100%;
+}
+.foot_img_box>* {
+    float: left;
+    width: 170px;
+    height: 57px;
+    overflow: hidden;
+    margin: 0px 36px 20px 0px;
+}
+.foot_img_box>* * {
+    display: block;
+    width: 170px;
+    height: 57px;
+     
+}
+.foot_img_box>*:nth-of-type(6n) {
+    margin-right: 0px;
+}
+.foot_frind_box {
+    display: block;
+    margin: 20px auto 20px;
+    overflow: hidden;
+    display: flex;
+    width: 100%;
+}
+.foot_frind_box span {
+    word-break: keep-all;
+    white-space: nowrap;
+    line-height: 22px;
+    font-size: 16px;
+    color: #333;
+    font-weight: bold;
+}
+.foot_frind_box div {
+    width: 100%;
+    overflow: hidden;
+}
+.foot_frind_box div * {
+    float: left;
+    line-height: 22px;
+    height: 22px;
+    color: #333;
+    font-size: 16px;
+    margin: 0 27px;
+    margin-bottom: 20px;
+}
+.foot_text_box {
+    margin: 40px auto 0px;
+    text-align: center;
+    color: #333;
+    font-size: 14px;
+    line-height: 25px;
+    p {
+        a {
+            color: #333;
+            font-size: 14px;
+        }
+
+        .webSitecolor {
+            color: #dd7d18;
+        }
+    }
+}
+.foot_text_box :deep(a){color: #333;}
+.top_content {
+    padding: 0 170px;
+}
+.webSitecolor {
+    color: #dd7d18;
+}
+.foot_text_box_green {
+    color: #40663B;
+}
+.foot_text_box img {
+    display: inline-block;
+    height: 20px;
+    vertical-align: middle;
+}
+.foot_logo_out {
+    position: relative;
+    margin: 0px auto;
+    width: 100%;
+    height: 0px;
+}
+.foot_logo_out * {
+    width: 120px;
+    display: block;
+}
+.foot_logo_out>* {
+    position: absolute;
+    top: -145px;
+}
+.foot_logo_out>*:nth-of-type(1) {
+    left: 0px;
+}
+.foot_logo_out>*:nth-of-type(2) {
+    right: 0px;
+}
+.foot_last_img_box {
+    margin: 40px auto 10px;
+    text-align: center;
+    overflow: hidden;
+    width: 100%;
+    font-size: 0px;
+    padding-bottom: 40px;
+}
+.foot_last_img_box>* {
+    height: 50px;
+    width: 120px;
+    margin: 0px 13px;
+    display: inline-block;
+    overflow: hidden;
+}
+.foot_last_img_box>* * {
+    display: block;
+    height: 100%;
+    width: 100%;
+    overflow: hidden;
+}
+// template start ---------------------------------------->
+.foot_menu_box_style1 {
+    width: 100%;
+    height: 50px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    background: #1C5468;
+    div {
+        a {
+            color:#fff;
+            font-size: 14px;
+        }
+        width: 200px;
+        border-right: 1px solid #193D4A;
+        text-align: center;
+        &:last-child {
+            border-right: none;
+        }
+    }
+}
+.foot_menu_box_style2 {
+    width: 100%;
+    height: 50px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    background: #A91B33;
+    div {
+        a {
+            color:#fff;
+            font-size: 14px;
+        }
+        width: 200px;
+        border-right: 1px solid #930F25;
+        text-align: center;
+        &:last-child {
+            border-right: none;
+        }
+    }
+}
+// template end ---------------------------------------->
+
+
+
+
+
+
+
+
+
+

+ 263 - 0
assets/css/public/template/head.less

@@ -0,0 +1,263 @@
+.userInfo11 {
+    width: 100px;
+    height: 80px;
+    background-color: #fff;
+    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
+    border-radius: 3px;
+    position: absolute;
+    top: 40px;
+    right: 35px;
+    font-size: 14px;
+    z-index: 999;
+
+    li {
+        height: 40px;
+        line-height: 40px;
+        color: #333333;
+        padding-left: 10px;
+    }
+
+    >li:hover {
+        color: #dd7d18;
+    }
+}
+
+.tips {
+    padding: 20px 0;
+    text-align: center;
+    font-size: 20px;
+    color: #333333;
+    font-weight: bold;
+
+    img {
+        width: 78px;
+        height: 78px;
+        vertical-align: middle;
+        margin-right: 20px;
+
+        p {
+            line-height: 30px;
+        }
+    }
+
+    p {
+        line-height: 40px;
+    }
+
+    >p:first-child {
+        margin-bottom: 30px;
+    }
+
+}
+
+/* 页面头部 */
+header {
+    width: 100%;
+    height: 200px;
+    font-size: 12px;
+    font-family: PingFang SC-Regular;
+    color: #666666;
+    background: url("http://img.bjzxtw.org.cn/master/bjzxtw/public/head/headtopbg.png") repeat-x;
+}
+
+.headerNav {
+    width: 100%;
+    height: 30px;
+    line-height: 30px;
+}
+
+.headerNav .left>span {
+    margin-right: 20px;
+    a{
+        color: #666666;
+    }
+}
+
+.headerNav .right {
+    display: flex;
+    margin-right: 10px;
+    position: relative;
+
+    button {
+        font-size: 12px;
+        color: #666666;
+        border: none;
+        background: none;
+        cursor: pointer;
+    }
+
+    .login {
+        width: 36px;
+        height: 19px;
+        color: #fff;
+        border-radius: 4px;
+        background-color: #028E21;
+        margin-right: 15px;
+        cursor: pointer;
+    }
+
+    .menu,
+    .right-top-menu {
+        display: flex;
+    }
+
+    .reg {
+        margin-right: 20px;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        height: 30px;
+
+        img {
+            margin-right: 5px;
+        }
+    }
+}
+
+.headerNav .right {
+    float: right;
+    font-size: 12px;
+
+    span {
+        margin-right: 20px;
+    }
+
+    .home,
+    .collection {
+        display: inline-block;
+        width: 16px;
+        height: 16px;
+        vertical-align: -3px;
+    }
+
+    .home {
+        background-image: url("http://img.bjzxtw.org.cn/master/bjzxtw/public/image/search.png");
+    }
+
+    .collection {
+        background-image: url("http://img.bjzxtw.org.cn/master/bjzxtw/public/image/search.png");
+    }
+
+    .exit {
+        line-height: 30px;
+    }
+
+    // .exit:hover{
+    //     color: #028E21;
+    // }
+}
+
+/* // 头部logo */
+.headerLogo {
+    height: 170px;
+    position: relative;
+    box-sizing: border-box;
+    //background: url("../../public/head/topBg.png") no-repeat center;
+    .titlead {
+        width: 830px;
+        height: 110px;
+        a {
+            display: block;
+            width: 830px;
+            height: 110px;
+            overflow: hidden;
+        }
+        img {
+            width: 100%;
+            height:110px;
+        }
+    }
+    .inner {
+        position: relative;
+        height: 170px;
+        display: flex;
+        align-items: center;
+        justify-content: space-between;
+        box-sizing: border-box;        
+    }
+    .inner>img {
+        width: 297px;
+        height: 110px;
+        cursor: pointer;
+    }
+
+    /* // 搜索框部分 */
+    .search {
+        float: left;
+        width: 440px;
+        height: 40px;
+        background-color: #fff;
+        line-height: 40px;
+        margin-left: 39px;
+        margin: 71px 39px 48px;
+        position: relative;
+
+        em {
+            display: inline-block;
+            width: 30px;
+            height: 30px;
+            background: url("http://img.bjzxtw.org.cn/master/bjzxtw/public/image/search.png") no-repeat;
+            position: absolute;
+            top: 5px;
+            left: 15px;
+        }
+
+        input {
+            float: left;
+            width: 351px;
+            height: 40px;
+            border: none;
+            outline: none;
+            padding-left: 65px;
+            box-sizing: border-box;
+            border: 1px solid #028E21;
+            border-right: none;
+            border-radius: 4px 0px 0px 4px;
+        }
+
+        button {
+            float: right;
+            width: 89px;
+            height: 40px;
+            background-color: #028E21;
+            border-radius: 0px 4px 4px 0px;
+            border: none;
+            font-size: 14px;
+            color: #fff;
+            font-family: PingFang SC, PingFang SC;
+            font-weight: 500;
+        }
+
+    }
+
+    /* // 右侧小图标 */
+    .serve {
+        float: right;
+        height: 60px;
+        margin-top: 60px;
+        margin-right: 60px;
+
+        >li {
+            float: left;
+            height: 64px;
+            margin-left: 48px;
+        }
+
+        >li>a {
+            display: inline-block;
+            height: 64px;
+        }
+
+        >li img {
+            width: 29px;
+            height: 29px;
+            padding: 8px 14px;
+        }
+
+        >li p {
+            height: 28px;
+            text-align: center;
+            color: #666666;
+        }
+    }
+}

+ 196 - 0
assets/css/public/template/kefu.less

@@ -0,0 +1,196 @@
+//添加在线客服
+.kefu {
+    bottom: 100px;
+    height: 430px;
+    position: fixed;
+    right: 10px;
+    width: 100px;
+
+    .kefu_itemKf {
+        background-color: #fff;
+        border-radius: 10px;
+        box-shadow: 0 4px 16px #0000001a;
+        height: 100px;
+        margin-bottom: 15px;
+        text-align: center;
+        width: 100px;
+        box-sizing: border-box;
+        position: relative;
+        cursor: pointer;
+        margin-bottom: 100px;
+
+        a {
+            >p {
+                color: #666;
+                font-size: 14px;
+                font-weight: 500;
+                line-height: 16px;
+            }
+
+            >img {
+                margin-top: 15px;
+                width: 50px;
+                height: 50px;
+                margin-bottom: 5px;
+            }
+        }
+    }
+
+    .kefu_itemQQ {
+        background-color: #fff;
+        border-radius: 10px;
+        box-shadow: 0 4px 16px #0000001a;
+        height: 100px;
+        margin-bottom: 15px;
+        text-align: center;
+        width: 100px;
+        box-sizing: border-box;
+        position: relative;
+        cursor: pointer;
+
+        >p {
+            color: #666;
+            font-size: 14px;
+            font-weight: 500;
+            line-height: 16px;
+        }
+
+        >img {
+            margin-top: 10px;
+            width: 60px;
+            height: 60px;
+        }
+
+        &:hover {
+            .kefu_item_content_QQ {
+                display: block;
+            }
+        }
+    }
+
+    .kefu_itemPhone {
+        background-color: #fff;
+        border-radius: 10px;
+        box-shadow: 0 4px 16px #0000001a;
+        height: 100px;
+        margin-bottom: 15px;
+        text-align: center;
+        width: 100px;
+        box-sizing: border-box;
+        position: relative;
+        cursor: pointer;
+
+        >p {
+            color: #666;
+            font-size: 14px;
+            font-weight: 500;
+            line-height: 16px;
+        }
+
+        >img {
+            margin-top: 10px;
+            width: 60px;
+            height: 60px;
+        }
+
+        &:hover {
+            .kefu_item_content_phone {
+                display: block;
+
+
+            }
+        }
+    }
+
+    .kefu_item_content_QQ {
+        position: absolute;
+        top: -100px;
+        right: 100px;
+        background: #fff;
+        border-radius: 10px;
+        display: none;
+        width: 190px;
+        height: 330px;
+        background: #fff;
+        box-shadow: 0 4px 16px #0000001a;
+        z-index: 99;
+        box-sizing: border-box;
+        padding: 20px;
+
+        img {
+            margin-bottom: 10px;
+        }
+
+
+
+        .arrow {
+            width: 0;
+            height: 0;
+            width: 0;
+            border-top: 20px solid transparent;
+            border-bottom: 20px solid transparent;
+            border-left: 20px solid #fff;
+            position: absolute;
+            top: 120px;
+            right: -20px;
+            transform: translateX(-50%);
+            z-index: 100;
+        }
+
+        .qqadd {
+            height: 150px;
+            position: relative;
+
+            img {
+                width: 100px;
+                height: 100px;
+            }
+
+            .qqfs {
+                margin-bottom: 20px;
+                font-size: 14px;
+                color: #333;
+                position: absolute;
+                top: 110px;
+                left: 0;
+            }
+        }
+    }
+
+    .kefu_item_content_phone {
+        position: absolute;
+        top: 0;
+        right: 100px;
+        background: #fff;
+        border-radius: 10px;
+        display: none;
+        width: 190px;
+        height: 80px;
+        background: #fff;
+        box-shadow: 0 4px 16px #0000001a;
+        z-index: 99;
+        box-sizing: border-box;
+        padding: 20px;
+        text-align: left;
+        color: #333;
+
+        .kefu_item_content_phone_title {
+            margin-bottom: 5px;
+            font-weight: bold;
+        }
+
+        .arrow {
+            width: 0;
+            height: 0;
+            width: 0;
+            border-top: 20px solid transparent;
+            border-bottom: 20px solid transparent;
+            border-left: 20px solid #fff;
+            position: absolute;
+            top: 20px;
+            right: -20px;
+            transform: translateX(-50%);
+            z-index: 100;
+        }
+    }
+}

+ 175 - 0
assets/css/public/template/nav.less

@@ -0,0 +1,175 @@
+/*导航风格1*/
+.menuStyle1 {
+    width: 100%;
+    height: 130px;
+    background: #1C5468;
+    margin-bottom: 30px;
+    .componentBorder {
+        border-left: 2px dashed #999;
+        border-right: 2px dashed #999;
+    }
+    .menuBoxBg {
+        width: 1200px;
+        height: 130px;
+        background: #1C5468;
+        margin: 0 auto;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        .menuBox {
+            box-sizing: border-box;
+            display: flex;
+            flex-wrap: wrap;
+            justify-content: flex-start;
+            width: 100%;
+            div {
+                a{
+                    color: #fff;
+                }
+                width: 12.5%;
+                cursor: pointer;
+                box-sizing: border-box;
+                font-size: 14px;
+                height: 22px;
+                line-height: 22px;
+                text-align: center;
+                overflow: hidden;
+                white-space: nowrap;
+                text-overflow: ellipsis;
+                text-align: center;
+                color: #fff;
+                background: #1C5468;
+                border-right: #002D41 1px solid;
+                border-left: #29799D 1px solid;
+                margin-bottom: 15px;
+                /* 当是第17个及以后的div时去掉margin-bottom */
+                &:nth-child(n+17) {
+                    margin-bottom: 0;
+                }
+                /* 每行的第一个(第1、9、17...个)去掉左边框 */
+                &:nth-child(8n+1) {
+                    border-left: none;
+                }
+                /* 每行的最后一个(第8、16、24...个)去掉右边框 */
+                &:nth-child(8n) {
+                    border-right: none;
+                }
+                /* 最后一行的最后一个(如果总数不是8的倍数)去掉右边框 */
+                &:last-child {
+                    border-right: none;
+                }
+                a {
+                    color: #fff;
+                }
+            }
+        }
+    }
+    .menuSectorInputBox {
+        display: flex;
+        align-items: center;
+        justify-content: space-between;
+        font-size: 14px;
+        width: 80%;
+        margin: 0 auto;
+        border-top: none;
+        height: 50px;
+        .menuSectorInputBoxItem {
+            padding: 0 10px;
+            input {
+                margin-right: 10px;
+            }
+            .el-select {
+                margin-right: 10px;
+            }
+        }
+    }
+    .componentMenuBorder {
+        border: 2px dashed #999;
+    }
+}
+
+/*导航风格2*/
+.menuStyle2 {
+    width: 100%;
+    height: 130px;
+    background: #A91B33;
+    .componentBorder {
+        border-left: 2px dashed #999;
+        border-right: 2px dashed #999;
+    }
+    .menuBoxBg {
+        width: 1200px;
+        height: 130px;
+        background: #A91B33;
+        margin: 0 auto;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        .menuBox {
+            box-sizing: border-box;
+            display: flex;
+            flex-wrap: wrap;
+            justify-content: flex-start;
+            width: 100%;
+            div {
+                a{
+                    color: #fff;
+                }
+                width: 12.5%;
+                cursor: pointer;
+                box-sizing: border-box;
+                font-size: 14px;
+                height: 22px;
+                line-height: 22px;
+                text-align: center;
+                overflow: hidden;
+                white-space: nowrap;
+                text-overflow: ellipsis;
+                text-align: center;
+                
+                background: #A91B33;
+                border-right: #88172A 1px solid;
+                border-left: #DE3350 1px solid;
+                margin-bottom: 15px;
+                /* 当是第17个及以后的div时去掉margin-bottom */
+                &:nth-child(n+17) {
+                    margin-bottom: 0;
+                }
+                /* 每行的第一个(第1、9、17...个)去掉左边框 */
+                &:nth-child(8n+1) {
+                    border-left: none;
+                }
+                /* 每行的最后一个(第8、16、24...个)去掉右边框 */
+                &:nth-child(8n) {
+                    border-right: none;
+                }
+                /* 最后一行的最后一个(如果总数不是8的倍数)去掉右边框 */
+                &:last-child {
+                    border-right: none;
+                }
+            }
+        }
+    }
+    .menuSectorInputBox {
+        display: flex;
+        align-items: center;
+        justify-content: space-between;
+        font-size: 14px;
+        width: 80%;
+        margin: 0 auto;
+        border-top: none;
+        height: 50px;
+        .menuSectorInputBoxItem {
+            padding: 0 10px;
+            input {
+                margin-right: 10px;
+            }
+            .el-select {
+                margin-right: 10px;
+            }
+        }
+    }
+    .componentMenuBorder {
+        border: 2px dashed #999;
+    }
+}

+ 29 - 17
components/home/foot.vue

@@ -1,6 +1,5 @@
 <template>
-    <div>当前皮肤:{{ skinId }}</div>
-    <footer class="index_foot" v-if="routeName=='index'">
+    <footer class="index_foot">
         <div class="foot_img_box">
             <a :href="item.url" v-for="(item, index) in bottomLink" target="_blank">
                 <img :src="item.logo_url" alt="">
@@ -13,6 +12,7 @@
             </div>
         </div>
     </footer>
+
     <div class="call_us_box">
         <div class="inner">
             <span v-for="(item, index) in bottomMenu" :key="index">
@@ -54,18 +54,13 @@
                 <img :src="item.logo_url" :alt="item.title">
             </a>
         </div>
+
         <!--在线客服-->
         <HomeKefu :bottomBase="bottomBase" />
     </footer>
 </template>
  
 <script setup>
-//获得route
-const route = useRoute()
-const routeName = route.name;
-
-import { useTemplateBaseStore } from '@/stores/templateBase'
-const templateBaseStore = useTemplateBaseStore()
 //获得底部基本信息 start---------------------------------------->
 //1.获得全部友情链接与底部图片
 const bottomLink = ref([])
@@ -73,18 +68,35 @@ const bottomText = ref([])
 const bottomphoto = ref([])
 const bottomMenu = ref([])
 const bottomBase = ref({})
-const skinId = ref("")//皮肤id
-if(templateBaseStore.webSiteInfo.website_foot){
-    bottomLink.value = templateBaseStore.webSiteInfo.website_foot.link_img;
-    bottomText.value = templateBaseStore.webSiteInfo.website_foot.link_text;
-    bottomphoto.value = templateBaseStore.webSiteInfo.website_foot.link_foot;
-    bottomMenu.value = templateBaseStore.webSiteInfo.website_foot.foot_cate;
-    bottomBase.value = templateBaseStore.webSiteInfo.website_foot.foot_info;
 
-    //获得皮肤id
-    skinId.value = templateBaseStore.webSiteInfo.website_foot.foot_info.template_id;
+async function getModelDataAll() {
+    const mkdata =  await requestDataPromise('/web/getWebsiteFootAll', {
+        method: 'GET',
+        query: {
+            'link_textnum':24,
+            'link_imgnum':18,
+            'link_footnum':4
+        },
+    });
+    if(mkdata.code == 200){
+        bottomLink.value = mkdata.data.link_img;
+        bottomText.value = mkdata.data.link_text;
+        bottomphoto.value = mkdata.data.link_foot;
+        bottomMenu.value = mkdata.data.foot_cate;
+        bottomBase.value = mkdata.data.foot_info;
+        
+
+    }else{
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+        console.log("错误位置:获取友情链接图片")
+        console.log("后端错误反馈:",mkdata.message)
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    }
 }
+getModelDataAll();
+//获得底部基本信息 end---------------------------------------->
 </script>
+
 <style lang="less" scoped>
     @import '@/assets/css/public/footer.less';
     @import '@/assets/css/public/kefu.less';

+ 90 - 0
components/home/foot1.vue

@@ -0,0 +1,90 @@
+<template>
+    <!--注意,foot1与foot的区别就在于,foot1没有友情链接-->
+    <div class="call_us_box">
+        <div class="inner">
+            <span v-for="(item, index) in bottomMenu" :key="index">
+                <NuxtLink :to="{ path: `/about/${item.name_pinyin}/list-1.html` }" v-if="item.type == 1" :title="item.name">
+                    {{ item.name }}
+                </NuxtLink>
+                <NuxtLink :to="{ path: `/about/${item.name_pinyin}/index.html` }" v-if="item.type == 0" :title="item.name">
+                    {{ item.name }}
+                </NuxtLink>
+            </span>
+        </div>
+    </div>
+    <footer class="index_foot">
+        <div class="foot_text_box">
+            <p v-html="bottomBase.statement" class="foot_text_html_css"></p>
+            <p v-html="bottomBase.organizer" class="foot_text_html_css"></p>
+            <p v-html="bottomBase.copyright_information" class="foot_text_html_css"></p>
+            <p><span v-html="bottomBase.icp_number" class="foot_text_html_css"></span><span v-html="bottomBase.record_number" class="foot_text_html_css"></span></p>
+            <p v-html="bottomBase.email" class="foot_text_html_css"></p>
+            <p v-html="bottomBase.company_address" class="foot_text_html_css"></p>
+            <p v-html="bottomBase.contact_number" class="foot_text_html_css"></p>
+        </div>
+        <div class="foot_logo_out" v-if="bottomBase">
+            <a :href="'http://' + bottomBase.project_url" :title="bottomBase.project_name" v-if="bottomBase.project_logo!=''&&bottomBase.project_url!=''">
+                <img :src="bottomBase.project_logo" class="floatLogoRight" :alt="bottomBase.project_name">
+            </a>
+            <span v-else-if="bottomBase.project_logo!=''&&bottomBase.project_url==''">
+                <img :src="bottomBase.project_logo" class="floatLogoRight" :alt="bottomBase.project_name">
+            </span>
+            <a :href="'http://' + bottomBase.company_url" :title="bottomBase.company_name" v-if="bottomBase.company_logo!=''&&bottomBase.company_url!=''">
+                <img :src="bottomBase.company_logo" class="floatLogoLeft" :alt="bottomBase.company_name">
+            </a>
+            <span v-else-if="bottomBase.company_logo!=''&&bottomBase.company_url==''">
+                <img :src="bottomBase.company_logo" class="floatLogoLeft" :alt="bottomBase.company_name">
+            </span>
+        </div>
+        <div class="foot_last_img_box">
+            <a :href="item.url" v-for="(item, index) in bottomphoto" :title="item.title">
+                <img :src="item.logo_url" :alt="item.title">
+            </a>
+        </div>
+
+        <!--在线客服-->
+        <HomeKefu :bottomBase="bottomBase" />
+    </footer>
+</template>
+ 
+<script setup>
+//获得底部基本信息 start---------------------------------------->
+//1.获得全部友情链接与底部图片
+const bottomLink = ref([])
+const bottomText = ref([])
+const bottomphoto = ref([])
+const bottomMenu = ref([])
+const bottomBase = ref({})
+
+async function getModelDataAll() {
+    const mkdata =  await requestDataPromise('/web/getWebsiteFootAll', {
+        method: 'GET',
+        query: {
+            'link_textnum':8,
+            'link_imgnum':12,
+            'link_footnum':4
+        },
+    });
+    if(mkdata.code == 200){
+        bottomLink.value = mkdata.data.link_img;
+        bottomText.value = mkdata.data.link_text;
+        bottomphoto.value = mkdata.data.link_foot;
+        bottomMenu.value = mkdata.data.foot_cate;
+        bottomBase.value = mkdata.data.foot_info;
+        
+
+    }else{
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+        console.log("错误位置:获取友情链接图片")
+        console.log("后端错误反馈:",mkdata.message)
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    }
+}
+getModelDataAll();
+//获得底部基本信息 end---------------------------------------->
+</script>
+
+<style lang="less" scoped>
+    @import '@/assets/css/public/footer.less';
+    @import '@/assets/css/public/kefu.less';
+</style>

+ 66 - 48
components/home/pageHead.vue

@@ -2,17 +2,35 @@
     <header>
         <nav class="headerNav">
             <div class="inner">
-                <div class="left">你好,欢迎来到{{webSiteName}}!当前皮肤:{{ skinId }}</div>
+                <div class="left">
+                    <span class="znxy">
+                        <a href="http://znxyw.org.cn/" target="_blank">中农兴业网团</a>
+                    </span>
+                    <span>旗下网站 · 农业百强网站(科教文化类十强)</span>
+                </div>
                 <div class="right">
                     <div class="menu">
-                        <button class="reg" @click="goTopic"><img src="http://img.bjzxtw.org.cn/master/bjzxtw/public/head/topicon1.png">商圈</button>
-                        <button class="reg" @click="goAdvertising"><img src="http://img.bjzxtw.org.cn/master/bjzxtw/public/head/topicon2.png">广告服务</button>
+                        <button class="reg" @click="goTopic">
+                            <img src="http://img.bjzxtw.org.cn/master/bjzxtw/public/head/topicon1.png" alt="商圈">商圈
+                        </button>
+                        <button class="reg" @click="goAdvertising">
+                            <img src="http://img.bjzxtw.org.cn/master/bjzxtw/public/head/topicon2.png" alt="广告服务">广告服务
+                        </button>
                     </div>
                     <div class="right-top-menu">
-                        <button class="reg" @click="goLogin" v-show="!showToken"><img src="http://img.bjzxtw.org.cn/master/bjzxtw/public/head/topicon3.png">登录</button>
-                        <button class="reg" @click="goRegister" v-show="!showToken"><img src="http://img.bjzxtw.org.cn/master/bjzxtw/public/head/topicon4.png">注册</button>
-                        <button class="reg" @click="userCenter" v-show="showToken"><img src="http://img.bjzxtw.org.cn/master/bjzxtw/public/head/topicon3.png">{{username}}</button>
-                        <button class="reg" @click="goSearch"><img src="http://img.bjzxtw.org.cn/master/bjzxtw/public/head/searchicon.png">搜索</button>
+                        <button class="reg" @click="goLogin" v-show="!showToken">
+                            <img src="http://img.bjzxtw.org.cn/master/bjzxtw/public/head/topicon3.png" alt="登录">登录
+                        </button>
+                        <button class="reg" @click="goRegister" v-show="!showToken">
+                            <img src="http://img.bjzxtw.org.cn/master/bjzxtw/public/head/topicon4.png" alt="注册">注册
+                        </button>
+                        <button class="reg" @click="userCenter" v-show="showToken">
+                            <img src="http://img.bjzxtw.org.cn/master/bjzxtw/public/head/topicon3.png" alt="用户信息">{{
+                                username }}
+                        </button>
+                        <button class="reg" @click="goSearch">
+                            <img src="http://img.bjzxtw.org.cn/master/bjzxtw/public/head/searchicon.png" alt="搜索">搜索
+                        </button>
                     </div>
                     <ul class="userInfo11" v-if="isShow">
                         <li @click="gotosystem">个人中心</li>
@@ -25,14 +43,21 @@
             <div class="inner">
                 <img :src="logo" :alt="webSiteName" class="left" @click="backHome">
                 <div class="titlead" v-if="adImg">
-                    <a href="http://sannongdy.org.cn/" v-if="adImg.image_url == null" target="_blank" :title="adImg.introduce"><img :src="adImg.thumb" :alt="adImg.introduce" data-tag="imgurl.ad_tag" :id="adImg.ad_tag"></a>
-                    <a :href="adImg.image_url" v-else :title="adImg.introduce"><img :src="adImg.image_src" :alt="adImg.introduce" data-tag="imgurl.ad_tag" :id="adImg.ad_tag"></a>
+                    <a href="http://sannongdy.org.cn/" v-if="adImg.image_url == null" target="_blank"
+                        :title="adImg.introduce">
+                        <img :src="adImg.thumb" :alt="adImg.introduce" data-tag="imgurl.ad_tag" :id="adImg.ad_tag">
+                    </a>
+                    <a :href="adImg.image_url" v-else :title="adImg.introduce">
+                        <img :src="adImg.image_src" :alt="adImg.introduce" data-tag="imgurl.ad_tag" :id="adImg.ad_tag">
+                    </a>
                 </div>
             </div>
         </div>
         <el-dialog v-model="dialogTableVisible" width="800">
             <div class="tips">
-                <p><img src="@/public/topic/tips.png"> 提示:注册请联系管理员操作!</p>
+                <p>
+                    <img src="@/public/topic/tips.png"> 提示:注册请联系管理员操作!
+                </p>
                 <p>联系电话:010-56019387</p>
                 <p>QQ : 2909421493 、213552413</p>
             </div>
@@ -41,14 +66,11 @@
 </template>
 
 <script setup>
-
 //1.加载基本依赖 start ---------------------------------------->
 import { ref, watch, onMounted } from 'vue'
 import { ElDialog } from 'element-plus'
 import { getToken, setToken, removeToken } from '@/store/useCookieStore'
 import { setTicket, removeTicket } from '@/store/useticketStore'
-import { useTemplateBaseStore } from '@/stores/templateBase'
-const templateBaseStore = useTemplateBaseStore()
 //网站地址
 const { $webUrl, $CwebUrl, $BwebUrl, $LoginWebUrl } = useNuxtApp()
 //1.加载基本依赖 end ---------------------------------------->
@@ -88,9 +110,9 @@ token1.value = getToken()
 let tokenStatus = ref('');
 tokenStatus.value = getToken()
 if (tokenStatus.value == undefined) {
-    // console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
-    // console.log('错误:未获取到用户token,如果在本地测试请忽略!');
-    // console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    console.log('错误:未获取到用户token,如果在本地测试请忽略!');
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
 } else {
     console.log(tokenStatus.value);
 }
@@ -213,6 +235,23 @@ watch(token1, (newval, oldval) => {
     deep: true,
     immediate: true,
 })
+
+//获得网站logo
+const logo = ref("")
+const webSiteName = ref("")
+let getLogo = async () => {
+    const responseStatus = await requestDataPromise('/web/getWebsiteHead', {
+        method: 'GET',
+        query: {},
+    });
+    if (responseStatus.code == 200) {
+        logo.value = responseStatus.data.logo;
+        webSiteName.value = responseStatus.data.website_name;
+    } else if (responseStatus.code == 0) {
+        window.location.href = $CwebUrl + '/404';
+    }
+}
+getLogo();
 //3.跳转菜单逻辑 end ---------------------------------------->
 
 //4.获取广告 start ---------------------------------------->
@@ -238,7 +277,7 @@ onMounted(async () => {
 
         if (token == undefined) {
             //如果没有获取到token 不访问后端获取在线状态
-            //console.log("没有获取到token!无需查询登录状态!")
+            console.log("没有获取到token!无需查询登录状态!")
             showToken.value = false;
 
         } else {
@@ -286,18 +325,17 @@ onMounted(async () => {
     //从客户端获取广告
     //从客户端获取行政职能部门 加快打开速度
     const { $webUrl, $CwebUrl } = useNuxtApp();
-
     //广告1
-    // let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=nmw_top`
-    // const responseAd1 = await fetch(url, {
-    //     headers: {
-    //         'Content-Type': 'application/json',
-    //         'Userurl': $CwebUrl,
-    //         'Origin': $CwebUrl
-    //     }
-    // });
-    // const resultAd1 = await responseAd1.json();
-    // adImg.value = resultAd1.data[0];
+    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=nmw_top`
+    const responseAd1 = await fetch(url, {
+        headers: {
+            'Content-Type': 'application/json',
+            'Userurl': $CwebUrl,
+            'Origin': $CwebUrl
+        }
+    });
+    const resultAd1 = await responseAd1.json();
+    adImg.value = resultAd1.data[0];
 
     //从客户端获取用户名
     let userInfoUrl = `${$webUrl}/user/getUserInfo`
@@ -314,26 +352,6 @@ onMounted(async () => {
     }
 })
 //5.获取登录状态 end ---------------------------------------->
-
-
-//6.获得网站基本信息与广告池 start ---------------------------------------->
-//获得网站logo
-const logo = ref("")
-const webSiteName = ref("")
-const skinId = ref("")
-if(templateBaseStore.webSiteInfo.website_head){
-    logo.value = templateBaseStore.webSiteInfo.website_head.logo;
-    webSiteName.value = templateBaseStore.webSiteInfo.website_head.title;
-    //获得皮肤id
-    skinId.value = templateBaseStore.webSiteInfo.website_foot.foot_info.template_id;
-}
-//adImg.value
-//获得广告
-if(templateBaseStore.webAdList){
-    //console.log(templateBaseStore.webAdList)
-    adImg.value = requestAd(templateBaseStore.webAdList,templateBaseStore.webSiteInfo.website_head.ad_key + "_" + "top")
-}
-//6.获得网站基本信息与广告池 end ---------------------------------------->
 </script>
 
 <style lang="less" scoped>

+ 90 - 24
components/home/pageNavigation.vue

@@ -1,16 +1,46 @@
 <template>
-    <div class="menuStyle1">
-        当前皮肤:{{ skinId }}
-        <div class="menuBoxBg">
-            <div class="menuBox" ref="menuBox">
-                <div v-for="(item, index) in navigation" :key="index">
-                    <NuxtLink 
-                        :href="getLinkPath(item)" 
-                        :title="item.alias"
-                        :target="item.is_url == 1 ? '_blank' : '_self'"
-                    >
-                        {{ item.alias }}
-                    </NuxtLink>
+    <!-- 导航 -->
+    <div class="navigate">
+        <div class="partOne">
+            <div class="inner">
+                <div class="home">
+                    <em></em>
+                    <NuxtLink :to="'/'">首页</NuxtLink>
+                </div>
+                <ul class="partOneTitle">
+                    <li class="titleList1">
+                        深度服务
+                    </li>
+                    <li class="titleList111" v-for="(item, index) in navigation1" :key="index">
+                        <NuxtLink :href="getLinkPath(item)" :title="item.alias"
+                            :target="item.is_url == 1 ? '_blank' : '_self'">
+                            {{ item.alias }}
+                        </NuxtLink>
+                    </li>
+                </ul>
+            </div>
+        </div>
+        <div class="partTwo">
+            <div class="inner">
+                <div class="navleft">
+                    <div> 互动版块 </div>
+                    <div> 推荐版块 </div>
+                </div>
+                <ul class="navlist">
+                    <li class="navListItem" v-for="(item, index) in navigation2" :key="index">
+                        <NuxtLink :href="getLinkPath(item)" :title="item.alias"
+                            :target="item.is_url == 1 ? '_blank' : '_self'">
+                            {{ item.alias }}
+                        </NuxtLink>
+                    </li>
+                </ul>
+                <div class="navright">
+                    <div class="nav111" v-for="(item, index) in navigation3" :key="index">
+                        <NuxtLink :href="getLinkPath(item)" :title="item.alias"
+                            :target="item.is_url == 1 ? '_blank' : '_self'">
+                            {{ item.alias }}
+                        </NuxtLink>
+                    </div>
                 </div>
             </div>
         </div>
@@ -18,30 +48,66 @@
 </template>
 
 <script setup>
-//1.1 pinia
-import { useTemplateBaseStore } from '@/stores/templateBase'
-const templateBaseStore = useTemplateBaseStore()
-//获得皮肤id
-const skinId = ref("")
-skinId.value = templateBaseStore.webSiteInfo.website_foot.foot_info.template_id;
-
 //1.获取导航菜单 start ---------------------------------------->
 //第一行导航菜单 10个
-const navigation = ref([]);
+const navigation1 = ref([]);
+//两行的导航菜单 20个 
+const navigation2 = ref([]);
+//边边上的导航菜单 2个
+const navigation3 = ref([]);
 //获取导航菜单1 
-async function getNavigation() {
+async function getNavigation1() {
     const mkdata = await requestDataPromise('/web/getWebsiteModelCategory', {
         method: 'GET',
         query: {
             'pid': 0,
-            'num': 24,
+            'num': 10,
             'placeid': 1
         },
     });
-    navigation.value = mkdata.data;
+    navigation1.value = mkdata.data;
 }
-getNavigation();
+getNavigation1();
+//获取导航菜单2
+async function getNavigation2() {
+    const mkdata = await requestDataPromise('/web/getWebsiteModelCategory', {
+        method: 'GET',
+        query: {
+            'pid': 0,
+            'num': 20,
+            'placeid': 11
+        },
+    });
+    navigation2.value = mkdata.data;
+}
+getNavigation2();
+//获取导航菜单3
+async function getNavigation3() {
+    const mkdata = await requestDataPromise('/web/getWebsiteModelCategory', {
+        method: 'GET',
+        query: {
+            'pid': 0,
+            'num': 2,
+            'placeid': 31
+        },
+    });
+    navigation3.value = mkdata.data;
+}
+getNavigation3();
 //1.获取导航菜单 end ---------------------------------------->
+
+//格式化跳转路径
+const getLinkPath = (item) => {
+    if (item.is_url == 1) {
+        return `${item.web_url}`;
+    } else if (item.children_count == 0) {
+        //return `/newsList/${item.category_id}?page=1`;
+        return `/${item.aLIas_pinyin}/list-1.html`;
+    } else {
+        //return `/primaryNavigation/${item.aLIas_pinyin}/`;
+        return `/${item.aLIas_pinyin}/index.html`;
+    }
+}
 </script>
 
 <style lang="less" scoped>

+ 142 - 3
components/template/component/list/450x440/3.vue

@@ -1,5 +1,50 @@
 <template>
-    3333
+    <div class="listNewsBox">
+        <div class="listNewsTitle" v-if="skinId==1">
+            <NuxtLink
+                v-if="titleLink.cid"
+                :href="getLinkPath(titleLink)"
+                :title="titleLink.alias"
+            >
+                {{titleLink.alias}}
+            </NuxtLink>
+        </div>
+        <div class="listNewsTitle_skin2" v-if="skinId==2">
+            <span>
+                <NuxtLink
+                    v-if="titleLink.cid"
+                    :href="getLinkPath(titleLink)"
+                    :title="titleLink.alias"
+                >
+                    {{titleLink.alias}}
+                </NuxtLink>
+            </span>
+        </div>
+        <div class="listNewsContent">
+            <div class="listNewsContentTop">
+                <NuxtLink 
+                    :href="getLinkPathDetail(item)" 
+                    :title="item.title"
+                    :target="item.islink == 1 ? '_blank' : '_self'"
+                    v-for="item in component_style1_News1Array"
+                >
+                    <img :src="item.imgurl" />
+                    <div class="listNewsContentTopTitle">{{ item.title }}</div>
+                </NuxtLink>
+            </div>
+            <div class="listNewsContentBottom">
+                <div v-for="item in component_style1_News2Array">
+                    <NuxtLink 
+                        :href="getLinkPathDetail(item)" 
+                        :title="item.title"
+                        :target="item.islink == 1 ? '_blank' : '_self'"
+                    >
+                        {{ item.title }}
+                    </NuxtLink>
+                </div>
+            </div>
+        </div>
+    </div>
 </template>
 
 <script setup>
@@ -11,9 +56,103 @@ const props = defineProps({
     templateData:Array,//新闻数据
     skinId:String,//皮肤id
 });
-
+const component_style1_News1Array = ref([]);
+const component_style1_News2Array = ref([]);
+component_style1_News1Array.value = props.templateData.img.slice(0,1);
+component_style1_News2Array.value = props.templateData.text.slice(0,3);
 </script>
 
 <style lang="less" scoped>
-
+.listNewsBox {
+    position: relative;
+    .listNewsTitle {
+        font-size:22px;
+        font-weight:bold;
+        height: 40px;
+        line-height: 40px;
+        border-bottom: 2px solid #004564;
+        color:#004564;
+        margin-bottom: 20px;
+        box-sizing: border-box;
+        a {
+            color:#004564;
+            display: block;
+            height: 25px;
+            line-height: 25px;
+        }
+    }
+    .listNewsTitle_skin2 {
+        font-size:22px;
+        font-weight:bold;
+        height: 40px;
+        line-height: 40px;
+        border-bottom: 2px solid #A91B33;
+        color:#A91B33;
+        margin-bottom: 20px;
+        box-sizing: border-box;
+        a {
+            color:#A91B33;
+            display: block;
+            height: 25px;
+            line-height: 25px;
+        }
+        span {
+            color:#A91B33;
+            height: 25px;
+            line-height: 25px;
+            border-left: 3px solid #A91B33;
+            padding-left: 12px;
+            display: block;
+        }
+    }
+    .listNewsContent {
+        .listNewsContentTop {
+            position: relative;
+            width: 450px;
+            height: 245px;
+            margin-bottom: 17px;
+            img {
+                display: block;
+                width: 450px;
+                height: 245px;
+            }
+            .listNewsContentTopTitle {
+                position: absolute;
+                font-size: 18px;
+                height: 44px;
+                line-height: 44px;
+                padding:0 10px;
+                box-sizing: border-box;
+                width: 100%;
+                overflow: hidden;
+                text-overflow: ellipsis;
+                white-space: nowrap;
+                bottom: 0;
+                color:#fff;
+                background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 33%, rgba(0, 0, 0, 0) 100%);
+            }
+        }
+        .listNewsContentBottom {
+            div{
+                height: 24px;
+                line-height: 24px;
+                margin-bottom: 20px;
+                font-size: 18px;
+                color: #333333;
+                overflow: hidden;
+                text-overflow: ellipsis;
+                white-space: nowrap;
+                a{
+                    color: #333333;
+                }
+                &:last-child {
+                    margin-bottom: 0;
+                }
+                &:first-child {
+                    font-weight: bold;
+                }
+            }
+        }
+    }
+}
 </style>

+ 140 - 3
components/template/component/list/450x440/4.vue

@@ -1,5 +1,50 @@
 <template>
-    44444
+    <div class="listNewsBox">
+        <div class="listNewsTitle" v-if="skinId==1">
+            <NuxtLink
+                v-if="titleLink.cid"
+                :href="getLinkPath(titleLink)"
+                :title="titleLink.alias"
+            >
+                {{titleLink.alias}}
+            </NuxtLink>
+        </div>
+        <div class="listNewsTitle_skin2" v-if="skinId==2">
+            <span>
+                <NuxtLink
+                    v-if="titleLink.cid"
+                    :href="getLinkPath(titleLink)"
+                    :title="titleLink.alias"
+                >
+                    {{titleLink.alias}}
+                </NuxtLink>
+            </span>
+        </div>
+        <div class="listNewsContent">
+            <div class="listNewsContentBottom">
+                <div v-for="item in component_style1_News2Array">
+                    <NuxtLink 
+                        :href="getLinkPathDetail(item)" 
+                        :title="item.title"
+                        :target="item.islink == 1 ? '_blank' : '_self'"
+                    >
+                        {{ item.title }}
+                    </NuxtLink>
+                </div>
+            </div>
+            <div class="listNewsContentTop">
+                <NuxtLink 
+                    :href="getLinkPathDetail(item)" 
+                    :title="item.title"
+                    :target="item.islink == 1 ? '_blank' : '_self'"
+                    v-for="item in component_style1_News1Array"
+                >
+                    <img :src="item.imgurl" />
+                    <div class="listNewsContentTopTitle">{{ item.title }}</div>
+                </NuxtLink>
+            </div>
+        </div>
+    </div>
 </template>
 
 <script setup>
@@ -11,9 +56,101 @@ const props = defineProps({
     templateData:Array,//新闻数据
     skinId:String,//皮肤id
 });
-
+const component_style1_News1Array = ref([]);
+const component_style1_News2Array = ref([]);
+component_style1_News1Array.value = props.templateData.img.slice(0,1);
+component_style1_News2Array.value = props.templateData.text.slice(0,3);
 </script>
 
 <style lang="less" scoped>
-
+.listNewsBox {
+    position: relative;
+    .listNewsTitle {
+        font-size:22px;
+        font-weight:bold;
+        height: 40px;
+        line-height: 40px;
+        border-bottom: 2px solid #004564;
+        color:#004564;
+        margin-bottom: 20px;
+        box-sizing: border-box;
+        a {
+            color:#004564;
+            display: block;
+            height: 25px;
+            line-height: 25px;
+        }
+    }
+    .listNewsTitle_skin2 {
+        font-size:22px;
+        font-weight:bold;
+        height: 40px;
+        line-height: 40px;
+        border-bottom: 2px solid #A91B33;
+        color:#A91B33;
+        margin-bottom: 20px;
+        box-sizing: border-box;
+        a {
+            color:#A91B33;
+            display: block;
+            height: 25px;
+            line-height: 25px;
+        }
+        span {
+            color:#A91B33;
+            height: 25px;
+            line-height: 25px;
+            border-left: 3px solid #A91B33;
+            padding-left: 12px;
+            display: block;
+        }
+    }
+    .listNewsContent {
+        .listNewsContentTop {
+            position: relative;
+            width: 450px;
+            height: 245px;
+            margin-top: 17px;
+            img {
+                display: block;
+                width: 450px;
+                height: 245px;
+            }
+            .listNewsContentTopTitle {
+                position: absolute;
+                font-size: 18px;
+                height: 44px;
+                line-height: 44px;
+                padding:0 10px;
+                box-sizing: border-box;
+                width: 100%;
+                bottom: 0;
+                color:#fff;
+                background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 33%, rgba(0, 0, 0, 0) 100%);
+            }
+        }
+        .listNewsContentBottom {
+            height: 112px;
+            div{
+                height: 24px;
+                line-height: 24px;
+                margin-bottom: 20px;
+                font-size: 18px;
+                color: #333333;
+                overflow: hidden;
+                text-overflow: ellipsis;
+                white-space: nowrap;
+                a {
+                    color: #333333;
+                }
+                &:last-child {
+                    margin-bottom: 0;
+                }
+                &:first-child {
+                    font-weight: bold;
+                }
+            }
+        }
+    }
+}
 </style>

+ 2 - 2
components/template/sector/body/list/1200x470/2.vue

@@ -25,7 +25,7 @@
                 </div>
             </div>
             <div class="manyPictureSectorRight">
-                <div v-if="templateData.componentList[1].component_style.toString()=='1'">
+                <div v-if="templateData.componentList[1].component_style.toString()=='2'">
                     <right1Style 
                         v-if="templateData.componentList[1].data.text.length > 0" 
                         :titleLink="componentTitle2" 
@@ -34,7 +34,7 @@
                     />
                     <nodata v-else :dataStyle="2" :dataWidth="450" :dataHeight="440" />
                 </div>
-                <div v-if="templateData.componentList[1].component_style.toString()=='2'">
+                <div v-if="templateData.componentList[1].component_style.toString()=='1'">
                     <right2Style 
                         v-if="templateData.componentList[1].data.text.length > 0" 
                         :titleLink="componentTitle2" 

+ 2 - 2
components/template/sector/foot/1200x580/1.vue

@@ -84,6 +84,6 @@ if(templateBaseStore.webSiteInfo.website_foot){
 }
 </script>
 <style lang="less" scoped>
-    @import '@/assets/css/public/footer.less';
-    @import '@/assets/css/public/kefu.less';
+    @import '@/assets/css/public/template/footer.less';
+    @import '@/assets/css/public/template/kefu.less';
 </style>

+ 1 - 1
components/template/sector/head/1200x200/1.vue

@@ -338,5 +338,5 @@ if(templateBaseStore.webAdList){
 </script>
 
 <style lang="less" scoped>
-@import url('@/assets/css/public/head.less');
+@import url('@/assets/css/public/template/head.less');
 </style>

+ 1 - 1
components/template/sector/menu/1200x130/1.vue

@@ -45,5 +45,5 @@ getNavigation();
 </script>
 
 <style lang="less" scoped>
-@import url('@/assets/css/public/nav.less');
+@import url('@/assets/css/public/template/nav.less');
 </style>

+ 52 - 11
pages/advertising/adDetail.vue

@@ -2,8 +2,12 @@
     <!-- 广告服务 -->
     <div>
         <!-- 广告页面头部 -->
-        <HomePageHead></HomePageHead>
-        <HomePageNavigation1></HomePageNavigation1>
+        <!-- <HomePageHead></HomePageHead>
+        <HomePageNavigation1></HomePageNavigation1> -->
+        <!-- 头部 -->
+        <templateHead></templateHead>
+        <!-- 菜单 -->
+        <templateMenu></templateMenu>
 
         <div class="adDetail">
             <div class="inner">
@@ -83,7 +87,8 @@
 
         </div>
         <!-- 广告页面底部 -->
-        <HomeFoot></HomeFoot>
+        <!-- <HomeFoot></HomeFoot> -->
+        <templateFoot></templateFoot>
     </div>
 </template>
 
@@ -183,14 +188,50 @@ onMounted(() => {
     getOrderstatus()
 })
 
-//seo
-useSeoMeta({
-    title: "广告服务" + "_" + "三农资讯网_全国政务信息一体化应用平台",
-    meta: [
-        { name: 'description', content: "三农资讯网以服务于党和国家各级职能部门三农政务资讯发布及政务公开信息公示为基点,为全国县级以上各级党政机关及其职能部门配置各自公开独立网络发布平台。主要频道有:三农政务资讯,农科资讯,农资购销,农产购销,农贸资讯,三农致富信息,农村文化生活,三农政策法规,三农之窗,三农调查,三农服务,三农知识,农民工,打假维权等。三农资讯网打造最具影响力的三农信息发布平台,并成为最具权威的三农资讯网。_三农资讯网-测试专用_全国政务信息一体化应用平台" , tagPriority: 10 },
-        { name: 'keywords', content: "三农资讯,农业,三农,三农在线,农业新闻,三农资讯网_三农资讯网-测试专用_全国政务信息一体化应用平台" , tagPriority: 10 }
-    ]
+//自助建站 start---------------------------------------->
+//1.获得自助建站头部底部
+import templateHead from '@/components/template/sector/head/1200x200/1.vue'
+import templateMenu from '@/components/template/sector/menu/1200x130/1.vue'
+import templateFoot from '@/components/template/sector/foot/1200x580/1.vue'
+//2.获得pinia源
+import { useTemplateBaseStore } from '@/stores/templateBase'
+const templateBaseStore = useTemplateBaseStore()
+//3.获得该页的皮肤id
+const skinId = ref("")
+//4.获得站点基本信息
+const responseStatus = await requestDataPromise('/web/getWebsiteAllinfo', {
+    method: 'GET',
+    query: {
+        'link_textnum':24,
+        'link_imgnum':18,
+        'link_footnum':4
+    },
 });
+if (responseStatus.code == 200) {
+    //4.1设置站点基本信息
+    templateBaseStore.setWebSiteInfo(responseStatus.data)
+    //4.2设置皮肤id
+    skinId.value = templateBaseStore.webSiteInfo.website_foot.foot_info.template_id;
+    //4.3设置seo
+    useSeoMeta({
+        title: "广告服务" + "_" + "三农资讯网_全国政务信息一体化应用平台",
+        meta: [
+            { name: 'description', content: "三农资讯网以服务于党和国家各级职能部门三农政务资讯发布及政务公开信息公示为基点,为全国县级以上各级党政机关及其职能部门配置各自公开独立网络发布平台。主要频道有:三农政务资讯,农科资讯,农资购销,农产购销,农贸资讯,三农致富信息,农村文化生活,三农政策法规,三农之窗,三农调查,三农服务,三农知识,农民工,打假维权等。三农资讯网打造最具影响力的三农信息发布平台,并成为最具权威的三农资讯网。_三农资讯网-测试专用_全国政务信息一体化应用平台" , tagPriority: 10 },
+            { name: 'keywords', content: "三农资讯,农业,三农,三农在线,农业新闻,三农资讯网_三农资讯网-测试专用_全国政务信息一体化应用平台" , tagPriority: 10 }
+        ]
+    });
+}
+//5.获得广告池
+const adData = ref([]);
+const adResponseStatus = await requestDataPromise('/web/getWebsiteAdvertisement', {
+    method: 'GET',
+    query: {},
+});
+if (adResponseStatus.code == 200) {
+    templateBaseStore.setAdList(adResponseStatus.data)
+    adData.value = adResponseStatus.data;
+}
+//自助建站 end---------------------------------------->
 </script>
 
 <style lang="less" scoped>
@@ -207,7 +248,7 @@ useSeoMeta({
             font-weight: 400;
             font-size: 20px;
             color: #333333;
-            margin: 40px 0;
+            margin: 0 0 40px 0;
         }
 
         .order {

+ 55 - 14
pages/advertising/index.vue

@@ -3,8 +3,12 @@
     <div>
         <!-- 广告页面头部 -->
         <!-- <AdvertisingHead></AdvertisingHead> -->
-        <HomePageHead></HomePageHead>
-        <HomePageNavigation1></HomePageNavigation1>
+        <!-- <HomePageHead></HomePageHead>
+        <HomePageNavigation1></HomePageNavigation1> -->
+        <!-- 头部 -->
+        <templateHead></templateHead>
+        <!-- 菜单 -->
+        <templateMenu></templateMenu>
 
         <div class="adtips">
             <div class="inner">
@@ -170,8 +174,8 @@
             </div>
         </div>
         <!-- 广告页面底部 -->
-        <HomeFoot></HomeFoot>
-
+        <!-- <HomeFoot></HomeFoot> -->
+        <templateFoot></templateFoot>
     </div>
 </template>
 
@@ -793,14 +797,50 @@ watch(ad, (newval) => {
     immediate: true
 })
 
-//seo
-useSeoMeta({
-    title: "广告服务" + "_" + "三农资讯网_全国政务信息一体化应用平台",
-    meta: [
-        { name: 'description', content: "三农资讯网以服务于党和国家各级职能部门三农政务资讯发布及政务公开信息公示为基点,为全国县级以上各级党政机关及其职能部门配置各自公开独立网络发布平台。主要频道有:三农政务资讯,农科资讯,农资购销,农产购销,农贸资讯,三农致富信息,农村文化生活,三农政策法规,三农之窗,三农调查,三农服务,三农知识,农民工,打假维权等。三农资讯网打造最具影响力的三农信息发布平台,并成为最具权威的三农资讯网。_三农资讯网-测试专用_全国政务信息一体化应用平台" , tagPriority: 10 },
-        { name: 'keywords', content: "三农资讯,农业,三农,三农在线,农业新闻,三农资讯网_三农资讯网-测试专用_全国政务信息一体化应用平台" , tagPriority: 10 }
-    ]
+//自助建站 start---------------------------------------->
+//1.获得自助建站头部底部
+import templateHead from '@/components/template/sector/head/1200x200/1.vue'
+import templateMenu from '@/components/template/sector/menu/1200x130/1.vue'
+import templateFoot from '@/components/template/sector/foot/1200x580/1.vue'
+//2.获得pinia源
+import { useTemplateBaseStore } from '@/stores/templateBase'
+const templateBaseStore = useTemplateBaseStore()
+//3.获得该页的皮肤id
+const skinId = ref("")
+//4.获得站点基本信息
+const responseStatus = await requestDataPromise('/web/getWebsiteAllinfo', {
+    method: 'GET',
+    query: {
+        'link_textnum':24,
+        'link_imgnum':18,
+        'link_footnum':4
+    },
 });
+if (responseStatus.code == 200) {
+    //4.1设置站点基本信息
+    templateBaseStore.setWebSiteInfo(responseStatus.data)
+    //4.2设置皮肤id
+    skinId.value = templateBaseStore.webSiteInfo.website_foot.foot_info.template_id;
+    //4.3设置seo
+    useSeoMeta({
+        title: "广告服务" + "_" + "三农资讯网_全国政务信息一体化应用平台",
+        meta: [
+            { name: 'description', content: "三农资讯网以服务于党和国家各级职能部门三农政务资讯发布及政务公开信息公示为基点,为全国县级以上各级党政机关及其职能部门配置各自公开独立网络发布平台。主要频道有:三农政务资讯,农科资讯,农资购销,农产购销,农贸资讯,三农致富信息,农村文化生活,三农政策法规,三农之窗,三农调查,三农服务,三农知识,农民工,打假维权等。三农资讯网打造最具影响力的三农信息发布平台,并成为最具权威的三农资讯网。_三农资讯网-测试专用_全国政务信息一体化应用平台" , tagPriority: 10 },
+            { name: 'keywords', content: "三农资讯,农业,三农,三农在线,农业新闻,三农资讯网_三农资讯网-测试专用_全国政务信息一体化应用平台" , tagPriority: 10 }
+        ]
+    });
+}
+//5.获得广告池
+const adData = ref([]);
+const adResponseStatus = await requestDataPromise('/web/getWebsiteAdvertisement', {
+    method: 'GET',
+    query: {},
+});
+if (adResponseStatus.code == 200) {
+    templateBaseStore.setAdList(adResponseStatus.data)
+    adData.value = adResponseStatus.data;
+}
+//自助建站 end---------------------------------------->
 </script>
 
 <style lang="less" scoped>
@@ -927,13 +967,13 @@ useSeoMeta({
 //提示信息
 .adtips {
     width: 100%;
-    height: 70px;
-    line-height: 70px;
+    height: 40px;
+    //line-height: 70px;
     border-bottom: 1px solid rgba(0, 0, 0, 0.1);
 
     .inner {
         width: 1200px;
-        height: 70px;
+        height: 40px;
     }
 
     p {
@@ -1630,6 +1670,7 @@ useSeoMeta({
         padding: 0px 30px;
         margin: 0 auto;
         box-sizing: border-box;
+        margin-bottom: 30px;
         // display: none;
 
         .inner {

+ 60 - 16
pages/topic/[id].vue

@@ -1,8 +1,12 @@
 <template>
     <div>
         <!-- 页面头部 -->
-        <HomePageHead></HomePageHead>
-        <HomePageNavigation1></HomePageNavigation1>
+        <!-- <HomePageHead></HomePageHead>
+        <HomePageNavigation1></HomePageNavigation1> -->
+        <!-- 头部 -->
+        <templateHead></templateHead>
+        <!-- 菜单 -->
+        <templateMenu></templateMenu>
 
         <!-- 商圈详情 -->
         <div class="topicInfoBox">
@@ -56,7 +60,7 @@
                         <div class="left">
                             <img v-if='item.avatar' :src="item.avatar" alt="" >
                             <img v-else src='http://img.bjzxtw.org.cn/master/bjzxtw/public/topic/Rectangle.png' alt="">
-                            <span class="name">{{ item.author }} : </span>
+                            <span class="name">{{ item.nickname }} : </span>
                             
                         </div>
                         <div class="center">
@@ -90,8 +94,8 @@
             </div>
         </div>
         <!-- 页面底部 -->
-        <HomeFoot></HomeFoot>
-
+        <!-- <HomeFoot></HomeFoot> -->
+        <templateFoot></templateFoot>
     </div>
 </template>
 
@@ -281,14 +285,51 @@ const addReply = () => {
 }
 
 //3.获取商圈详情 end ---------------------------------------->
-//seo
-useSeoMeta({
-    title: "商圈" + "_" + "三农资讯网_全国政务信息一体化应用平台",
-    meta: [
-        { name: 'description', content: "三农资讯网以服务于党和国家各级职能部门三农政务资讯发布及政务公开信息公示为基点,为全国县级以上各级党政机关及其职能部门配置各自公开独立网络发布平台。主要频道有:三农政务资讯,农科资讯,农资购销,农产购销,农贸资讯,三农致富信息,农村文化生活,三农政策法规,三农之窗,三农调查,三农服务,三农知识,农民工,打假维权等。三农资讯网打造最具影响力的三农信息发布平台,并成为最具权威的三农资讯网。_三农资讯网-测试专用_全国政务信息一体化应用平台" , tagPriority: 10 },
-        { name: 'keywords', content: "三农资讯,农业,三农,三农在线,农业新闻,三农资讯网_三农资讯网-测试专用_全国政务信息一体化应用平台" , tagPriority: 10 }
-    ]
+
+//自助建站 start---------------------------------------->
+//1.获得自助建站头部底部
+import templateHead from '@/components/template/sector/head/1200x200/1.vue'
+import templateMenu from '@/components/template/sector/menu/1200x130/1.vue'
+import templateFoot from '@/components/template/sector/foot/1200x580/1.vue'
+//2.获得pinia源
+import { useTemplateBaseStore } from '@/stores/templateBase'
+const templateBaseStore = useTemplateBaseStore()
+//3.获得该页的皮肤id
+const skinId = ref("")
+//4.获得站点基本信息
+const responseStatus = await requestDataPromise('/web/getWebsiteAllinfo', {
+    method: 'GET',
+    query: {
+        'link_textnum':24,
+        'link_imgnum':18,
+        'link_footnum':4
+    },
 });
+if (responseStatus.code == 200) {
+    //4.1设置站点基本信息
+    templateBaseStore.setWebSiteInfo(responseStatus.data)
+    //4.2设置皮肤id
+    skinId.value = templateBaseStore.webSiteInfo.website_foot.foot_info.template_id;
+    //4.3设置seo
+    useSeoMeta({
+        title: "商圈" + "_" + "三农资讯网_全国政务信息一体化应用平台",
+        meta: [
+            { name: 'description', content: "三农资讯网以服务于党和国家各级职能部门三农政务资讯发布及政务公开信息公示为基点,为全国县级以上各级党政机关及其职能部门配置各自公开独立网络发布平台。主要频道有:三农政务资讯,农科资讯,农资购销,农产购销,农贸资讯,三农致富信息,农村文化生活,三农政策法规,三农之窗,三农调查,三农服务,三农知识,农民工,打假维权等。三农资讯网打造最具影响力的三农信息发布平台,并成为最具权威的三农资讯网。_三农资讯网-测试专用_全国政务信息一体化应用平台" , tagPriority: 10 },
+            { name: 'keywords', content: "三农资讯,农业,三农,三农在线,农业新闻,三农资讯网_三农资讯网-测试专用_全国政务信息一体化应用平台" , tagPriority: 10 }
+        ]
+    });
+}
+//5.获得广告池
+const adData = ref([]);
+const adResponseStatus = await requestDataPromise('/web/getWebsiteAdvertisement', {
+    method: 'GET',
+    query: {},
+});
+if (adResponseStatus.code == 200) {
+    templateBaseStore.setAdList(adResponseStatus.data)
+    adData.value = adResponseStatus.data;
+}
+//自助建站 end---------------------------------------->
 </script>
 
 <style lang="less" scoped>
@@ -300,8 +341,8 @@ useSeoMeta({
 
         //信息头部
         .infoHead {
-            height: 200px;
-            padding: 65px 0 60px 40px;
+            height: 175px;
+            padding: 30px 0 60px 40px;
             border-bottom: 1px solid rgba(0, 0, 0, 0.10);
             box-sizing: border-box;
 
@@ -508,7 +549,7 @@ useSeoMeta({
                         // float: left;
                         height: 52px;
                         line-height: 22px;
-                        padding-top: 10px;
+                        padding-top: 14px;
                     }
 
                     .name {
@@ -543,10 +584,12 @@ useSeoMeta({
                         font-weight: bold;
                         font-size: 16px;
                         color: #333333;
+                        padding-top: 14px;
                     }
                 }
 
                 .right {
+                    padding-top: 12px;
                     .time {
                         display: block;
                         width: 200px;
@@ -598,6 +641,7 @@ useSeoMeta({
     height: 145px;
     line-height: 145px;
     background-color: #ecf5ee;
+    margin-bottom: 30px;
 
     .inner {
         .messageInput {
@@ -634,7 +678,7 @@ useSeoMeta({
     display: flex;
     justify-content: center;
     margin-top: 60px;
-    margin-bottom: 90px;
+    margin-bottom: 60px;
 
     // 鼠标移入后字体颜色
     :deep(.el-pagination:hover) {

+ 55 - 14
pages/topic/index.vue

@@ -1,8 +1,12 @@
 <template>
     <div>
         <!-- 页面头部 -->
-        <HomePageHead></HomePageHead>
-        <HomePageNavigation1></HomePageNavigation1>
+        <!-- <HomePageHead></HomePageHead>
+        <HomePageNavigation1></HomePageNavigation1> -->
+        <!-- 头部 -->
+        <templateHead></templateHead>
+        <!-- 菜单 -->
+        <templateMenu></templateMenu>
 
         <div class="topicBox">
             <div class="inner">
@@ -87,8 +91,8 @@
             </div>
         </div>
         <!-- 页面底部 -->
-        <HomeFoot></HomeFoot>
-
+        <!-- <HomeFoot></HomeFoot> -->
+        <templateFoot></templateFoot>
     </div>
 </template>
 
@@ -206,14 +210,50 @@ onMounted(() => {
 
 //5.获取分类和状态 end ---------------------------------------->
 
-//seo
-useSeoMeta({
-    title: "商圈" + "_" + "三农资讯网_全国政务信息一体化应用平台",
-    meta: [
-        { name: 'description', content: "三农资讯网以服务于党和国家各级职能部门三农政务资讯发布及政务公开信息公示为基点,为全国县级以上各级党政机关及其职能部门配置各自公开独立网络发布平台。主要频道有:三农政务资讯,农科资讯,农资购销,农产购销,农贸资讯,三农致富信息,农村文化生活,三农政策法规,三农之窗,三农调查,三农服务,三农知识,农民工,打假维权等。三农资讯网打造最具影响力的三农信息发布平台,并成为最具权威的三农资讯网。_三农资讯网-测试专用_全国政务信息一体化应用平台" , tagPriority: 10 },
-        { name: 'keywords', content: "三农资讯,农业,三农,三农在线,农业新闻,三农资讯网_三农资讯网-测试专用_全国政务信息一体化应用平台" , tagPriority: 10 }
-    ]
+//自助建站 start---------------------------------------->
+//1.获得自助建站头部底部
+import templateHead from '@/components/template/sector/head/1200x200/1.vue'
+import templateMenu from '@/components/template/sector/menu/1200x130/1.vue'
+import templateFoot from '@/components/template/sector/foot/1200x580/1.vue'
+//2.获得pinia源
+import { useTemplateBaseStore } from '@/stores/templateBase'
+const templateBaseStore = useTemplateBaseStore()
+//3.获得该页的皮肤id
+const skinId = ref("")
+//4.获得站点基本信息
+const responseStatus = await requestDataPromise('/web/getWebsiteAllinfo', {
+    method: 'GET',
+    query: {
+        'link_textnum':24,
+        'link_imgnum':18,
+        'link_footnum':4
+    },
+});
+if (responseStatus.code == 200) {
+    //4.1设置站点基本信息
+    templateBaseStore.setWebSiteInfo(responseStatus.data)
+    //4.2设置皮肤id
+    skinId.value = templateBaseStore.webSiteInfo.website_foot.foot_info.template_id;
+    //4.3设置seo
+    useSeoMeta({
+        title: "商圈" + "_" + "三农资讯网_全国政务信息一体化应用平台",
+        meta: [
+            { name: 'description', content: "三农资讯网以服务于党和国家各级职能部门三农政务资讯发布及政务公开信息公示为基点,为全国县级以上各级党政机关及其职能部门配置各自公开独立网络发布平台。主要频道有:三农政务资讯,农科资讯,农资购销,农产购销,农贸资讯,三农致富信息,农村文化生活,三农政策法规,三农之窗,三农调查,三农服务,三农知识,农民工,打假维权等。三农资讯网打造最具影响力的三农信息发布平台,并成为最具权威的三农资讯网。_三农资讯网-测试专用_全国政务信息一体化应用平台" , tagPriority: 10 },
+            { name: 'keywords', content: "三农资讯,农业,三农,三农在线,农业新闻,三农资讯网_三农资讯网-测试专用_全国政务信息一体化应用平台" , tagPriority: 10 }
+        ]
+    });
+}
+//5.获得广告池
+const adData = ref([]);
+const adResponseStatus = await requestDataPromise('/web/getWebsiteAdvertisement', {
+    method: 'GET',
+    query: {},
 });
+if (adResponseStatus.code == 200) {
+    templateBaseStore.setAdList(adResponseStatus.data)
+    adData.value = adResponseStatus.data;
+}
+//自助建站 end---------------------------------------->
 </script>
 
 <style lang="less" scoped>
@@ -239,7 +279,7 @@ useSeoMeta({
         :deep(.el-tabs__item) {
             padding: 0 100px 0 20px;
             font-size: 16px;
-            height: 60px;
+            //height: 60px;
         }
 
         :deep(.el-tabs__item.is-active),
@@ -253,7 +293,8 @@ useSeoMeta({
         }
 
         :deep(.el-tabs__nav) {
-            height: 60px;
+           // height: 60px;
+           height: 54px;
         }
 
         .adEmpty {
@@ -386,7 +427,7 @@ useSeoMeta({
     display: flex;
     justify-content: center;
     margin-top: 60px;
-    margin-bottom: 90px;
+    margin-bottom: 60px;
 
     // 鼠标移入后字体颜色
     :deep(.el-pagination:hover) {

+ 0 - 34
plugins/category.ts

@@ -1,34 +0,0 @@
-
-//master 环境
-const navMaster: number[] = [
-    372,
-    499,
-    377,
-    375,
-    373,
-    432,
-    431,
-    374,
-    433,
-    748
-]
-
-const navPre: number[] = [
-    372,
-    328,
-    377,
-    375,
-    373,
-    426,
-    425,
-    374,
-    427,
-    491
-]
-
-export default defineNuxtPlugin((nuxtApp) => {
-    //master 环境
-    nuxtApp.provide('pageNav', navMaster)
-    //pre 环境
-    // nuxtApp.provide('pageNav', navPre)
-})

+ 0 - 14
plugins/element-plus.js

@@ -1,17 +1,3 @@
-// import { defineNuxtPlugin } from '#app';
-// import ElementPlus from 'element - plus';
-// import 'element - plus/dist/index.css';
-// // 如果安装了图标相关插件,还需导入并注册图标
-// import * as ElementPlusIconsVue from '@element - plus/icons - vue';
-
-// export default defineNuxtPlugin((nuxtApp) => {
-//   nuxtApp.vueApp.use(ElementPlus);
-//   // 注册图标
-//   for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
-//     nuxtApp.vueApp.component(key, component);
-//   }
-// });
-
 export default defineNuxtPlugin(() => {
     
 })

+ 1 - 1
plugins/globals.js → plugins/globals.sever.js

@@ -2,7 +2,7 @@ export default defineNuxtPlugin((nuxtApp) => {
     let currentDomain = '';
     const url = useRequestURL();
     currentDomain = url.origin;
-    console.log("当前运行的域名:" + currentDomain)
+    //console.log("当前运行的域名:" + currentDomain)
     
     //农民网Pre环境
     nuxtApp.provide('webUrl', 'http://apipre1.bjzxtw.org.cn:29501')

+ 8 - 4
plugins/request.js

@@ -3,14 +3,18 @@ import axios from 'axios'
 import { getToken } from '@/store/useCookieStore'
 
 export default defineNuxtPlugin(nuxtApp => {
+    //获取当前域名
+    let currentDomain = '';
+    const url = useRequestURL();
+    currentDomain = url.host;
 
     let Url = {
         //正式环境
-        webUrl: 'https://flzxw.bjzxtw.org.cn', //接口地址
-        CwebUrl: 'nw.nmwwt.org/' //页面地址
+        //webUrl: 'https://flzxw.bjzxtw.org.cn', //接口地址
+        //CwebUrl: 'nw.nmwwt.org' //页面地址
         //pre环境
-        // webUrl: 'http://apipre1.bjzxtw.org.cn:29501', //pre接口地址
-        // CwebUrl: 'pre.nmwwt.org' //页面地址
+        webUrl: 'http://apipre1.bjzxtw.org.cn:29501', //pre接口地址
+        CwebUrl: currentDomain //页面地址
     }
 
     const service = axios.create({