Browse Source

给模块增加固定高度及404报错

Jing 3 days ago
parent
commit
0bd6653746

File diff suppressed because it is too large
+ 979 - 0
.nuxt/dev/index.mjs


File diff suppressed because it is too large
+ 0 - 0
.nuxt/dev/index.mjs.map


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

@@ -33,4 +33,5 @@ export { getTime, getTitleLength } from '../composables/publicFunction';
 export { seoSetup } from '../composables/useSeo';
 export { default as proxy } from '../utils/proxy';
 export { apiUse, asyncFetchData, fGET, fPOST, fPUT, fDELETE, GET, POST, PUT, DELETE } from '../utils/request';
+export { useNuxtDevTools } from '../node_modules/@nuxt/devtools/dist/runtime/use-nuxt-devtools';
 export { definePageMeta } from '../node_modules/nuxt/dist/pages/runtime/composables';

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

@@ -1 +1 @@
-{"id":"3f5886b9-b896-4b96-9d37-367c3e311899","timestamp":1744780237438}
+{"id":"dev","timestamp":1744786179351}

+ 1 - 0
.nuxt/manifest/meta/3da06639-e7c9-4f59-a473-c5e63392edf2.json

@@ -0,0 +1 @@
+{"id":"3da06639-e7c9-4f59-a473-c5e63392edf2","timestamp":1744786052324,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}

+ 0 - 1
.nuxt/manifest/meta/3f5886b9-b896-4b96-9d37-367c3e311899.json

@@ -1 +0,0 @@
-{"id":"3f5886b9-b896-4b96-9d37-367c3e311899","timestamp":1744780237438,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}

+ 1 - 0
.nuxt/manifest/meta/dev.json

@@ -0,0 +1 @@
+{"id":"dev","timestamp":1744786179351,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}

+ 17 - 0
.nuxt/nitro.json

@@ -0,0 +1,17 @@
+{
+  "date": "2025-04-16T06:49:42.209Z",
+  "preset": "nitro-dev",
+  "framework": {
+    "name": "nuxt",
+    "version": "3.15.2"
+  },
+  "versions": {
+    "nitro": "2.10.4"
+  },
+  "dev": {
+    "pid": 24296,
+    "workerAddress": {
+      "socketPath": "\\\\.\\pipe\\nitro\\worker-24296-1.sock"
+    }
+  }
+}

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

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

+ 9 - 0
.nuxt/nuxt.json

@@ -0,0 +1,9 @@
+{
+  "_hash": "nOcZiyvxdB",
+  "project": {
+    "rootDir": "D:/01_AA_ssr_master/sannongzixunwang_web"
+  },
+  "versions": {
+    "nuxt": "3.15.2"
+  }
+}

+ 1 - 1
.nuxt/tsconfig.json

@@ -102,7 +102,7 @@
         "./imports"
       ],
       "#app-manifest": [
-        "./manifest/meta/3f5886b9-b896-4b96-9d37-367c3e311899.json"
+        "./manifest/meta/dev.json"
       ],
       "#components": [
         "./components"

+ 1 - 0
.nuxt/types/build.d.ts

@@ -11,6 +11,7 @@ declare module "#build/paths.mjs";
 declare module "#build/root-component.mjs";
 declare module "#build/plugins.server.mjs";
 declare module "#build/test-component-wrapper.mjs";
+declare module "#build/devtools/settings.mjs";
 declare module "#build/routes.mjs";
 declare module "#build/pages.mjs";
 declare module "#build/router.options.mjs";

+ 2 - 0
.nuxt/types/imports.d.ts

@@ -130,6 +130,7 @@ declare global {
   const useModel: typeof import('vue')['useModel']
   const useNuxtApp: typeof import('../../node_modules/nuxt/dist/app/nuxt')['useNuxtApp']
   const useNuxtData: typeof import('../../node_modules/nuxt/dist/app/composables/asyncData')['useNuxtData']
+  const useNuxtDevTools: typeof import('../../node_modules/@nuxt/devtools/dist/runtime/use-nuxt-devtools')['useNuxtDevTools']
   const usePreviewMode: typeof import('../../node_modules/nuxt/dist/app/composables/preview')['usePreviewMode']
   const useRequestEvent: typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['useRequestEvent']
   const useRequestFetch: typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['useRequestFetch']
@@ -325,6 +326,7 @@ declare module 'vue' {
     readonly useModel: UnwrapRef<typeof import('vue')['useModel']>
     readonly useNuxtApp: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/nuxt')['useNuxtApp']>
     readonly useNuxtData: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/asyncData')['useNuxtData']>
+    readonly useNuxtDevTools: UnwrapRef<typeof import('../../node_modules/@nuxt/devtools/dist/runtime/use-nuxt-devtools')['useNuxtDevTools']>
     readonly usePreviewMode: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/preview')['usePreviewMode']>
     readonly useRequestEvent: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['useRequestEvent']>
     readonly useRequestFetch: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['useRequestFetch']>

+ 7 - 2
.nuxt/types/plugins.d.ts

@@ -9,12 +9,17 @@ type NuxtAppInjections =
   InjectionType<typeof import("../../node_modules/nuxt/dist/app/plugins/revive-payload.client.js")> &
   InjectionType<typeof import("../../node_modules/nuxt/dist/head/runtime/plugins/unhead.js")> &
   InjectionType<typeof import("../../node_modules/nuxt/dist/pages/runtime/plugins/router.js")> &
-  InjectionType<typeof import("../../node_modules/nuxt/dist/app/plugins/payload.client.js")> &
+  InjectionType<typeof import("../../node_modules/nuxt/dist/app/plugins/browser-devtools-timing.client.js")> &
   InjectionType<typeof import("../../node_modules/nuxt/dist/app/plugins/navigation-repaint.client.js")> &
   InjectionType<typeof import("../../node_modules/nuxt/dist/app/plugins/check-outdated-build.client.js")> &
   InjectionType<typeof import("../../node_modules/nuxt/dist/app/plugins/revive-payload.server.js")> &
   InjectionType<typeof import("../../node_modules/nuxt/dist/app/plugins/chunk-reload.client.js")> &
   InjectionType<typeof import("../../node_modules/nuxt/dist/pages/runtime/plugins/prefetch.client.js")> &
+  InjectionType<typeof import("../../node_modules/nuxt/dist/pages/runtime/plugins/check-if-page-unused.js")> &
+  InjectionType<typeof import("../../node_modules/@nuxt/devtools/dist/runtime/plugins/devtools.server.js")> &
+  InjectionType<typeof import("../../node_modules/@nuxt/devtools/dist/runtime/plugins/devtools.client.js")> &
+  InjectionType<typeof import("../../node_modules/nuxt/dist/app/plugins/dev-server-logs.js")> &
+  InjectionType<typeof import("../../node_modules/nuxt/dist/app/plugins/check-if-layout-used.js")> &
   InjectionType<typeof import("../../plugins/element-plus.js")> &
   InjectionType<typeof import("../../plugins/request.js")> &
   InjectionType<typeof import("../../plugins/globals.js")> &
@@ -24,7 +29,7 @@ declare module '#app' {
   interface NuxtApp extends NuxtAppInjections { }
 
   interface NuxtAppLiterals {
-    pluginName: 'nuxt:revive-payload:client' | 'nuxt:head' | 'nuxt:router' | 'nuxt:payload' | 'nuxt:revive-payload:server' | 'nuxt:chunk-reload' | 'nuxt:global-components' | 'nuxt:prefetch'
+    pluginName: 'nuxt:revive-payload:client' | 'nuxt:head' | 'nuxt:router' | 'nuxt:browser-devtools-timing' | 'nuxt:revive-payload:server' | 'nuxt:chunk-reload' | 'nuxt:global-components' | 'nuxt:prefetch' | 'nuxt:checkIfPageUnused' | 'nuxt:checkIfLayoutUsed'
   }
 }
 

BIN
.output.zip


File diff suppressed because it is too large
+ 188 - 32
assets/css/index.less


+ 1 - 1
components/home/BigTitle_List.vue

@@ -1,5 +1,5 @@
 <template>
-    <div class="list">
+    <div class="list" v-if="headlinelist1">
         <div class="inner">
             <ul>
                 <li v-for="item in headlinelist1" class="left">

+ 24 - 17
components/home/PageMessage.vue

@@ -1,25 +1,27 @@
 <template>
     <div class="message">
         <div class="inner">
-            <div class="bigTitle" v-if="headlinelist.length > 0">
+            <div class="bigTitle" v-if="headlinelist">
                 <div class="inner" v-for="(item, index) in headlinelist" :key="index">
                     <img src="http://img.bjzxtw.org.cn/master/bjzxtw/public/head/mainTitleicon.png" alt="" class="left">
-                    <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
+                    <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
+                        :target="item.islink == 1 ? '_blank' : '_self'">
                         <h1 class="left">{{ item.title }}</h1>
                     </NuxtLink>
                 </div>
             </div>
-            <HomeBigTitleList :headlinelist1="headlinelist1"></HomeBigTitleList>
+            <HomeBigTitleList :headlinelist1="headlinelist1" v-if="headlinelist1"></HomeBigTitleList>
             <div class="messageLeft">
                 <HomeBigSwiper></HomeBigSwiper>
             </div>
-            <div class="messageRight">
+            <div class="messageRight" v-if="hotNewsList">
                 <div class="hotTop">
                     <h3>今日热点</h3>
                     <ul>
                         <li v-for="(item, index) in hotNewsList" :key="index">
                             <strong>{{ index + 1 }}</strong>
-                            <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
+                            <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
+                                :target="item.islink == 1 ? '_blank' : '_self'">
                                 {{ item.title }}
                             </NuxtLink>
                         </li>
@@ -53,25 +55,27 @@ const headlinelist = ref([])
 const headlinelist1 = ref([])
 
 async function getModelData1() {
-    const mkdata =  await requestDataPromise('/web/getWebsiteArticlett', {
+    const mkdata = await requestDataPromise('/web/getWebsiteArticlett', {
         method: 'GET',
         query: {
             'pageSize': 3,
             'level': 1,
             'placeid': 0,
-            'id':''
+            'id': ''
         },
     });
-    if(mkdata.code == 200){
+    if (mkdata.code == 200) {
         //填充大标题
         headlinelist.value.push(mkdata.data[0])
         //剩余的两条放到大标题下面
-        headlinelist1.value.push(mkdata.data[1])
-        headlinelist1.value.push(mkdata.data[2])
-    }else{
+        if (mkdata.data[1]) {
+            headlinelist1.value.push(mkdata.data[1])
+            headlinelist1.value.push(mkdata.data[2])
+        }
+    } else {
         console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
         console.log("错误位置:设置大标题")
-        console.log("后端错误反馈:",mkdata.message)
+        console.log("后端错误反馈:", mkdata.message)
         console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
     }
 }
@@ -79,21 +83,21 @@ getModelData1()
 
 const hotNewsList = ref("")
 async function getModelData3() {
-    const mkdata =  await requestDataPromise('/web/getWebsiteArticlett', {
+    const mkdata = await requestDataPromise('/web/getWebsiteArticlett', {
         method: 'GET',
         query: {
             'pageSize': 8,
             'level': 6,
             'placeid': 0,
-            'id':''
+            'id': ''
         },
     });
-    if(mkdata.code == 200){
+    if (mkdata.code == 200) {
         hotNewsList.value = mkdata.data;
-    }else{
+    } else {
         console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
         console.log("错误位置:获取首页今日热点")
-        console.log("后端错误反馈:",mkdata.message)
+        console.log("后端错误反馈:", mkdata.message)
         console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
     }
 }
@@ -150,6 +154,7 @@ getModelData3()
     .messageLeft {
         width: 720px;
         height: 440px;
+
         // 轮播图
         >img {
             width: 790px;
@@ -315,9 +320,11 @@ getModelData3()
                 }
             }
         }
+
         .hotTop {
             width: 450px;
         }
+
         .suggest {
             margin-top: 32px;
         }

+ 92 - 64
components/home/Slider.vue

@@ -2,66 +2,65 @@
     <div class="slider" v-if="message">
         <div class="scienceTitle" v-if="message">
             <h5 v-if="message.cid">
-                <NuxtLink
-                    v-if="message.cid"
-                    :href="getLinkPath(message)"
-                    class="active"
-                    :title="message.alias"
-                >
-                    {{message.title}}
+                <NuxtLink v-if="message.cid" :href="getLinkPath(message)" class="active" :title="message.alias">
+                    {{ message.title }}
                 </NuxtLink>
             </h5>
-            <NuxtLink
-                v-if="message.cid"
-                :href="getLinkPath(message)"
-                :title="message.alias"
-            >
+            <NuxtLink v-if="message.cid" :href="getLinkPath(message)" :title="message.alias">
                 查看更多
             </NuxtLink>
         </div>
         <!-- 标题下内容列表 -->
         <div class="box">
             <div class="boxcontent">
-                <div class="boxleft" v-if="boxData1.length > 0">
-                    <div class="boxBigImg">
-                        <NuxtLink :href="getLinkPathDetail(boxData1[0])" :title="boxData1[0].title" :target="boxData1[0].islink == 1 ? '_blank' : '_self'">
-                            <img :src="boxData1[0].imgurl" :alt="boxData1[0].title">
-                            <div>
-                                <p><span>专题</span>{{ boxData1[0].title }}</p>
-                            </div>
-                        </NuxtLink>
-                    </div>
-                    <div class="boxMainImg">
-                        <NuxtLink :href="getLinkPathDetail(boxData1[1])" :title="boxData1[1].title" :target="boxData1[1].islink == 1 ? '_blank' : '_self'">
-                            <img :src="boxData1[1].imgurl" :alt="boxData1[1].title">
-                            <div>
-                                <p>{{boxData1[1].title}}</p>
-                            </div>
-                        </NuxtLink>
-                        <NuxtLink :href="getLinkPathDetail(boxData1[2])" :title="boxData1[2].title" :target="boxData1[2].islink == 1 ? '_blank' : '_self'">
-                            <img :src="boxData1[2].imgurl" :alt="boxData1[2].title">
-                            <div>
-                                <p>{{boxData1[2].title}}</p>
-                            </div>
-                        </NuxtLink>
-                    </div>
-                    <div class="boxBigImg">
-                        <NuxtLink :href="getLinkPathDetail(boxData1[3])" :title="boxData1[3].title" :target="boxData1[3].islink == 1 ? '_blank' : '_self'">
-                            <img :src="boxData1[3].imgurl" :alt="boxData1[3].title">
-                            <div>
-                                <p>{{boxData1[3].title}}</p>
-                            </div>
-                        </NuxtLink>
+                <div class="boxcontentleft">
+                    <div class="boxleft" v-if="boxData1.length > 0">
+                        <div class="boxBigImg" v-if="boxData1[0]">
+                            <NuxtLink :href="getLinkPathDetail(boxData1[0])" :title="boxData1[0].title"
+                                :target="boxData1[0].islink == 1 ? '_blank' : '_self'">
+                                <img :src="boxData1[0].imgurl" :alt="boxData1[0].title">
+                                <div>
+                                    <p><span>专题</span>{{ boxData1[0].title }}</p>
+                                </div>
+                            </NuxtLink>
+                        </div>
+                        <div class="boxMainImg">
+                            <NuxtLink :href="getLinkPathDetail(boxData1[1])" :title="boxData1[1].title"
+                                :target="boxData1[1].islink == 1 ? '_blank' : '_self'">
+                                <img :src="boxData1[1].imgurl" :alt="boxData1[1].title">
+                                <div>
+                                    <p>{{ boxData1[1].title }}</p>
+                                </div>
+                            </NuxtLink>
+                            <NuxtLink :href="getLinkPathDetail(boxData1[2])" :title="boxData1[2].title"
+                                :target="boxData1[2].islink == 1 ? '_blank' : '_self'">
+                                <img :src="boxData1[2].imgurl" :alt="boxData1[2].title">
+                                <div>
+                                    <p>{{ boxData1[2].title }}</p>
+                                </div>
+                            </NuxtLink>
+                        </div>
+                        <div class="boxBigImg">
+                            <NuxtLink :href="getLinkPathDetail(boxData1[3])" :title="boxData1[3].title"
+                                :target="boxData1[3].islink == 1 ? '_blank' : '_self'">
+                                <img :src="boxData1[3].imgurl" :alt="boxData1[3].title">
+                                <div>
+                                    <p>{{ boxData1[3].title }}</p>
+                                </div>
+                            </NuxtLink>
+                        </div>
                     </div>
                 </div>
+
                 <div class="boxright">
-                   <ul>
+                    <ul>
                         <li v-for="item in boxData2">
-                            <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
-                                <p class="title">{{item.title}}</p>
+                            <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
+                                :target="item.islink == 1 ? '_blank' : '_self'">
+                                <p class="title">{{ item.title }}</p>
                             </NuxtLink>
                         </li>
-                   </ul>
+                    </ul>
                 </div>
             </div>
         </div>
@@ -101,6 +100,7 @@ const getLinkPathDetail = (item) => {
 .slider {
     width: 720px;
 }
+
 // 标题
 .scienceTitle {
     height: 50px;
@@ -126,6 +126,7 @@ const getLinkPathDetail = (item) => {
 
         height: 50px;
         line-height: 50px;
+
         a {
             font-size: 22px;
             color: #139602;
@@ -195,40 +196,55 @@ const getLinkPathDetail = (item) => {
         }
     }
 }
+
 .box {
     width: 720px;
     height: 662px;
     position: relative;
     overflow: hidden;
+
     .boxcontent {
         display: flex;
         justify-content: space-between;
         padding-top: 30px;
+
+        .boxcontentleft {
+            width: 349px;
+            height: 632px;
+            position: relative;
+        }
+
         .boxleft {
             width: 349px;
+            height: 632px;
+            position: relative;
         }
     }
+
     .boxMainImg {
         display: flex;
         justify-content: space-between;
         margin-bottom: 15px;
-        
+
         a {
             position: relative;
             width: 170px;
             height: 115px;
             display: block;
+
             img {
                 width: 170px;
                 height: 115px;
                 border-radius: 4px;
                 border-radius: 6px;
             }
+
             div {
                 position: absolute;
                 bottom: 0;
-                left: 7px;  
+                left: 7px;
                 z-index: 99;
+
                 p {
                     display: -webkit-box;
                     -webkit-box-orient: vertical;
@@ -240,8 +256,9 @@ const getLinkPathDetail = (item) => {
                     height: 23px;
                     color: #fff;
                 }
+
                 span {
-                    display:block;
+                    display: block;
                     height: 20px;
                     line-height: 20px;
                     text-align: left;
@@ -250,26 +267,30 @@ const getLinkPathDetail = (item) => {
             }
         }
     }
+
     .boxBigImg {
         margin-bottom: 15px;
-        
+
         a {
             position: relative;
             width: 349px;
             height: 236px;
             border-radius: 6px;
             display: block;
+
             img {
                 width: 349px;
                 height: 236px;
                 border-radius: 6px;
             }
+
             div {
                 position: absolute;
                 bottom: 7px;
-                left: 20px;  
+                left: 20px;
                 z-index: 99;
-                p{
+
+                p {
                     display: -webkit-box;
                     -webkit-box-orient: vertical;
                     -webkit-line-clamp: 2;
@@ -281,6 +302,7 @@ const getLinkPathDetail = (item) => {
                     color: #fff;
                     font-size: 16px;
                     margin-bottom: 5px;
+
                     span {
                         display: inline-block;
                         background: #9CD26B;
@@ -291,8 +313,9 @@ const getLinkPathDetail = (item) => {
                         margin-right: 5px;
                     }
                 }
+
                 span {
-                    display:block;
+                    display: block;
                     height: 20px;
                     line-height: 20px;
                     text-align: left;
@@ -397,6 +420,8 @@ const getLinkPathDetail = (item) => {
 }
 
 .boxright {
+    position: relative;
+
     ul {
         li {
             width: 349px;
@@ -404,6 +429,7 @@ const getLinkPathDetail = (item) => {
             border-bottom: 1px solid #E6E6E6;
             margin-bottom: 21px;
             padding-bottom: 8px;
+
             .title {
                 display: -webkit-box;
                 -webkit-box-orient: vertical;
@@ -418,31 +444,33 @@ const getLinkPathDetail = (item) => {
                 margin-bottom: 5px;
                 box-sizing: border-box;
             }
+
             .title:hover {
                 color: #49A769;
             }
+
             .time {
                 font-size: 14px;
                 color: #999999;
                 margin-bottom: 10px;
             }
-           
-            
+
+
         }
     }
 }
 
-.imgbg::after{
+.imgbg::after {
     content: '';
     display: block;
-    width:100%;
-    height:68px;
-    z-index:44;
-    left:0px;
-    bottom:0;
-    position:absolute;
-    background:linear-gradient(to bottom,rgba(0,0,0,0),black);
-    opacity:.3;
+    width: 100%;
+    height: 68px;
+    z-index: 44;
+    left: 0px;
+    bottom: 0;
+    position: absolute;
+    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), black);
+    opacity: .3;
     border-radius: 6px;
 }
 </style>

Some files were not shown because too many files changed in this diff