|
@@ -4,13 +4,45 @@
|
|
|
<HomePageHead></HomePageHead>
|
|
|
<!-- 页面导航 -->
|
|
|
<HomePageNavigation></HomePageNavigation>
|
|
|
+ <!-- 广告1 -->
|
|
|
+ <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
|
|
|
+
|
|
|
+ <!-- 当前页面中的一级标题 -->
|
|
|
+ <div class="nav1" v-if="parent_name != ''">
|
|
|
+ <div class="inner">
|
|
|
+ <h2 class="nav1_title">
|
|
|
+ <NuxtLink :to="`/primaryNavigation/${parent_id}`"> {{ parent_name }}</NuxtLink>
|
|
|
+ </h2>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- 二级导航列表 -->
|
|
|
+ <div class="nav2top" v-if="parent_name != ''"></div>
|
|
|
+ <div class="nav2" v-if="parent_name != ''">
|
|
|
+ <ul class="inner">
|
|
|
+ <li class="home">
|
|
|
+ <a href="/">网站首页</a>
|
|
|
+ </li>
|
|
|
+ <li class="titleList" v-for="(item, index) in secondNav" :key="index">
|
|
|
+ <NuxtLink :to="{ path: `/newsList/${item.category_id}` }">
|
|
|
+ <span class="nav2_title">{{ item.alias }}</span>
|
|
|
+ </NuxtLink>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ <div class="nav2btm" v-if="parent_name != ''"></div>
|
|
|
|
|
|
<!-- 面包屑导航 -->
|
|
|
<div class="breadcrumb">
|
|
|
<div class="inner">
|
|
|
<span class="location">当前位置:</span>
|
|
|
<el-breadcrumb :separator-icon="ArrowRight">
|
|
|
- <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
|
|
|
+ <el-breadcrumb-item>
|
|
|
+ <NuxtLink to="/">首页</NuxtLink>
|
|
|
+ </el-breadcrumb-item>
|
|
|
+ <el-breadcrumb-item v-if="parent_name != ''">
|
|
|
+ <NuxtLink :to="`/primaryNavigation/${parent_id}`"> {{ parent_name }}</NuxtLink>
|
|
|
+ </el-breadcrumb-item>
|
|
|
<el-breadcrumb-item>{{ name }}</el-breadcrumb-item>
|
|
|
</el-breadcrumb>
|
|
|
</div>
|
|
@@ -21,14 +53,14 @@
|
|
|
<div class="innerLeft">
|
|
|
<ul class="list">
|
|
|
<li v-for="(item, index) in newsList" :key="index">
|
|
|
- <!-- <NuxtLink :to="item.linkurl" target="_blank" v-show="item.islink == 1">
|
|
|
- <span class="list1">{{ item.title }} </span>
|
|
|
- </NuxtLink> -->
|
|
|
- <NuxtLink :to="`/newsDetail/${item.id}`" target="_blank">
|
|
|
+ <NuxtLink :to="item.linkurl" v-show="item.islink == 1" :title="item.title">
|
|
|
<span class="listTitle">{{ item.title }}</span>
|
|
|
- <span class="time">02-16</span>
|
|
|
+ <span class="time">{{ getTime(item.updated_at, 'month', 1) }}</span>
|
|
|
+ </NuxtLink>
|
|
|
+ <NuxtLink :to="`/newsDetail/${item.id}`" v-if="item.islink == 0" :title="item.title">
|
|
|
+ <span class="listTitle">{{ item.title }}</span>
|
|
|
+ <span class="time">{{ getTime(item.updated_at, 'month', 1) }}</span>
|
|
|
</NuxtLink>
|
|
|
-
|
|
|
</li>
|
|
|
</ul>
|
|
|
<!-- 分页器 -->
|
|
@@ -45,7 +77,7 @@
|
|
|
</div>
|
|
|
|
|
|
<!-- 列表页广告二 -->
|
|
|
- <HomeTopTenTitle :imgurl="adList[1]" v-if="adList[1]"></HomeTopTenTitle>
|
|
|
+ <HomeAdvertising :imgurl="adImg2"></HomeAdvertising>
|
|
|
|
|
|
<!-- 页面底部 -->
|
|
|
<HomeFoot></HomeFoot>
|
|
@@ -54,256 +86,346 @@
|
|
|
|
|
|
<script setup>
|
|
|
import { onMounted } from 'vue';
|
|
|
-import { ElBreadcrumb, ElBreadcrumbItem, ElPagination } from 'element-plus'
|
|
|
+import { ElBreadcrumb, ElBreadcrumbItem, ElPagination, ElMessage } from 'element-plus'
|
|
|
import { ArrowRight } from '@element-plus/icons-vue'
|
|
|
|
|
|
-const nuxtApp = useNuxtApp();
|
|
|
-const axios = nuxtApp.$axios;
|
|
|
+// const nuxtApp = useNuxtApp();
|
|
|
+// const axios = nuxtApp.$axios;
|
|
|
|
|
|
|
|
|
-//获得跳转过来的id
|
|
|
+//1.获得路由id start ---------------------------------------->
|
|
|
const route = useRoute();
|
|
|
-const articleId = route.params.id; //获得该页面的id
|
|
|
-// const category_id = route.query.category_id; //获得该页面的id
|
|
|
-const category_id = route.query.catid; //获得该页面的id
|
|
|
-// const name = route.query.name; //获得该页面的id
|
|
|
-// console.log(name);
|
|
|
-console.log('category_id', category_id);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-// 定义响应式数据
|
|
|
-const seoData = ref({
|
|
|
- title: '三农资讯网',
|
|
|
- description: '默认描述',
|
|
|
- keywords: '默认关键词',
|
|
|
- image: 'https://example.com/default-image.jpg'
|
|
|
-});
|
|
|
-
|
|
|
-// 在 onMounted 钩子中获取数据
|
|
|
-onMounted(async () => {
|
|
|
- try {
|
|
|
- const response = await axios.get(`/web/getWebsiteCategoryHead?catid=${articleId}`);
|
|
|
- const data = response.data; // 假设接口返回的数据在 data 字段中
|
|
|
- console.log(seoData.value.title)
|
|
|
- // 更新 seoData
|
|
|
- seoData.value = {
|
|
|
- title: data.seo_title,
|
|
|
- description: data.seo_description,
|
|
|
- keywords: data.seo_keywords,
|
|
|
- image: data.seo_image
|
|
|
- };
|
|
|
- console.log(seoData.value.title)
|
|
|
- } catch (error) {
|
|
|
- console.error('获取 SEO 数据失败:', error);
|
|
|
- // 设置默认值
|
|
|
- seoData.value = {
|
|
|
- title: '三农资讯网',
|
|
|
- description: '默认描述',
|
|
|
- keywords: '默认关键词',
|
|
|
- image: 'https://example.com/default-image.jpg'
|
|
|
- };
|
|
|
- }
|
|
|
-});
|
|
|
-
|
|
|
-// 监听 seoData 的变化,动态设置 SEO 字段
|
|
|
-watch(seoData, (newVal) => {
|
|
|
- if (newVal.title) { // 确保 title 有值
|
|
|
- useSeoMeta({
|
|
|
- title: newVal.title, // 使用动态值
|
|
|
- description: newVal.description,
|
|
|
- ogTitle: newVal.title,
|
|
|
- ogDescription: newVal.description,
|
|
|
- ogImage: newVal.image,
|
|
|
- twitterTitle: newVal.title,
|
|
|
- twitterDescription: newVal.description,
|
|
|
- twitterImage: newVal.image,
|
|
|
- keywords: newVal.keywords
|
|
|
- });
|
|
|
- }
|
|
|
-}, { immediate: true });
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-//关键词
|
|
|
-let keyWord = useState("keyWord", () => "")
|
|
|
-let id = useState("id", () => "")
|
|
|
-let total = useState("total", () => 0)
|
|
|
+let articleId = 0;//路由id
|
|
|
let page = useState("page", () => 1)
|
|
|
+let total = useState("total", () => 0)
|
|
|
let pageSize = useState("pageSize", () => 20)
|
|
|
|
|
|
-//获得广告
|
|
|
-const adList = ref("");
|
|
|
-const aa = 'LIST'
|
|
|
-const getadList = async () => {
|
|
|
- try {
|
|
|
- const response = await axios.get(`/web/getWebsiteAdvertisement?ad_tag=${aa}`);
|
|
|
- adList.value = response.data;
|
|
|
- } catch (error) {
|
|
|
- console.error(error);
|
|
|
+//判断用户是由于别名跳转还是直接访问二级分类,正常来说只会从别名访问
|
|
|
+const getRoute = () => {
|
|
|
+ if (route.meta.isAlias) {
|
|
|
+ //如果有别名,跳转是这样的:http://localhost:3000/zhaogongzhaopin20/1.html
|
|
|
+ //如果用户从别名访问,数据需要从meta中获取
|
|
|
+ articleId = route.meta.routeId;
|
|
|
+ // 获取route.params.id中的数字部分
|
|
|
+ const idString = route.params.id;
|
|
|
+ const idNumber = parseInt(idString.replace(/\D/g, ''), 10);
|
|
|
+ page.value = idNumber;
|
|
|
+
|
|
|
+ } else {
|
|
|
+ //如果没有别名 跳转是这样的:http://localhost:3000/newsList/20?page=1
|
|
|
+ articleId = route.params.id;
|
|
|
+ // page.value = route.query.page;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-onMounted(() => {
|
|
|
- id.value = route.query.id;
|
|
|
- console.log('id', id.value);
|
|
|
- getadList()
|
|
|
-})
|
|
|
-
|
|
|
-// 页码
|
|
|
-// //页面组件传递数据的时间驱动函数
|
|
|
-// const handleData = (data) => {
|
|
|
-// console.log(data.value)
|
|
|
-// page.value = data.value
|
|
|
-
|
|
|
-// //在页码发生变化时去请求响应页面的新闻数据
|
|
|
-// axios.get(`/web/getWebsiteArticleList?page=${page.value}&pageSize=${10}&catid=${14}&keyword=${keyWord.value}`).then(response => {
|
|
|
-// // console.log(response.data.rows);
|
|
|
-// newsList.value = response.data.rows;
|
|
|
-// }).catch(error => {
|
|
|
-// console.error(error);
|
|
|
-// })
|
|
|
-// }
|
|
|
+// 监听路由变化
|
|
|
+watch(() => route.path, (newPath) => {
|
|
|
+ //每当路径变化的时候重新获取routeId
|
|
|
+ getRoute()
|
|
|
+}, { immediate: true })
|
|
|
+//1.获得路由id end ---------------------------------------->
|
|
|
+
|
|
|
+//2.页面数据 start ---------------------------------------->
|
|
|
+//2.2新闻列表
|
|
|
+const newsList = ref([]);
|
|
|
+let newslists = async () => {
|
|
|
+ const listData = await requestDataPromise('/web/getWebsiteArticleList', {
|
|
|
+ method: 'GET',
|
|
|
+ query: {
|
|
|
+ 'page': page.value,
|
|
|
+ 'pageSize': pageSize.value,
|
|
|
+ 'catid': articleId
|
|
|
+ },
|
|
|
+ });
|
|
|
+ if (listData.code == 200) {
|
|
|
+ newsList.value = listData.data.rows;
|
|
|
+ total.value = listData.data.count;
|
|
|
+ console.log('news111111', newsList.value);
|
|
|
+
|
|
|
+ } else {
|
|
|
+ console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
|
|
|
+ console.log("错误位置:获取新闻列表")
|
|
|
+ console.log("后端错误反馈1111:", listData.message)
|
|
|
+ console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
|
|
|
+ }
|
|
|
+}
|
|
|
+//获得列表
|
|
|
+newslists();
|
|
|
|
|
|
+//分页事件
|
|
|
let changePage = (value) => {
|
|
|
console.log("当前页码", value);
|
|
|
page.value = value
|
|
|
- console.log(page.value);
|
|
|
- newslists()
|
|
|
-}
|
|
|
|
|
|
-// 一级导航
|
|
|
-const navigation1 = ref("");
|
|
|
-const navigateList = async () => {
|
|
|
- try {
|
|
|
- const response = await axios.get(`/web/getWebsiteModelCategory?placeid=${1}&pid=${0}&num=${24}`);
|
|
|
- console.log('一级导航', response.data);
|
|
|
- navigation1.value = response.data;
|
|
|
- console.log('111111111111111111111111111', navigation1[0]?.value.category_id);
|
|
|
-
|
|
|
- } catch (error) {
|
|
|
- console.error(error);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// 新闻列表
|
|
|
-const newsList = useState("newsList", () => '');
|
|
|
-const newslists = async () => {
|
|
|
- try {
|
|
|
- const response = await axios.get(`/web/getWebsiteArticleList?page=${page.value}&pageSize=${pageSize.value}&catid=${articleId}`);
|
|
|
- // console.log(response.data.rows);
|
|
|
- newsList.value = response.data.rows;
|
|
|
- total.value = response.data.count;
|
|
|
- } catch (error) {
|
|
|
- console.error(error);
|
|
|
- }
|
|
|
+ //判断是否为真路径
|
|
|
+ // if (route.meta.isAlias) {
|
|
|
+ // navigateTo(`${route.meta.path}${page.value}.html`)
|
|
|
+ // } else {
|
|
|
+ // navigateTo(`/newsList/${articleId}?page=${page.value}`)
|
|
|
+ // }
|
|
|
+ newslists();
|
|
|
}
|
|
|
|
|
|
-//热点资讯
|
|
|
-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);
|
|
|
+//2.3获得页面名称
|
|
|
+const name = ref('')
|
|
|
+let getPageName = async () => {
|
|
|
+ const pageName = await requestDataPromise('/web/getOneWebsiteCategory', {
|
|
|
+ method: 'GET',
|
|
|
+ query: {
|
|
|
+ 'catid': articleId
|
|
|
+ },
|
|
|
+ });
|
|
|
+ if (pageName.code == 200) {
|
|
|
+ name.value = pageName.data.alias
|
|
|
+ } else {
|
|
|
+ console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
|
|
|
+ console.log("错误位置:设置页面标题")
|
|
|
+ console.log("后端错误反馈:", pageName.message)
|
|
|
+ console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-//资讯推荐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);
|
|
|
+//获得列表
|
|
|
+getPageName();
|
|
|
+//2.页面数据 end ---------------------------------------->
|
|
|
+//3.二级栏目 start ---------------------------------------->
|
|
|
+//3.1通过id获取父栏目
|
|
|
+const parent_name = ref([]);
|
|
|
+const parent_id = ref([]);
|
|
|
+let getParentNav = async () => {
|
|
|
+ const listData = await requestDataPromise('/web/getOneWebsiteCategory', {
|
|
|
+ method: 'GET',
|
|
|
+ query: {
|
|
|
+ 'catid': articleId
|
|
|
+ },
|
|
|
+ });
|
|
|
+ if (listData.code == 200) {
|
|
|
+ console.log(listData.data);
|
|
|
+ parent_name.value = listData.data.parent_name;
|
|
|
+ parent_id.value = listData.data.parent_id;
|
|
|
+ } else {
|
|
|
+ console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
|
|
|
+ console.log("错误位置:获取新闻列表")
|
|
|
+ console.log("后端错误反馈:", listData.message)
|
|
|
+ console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
|
|
|
}
|
|
|
+ getSecondNav();
|
|
|
}
|
|
|
-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);
|
|
|
+//获得列表
|
|
|
+getParentNav();
|
|
|
+
|
|
|
+// 3.2获取二级栏目
|
|
|
+const secondNav = ref([]);
|
|
|
+let getSecondNav = async () => {
|
|
|
+ const listData = await requestDataPromise('/web/getWebsiteModelCategory', {
|
|
|
+ method: 'GET',
|
|
|
+ query: {
|
|
|
+ 'placeid': 1,
|
|
|
+ 'pid': parent_id.value,
|
|
|
+ 'num': 8,
|
|
|
+ },
|
|
|
+ });
|
|
|
+ console.log('listData', listData);
|
|
|
+ // secondNav.value = listData.data;
|
|
|
+
|
|
|
+ if (listData.code == 200) {
|
|
|
+ secondNav.value = listData.data;
|
|
|
+ console.log('secondNav', secondNav.value);
|
|
|
+ } else {
|
|
|
+ console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
|
|
|
+ console.log("错误位置:获取新闻列表")
|
|
|
+ console.log("后端错误反馈:", listData.message)
|
|
|
+ console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
|
|
|
}
|
|
|
}
|
|
|
-//资讯推荐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);
|
|
|
- }
|
|
|
+//3.二级栏目 end ---------------------------------------->
|
|
|
+
|
|
|
+//4.设置seo信息 start---------------------------------------->
|
|
|
+//4.1 设置seo信息
|
|
|
+const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
|
|
|
+ method: 'GET',
|
|
|
+ query: {
|
|
|
+ 'catid': articleId
|
|
|
+ },
|
|
|
+});
|
|
|
+
|
|
|
+if (setData.code == 200) {
|
|
|
+ let seoTitle = setData.data.seo_title;
|
|
|
+ let seoDescription = setData.data.seo_description;
|
|
|
+ let seoKeywords = setData.data.seo_keywords;
|
|
|
+ let seoSuffix = setData.data.suffix;
|
|
|
+ let seoName = setData.data.website_name;
|
|
|
+
|
|
|
+ useSeoMeta({
|
|
|
+ title: seoTitle + "_" + seoName + "_" + seoSuffix,
|
|
|
+ meta: [
|
|
|
+ { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
|
|
|
+ { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 }
|
|
|
+ ]
|
|
|
+ });
|
|
|
+} else {
|
|
|
+ console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
|
|
|
+ console.log("错误位置:设置列表页面SEO数据")
|
|
|
+ console.log("后端错误反馈:", setData.message)
|
|
|
+ console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
|
|
|
}
|
|
|
-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);
|
|
|
- }
|
|
|
+//4.设置seo信息 end---------------------------------------->
|
|
|
+
|
|
|
+//5.广告 start---------------------------------------->
|
|
|
+let adImg1 = ref({});
|
|
|
+let adImg2 = ref({});
|
|
|
+
|
|
|
+onMounted(async () => {
|
|
|
+ //从客户端获取行政职能部门 加快打开速度
|
|
|
+ const { $webUrl, $CwebUrl } = useNuxtApp();
|
|
|
+ //广告1
|
|
|
+ let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=xcw_list_0001`
|
|
|
+ const responseAd1 = await fetch(url, {
|
|
|
+ headers: {
|
|
|
+ 'Content-Type': 'application/json',
|
|
|
+ 'Userurl': $CwebUrl,
|
|
|
+ 'Origin': $CwebUrl
|
|
|
+ }
|
|
|
+ });
|
|
|
+ const resultAd1 = await responseAd1.json();
|
|
|
+ adImg1.value = resultAd1.data[0];
|
|
|
+
|
|
|
+ //广告2
|
|
|
+ let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=xcw_list_0002`
|
|
|
+ const responseAd2 = await fetch(url2, {
|
|
|
+ headers: {
|
|
|
+ 'Content-Type': 'application/json',
|
|
|
+ 'Userurl': $CwebUrl,
|
|
|
+ 'Origin': $CwebUrl
|
|
|
+ }
|
|
|
+ });
|
|
|
+ const resultAd2 = await responseAd2.json();
|
|
|
+ adImg2.value = resultAd2.data[0];
|
|
|
+
|
|
|
+})
|
|
|
+//5.广告 end---------------------------------------->
|
|
|
+
|
|
|
+
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="less" scoped>
|
|
|
+#newsList {
|
|
|
+ width: 100%;
|
|
|
+ overflow: hidden;
|
|
|
}
|
|
|
|
|
|
-const name = useState("name", () => "");
|
|
|
-const name1 = async () => {
|
|
|
- try {
|
|
|
- const response = await axios.get(`/web/getOneWebsiteCategory?catid=${articleId}`);
|
|
|
- console.log('name11111111', response.data);
|
|
|
- name.value = response.data.name;
|
|
|
- navigateList()
|
|
|
+.nav1 {
|
|
|
+ width: 100%;
|
|
|
+ height: 214px;
|
|
|
+ background: #fff;
|
|
|
+
|
|
|
+ .inner {
|
|
|
+ width: 1200px;
|
|
|
+ height: 214px;
|
|
|
+ margin: 0 auto;
|
|
|
+
|
|
|
+ .nav1_title {
|
|
|
+ width: 1120px;
|
|
|
+ height: 214px;
|
|
|
+ margin-left: 40px;
|
|
|
+ line-height: 217px;
|
|
|
+ text-align: center;
|
|
|
+ font-family: DingTalk JinBuTi, DingTalk JinBuTi;
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 50px;
|
|
|
+ color: #6D2512;
|
|
|
+ background: url(/_nuxt/public/index/title_bg.png) no-repeat 0;
|
|
|
+
|
|
|
+ a {
|
|
|
+ color: #6D2512;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- } catch (error) {
|
|
|
- console.error(error);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+.nav2top {
|
|
|
+ width: 1250px;
|
|
|
+ height: 3px;
|
|
|
+ margin: 0 auto;
|
|
|
+ background-color: #a01c0e;
|
|
|
+}
|
|
|
|
|
|
-//挂载成功钩子函数
|
|
|
-onMounted(() => {
|
|
|
+.nav2btm {
|
|
|
+ width: 1200px;
|
|
|
+ height: 3px;
|
|
|
+ margin: 0 auto;
|
|
|
+ background-color: #a01c0e;
|
|
|
+}
|
|
|
+
|
|
|
+.nav2 {
|
|
|
+ width: 100%;
|
|
|
+ height: 48px;
|
|
|
+ background-color: #a01c0e;
|
|
|
|
|
|
- name1()
|
|
|
- // 资讯推荐
|
|
|
- newslists()
|
|
|
- // 热点资讯
|
|
|
- hotlist()
|
|
|
- // 资讯推荐
|
|
|
- newslist1()
|
|
|
- newslist2()
|
|
|
- // 热点资讯
|
|
|
- newslist11()
|
|
|
- newslist22()
|
|
|
+ .inner {
|
|
|
+ width: 1250px;
|
|
|
+ height: 48px;
|
|
|
+ line-height: 48px;
|
|
|
+ padding: 0 45px;
|
|
|
+ margin: 0 auto;
|
|
|
+ box-sizing: border-box;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+
|
|
|
+ .titleList {
|
|
|
+ font-family: Microsoft YaHei, Microsoft YaHei;
|
|
|
+ font-weight: bold;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #FFFFFF;
|
|
|
+
|
|
|
+ .nav2_title {
|
|
|
+ display: inline-block;
|
|
|
+ font-family: Microsoft YaHei, Microsoft YaHei;
|
|
|
+ font-weight: bold;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #FFFFFF;
|
|
|
+ }
|
|
|
|
|
|
- // navigateList()
|
|
|
+ a {
|
|
|
+ padding: 0 38px;
|
|
|
+ color: #FFFFFF;
|
|
|
+ border-left: 1px solid #7E1C11;
|
|
|
+ }
|
|
|
|
|
|
+ //鼠标点击后的样式
|
|
|
+ .nav2_title_active {
|
|
|
+ display: inline-block;
|
|
|
+ font-family: Microsoft YaHei, Microsoft YaHei;
|
|
|
+ font-weight: bold;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #FFFFFF;
|
|
|
+ border-bottom: 1px solid #FFFFFF;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
-})
|
|
|
+ .titleList:hover {
|
|
|
+ a {
|
|
|
+ color: #a01c0e;
|
|
|
|
|
|
-//路由中间件
|
|
|
-definePageMeta({
|
|
|
- middleware: 'auth'
|
|
|
-})
|
|
|
+ .nav2_title {
|
|
|
+ border-bottom: 1px solid #FFFFFF;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
-</script>
|
|
|
+ .home {
|
|
|
+ width: 100px;
|
|
|
+ font-family: Microsoft YaHei, Microsoft YaHei;
|
|
|
+ font-weight: bold;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #F8ECD2;
|
|
|
|
|
|
-<style lang="less" scoped>
|
|
|
-#newsList {
|
|
|
- width: 100%;
|
|
|
- overflow: hidden;
|
|
|
+ a {
|
|
|
+ color: #F8ECD2;
|
|
|
+ margin-right: 39px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//导航条
|
|
@@ -390,7 +512,7 @@ definePageMeta({
|
|
|
width: 820px;
|
|
|
padding: 15px 0;
|
|
|
|
|
|
- a{
|
|
|
+ a {
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
|
}
|