瀏覽代碼

完成全部页面的fetch重写

完成全部页面的fetch重写
dangyunlong 1 月之前
父節點
當前提交
ea2884a27f
共有 6 個文件被更改,包括 52 次插入157 次删除
  1. 1 1
      .nuxt/manifest/latest.json
  2. 1 1
      .nuxt/manifest/meta/dev.json
  3. 3 3
      .nuxt/nitro.json
  4. 1 1
      .nuxt/nuxt.d.ts
  5. 1 1
      .nuxt/tsconfig.json
  6. 45 150
      pages/specialList/[id].vue

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

@@ -1 +1 @@
-{"id":"dev","timestamp":1740704310001}
+{"id":"dev","timestamp":1740711625979}

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

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

+ 3 - 3
.nuxt/nitro.json

@@ -1,5 +1,5 @@
 {
 {
-  "date": "2025-02-28T00:58:33.745Z",
+  "date": "2025-02-28T03:00:35.963Z",
   "preset": "nitro-dev",
   "preset": "nitro-dev",
   "framework": {
   "framework": {
     "name": "nuxt",
     "name": "nuxt",
@@ -9,9 +9,9 @@
     "nitro": "2.10.4"
     "nitro": "2.10.4"
   },
   },
   "dev": {
   "dev": {
-    "pid": 10380,
+    "pid": 16344,
     "workerAddress": {
     "workerAddress": {
-      "socketPath": "\\\\.\\pipe\\nitro\\worker-10380-1.sock"
+      "socketPath": "\\\\.\\pipe\\nitro\\worker-16344-1.sock"
     }
     }
   }
   }
 }
 }

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

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

+ 1 - 1
.nuxt/tsconfig.json

@@ -102,7 +102,7 @@
         "./imports"
         "./imports"
       ],
       ],
       "#app-manifest": [
       "#app-manifest": [
-        "./manifest/meta/dev.json"
+        "./manifest/meta/dev"
       ],
       ],
       "#components": [
       "#components": [
         "./components"
         "./components"

+ 45 - 150
pages/specialList/[id].vue

@@ -31,18 +31,15 @@
                     <div class="innerTitle">本网招聘</div>
                     <div class="innerTitle">本网招聘</div>
                     <ul class="list">
                     <ul class="list">
                         <li v-for="(item, index) in newsList" :key="index">
                         <li v-for="(item, index) in newsList" :key="index">
-                            <NuxtLink :to="item.linkurl" target="_blank" v-show="item.islink == 1">{{ item.title }}
-                            </NuxtLink>
-                            <NuxtLink :to="{ path: `/speciaArticle/${item.id}` }" target="_blank"
-                                v-if="item.islink == 0">{{ item.list_title }}
-                            </NuxtLink>
+                            <NuxtLink :to="{ path: `/speciaArticle/${item.id}` }" target="_blank">{{item.con_title}}</NuxtLink>
+                            <!-- <NuxtLink :to="{ path: `/speciaArticle/${item.id}` }" target="_blank" v-if="item.islink == 0">{{ item.list_title }}</NuxtLink> -->
                         </li>
                         </li>
                     </ul>
                     </ul>
                     <!-- 分页器 -->
                     <!-- 分页器 -->
-                    <div class="pagination">
+                    <!-- <div class="pagination">
                         <el-pagination size="small" background layout="prev, pager, next" :total="total" class="mt-4"
                         <el-pagination size="small" background layout="prev, pager, next" :total="total" class="mt-4"
                             prev-text="上一页" next-text="下一页" @change="changePage" />
                             prev-text="上一页" next-text="下一页" @change="changePage" />
-                    </div>
+                    </div> -->
                 </div>
                 </div>
                 <div class="innerRight">
                 <div class="innerRight">
                     <div class="rightMenuTitle">导航列表</div>
                     <div class="rightMenuTitle">导航列表</div>
@@ -66,180 +63,78 @@
 
 
 <script setup>
 <script setup>
 //1.页面依赖 start ---------------------------------------->
 //1.页面依赖 start ---------------------------------------->
-import { onMounted } from 'vue';
 import { ElBreadcrumb, ElBreadcrumbItem, ElPagination } from 'element-plus'
 import { ElBreadcrumb, ElBreadcrumbItem, ElPagination } from 'element-plus'
 import { ArrowRight } from '@element-plus/icons-vue'
 import { ArrowRight } from '@element-plus/icons-vue'
-
-const nuxtApp = useNuxtApp();
-const axios = nuxtApp.$axios;
-
 //获得跳转过来的id
 //获得跳转过来的id
 const route = useRoute();
 const route = useRoute();
 const pageId = route.params.id;
 const pageId = route.params.id;
 const routeHref = route.href;
 const routeHref = route.href;
 //1.页面依赖 end ---------------------------------------->
 //1.页面依赖 end ---------------------------------------->
 
 
-
 //2.页面数据 start ---------------------------------------->
 //2.页面数据 start ---------------------------------------->
 let adList = ref([]);
 let adList = ref([]);
-const {data:adData,error:adError} = requestData('/web/getWebsiteFooterCategory',{method:'GET',query:{'ad_tag':'page'}});
+//广告
+const {data:adData,error:adError} = requestData('/web/getWebsiteAdvertisement',{method:'GET',query:{'ad_tag':'PAGE'}});
 if (adError.value) {
 if (adError.value) {
     console.error('广告列表请求失败:', adError.value);
     console.error('广告列表请求失败:', adError.value);
 } else {
 } else {
-    //当有值了以后再放进去,万恶之源,也是nuxt2和3都存在的一个问题,也许nuxt4会解决这个问题
     if (adData.value && adData.value.data) {
     if (adData.value && adData.value.data) {
         adList.value = adData.value.data;
         adList.value = adData.value.data;
-        console.log(adData.value.data)
     }
     }
 }
 }
-//2.页面数据 end ---------------------------------------->
-
 
 
-//4.1 设置seo信息
-async function getSeo() {
-    const setData =  await requestDataPromise('/web/getWebsiteFootInfo', {
+//左侧导航
+const bottomMenu = ref([]);
+async function getPageMenu() {
+    const { data: mkdata, error: mkdataError } =  requestData('/web/getWebsiteFooterCategory', {
         method: 'GET',
         method: 'GET',
         query: {},
         query: {},
     });
     });
-    seoSetup(setData.data.website_head.title,setData.data.website_head.description,setData.data.website_head.keywords)
+    if (mkdataError.value) {
+        //console.log()
+    } else {
+        if (mkdata.value) {
+            bottomMenu.value = mkdata.value.data;
+        }
+    }
 }
 }
-getSeo();
-//4.设置seo信息 end---------------------------------------->
-
-
-
-
-
-
-
-
-//获得广告
-// const adList = ref("");
-// const aa = 'PAGE'
-// const getadList = async () => {
-//     try {
-//         const response = await axios.get(`/web/getWebsiteAdvertisement?ad_tag=${aa}`);
-//         adList.value = response.data;
-//     } catch (error) {
-//         console.error(error);
-//     }
-// }
-// onMounted(() => {
-//     getadList()
-// })
-
+getPageMenu();
 
 
+//列表
+const newsList = ref([]);
+let newslists = async () => {
+    const listData =  await requestDataPromise('/web/getWebsiteFooterCategoryList', {
+        method: 'GET',
+        query: {
+            'fcat_id':pageId,
+        },
+    });
+    console.log(9999)
+    newsList.value = listData.data;
+    console.log(newsList.value)
+}
+//获得列表
+newslists();
 
 
+//分页
 let changePage = (value) => {
 let changePage = (value) => {
     console.log("当前页码", value);
     console.log("当前页码", value);
     page.value = value
     page.value = value
     console.log(page.value);
     console.log(page.value);
     newslists()
     newslists()
 }
 }
+//2.页面数据 end ---------------------------------------->
 
 
-// 新闻列表
-const newsList = useState("newsList", () => '');
-const newslists = async () => {
-    try {
-        const response = await axios.get(`/web/getWebsiteFooterCategoryList?fcat_id=${pageId}`);
-        // console.log(response.data.rows);
-        newsList.value = response.data;
-        //total.value = response.data.count;
-    } catch (error) {
-        console.error(error);
-    }
-}
-
-//获得底部导航
-const bottomMenu = ref([]);
-const getBottomMenu = async () => {
-    const response = await axios.get(`/web/getWebsiteFooterCategory`);
-    bottomMenu.value = response.data;
+//3 设置seo信息
+async function getSeo() {
+    const setData =  await requestDataPromise('/web/getWebsiteFootInfo', {
+        method: 'GET',
+        query: {},
+    });
+    seoSetup(setData.data.website_head.title,setData.data.website_head.description,setData.data.website_head.keywords)
 }
 }
-
-// //热点资讯
-// const hotlistall = useState("hotlistall", () => "");
-// const hotlist = async () => {
-//     try {
-//         const response = await axios.get(`/web/getWebsiteArticlett?pageSize=${2}&level=${4}&placeid=${1}`);
-//         console.log('热点资讯', response.data);
-//         for (let item of response.data) {
-//             console.log(item);
-//             item.count = 1;
-//         }
-//         hotlistall.value = response.data;
-//     } catch (error) {
-//         console.error(error);
-//     }
-// }
-
-// //资讯推荐1
-// const news1 = useState("news1", () => "");
-// const newslist1 = async () => {
-//     try {
-//         const response = await axios.get(`/web/getWebsiteArticlett?pageSize=${1}&level=${5}&placeid=${1}`);
-//         console.log('热点资讯', response.data);
-//         news1.value = response.data;
-//     } catch (error) {
-//         console.error(error);
-//     }
-// }
-// const news11 = useState("news11", () => "");
-// const newslist11 = async () => {
-//     try {
-//         const response = await axios.get(`/web/getWebsiteArticlett?pageSize=${3}&level=${5}&placeid=${1}`);
-//         console.log('热点资讯', response.data);
-//         news11.value = response.data;
-//     } catch (error) {
-//         console.error(error);
-//     }
-// }
-// //资讯推荐2
-// const news2 = useState("news2", () => "");
-// const newslist2 = async () => {
-//     try {
-//         const response = await axios.get(`/web/getWebsiteArticlett?pageSize=${1}&level=${5}&placeid=${1}`);
-//         console.log('热点资讯', response.data);
-//         news2.value = response.data;
-//     } catch (error) {
-//         console.error(error);
-//     }
-// }
-// const news22 = useState("news22", () => "");
-// const newslist22 = async () => {
-//     try {
-//         const response = await axios.get(`/web/getWebsiteArticlett?pageSize=${3}&level=${5}&placeid=${1}`);
-//         console.log('热点资讯', response.data);
-//         news22.value = response.data;
-//     } catch (error) {
-//         console.error(error);
-//     }
-// }
-
-
-
-
-//挂载成功钩子函数
-onMounted(() => {
-    // 资讯推荐
-    newslists()
-    // 获得左侧导航
-    getBottomMenu()
-    // 热点资讯
-    // hotlist()
-    // // 资讯推荐
-    // newslist1()
-    // newslist2()
-    // // 热点资讯
-    // newslist11()
-    // newslist22()
-})
-
-//路由中间件
-definePageMeta({
-    middleware: 'auth'
-})
-
+getSeo();
+//3.设置seo信息 end---------------------------------------->
 </script>
 </script>
 
 
 <style lang="less" scoped>
 <style lang="less" scoped>
@@ -343,7 +238,7 @@ definePageMeta({
                     >a {
                     >a {
                         width: 360px;
                         width: 360px;
                         height: 26px;
                         height: 26px;
-
+                        cursor: pointer;
                         font-family: Microsoft YaHei, Microsoft YaHei;
                         font-family: Microsoft YaHei, Microsoft YaHei;
                         font-weight: 400;
                         font-weight: 400;
                         font-size: 20px;
                         font-size: 20px;