Просмотр исходного кода

提供基础路径

提供基础路径
dangyunlong 3 недель назад
Родитель
Сommit
9efd2da5a5

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

@@ -1 +1 @@
-{"id":"dev","timestamp":1742900333098}
+{"id":"dev","timestamp":1742975258625}

+ 0 - 1
.nuxt/manifest/meta/8b78e2dc-d04b-485a-b477-fca98b6cd785.json

@@ -1 +0,0 @@
-{"id":"8b78e2dc-d04b-485a-b477-fca98b6cd785","timestamp":1742896303316,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}

+ 1 - 0
.nuxt/manifest/meta/ad23dee6-f72e-4835-a421-fb2a6cd368e8.json

@@ -0,0 +1 @@
+{"id":"ad23dee6-f72e-4835-a421-fb2a6cd368e8","timestamp":1742975229815,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}

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

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

+ 3 - 3
.nuxt/nitro.json

@@ -1,5 +1,5 @@
 {
-  "date": "2025-03-25T10:58:56.008Z",
+  "date": "2025-03-26T07:47:42.182Z",
   "preset": "nitro-dev",
   "framework": {
     "name": "nuxt",
@@ -9,9 +9,9 @@
     "nitro": "2.10.4"
   },
   "dev": {
-    "pid": 9572,
+    "pid": 22416,
     "workerAddress": {
-      "socketPath": "\\\\.\\pipe\\nitro\\worker-9572-1.sock"
+      "socketPath": "\\\\.\\pipe\\nitro\\worker-22416-1.sock"
     }
   }
 }

+ 241 - 0
app/router.options.ts

@@ -0,0 +1,241 @@
+// app/router.options.ts
+import type { RouterConfig } from "@nuxt/schema"
+
+export default <RouterConfig> {
+  routes: async (routes) => {
+    // 静态别名
+    const staticAliases = [
+      {
+        path: '/tieshenbaobei138/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 138, 
+          routeName: '贴身宝贝'
+        }
+      },
+      {
+        path: '/xinnongcun11/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 11, 
+          routeName: '新农村'
+        }
+      },
+      {
+        path: '/nongmingong317/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 317, 
+          routeName: '农民工'
+        }
+      },
+      {
+        path: '/zhengcefagui1/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 1, 
+          routeName: '政策法规'
+        }
+      },
+      {
+        path: '/sannongzhichuang2/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 2, 
+          routeName: '三农之窗'
+        }
+      },
+      {
+        path: '/quyujingji5/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 5, 
+          routeName: '区域经济'
+        }
+      },
+      {
+        path: '/sannongtouzi12/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 12, 
+          routeName: '三农投资'
+        }
+      },
+      {
+        path: '/nongmaozixun13/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 13, 
+          routeName: '农贸资讯'
+        }
+      },
+      {
+        path: '/sannongkejiao14/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 14, 
+          routeName: '三农科教'
+        }
+      },
+      {
+        path: '/wenhuashenghuo15/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 15, 
+          routeName: '文化生活'
+        }
+      },
+      {
+        path: '/sannongtansuo16/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 16, 
+          routeName: '三农探索'
+        }
+      },
+      {
+        path: '/sannongrenwu18/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 18, 
+          routeName: '三农人物'
+        }
+      },
+      {
+        path: '/xiezuodaquan150/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 150, 
+          routeName: '写作大全'
+        }
+      },
+      {
+        path: '/zhaogongzhaopin20/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 20, 
+          routeName: '招工招聘'
+        }
+      },
+      {
+        path: '/nongzigouxiao21/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 21, 
+          routeName: '农资购销'
+        }
+      },
+      {
+        path: '/nongchangouxiao153/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 153, 
+          routeName: '农产购销'
+        }
+      },
+      {
+        path: '/zhifuxinxi23/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 23, 
+          routeName: '致富信息'
+        }
+      },
+      {
+        path: '/shukanxinxi24/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 24, 
+          routeName: '书刊信息'
+        }
+      },
+      {
+        path: '/nongwangdaohang25/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 25, 
+          routeName: '农网导航'
+        }
+      },
+      {
+        path: '/dajiaweiquan26/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 26, 
+          routeName: '打假维权'
+        }
+      },
+      {
+        path: '/sannongfuwu27/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 27, 
+          routeName: '三农服务'
+        }
+      },
+      {
+        path: '/sannongdiaocha28/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 28, 
+          routeName: '三农调查'
+        }
+      },
+      {
+        path: '/sannongluntan29/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 29, 
+          routeName: '三农论坛'
+        }
+      },
+      {
+        path: '/sannongneican30/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 30, 
+          routeName: '三农内参'
+        }
+      },
+      {
+        path: '/nongyekepu300/',
+        component: () => import('~/pages/primaryNavigation/[id].vue'),
+        meta: { 
+          isAlias: true, 
+          routeId: 300, 
+          routeName: '农业科普'
+        }
+      }
+    ]
+
+
+    return [
+      ...routes,
+      ...staticAliases,
+    ]
+  }
+}

+ 22 - 10
components/home/SecondaryHeading.vue

@@ -24,20 +24,31 @@
 const props = defineProps({
     titleData:Array
 });
+//设置组件数据 end---------------------------------------->
 
-//二级标题名称
+
+//1.获得路由id start ---------------------------------------->
 const route = useRoute();
+let routeId = 0;//路由id
+
+//判断用户是由于别名跳转还是直接访问二级分类,正常来说只会从别名访问
+const getRoute = () => {
+    if(route.meta.isAlias){
+        //如果用户从别名访问,数据需要从meta中获取
+        routeId = route.meta.routeId;
+    }else{
+        routeId = route.params.id;
+    }
+}
 
-//动态路由别名
-//获取route中的数字部分
-// const extractNumberFromPath = (path) => {
-//     const match = path.match(/\d+/);
-//     return match ? match[0] : null;
-// };
-// const routeId = extractNumberFromPath(route.path); //获得该页面的id
+// 监听路由变化
+watch(() => route.path, (newPath) => {
+    //每当路径变化的时候重新获取routeId
+    getRoute()
+}, { immediate: true })
+//1.获得路由id end ---------------------------------------->
 
-const routeId = route.params.id; //获得该页面的id
-const routeName = route.query.name; //获得该页面的名称
+//2.设置组件标题 start ---------------------------------------->
 const title = ref("")
 
 async function getPageData() {
@@ -57,6 +68,7 @@ async function getPageData() {
     }
 }
 getPageData();
+//2.设置组件标题 end ---------------------------------------->
 </script>
 
 <style lang="less" scoped>

+ 1 - 3
components/home/Slider.vue

@@ -102,14 +102,12 @@ async function getPageData(catid,img_num,text_num,modulesNum){
     }
 }
 
-
-
 //格式化跳转路径 - 标题
 const getLinkPath = (item) => {
     if (item.children_count == 0) {
         return `/newsList/${item.cid}`;
     } else {
-        return `/primaryNavigation/${item.cid}`;
+        return `/${item.url}/`;
     }
 }
 //格式化跳转路径 - 到详情

+ 17 - 23
components/home/pageNavigation.vue

@@ -4,34 +4,19 @@
             <div class="inner">
                 <div class="navLeft">
                     <div class="navIndex">
-                        <NuxtLink :to="'/'">
-                            首页
-                        </NuxtLink> 
+                        <NuxtLink :to="'/'">首页</NuxtLink>
                     </div>
                     <div class="navClass">
-                        <div>
-                            主题资讯
-                        </div>
-                        <div>
-                            互动资讯
-                        </div>
+                        <div>主题资讯</div>
+                        <div>互动资讯</div>
                     </div>
                 </div>
                 <ul class="navigationOne">
                     <li v-for="(item, index) in navigation1" :key="index">
-                        <!-- 有外链优先显示外链接 没有外链 优先显示二级分类 否则进入列表 -->
-                        <NuxtLink :to="item.web_url" v-if="item.is_url == 1 && index<=23" :title="item.alias" target="_blank">
+                        <NuxtLink :href="getLinkPath(item)" :title="item.alias" v-if="index<=23" :target="item.is_url == 1 ? '_blank' : '_self'">
                             <span class="active" v-if="item.category_id == routeId">{{ item.alias }}</span>
                             <span v-else>{{ item.alias }}</span>
                         </NuxtLink>
-                        <NuxtLink :to="'/primaryNavigation/' + item.category_id" v-if="item.is_url != 1 && item.children_count !=0  && index<=23" :title="item.alias">
-                            <span class="active" v-if="item.category_id == routeId">{{ item.alias }}</span>
-                            <span v-else>{{ item.alias }}</span>
-                        </NuxtLink>
-                        <NuxtLink :to="'/newsList/' + item.category_id" v-if="item.is_url != 1 && item.children_count == 0  && index<=23" :title="item.alias">
-                            <span class="active" v-if="item.category_id == routeId">{{ item.alias }}</span>
-                            <span v-else>{{ item.alias }}</span>
-                        </NuxtLink> 
                     </li>
                 </ul>
             </div>
@@ -39,12 +24,10 @@
         <!-- 展示地区 -->
         <div class="cityBox">
             <div class="cityMain">
-                <div class="cityTitle">
-                    地方频道
-                </div>
+                <div class="cityTitle">地方频道</div>
                 <ul class="cityList" v-if="provinceList.length > 0">
                     <li v-for="item in provinceList">
-                        <NuxtLink :to="{ path: `/search/search`,query:{catids:item.id}}">{{item.abbreviation}}</NuxtLink>
+                        <NuxtLink :to="{ path: `/search/${item.id}`}">{{item.abbreviation}}</NuxtLink>
                     </li>
                 </ul>
             </div>
@@ -111,6 +94,17 @@ async function getPageData2() {
     navigation1.value = mkdata.data;
 }
 getPageData2();
+
+//格式化跳转路径
+const getLinkPath = (item) => {
+    if(item.is_url==1){
+        return `${item.web_url}`;
+    }else if(item.children_count == 0){
+        return `/newsList/${item.category_id}`;
+    }else{
+        return `/${item.aLIas_pinyin}/`;
+    }
+}
 //2.加载模块数据 end ---------------------------------------->
 
 //3.职能部门 start ---------------------------------------->

+ 17 - 22
components/home/pageNavigation1.vue

@@ -4,30 +4,16 @@
             <div class="inner">
                 <div class="navLeft">
                     <div class="navIndex">
-                        <NuxtLink :to="'/'">
-                            首页
-                        </NuxtLink> 
+                        <NuxtLink :to="'/'">首页</NuxtLink> 
                     </div>
                     <div class="navClass">
-                        <div>
-                            主题资讯
-                        </div>
-                        <div>
-                            互动资讯
-                        </div>
+                        <div>主题资讯</div>
+                        <div>互动资讯</div>
                     </div>
                 </div>
                 <ul class="navigationOne">
                     <li v-for="(item, index) in navigation1" :key="index">
-                        <NuxtLink :to="'/primaryNavigation/' + item.category_id" v-if="item.children_count != 0&&index<=23" :title="item.alias">
-                            <span class="active" v-if="item.category_id == routeId">{{ item.alias }}</span>
-                        <span v-else>{{ item.alias }}</span>
-                        </NuxtLink>
-                        <NuxtLink :to="'/newsList/' + item.category_id" v-if="item.children_count == 0 && item.is_url != 1&&index<=23" :title="item.alias">
-                            <span class="active" v-if="item.category_id == routeId">{{ item.alias }}</span>
-                            <span v-else>{{ item.alias }}</span>
-                        </NuxtLink>
-                        <NuxtLink :to="item.web_url"v-if="item.children_count == 0 && item.is_url == 1&&index<=23" :title="item.alias" target="_blank">
+                        <NuxtLink :href="getLinkPath(item)" :title="item.alias" v-if="index<=23" :target="item.is_url == 1 ? '_blank' : '_self'">
                             <span class="active" v-if="item.category_id == routeId">{{ item.alias }}</span>
                             <span v-else>{{ item.alias }}</span>
                         </NuxtLink>
@@ -38,12 +24,10 @@
         <!-- 展示地区 -->
         <div class="cityBox">
             <div class="cityMain">
-                <div class="cityTitle">
-                    地方频道
-                </div>
+                <div class="cityTitle">地方频道</div>
                 <ul class="cityList">
                     <li v-for="item in provinceList">
-                        <NuxtLink :to="{ path: `/search/${item.id}`,query:{catids:item.id}}">{{item.abbreviation}}</NuxtLink>
+                        <NuxtLink :to="{ path: `/search/${item.id}`}">{{item.abbreviation}}</NuxtLink>
                     </li>
                 </ul>
             </div>
@@ -79,6 +63,17 @@ async function getPageData2() {
     navigation1.value = mkdata.data;
 }
 getPageData2();
+
+//格式化跳转路径
+const getLinkPath = (item) => {
+    if(item.is_url==1){
+        return `${item.web_url}`;
+    }else if(item.children_count == 0){
+        return `/newsList/${item.category_id}`;
+    }else{
+        return `/${item.aLIas_pinyin}/`;
+    }
+}
 //2.加载模块数据 end ---------------------------------------->
 
 //3.职能部门 start ---------------------------------------->

+ 226 - 378
pages/index.vue

@@ -11,13 +11,11 @@
                     <div class="farmer">
                         <h3 v-if="pageData[0].cid">
                             <NuxtLink
-                                :to="{ path: `/newsList/${pageData[0].cid}`}"
-                                v-if="pageData[0]&&pageData[0].children_count==0" class="active" :title="pageData[0].alias">
-                                {{pageData[0].alias}}
-                            </NuxtLink>
-                            <NuxtLink
-                                :to="{ path: `/xinnongcun11/${pageData[0].cid}`}"
-                                v-else-if="pageData[0]&&pageData[0].children_count!=0" class="active" :title="pageData[0].alias">
+                                class="active"
+                                v-if="pageData[0].cid"
+                                :href="getLinkPath(pageData[0])"
+                                :title="pageData[0].alias"
+                            >
                                 {{pageData[0].alias}}
                             </NuxtLink>
                             <NuxtLink
@@ -30,7 +28,7 @@
                         </h3>
                         <ul class="mode1ul_style1">
                             <li v-for="(item,index) in boxData1" class="imgbg">
-                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
                                     <img :src="item.imgurl" :alt="item.title">
                                     <div>
                                         <p>
@@ -43,7 +41,7 @@
                         </ul>
                         <ul class="mode1ul_style2">
                             <li v-for="item in boxData1data2">
-                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
                                     <p class="title">{{ item.title }}</p>
                                 </NuxtLink>
                             </li>
@@ -71,7 +69,7 @@
                         </h3>
                         <ul>
                             <li v-for="(item,index) in boxData2">
-                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
                                     <div class="index">{{index+1}}</div>
                                     <div class="title">{{item.title}}</div>
                                 </NuxtLink>
@@ -117,7 +115,7 @@
                     <div class="banner_b_img">
                         <ul>
                             <li v-for="item in boxData4">
-                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
                                     <p class="title">{{ item.title }}</p>
                                 </NuxtLink>
                             </li>
@@ -153,23 +151,13 @@
                             </div>
                         </div>
                         <div class="layoutCopyData_style1" v-if="boxData5[0]">
-                            <NuxtLink :to="boxData5[0].linkurl" v-if="boxData5[0].islink==1" :title="boxData5[0].title">
+                            <NuxtLink :href="getLinkPathDetail(boxData5[0])" :title="boxData5[0].title"  :target="boxData5[0].islink == 1 ? '_blank' : '_self'">
                                 <img :src="boxData5[0].imgurl" :alt="boxData5[0].title">
                                 <div>
                                     <span>{{ boxData5[0].title }}</span>
                                 </div>
                             </NuxtLink>
-                            <NuxtLink :to="`/newsDetail/${boxData5[0].id}`" v-if="boxData5[0].islink==0" :title="boxData5[0].title">
-                                <img :src="boxData5[0].imgurl" :alt="boxData5[0].title">
-                                <div>
-                                    <span>{{ boxData5[0].title }}</span>
-                                </div>
-                            </NuxtLink>
-                            <NuxtLink :to="boxData5data2[0].linkurl" v-if="boxData5data2[0]&&boxData5data2[0].islink==1" :title="boxData5data2[0].title">
-                                <p class="title">{{ boxData5data2[0].title }}</p>
-                                <p>&nbsp;</p>
-                            </NuxtLink>
-                            <NuxtLink :to="`/newsDetail/${boxData5data2[0].id}`" v-if="boxData5data2[0]&&boxData5data2[0].islink==0" :title="boxData5data2[0].title">
+                            <NuxtLink :href="getLinkPathDetail(boxData5data2[0])" :title="boxData5data2[0]"  :target="boxData5data2[0].islink == 1 ? '_blank' : '_self'">
                                 <p class="title">{{ boxData5data2[0].title }}</p>
                                 <p>&nbsp;</p>
                             </NuxtLink>
@@ -179,30 +167,26 @@
                         <div class="layoutTitleBox" v-if="pageData[5]">
                             <div class="layoutTitle" v-if="pageData[5].cid">
                                 <NuxtLink
-                                    :to="{ path: `/newsList/${pageData[5].cid}`}"
-                                    v-if="pageData[5]&&pageData[5].children_count==0" class="active" :title="pageData[5].alias">
-                                    {{pageData[5].alias}}
-                                </NuxtLink>
-                                <NuxtLink
-                                    :to="{ path: `/primaryNavigation/${pageData[5].cid}`}"
-                                    v-else-if="pageData[5]&&pageData[5].children_count!=0" class="active" :title="pageData[5].alias">
-                                    {{pageData[5].alias}}
+                                    v-if="pageData[5].cid"
+                                    :href="getLinkPath(pageData[5])"
+                                    class="active"
+                                    :title="pageData[5].alias"
+                                >
+                                    {{ pageData[5].alias }}
                                 </NuxtLink>
                             </div>
                             <div class="layoutMore" v-if="pageData[5].cid">
-                                <NuxtLink :to="{ path: `/newsList/${pageData[5].cid}`}" v-if="pageData[5]&&pageData[5].children_count==0" :title="pageData[5].alias">
-                                    查看更多
-                                </NuxtLink>
-                                <NuxtLink :to="{ path: `/primaryNavigation/${pageData[5].cid}`}" v-else-if="pageData[5]&&pageData[5].children_count!=0" :title="pageData[5].alias">
+                                <NuxtLink
+                                    v-if="pageData[5].cid"
+                                    :href="getLinkPath(pageData[5])"
+                                    :title="pageData[5].alias"
+                                >
                                     查看更多
                                 </NuxtLink>
                             </div>
                         </div>
                         <div class="layoutCopyData_style2">
-                            <NuxtLink :to="item.linkurl" v-for="item in boxData6" v-show='item.islink==1' :title="item.title">
-                                <p class="title">{{ item.title }}</p>
-                            </NuxtLink>
-                            <NuxtLink :to="`/newsDetail/${item.id}`" v-for="item in boxData6" v-show='item.islink==0' :title="item.title">
+                            <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"  v-for="item in boxData6" :target="item.islink == 1 ? '_blank' : '_self'">
                                 <p class="title">{{ item.title }}</p>
                             </NuxtLink>
                         </div>
@@ -212,32 +196,27 @@
                     <div class="layoutTitleBox" v-if="pageData[6]">
                         <div class="layoutTitle" v-if="pageData[6].cid"> 
                             <NuxtLink
-                                :to="{ path: `/newsList/${pageData[6].cid}`}"
-                                v-if="pageData[6]&&pageData[6].children_count==0" class="active" :title="pageData[6].alias">
-                                {{pageData[6].alias}}
-                            </NuxtLink>
-                            <NuxtLink
-                                :to="{ path: `/primaryNavigation/${pageData[6].cid}`}"
-                                v-else-if="pageData[6]&&pageData[6].children_count!=0" class="active" :title="pageData[6].alias">
-                                {{pageData[6].alias}}
+                                v-if="pageData[6].cid"
+                                :href="getLinkPath(pageData[6])"
+                                class="active"
+                                :title="pageData[6].alias"
+                            >
+                                {{ pageData[6].alias }}
                             </NuxtLink>
                         </div>
                         <div class="layoutMore" v-if="pageData[6].cid">
                             <NuxtLink
-                                :to="{ path: `/newsList/${pageData[6].cid}`}"
-                                v-if="pageData[6]&&pageData[6].children_count==0" :title="pageData[6].alias">
-                                查看更多
-                            </NuxtLink>
-                            <NuxtLink
-                                :to="{ path: `/primaryNavigation/${pageData[6].cid}`}"
-                                v-else-if="pageData[6]&&pageData[6].children_count!=0" :title="pageData[6].alias">
+                                v-if="pageData[6].cid"
+                                :href="getLinkPath(pageData[6])"
+                                :title="pageData[6].alias"
+                            >
                                 查看更多
                             </NuxtLink>
                         </div>
                     </div>
                     <div class="layoutCopyData_style3">
                         <div v-for="(item,index) in boxData7">
-                            <NuxtLink :to="item.linkurl" v-if="index==0&&item.islink==1" class="style3link1" :title="item.title">
+                            <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" class="style3link1" v-if="index==0" :target="item.islink == 1 ? '_blank' : '_self'">
                                 <div class="time">
                                     <p>{{getTime(item.updated_at,'day',1)}}</p>
                                     <p>{{getTime(item.updated_at,'month',1)}}</p>
@@ -247,30 +226,13 @@
                                     <p class="introduce">{{ item.introduce }}</p>
                                 </div>
                             </NuxtLink>
-                            <NuxtLink :to="`/newsDetail/${item.id}`" v-if="index==0&&item.islink==0" class="style3link1" :title="item.title">
-                                <div class="time">
-                                    <p>{{getTime(item.updated_at,'day',1)}}</p>
-                                    <p>{{getTime(item.updated_at,'month',1)}}</p>
-                                </div>
-                                <div>
-                                    <p class="title">{{item.title}}</p>
-                                    <p class="introduce">{{item.introduce}}</p>
-                                </div>
-                            </NuxtLink>
-                            <NuxtLink :to="item.linkurl" v-if="index>0&&item.islink==1" class="style3link2" :title="item.title">
+                            <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" class="style3link2" v-if="index>0" :target="item.islink == 1 ? '_blank' : '_self'">
                                 <div>
                                     <b></b>
                                     <p class="title">{{item.title}}</p>
                                 </div>
                                 <p>&nbsp;</p>
                             </NuxtLink>
-                            <NuxtLink :to="`/newsDetail/${item.id}`" v-if="index>0&&item.islink==0" class="style3link2" :title="item.title">
-                                <div>
-                                    <b></b>
-                                    <p class="title">{{ item.title }}</p>
-                                </div>
-                                <p>&nbsp;</p>
-                            </NuxtLink>
                         </div>
                     </div>
                 </div>
@@ -279,46 +241,33 @@
                 <div class="layoutTitleBox" v-if="pageData[7]">
                     <div class="layoutTitle" v-if="pageData[7].cid"> 
                         <NuxtLink
-                            :to="{ path: `/newsList/${pageData[7].cid}`}"
-                            v-if="pageData[7]&&pageData[7].children_count==0" class="active" :title="pageData[7].alias">
-                            {{pageData[7].alias}}
-                        </NuxtLink>
-                        <NuxtLink
-                            :to="{ path: `/primaryNavigation/${pageData[7].cid}`}"
-                            v-else-if="pageData[7]&&pageData[7].children_count!=0" class="active" :title="pageData[7].alias">
-                            {{pageData[7].alias}}
+                            v-if="pageData[7].cid"
+                            :href="getLinkPath(pageData[7])"
+                            class="active"
+                            :title="pageData[7].alias"
+                        >
+                            {{ pageData[7].alias }}
                         </NuxtLink>
                     </div>
                     <div class="layoutMore" v-if="pageData[7].cid">
                         <NuxtLink
-                            :to="{ path: `/newsList/${pageData[7].cid}`}"
-                            v-if="pageData[7]&&pageData[7].children_count==0" :title="pageData[7].alias">
-                            查看更多
-                        </NuxtLink>
-                        <NuxtLink
-                            :to="{ path: `/primaryNavigation/${pageData[7].cid}`}"
-                            v-else-if="pageData[7]&&pageData[7].children_count!=0" :title="pageData[7].alias">
+                            v-if="pageData[7].cid"
+                            :href="getLinkPath(pageData[7])"
+                            :title="pageData[7].alias"
+                        >
                             查看更多
                         </NuxtLink>
                     </div>
                 </div>
                 <div class="layoutCopyData_style4">
                     <div class="layoutCopyData_pic">
-                        <NuxtLink :to="item.linkurl" v-for="item in boxData8" v-show="item.islink==1" :title="item.title">
-                            <img :src="item.imgurl" :alt="item.title">
-                            <p>{{item.title}}</p>
-                        </NuxtLink>
-                        <NuxtLink :to="`/newsDetail/${item.id}`" v-for="item in boxData8" v-show="item.islink==0" :title="item.title">
+                        <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" v-for="item in boxData8" :target="item.islink == 1 ? '_blank' : '_self'">
                             <img :src="item.imgurl" :alt="item.title">
                             <p>{{item.title}}</p>
                         </NuxtLink>
                     </div>
                     <div class="layoutCopyData_text">
-                        <NuxtLink :to="item.linkurl" v-for="item in boxData88" v-show="item.islink==1" :title="item.title">
-                            <div class="title">{{item.title}}</div>
-                            <div class="more">详</div>
-                        </NuxtLink>
-                        <NuxtLink :to="`/newsDetail/${item.id}`" v-for="item in boxData88" v-show="item.islink==0" :title="item.title">
+                        <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" v-for="item in boxData88" :target="item.islink == 1 ? '_blank' : '_self'">
                             <div class="title">{{item.title}}</div>
                             <div class="more">详</div>
                         </NuxtLink>
@@ -333,27 +282,12 @@
                         <h3>
                             <div class="titleBoxTabs" v-if="pageData.length>=9">
                                 <span class="active" v-if="pageData[8].cid">
-                                    <NuxtLink
-                                        :to="{ path: `/newsList/${pageData[8].cid}`}" @mouseenter="tabsData1 = 1"
-                                        v-if="pageData[8]&&pageData[8].children_count==0" :title="pageData[8].alias" :class="{ active: tabsData1 == 1 }">
-                                        {{pageData[8].alias}}
-                                    </NuxtLink>
-                                    <NuxtLink
-                                        :to="{ path: `/primaryNavigation/${pageData[8].cid}`}" @mouseenter="tabsData1 = 1"
-                                        v-else-if="pageData[8]&&pageData[8].children_count!=0" :title="pageData[8].alias" :class="{ active: tabsData1 == 1 }">
+                                    <NuxtLink :href="getLinkPath(pageData[8])" :title="pageData[8].alias" @mouseenter="tabsData1 = 1" :class="{ active: tabsData1 == 1 }">
                                         {{pageData[8].alias}}
                                     </NuxtLink>
                                 </span>
-
                                 <span v-if="pageData[9].cid">
-                                    <NuxtLink
-                                        :to="{ path: `/newsList/${pageData[9].cid}`}" @mouseenter="tabsData1 = 2"
-                                        v-if="pageData[9]&&pageData[9].children_count==0" :title="pageData[9].alias" :class="{active:tabsData1 == 2 }">
-                                        {{pageData[9].alias}}
-                                    </NuxtLink>
-                                    <NuxtLink
-                                        :to="{ path: `/primaryNavigation/${pageData[9].cid}`}" @mouseenter="tabsData1 = 2"
-                                        v-else-if="pageData[9]&&pageData[9].children_count!=0" :title="pageData[9].alias" :class="{active:tabsData1 == 2 }">
+                                    <NuxtLink :href="getLinkPath(pageData[9])" :title="pageData[9].alias" @mouseenter="tabsData1 = 2" :class="{ active: tabsData1 == 2 }">
                                         {{pageData[9].alias}}
                                     </NuxtLink>
                                 </span>
@@ -361,18 +295,7 @@
                         </h3>
                         <ul class="mode1ul_style1" v-if="tabsData1==1">
                             <li v-for="(item,index) in boxData9" class="imgbg">
-                                <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
-                                    <img :src="item.imgurl" :alt="item.title">
-                                    <div>
-                                        <p>
-                                            <span v-if="index==0">专题</span>
-                                            {{ item.title }}
-                                        </p>
-                                        <p>&nbsp;</p>
-                                    </div>
-                                </NuxtLink>
-                                <NuxtLink :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }" v-if="item.islink==0" :title="item.title">
-                                    <img :src="item.imgurl" :alt="item.title">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
                                     <div>
                                         <p>
                                             <span v-if="index==0">专题</span>
@@ -385,11 +308,7 @@
                         </ul>
                         <ul class="mode1ul_style2" v-if="tabsData1==1">
                             <li v-for="item in boxData9data2">
-                                <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
-                                    <p class="title">{{ item.title }}</p>
-                                    <p>&nbsp;</p>
-                                </NuxtLink>
-                                <NuxtLink :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }" v-if="item.islink==0" :title="item.title">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
                                     <p class="title">{{ item.title }}</p>
                                     <p>&nbsp;</p>
                                 </NuxtLink>
@@ -397,7 +316,7 @@
                         </ul>
                         <ul class="mode1ul_style1" v-if="tabsData1==2">
                             <li v-for="(item,index) in boxData10" class="imgbg">
-                                <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
                                     <img :src="item.imgurl" :alt="item.title">
                                     <div>
                                         <p>
@@ -406,26 +325,12 @@
                                         </p>
                                         <p>&nbsp;</p>
                                     </div>
-                                </NuxtLink>
-                                <NuxtLink :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }" v-if="item.islink==0" :title="item.title">
-                                    <img :src="item.imgurl" :alt="item.title">
-                                    <div>
-                                        <p>
-                                            <span v-if="index==0">专题</span>
-                                            {{ item.title }}
-                                        </p>
-                                        <p>&nbsp;</p>
-                                    </div>
-                                </NuxtLink>
+                                </NuxtLink>  
                             </li>
                         </ul>
                         <ul class="mode1ul_style2" v-if="tabsData1==2">
                             <li v-for="item in boxData10data2">
-                                <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
-                                    <p class="title">{{ item.title }}</p>
-                                    <p>&nbsp;</p>
-                                </NuxtLink>
-                                <NuxtLink :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }" v-if="item.islink==0" :title="item.title">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
                                     <p class="title">{{ item.title }}</p>
                                     <p>&nbsp;</p>
                                 </NuxtLink>
@@ -438,36 +343,25 @@
                         <h3 v-if="pageData[10]">
                             <span v-if="pageData[10].cid">
                                 <NuxtLink
-                                    :to="{ path: `/newsList/${pageData[10].cid}`}"
-                                    v-if="pageData[10]&&pageData[10].children_count==0" class="active" :title="pageData[10].alias">
-                                    {{pageData[10].alias}}
-                                </NuxtLink>
-                                <NuxtLink
-                                    :to="{ path: `/primaryNavigation/${pageData[10].cid}`}"
-                                    v-else-if="pageData[10]&&pageData[10].children_count!=0" class="active" :title="pageData[10].alias">
-                                    {{pageData[10].alias}}
+                                    v-if="pageData[10].cid"
+                                    :href="getLinkPath(pageData[10])"
+                                    class="active"
+                                    :title="pageData[10].alias"
+                                >
+                                    {{ pageData[10].alias }}
                                 </NuxtLink>
                             </span>
                             <NuxtLink
-                                :to="{ path: `/newsList/${pageData[10].cid}`}"
-                                v-if="pageData[10]&&pageData[10].children_count==0" :title="pageData[10].alias">
-                                查看更多
-                            </NuxtLink>
-                            <NuxtLink
-                                :to="{ path: `/primaryNavigation/${pageData[10].cid}`}"
-                                v-else-if="pageData[10]&&pageData[10].children_count!=0" :title="pageData[10].alias">
+                                v-if="pageData[10].cid"
+                                :href="getLinkPath(pageData[10])"
+                                :title="pageData[10].alias"
+                            >
                                 查看更多
                             </NuxtLink>
                         </h3>
                         <div class="richList">
                             <div class="richListPic" v-if="boxData11[0]">
-                                <NuxtLink :to="boxData11[0].linkurl" v-if="boxData11[0].islink==1" :title="boxData11[0].title">
-                                    <img :src="boxData11[0].imgurl" :alt="boxData11[0].title">
-                                    <div>
-                                        <span>{{boxData11[0].title}}</span>
-                                    </div>
-                                </NuxtLink>
-                                <NuxtLink :to="`/newsDetail/${boxData11[0].id}`" v-if="boxData11[0].islink==0" :title="boxData11[0].title">
+                                <NuxtLink :href="getLinkPathDetail(boxData11[0])" :title="boxData11[0].title" :target="boxData11[0].islink == 1 ? '_blank' : '_self'">
                                     <img :src="boxData11[0].imgurl" :alt="boxData11[0].title">
                                     <div>
                                         <span>{{boxData11[0].title}}</span>
@@ -475,29 +369,17 @@
                                 </NuxtLink>
                             </div>
                             <div class="richListText" v-if="boxData11data2[0]">
-                                <NuxtLink :to="boxData11data2[0].linkurl" v-if="boxData11data2[0].islink==1" :title="boxData11data2[0].title">
-                                    <span>{{boxData11data2[0].title}}</span>
-                                </NuxtLink>
-                                <NuxtLink :to="`/newsDetail/${boxData11data2[0].id}`" v-if="boxData11data2[0].islink==0" :title="boxData11data2[0].title">
+                                <NuxtLink :href="getLinkPathDetail(boxData11data2[0])" :title="boxData11data2[0].title" :target="boxData11data2[0].islink == 1 ? '_blank' : '_self'">
                                     <span>{{boxData11data2[0].title}}</span>
                                 </NuxtLink>
                             </div>
                             <div class="richListText" v-if="boxData11data2[1]">
-                                <NuxtLink :to="boxData11data2[1].linkurl" v-if="boxData11data2[1].islink==1" :title="boxData11data2[1].title">
-                                    <span>{{boxData11data2[1].title}}</span>
-                                </NuxtLink>
-                                <NuxtLink :to="`/newsDetail/${boxData11data2[1].id}`"  v-if="boxData11data2[1].islink==0" :title="boxData11data2[1].title">
+                                <NuxtLink :href="getLinkPathDetail(boxData11data2[1])" :title="boxData11data2[1].title" :target="boxData11data2[1].islink == 1 ? '_blank' : '_self'">
                                     <span>{{boxData11data2[1].title}}</span>
                                 </NuxtLink>
                             </div>
                             <div class="richListPictow" v-if="boxData11[1]">
-                                <NuxtLink :to="boxData11[1].linkurl"  v-if="boxData11[1].islink==1" :title="boxData11[1].title">
-                                    <img :src="boxData11[1].imgurl" :alt="boxData11[1].title">
-                                    <div>
-                                        <span>{{boxData11[1].title}}</span>
-                                    </div>
-                                </NuxtLink>
-                                <NuxtLink :to="`/newsDetail/${boxData11[1].id}`" v-if="boxData11[1].islink==0" :title="boxData11[1].title">
+                                <NuxtLink :href="getLinkPathDetail(boxData11[1])" :title="boxData11[1].title" :target="boxData11[1].islink == 1 ? '_blank' : '_self'">
                                     <img :src="boxData11[1].imgurl" :alt="boxData11[1].title">
                                     <div>
                                         <span>{{boxData11[1].title}}</span>
@@ -505,18 +387,12 @@
                                 </NuxtLink>
                             </div>
                             <div class="richListText" v-if="boxData11data2[2]">
-                                <NuxtLink :to="boxData11data2[2].linkurl" v-if="boxData11data2[2].islink==1" :title="boxData11data2[2].title">
-                                    <span>{{boxData11data2[2].title}}</span>
-                                </NuxtLink>
-                                <NuxtLink :to="`/newsDetail/${boxData11data2[2].id}`"  v-if="boxData11data2[2].islink==0" :title="boxData11data2[2].title">
+                                <NuxtLink :href="getLinkPathDetail(boxData11data2[2])" :title="boxData11data2[2].title" :target="boxData11data2[2].islink == 1 ? '_blank' : '_self'">
                                     <span>{{boxData11data2[2].title}}</span>
                                 </NuxtLink>
                             </div>
                             <div class="richListText" v-if="boxData11data2[3]">
-                                <NuxtLink :to="boxData11data2[3].linkurl"  v-if="boxData11data2[3].islink==1" :title="boxData11data2[3].title">
-                                    <span>{{boxData11data2[3].title}}</span>
-                                </NuxtLink>
-                                <NuxtLink :to="`/newsDetail/${boxData11data2[3].id}`"  v-if="boxData11data2[3].islink==0" :title="boxData11data2[3].title">
+                                <NuxtLink :href="getLinkPathDetail(boxData11data2[3])" :title="boxData11data2[3].title" :target="boxData11data2[3].islink == 1 ? '_blank' : '_self'">
                                     <span>{{boxData11data2[3].title}}</span>
                                 </NuxtLink>
                             </div>
@@ -529,44 +405,33 @@
              <div class="index_3_box_left">
                  <div class="index_2_head_box clearfix">
                      <div class="index_1_head_box index_1_head_box_2 clearfix" v-if="pageData.length>=12">
-
                         <div class="index_1_head index_1_head_only" v-if="pageData[11].cid">
                             <NuxtLink
-                                :to="{ path: `/newsList/${pageData[11].cid}`}" @mouseenter="tabsData2 = 1"
-                                v-if="pageData[11]&&pageData[11].children_count==0" :class="{ active: tabsData2 == 1 }" :title="pageData[11].alias">
-                                {{pageData[11].alias}}
-                            </NuxtLink>
-                            <NuxtLink
-                                :to="{ path: `/primaryNavigation/${pageData[11].cid}`}" @mouseenter="tabsData2 = 1"
-                                v-else-if="pageData[11]&&pageData[11].children_count!=0" :class="{ active: tabsData2 == 1 }" :title="pageData[11].alias">
-                                {{pageData[11].alias}}
+                                v-if="pageData[11].cid"
+                                :href="getLinkPath(pageData[11])"
+                                @mouseenter="tabsData2 = 1"
+                                :class="{ active: tabsData2 == 1 }"
+                                :title="pageData[11].alias"
+                            >
+                                {{ pageData[11].alias }}
                             </NuxtLink>
                         </div>
-
                         <div class="index_1_head" v-if="pageData[12].cid">
                             <NuxtLink
-                                :to="{ path: `/newsList/${pageData[12].cid}`}" @mouseenter="tabsData2 = 2"
-                                v-if="pageData[12]&&pageData[12].children_count==0" :class="{ active: tabsData2 == 2 }" :title="pageData[12].alias">
-                                {{pageData[12].alias}}
-                            </NuxtLink>
-                            <NuxtLink
-                                :to="{ path: `/primaryNavigation/${pageData[12].cid}`}"@mouseenter="tabsData2 = 2"
-                                v-else-if="pageData[12]&&pageData[12].children_count!=0" :class="{ active: tabsData2 == 2 }" :title="pageData[12].alias">
-                                {{pageData[12].alias}}
+                                v-if="pageData[12].cid"
+                                :href="getLinkPath(pageData[12])"
+                                @mouseenter="tabsData2 = 2"
+                                :class="{ active: tabsData2 == 2 }"
+                                :title="pageData[12].alias"
+                            >
+                                {{ pageData[12].alias }}
                             </NuxtLink>
                         </div>
-
                      </div>
                  </div>
                  <div class="index_3_ul clearfix" v-if="tabsData2==1">
                      <div :class="['index_3_li',index < 2 ? 'index_3_li_color' : '']" v-for="(item, index) in boxData12">
-                        <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
-                            <p class="title">
-                                <b :class="['lis',index < 2 ? 'active' : '']"></b>
-                                {{item.title}}
-                            </p>
-                        </NuxtLink>
-                        <NuxtLink :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }" v-if="item.islink==0" :title="item.title">
+                        <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
                             <p class="title">
                                 <b :class="['lis',index < 2 ? 'active' : '']"></b>
                                 {{item.title}}
@@ -574,16 +439,9 @@
                         </NuxtLink>
                     </div>
                 </div>
-
                 <div class="index_3_ul clearfix" v-if="tabsData2==2">
                      <div :class="['index_3_li',index < 2 ? 'index_3_li_color' : '']" v-for="(item, index) in boxData13">
-                        <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
-                            <p class="title">
-                                <b :class="['lis',index < 2 ? 'active' : '']"></b>
-                                {{item.title}}
-                            </p>
-                        </NuxtLink>
-                        <NuxtLink :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }" v-if="item.islink==0" :title="item.title">
+                        <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
                             <p class="title">
                                 <b :class="['lis',index < 2 ? 'active' : '']"></b>
                                 {{item.title}}
@@ -676,26 +534,24 @@
                     <div class="left" >
                         <span v-if="pageData[13].cid">
                             <NuxtLink
-                                :to="{ path: `/newsList/${pageData[13].cid}`}"
-                                v-if="pageData[13]&&pageData[13].children_count==0" :title="pageData[13].alias" @mouseenter="tabsData3=1" :class="{ active: tabsData3 == 1 }">
-                                {{pageData[13].alias}}
-                            </NuxtLink>
-                            <NuxtLink
-                                :to="{ path: `/primaryNavigation/${pageData[13].cid}`}"
-                                v-else-if="pageData[13]&&pageData[13].children_count!=0" :title="pageData[13].alias" @mouseenter="tabsData3=1" :class="{ active: tabsData3 == 1 }">
-                                {{pageData[13].alias}}
+                                v-if="pageData[13].cid"
+                                :href="getLinkPath(pageData[13])"
+                                :class="{ active: tabsData3 == 1 }"
+                                @mouseenter="tabsData3=1"
+                                :title="pageData[13].alias"
+                            >
+                                {{ pageData[13].alias }}
                             </NuxtLink>
                         </span>
                         <span v-if="pageData[14].cid">
                             <NuxtLink
-                                :to="{ path: `/newsList/${pageData[14].cid}`}"
-                                v-if="pageData[14]&&pageData[14].children_count==0" :title="pageData[14].alias" @mouseenter="tabsData3=2" :class="{ active: tabsData3 == 2 }">
-                                {{pageData[14].alias}}
-                            </NuxtLink>
-                            <NuxtLink
-                                :to="{ path: `/primaryNavigation/${pageData[14].cid}`}"
-                                v-else-if="pageData[14]&&pageData[14].children_count!=0" :title="pageData[14].alias" @mouseenter="tabsData3=2" :class="{ active: tabsData3 == 2 }">
-                                {{pageData[14].alias}}
+                                v-if="pageData[14].cid"
+                                :href="getLinkPath(pageData[14])"
+                                :class="{ active: tabsData3 == 2 }"
+                                @mouseenter="tabsData3 = 2"
+                                :title="pageData[14].alias"
+                            >
+                                {{ pageData[14].alias }}
                             </NuxtLink>
                         </span>
                     </div>
@@ -714,16 +570,7 @@
                     <div class="left">
                         <ul class="mode1ul_style1">
                             <li v-for="(item,index) in boxData14" class="imgbg">
-                                <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
-                                    <img :src="item.imgurl" :alt="item.title">
-                                    <div>
-                                        <p>
-                                            <span v-if="index==0">专题</span>
-                                            {{ item.title }}
-                                        </p>
-                                    </div>
-                                </NuxtLink>
-                                <NuxtLink :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }" v-if="item.islink==0" :title="item.title">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
                                     <img :src="item.imgurl" :alt="item.title">
                                     <div>
                                         <p>
@@ -736,10 +583,7 @@
                         </ul>
                         <ul class="mode1ul_style2">
                             <li v-for="item in boxData14data2">
-                                <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
-                                    <p class="title">{{ item.title }}</p>
-                                </NuxtLink>
-                                <NuxtLink :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }" v-if="item.islink==0" :title="item.title">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
                                     <p class="title">{{ item.title }}</p>
                                 </NuxtLink>
                             </li>
@@ -762,14 +606,7 @@
                         </div>
                         <ul class="content">
                             <li v-for="item in boxData14mainData">
-                                <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
-                                    <span>
-                                        <strong>{{getTime(item.updated_at,'month',1)}}</strong>
-                                        {{getTime(item.updated_at,'year',3)}}
-                                    </span>
-                                    <span class="text">{{ item.title }}</span>
-                                </NuxtLink>
-                                <NuxtLink :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }" v-if="item.islink==0" :title="item.title">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
                                     <span>
                                         <strong>{{getTime(item.updated_at,'month',1)}}</strong>
                                         {{getTime(item.updated_at,'year',3)}}
@@ -784,16 +621,7 @@
                     <div class="left">
                         <ul class="mode1ul_style1">
                             <li v-for="(item,index) in boxData15" class="imgbg">
-                                <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
-                                    <img :src="item.imgurl" :alt="item.title">
-                                    <div>
-                                        <p>
-                                            <span v-if="index==0">专题</span>
-                                            {{ item.title }}
-                                        </p>
-                                    </div>
-                                </NuxtLink>
-                                <NuxtLink :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }" v-if="item.islink==0" :title="item.title">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
                                     <img :src="item.imgurl" :alt="item.title">
                                     <div>
                                         <p>
@@ -806,10 +634,7 @@
                         </ul>
                         <ul class="mode1ul_style2">
                             <li v-for="item in boxData15data2">
-                                <NuxtLink :to="item.linkurl"  v-if="item.islink==1" :title="item.title">
-                                    <p class="title">{{ item.title }}</p>
-                                </NuxtLink>
-                                <NuxtLink :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"  v-if="item.islink==0" :title="item.title">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
                                     <p class="title">{{ item.title }}</p>
                                 </NuxtLink>
                             </li>
@@ -832,14 +657,7 @@
                         </div>
                         <ul class="content">
                             <li v-for="item in boxData15mainData">
-                                <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
-                                    <span>
-                                        <strong>{{getTime(item.updated_at,'month',1)}}</strong>
-                                        {{getTime(item.updated_at,'year',3)}}
-                                    </span>
-                                    <span class="text">{{ item.title }}</span>
-                                </NuxtLink>
-                                <NuxtLink :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }" v-if="item.islink==0" :title="item.title">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
                                     <span>
                                         <strong>{{getTime(item.updated_at,'month',1)}}</strong>
                                         {{getTime(item.updated_at,'year',3)}}
@@ -857,14 +675,12 @@
                 <div class="index_1_head_box index_1_head_box_2 clearfix">
                     <div class="index_1_head index_1_head_only" v-if="pageData[15].cid">
                         <NuxtLink
-                            :to="{ path: `/newsList/${pageData[15].cid}`}" :class="{ active: tabsData4 == 1 }" 
-                            v-if="pageData[15]&&pageData[15].children_count==0" :title="pageData[15].alias">
-                            {{pageData[15].alias}}
-                        </NuxtLink>
-                        <NuxtLink
-                            :to="{ path: `/primaryNavigation/${pageData[15].cid}`}" :class="{ active: tabsData4 == 1 }"
-                            v-else-if="pageData[15]&&pageData[15].children_count!=0" :title="pageData[15].alias">
-                            {{pageData[15].alias}}
+                            v-if="pageData[15].cid"
+                            :href="getLinkPath(pageData[15])"
+                            :class="{ active: tabsData4 == 1 }"
+                            :title="pageData[15].alias"
+                        >
+                            {{ pageData[15].alias }}
                         </NuxtLink>
                     </div>
                 </div>
@@ -879,37 +695,19 @@
                     <div class="index_1_box">
                         <div class="index_2_big_img_ul">
                             <div class="index_2_big_img_li cover100" v-if="boxData16">
-                                <NuxtLink :to="boxData16[0].linkurl" v-if="boxData16[0].islink==1" :title="boxData16[0].title">
+                                <NuxtLink :href="getLinkPathDetail(boxData16[0])" :title="boxData16[0].title" :target="boxData16[0].islink == 1 ? '_blank' : '_self'">
                                     <img class="" :src="boxData16[0].imgurl" :alt="boxData16[0].title">
                                     <div class="index_2_big_img_li_dot2 dot2">
                                         <span class="index_2_big_img_li_dot2_tag">专题</span>
                                         {{boxData16[0].title}}
                                     </div>
-                                    <div class="index_1_box_right_img_li_dot1 dot1">
-
-                                    </div>
-                                </NuxtLink>
-                                <NuxtLink :to="{ path: `/newsDetail/${boxData16[0].id}`}"  v-if="boxData16[0].islink==0" :title="boxData16[0].title">
-                                    <img class="" :src="boxData16[0].imgurl" :alt="boxData16[0].title">
-                                    <div class="index_2_big_img_li_dot2 dot2">
-                                        <span class="index_2_big_img_li_dot2_tag">专题</span>
-                                        {{boxData16[0].title}}
-                                    </div>
-                                    <div class="index_1_box_right_img_li_dot1 dot1">
-                                        
-                                    </div>
+                                    <div class="index_1_box_right_img_li_dot1 dot1"></div>
                                 </NuxtLink>
                             </div>
                         </div>
                         <div class="index_1_box_right_img_ul index_1_box_right_img_ul_2 clearfix" v-if="boxData16[1]">
                             <div class="index_1_box_right_img_li cover100">
-                                <NuxtLink :to="boxData16[1].linkurl" v-if="boxData16[1].islink==1" :title="boxData16[1].title">
-                                    <img class="" :src="boxData16[1].imgurl" :alt="boxData16[1].title">
-                                    <div class="index_1_box_right_img_li_dot1 dot1">
-                                        {{boxData16[1].title}}
-                                    </div>
-                                </NuxtLink>
-                                <NuxtLink :to="{ path: `/newsDetail/${boxData16[1].id}`}" v-if="boxData16[1].islink==0" :title="boxData16[1].title">
+                                <NuxtLink :href="getLinkPathDetail(boxData16[1])" :title="boxData16[1].title" :target="boxData16[1].islink == 1 ? '_blank' : '_self'">
                                     <img class="" :src="boxData16[1].imgurl" :alt="boxData16[1].title">
                                     <div class="index_1_box_right_img_li_dot1 dot1">
                                         {{boxData16[1].title}}
@@ -917,13 +715,7 @@
                                 </NuxtLink>
                             </div>
                             <div class="index_1_box_right_img_li cover100" v-if="boxData16[2]">
-                                <NuxtLink :to="boxData16[2].linkurl" v-if="boxData16[2].islink==1" :title="boxData16[2].title">
-                                    <img class="" :src="boxData16[2].imgurl" :alt="boxData16[2].title">
-                                    <div class="index_1_box_right_img_li_dot1 dot1">
-                                        {{boxData16[2].title}}
-                                    </div>
-                                </NuxtLink>
-                                <NuxtLink :to="{ path: `/newsDetail/${boxData16[2].id}`}" v-if="boxData16[2].islink==0" :title="boxData16[2].title">
+                                <NuxtLink :href="getLinkPathDetail(boxData16[2])" :title="boxData16[2].title" :target="boxData16[2].islink == 1 ? '_blank' : '_self'">
                                     <img class="" :src="boxData16[2].imgurl" :alt="boxData16[2].title">
                                     <div class="index_1_box_right_img_li_dot1 dot1">
                                         {{boxData16[2].title}}
@@ -932,15 +724,7 @@
                             </div>
                         </div>
                         <div class="index_2_big_img_ul" v-if="boxData16[3]">
-                            <NuxtLink :to="boxData16[3].linkurl" v-if="boxData16[3].islink==1" :title="boxData16[3].title">
-                                <div class="index_2_big_img_li cover100" v-if="boxData16[3]">
-                                    <img class="" :src="boxData16[3].imgurl" :alt="boxData16[3].title">
-                                    <div class="index_2_big_img_li_dot2 dot2">
-                                        {{boxData16[3].title}}
-                                    </div>
-                                </div>
-                            </NuxtLink>
-                            <NuxtLink :to="{ path: `/newsDetail/${boxData16[3].id}`}" v-if="boxData16[3].islink==0" :title="boxData16[3].title">
+                            <NuxtLink :href="getLinkPathDetail(boxData16[3])" :title="boxData16[3].title" :target="boxData16[3].islink == 1 ? '_blank' : '_self'">
                                 <div class="index_2_big_img_li cover100" v-if="boxData16[3]">
                                     <img class="" :src="boxData16[3].imgurl" :alt="boxData16[3].title">
                                     <div class="index_2_big_img_li_dot2 dot2">
@@ -953,12 +737,7 @@
 					<div class="index_1_box">
                         <div class="index_1_ul clearfix">
                             <div class="index_1_li clearfix index_1_li_only" v-for="item in boxData16data2">
-                                <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
-                                    <div class="index_1_li_dot2 dot2">
-                                       {{ item.title }}
-                                    </div>
-                                </NuxtLink>
-                                <NuxtLink :to="{ path: `/newsDetail/${item.id}`}" v-if="item.islink==0" :title="item.title">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
                                     <div class="index_1_li_dot2 dot2">
                                        {{ item.title }}
                                     </div>
@@ -973,7 +752,6 @@
                                 v-if="boxData16menu[0]" class="leftTitle" :title="boxData16menu[0].alias">
                                 {{ boxData16menu[0].alias }}
                             </NuxtLink>
-
                             <NuxtLink
                                 :to="{ path: `/newsList/${boxData16menu[0].category_id}`}"
                                 v-if="boxData16menu[0]" :title="boxData16menu[0].alias">
@@ -982,7 +760,7 @@
                         </div>                  
                         <div class="index_2_ul">
                             <div class="index_2_li clearfix" v-for="item in boxData16mainData">
-                                <NuxtLink :to="{path:`/newsDetail/${item.id}`}" :title="item.title">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
                                     <time class="index_2_li_time_box">
                                         <div class="index_2_li_time_head">
                                             {{getTime(item.updated_at,'day',1)}}
@@ -1014,14 +792,15 @@ import { ElRadio, ElRadioGroup,ElCheckbox,ElCheckboxGroup,ElMessage,ElInput } fr
 import { useSeoMeta } from '#imports';
 
 //格式化跳转路径 - 标题
+//首页分类栏目标题,不需要考虑外链
 const getLinkPath = (item) => {
     if (item.children_count == 0) {
         return `/newsList/${item.cid}`;
     } else {
-        return `/primaryNavigation/${item.cid}`;
+        return `/${item.url}/`;
     }
 }
-//格式化跳转路径 - 到详情
+//首页跳转到详情,这里需要考虑外链
 const getLinkPathDetail = (item) => {
     if (item.islink == 1) {
         return `${item.linkurl}`;
@@ -1358,7 +1137,6 @@ onMounted(async ()  => {
     const voteData = await responseVote.json();
     if(voteData.code == 200){
         voteList.value = voteData.data;
-        console.log(voteList.value)
         //判断显示单选还是多选
         //survey_type 0是单选 1是多选
         if(voteData.data[0].survey_type == 0){
@@ -1515,7 +1293,8 @@ try {
                 title: navigateData.data[index].name,
                 cid: navigateData.data[index].category_id,
                 children_count: navigateData.data[index].children_count,
-                alias: navigateData.data[index].alias
+                alias: navigateData.data[index].alias,
+                url: navigateData.data[index].aLIas_pinyin
             };
             //主体渲染 第一层
             //新农村11
@@ -1585,87 +1364,156 @@ async function getPageData(catid,img_num,text_num,modulesNum,childNavNum,childIm
     });
     //模块1新农村
     if(modulesNum == 1){
-        boxData1.value = mkdata.data.img;
-        boxData1data2.value = mkdata.data.text;
+        if(mkdata.code==200){
+            boxData1.value = mkdata.data.img;
+            boxData1data2.value = mkdata.data.text;
+        }else{
+            ElMessage.error(mkdata.message)
+        }
     }
     //模块2农名工
     if(modulesNum == 2){
-        boxData2.value = mkdata.data.text;
+        if(mkdata.code==200){
+            boxData2.value = mkdata.data.text;
+        }else{
+            ElMessage.error(mkdata.message)
+        }
     }
     //模块4三农之窗
     if(modulesNum == 4){
-        boxData4.value = mkdata.data.text;
+        if(mkdata.code==200){
+            boxData4.value = mkdata.data.text;
+        }else{
+            ElMessage.error(mkdata.message)
+        }
     }
     //模块5区域经济
     if(modulesNum == 5){
-        boxData5.value = mkdata.data.img;
-        boxData5data2.value = mkdata.data.text;
+        if(mkdata.code==200){
+            boxData5.value = mkdata.data.img;
+            boxData5data2.value = mkdata.data.text;
+        }else{
+            ElMessage.error(mkdata.message)
+        }
     }
     //模块6三农投资
     if(modulesNum == 6){
-        boxData6.value = mkdata.data.text;
+        if(mkdata.code==200){
+            boxData6.value = mkdata.data.text;
+        }else{
+            ElMessage.error(mkdata.message)
+        }
     }
     //模块7农贸信息
     if(modulesNum == 7){
-        boxData7.value = mkdata.data.text;
+        if(mkdata.code==200){
+            boxData7.value = mkdata.data.text;
+        }else{
+            ElMessage.error(mkdata.message)
+        }
     }
     //模块8书刊信息
     if(modulesNum == 8){
-        boxData8.value = mkdata.data.img;
-        boxData88.value = mkdata.data.text;
+        if(mkdata.code==200){
+            boxData8.value = mkdata.data.img;
+            boxData88.value = mkdata.data.text;
+        }else{
+            ElMessage.error(mkdata.message)
+        }
     }
     //模块9三农科教
     if(modulesNum == 9){
-        boxData9.value = mkdata.data.img;
-        boxData9data2.value = mkdata.data.text;
+        if(mkdata.code==200){
+            boxData9.value = mkdata.data.img;
+            boxData9data2.value = mkdata.data.text;
+        }else{
+            ElMessage.error(mkdata.message)
+        } 
     }
     //模块10文化生活
     if(modulesNum == 10){
-        boxData10.value = mkdata.data.img;
-        boxData10data2.value = mkdata.data.text;
+        if(mkdata.code==200){
+            boxData10.value = mkdata.data.img;
+            boxData10data2.value = mkdata.data.text;
+        }else{
+            ElMessage.error(mkdata.message)
+        } 
     }
     //模块11三农服务
     if(modulesNum == 11){
-        boxData11.value = mkdata.data.img;
-        boxData11data2.value = mkdata.data.text;
+        if(mkdata.code==200){
+            boxData11.value = mkdata.data.img;
+            boxData11data2.value = mkdata.data.text;
+        }else{
+            ElMessage.error(mkdata.message)
+        } 
     }
     //模块12三农探索
     if(modulesNum == 12){
-        boxData12.value = mkdata.data.text;
+        if(mkdata.code==200){
+            boxData12.value = mkdata.data.text;
+        }else{
+            ElMessage.error(mkdata.message)
+        }
     }
     //模块13三农人物
     if(modulesNum == 13){
-        boxData13.value = mkdata.data.text;
+        if(mkdata.code==200){
+            boxData13.value = mkdata.data.text;
+        }else{
+            ElMessage.error(mkdata.message)
+        }
     }
     //模块14农资购销 该栏目含有子导航
     if(modulesNum == 14){
-        boxData14.value = mkdata.data.img;
-        boxData14data2.value = mkdata.data.text;
+        if(mkdata.code==200){
+            boxData14.value = mkdata.data.img;
+            boxData14data2.value = mkdata.data.text;
+        }else{
+            ElMessage.error(mkdata.message)
+        }
     }
     if(modulesNum == 142){
-        boxData14menu.value = mkdata.data.child;
-        boxData14mainData.value = mkdata.data.child[0].text;
+        if(mkdata.code==200){
+            boxData14menu.value = mkdata.data.child;
+            boxData14mainData.value = mkdata.data.child[0].text;
+        }else{
+            ElMessage.error(mkdata.message)
+        }
     }
     //模块14农产购销 该栏目含有子导航
     if(modulesNum == 15){
-        boxData15.value = mkdata.data.img;
-        boxData15data2.value = mkdata.data.text;
+        if(mkdata.code==200){
+            boxData15.value = mkdata.data.img;
+            boxData15data2.value = mkdata.data.text;
+        }else{
+            ElMessage.error(mkdata.message)
+        }
     }
     if(modulesNum == 152){
-        boxData15menu.value = mkdata.data.child;
-        boxData15mainData.value = mkdata.data.child[0].text;
+        if(mkdata.code==200){
+            boxData15menu.value = mkdata.data.child;
+            boxData15mainData.value = mkdata.data.child[0].text;
+        }else{
+            ElMessage.error(mkdata.message)
+        }
     }
     //模块15打假维权 
     if(modulesNum == 16){
-        console.log(990088)
-        console.log(mkdata)
-
-        boxData16.value = mkdata.data.img;
-        boxData16data2.value = mkdata.data.text;
+        if(mkdata.code==200){
+            boxData16.value = mkdata.data.img;
+            boxData16data2.value = mkdata.data.text;
+        }else{
+            ElMessage.error(mkdata.message)
+        }
     }
     if(modulesNum == 162){
-        boxData16menu.value = mkdata.data.child;
-        boxData16mainData.value = mkdata.data.child[0].text;
+        if(mkdata.code==200){
+            boxData16menu.value = mkdata.data.child;
+            boxData16mainData.value = mkdata.data.child[0].text;
+        }else{
+            ElMessage.error(mkdata.message)
+        }
     }
 }
 //模块1新农村 导航池11 图文2 文字8 

+ 25 - 50
pages/primaryNavigation/[id].vue

@@ -2,9 +2,8 @@
     <div>
         <HomePageHead></HomePageHead>
         <HomePageNavigation></HomePageNavigation>
-        <HomeSecondaryHeading :titleName="routeName" :titleData="pageData"></HomeSecondaryHeading>
+        <HomeSecondaryHeading :titleData="pageData"></HomeSecondaryHeading>
         
-
         <div class="farmingPartOne">
             <div class="inner">
                 <div class="innerLeft" v-if="pageData.length>0">
@@ -383,61 +382,34 @@
 </template>
 
 <script setup>
-//0.配置路由别名 start ---------------------------------------->
-//带有子导航的,不需要后面的:id,我们需要从路由中获取id
-// definePageMeta({
-//     alias: [
-//         "/sannongtansuo16/",
-//         "/wenhuashenghuo15/",
-//         "/sannongrenwu18/",
-//         "/xinnongcun11/",
-//         "/sannongzhuanti149/",
-//         "/nongchangouxiao153/",
-//         "/nongzigouxiao21/",
-//         "/zhifuxinxi23/",
-//         "/sannongzhichuang2/",
-//         "/quyujingji5/",
-//         "/sannongtouzi12/",
-//         "/nongmaozixun13/",
-//         "/sannongkejiao14/",
-//         "/shukanxinxi24/",
-//         "/zhengcefagui1/",
-//         "/nongwangdaohang25/",
-//         "/tieshenbaobei138/",
-//         "/xiezuodaquan150/",
-//         "/sannongneican30/",
-//         "/sannongluntan29/",
-//         "/sannongdiaocha28/",
-//         "/sannongfuwu27/",
-//         "/dajiaweiquan26/",
-//         "/zhaogongzhaopin20/",
-//         "/nongyekepu300/",
-//         "/nongmingong317/"
-//     ]
-// });
-//0.配置路由别名 end ---------------------------------------->
-
-//1.加载页面依赖 start ---------------------------------------->
+//0.加载页面依赖 start ---------------------------------------->
 import { ref, onMounted } from 'vue';
-//获得跳转过来的id
-const route = useRoute();
+//0.加载页面依赖 end ---------------------------------------->
 
-//动态路由别名
-// //获取route中的数字部分
-// const extractNumberFromPath = (path) => {
-//     const match = path.match(/\d+/);
-//     return match ? match[0] : null;
-// };
-// const routeId = extractNumberFromPath(route.path);
+//1.获得路由id start ---------------------------------------->
+const route = useRoute();
+let routeId = 0;//路由id
 
-const routeId = route.params.id; //获得该页面的id
-const routeName = route.query.name; //获得该页面的名称
+//判断用户是由于别名跳转还是直接访问二级分类,正常来说只会从别名访问
+const getRoute = () => {
+    if(route.meta.isAlias){
+        //如果用户从别名访问,数据需要从meta中获取
+        routeId = route.meta.routeId;
+    }else{
+        routeId = route.params.id;
+    }
+}
 
-//1.加载页面依赖 end ---------------------------------------->
+// 监听路由变化
+watch(() => route.path, (newPath) => {
+    //每当路径变化的时候重新获取routeId
+    getRoute()
+}, { immediate: true })
+//1.获得路由id end ---------------------------------------->
 
 //2.页面交互效果 start ---------------------------------------->
 //2.1 新闻图片切换
-const hoverStatus = ref(1)
+const hoverStatus = ref(0)
 const qhPic = function (num) {
     console.log(num)
     hoverStatus.value = num;
@@ -679,6 +651,9 @@ async function getPageData(catid,img_num,text_num,modulesNum,childNavNum,childIm
         if(mkdata.data.img.length > 4){
             pageData.value[7].data.push(mkdata.data.img[4]);
         }
+        if(mkdata.data.img.length > 5){
+            pageData.value[7].data.push(mkdata.data.img[5]);
+        }
     }
     if(modulesNum == 7){
         pageData.value[6].data = mkdata.data.img;

+ 2 - 1
pages/search/[id].vue

@@ -64,7 +64,8 @@ import { ArrowRight } from '@element-plus/icons-vue'
 import { ref, onMounted } from 'vue';
 
 const route = useRoute();
-const pageCatids = route.query.catids;
+//const pageCatids = route.query.catids;
+const pageCatids = route.params.id
 const pageDepartment_id = route.query.department_id;
 
 //const category_id = route.query.category_id; //获得该页面的id