<template>
    <div id="newsList">
        <!-- 页面头部 -->
        <HomePageHead></HomePageHead>
        <!-- 页面导航 -->
        <HomePageNavigation></HomePageNavigation>

        <!-- 面包屑导航 -->
        <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>{{ name }}</el-breadcrumb-item>
                </el-breadcrumb>
            </div>
        </div>
        <!-- 资讯列表 -->
        <div class="newsList">
            <div class="inner">
                <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">
                                <span class="listTitle">{{ item.title }}</span>
                                <span class="time">02-16</span>
                            </NuxtLink>

                        </li>
                    </ul>
                    <!-- 分页器 -->
                    <div class="pagination" v-if="total">
                        <el-pagination size="small" background layout="prev, pager, next" :total="total" class="mt-4"
                            v-model:page-size="pageSize" prev-text="上一页" next-text="下一页" @change="changePage" />
                    </div>
                </div>
                <div class="innerRight">
                    <DetailHotNews></DetailHotNews>
                    <DetailHotNews2></DetailHotNews2>
                </div>
            </div>
        </div>

        <!-- 列表页广告二 -->
        <HomeTopTenTitle :imgurl="adList[1]" v-if="adList[1]"></HomeTopTenTitle>

        <!-- 页面底部 -->
        <HomeFoot></HomeFoot>
    </div>
</template>

<script setup>
import { onMounted } from 'vue';
import { ElBreadcrumb, ElBreadcrumbItem, ElPagination } from 'element-plus'
import { ArrowRight } from '@element-plus/icons-vue'

const nuxtApp = useNuxtApp();
const axios = nuxtApp.$axios;


//获得跳转过来的id
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 page = useState("page", () => 1)
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);
    }
}

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);
//     })
// }

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);
    }
}

//热点资讯
const hotlistall = useState("hotlistall", () => "");
const hotlist = async () => {
    try {
        const response = await axios.get(`/web/getWebsiteArticlett?pageSize=${2}&level=${4}&placeid=${1}`);
        console.log('热点资讯', response.data);
        for (let item of response.data) {
            console.log(item);
            item.count = 1;
        }
        hotlistall.value = response.data;
    } catch (error) {
        console.error(error);
    }
}

//资讯推荐1
const news1 = useState("news1", () => "");
const newslist1 = async () => {
    try {
        const response = await axios.get(`/web/getWebsiteArticlett?pageSize=${1}&level=${5}&placeid=${1}`);
        console.log('热点资讯', response.data);
        news1.value = response.data;
    } catch (error) {
        console.error(error);
    }
}
const news11 = useState("news11", () => "");
const newslist11 = async () => {
    try {
        const response = await axios.get(`/web/getWebsiteArticlett?pageSize=${3}&level=${5}&placeid=${1}`);
        console.log('热点资讯', response.data);
        news11.value = response.data;
    } catch (error) {
        console.error(error);
    }
}
//资讯推荐2
const news2 = useState("news2", () => "");
const newslist2 = async () => {
    try {
        const response = await axios.get(`/web/getWebsiteArticlett?pageSize=${1}&level=${5}&placeid=${1}`);
        console.log('热点资讯', response.data);
        news2.value = response.data;
    } catch (error) {
        console.error(error);
    }
}
const news22 = useState("news22", () => "");
const newslist22 = async () => {
    try {
        const response = await axios.get(`/web/getWebsiteArticlett?pageSize=${3}&level=${5}&placeid=${1}`);
        console.log('热点资讯', response.data);
        news22.value = response.data;
    } catch (error) {
        console.error(error);
    }
}

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()

    } catch (error) {
        console.error(error);
    }
}


//挂载成功钩子函数
onMounted(() => {

    name1()
    // 资讯推荐
    newslists()
    // 热点资讯
    hotlist()
    // 资讯推荐
    newslist1()
    newslist2()
    // 热点资讯
    newslist11()
    newslist22()

    // navigateList()


})

//路由中间件
definePageMeta({
    middleware: 'auth'
})

</script>

<style lang="less" scoped>
#newsList {
    width: 100%;
    overflow: hidden;
}

//导航条
.breadcrumb {
    width: 100%;
    height: 22px;
    margin-bottom: 30px;
    font-family: Microsoft YaHei, Microsoft YaHei;
    font-weight: 400;
    font-size: 20px;
    color: #666666;
    line-height: 23px;
    text-align: left;
    font-style: normal;
    text-transform: none;
    margin-top: 40px;

    :deep(.el-breadcrumb) {
        display: inline-block;
        vertical-align: -4px;
    }

    :deep(.el-breadcrumb__inner a),
    :deep(.el-breadcrumb__inner.is-link) {
        color: #666666;
        font-weight: 400;
        text-decoration: none;
        transition: var(--el-transition-color);
    }

    span {
        font-family: Microsoft YaHei, Microsoft YaHei;
        font-weight: 400;
        font-size: 20px;
        color: #666666;
        line-height: 23px;
        text-align: left;
        font-style: normal;
        text-transform: none;
    }

    span:hover {
        color: #666666;
    }

    .location {
        margin-right: 20px;
        width: 100px;
        height: 22px;
        font-family: Microsoft YaHei, Microsoft YaHei;
        font-weight: 400;
        font-size: 20px;
        color: #666666;
        line-height: 23px;
        text-align: left;
        font-style: normal;
        text-transform: none;
    }
}

// 资讯列表
.newsList {
    width: 100%;
    // height: 675px;
    overflow: hidden;
    margin-bottom: 70px;

    .inner {
        width: 1200px;

        .innerLeft,
        .innerRight {
            border-top: 1px solid #ccc;
        }

        .innerLeft {
            width: 820px;
            margin-right: 30px;

            .list {
                margin-bottom: 70px;

                li {
                    width: 820px;
                    padding: 15px 0;

                    a{
                        display: flex;
                        justify-content: space-between;
                    }

                    .listTitle {
                        // float: left;
                        display: inline-block;
                        width: 486px;
                        white-space: nowrap;
                        overflow: hidden;
                        text-overflow: ellipsis;
                        font-family: Microsoft YaHei, Microsoft YaHei;
                        font-weight: 400;
                        font-size: 20px;
                        color: #333333;
                        text-align: left;
                        font-style: normal;
                        text-transform: none;
                    }

                    .time {
                        // float: right;
                        font-family: Microsoft YaHei, Microsoft YaHei;
                        font-weight: 400;
                        font-size: 18px;
                        color: #333333;
                    }

                }

                >li:hover .listTitle {
                    color: #a01c0e;
                }

                // >li:nth-child(1)::after,
                // >li:nth-child(2)::after {
                //     content: "热";
                //     margin-left: 13px;
                //     background: #FF8A37;
                //     color: #fff;
                //     font-size: 14px;
                //     padding: 0px 2px;
                // }

                >li:nth-child(5n) {
                    border-bottom: 1px solid #D9D9D9;
                    padding-bottom: 30px;
                }

                >li:nth-child(5n+1) {
                    span {
                        font-weight: bold;
                    }

                    font-weight: bold;
                    padding-top: 30px;

                }
            }

            >.pagination {
                width: 800px;
                height: 34px;
                margin-left: 141px;
                display: flex;
                justify-content: center;
                margin: 0;

                // 鼠标移入后字体颜色
                .el-pagination::v-deep :hover {
                    color: #a01c0e;
                }

                .el-pagination.is-background::v-deep .btn-next,
                .el-pagination.is-background::v-deep .btn-prev {
                    width: 70px;
                    height: 34px;
                    margin: 0px 10px;
                    border-radius: 4px;
                }

                .el-pagination.is-background::v-deep .el-pager li {
                    margin: 0px 10px;
                    width: 38px;
                    height: 34px;
                    border-radius: 4px;
                }

                .el-pagination.is-background::v-deep .btn-next.is-active,
                .el-pagination.is-background::v-deep .btn-prev.is-active,
                .el-pagination.is-background::v-deep .el-pager li.is-active {
                    background-color: #a01c0e;
                    color: #fff;
                }


            }
        }

        .innerRight {
            width: 350px;
            height: 1242px;
            border-bottom: 1px solid #ccc;
            // height: 605px;
        }
    }
}

//资讯推荐
.zixuntuijian {
    width: 100%;
    height: 290px;
    margin-bottom: 70px;

    .innerLeft {

        // 左侧
        .zixunLeft {
            margin-right: 30px;
        }

        .zixunRight,
        .zixunLeft {
            float: left;
            width: 380px;
            height: 290px;

            // 标题部分
            >.title {
                width: 380px;
            }

            >.title>h3 {
                height: 36px;
                font-family: Source Han Sans, Source Han Sans;
                font-weight: bold;
                font-size: 24px;
                color: #000000;
                line-height: 28px;
                text-align: left;
                font-style: normal;
                text-transform: none;
                border-bottom: 1px solid #a01c0e;

            }

            >.title>h3>span {
                float: right;
                width: 56px;
                height: 20px;
                line-height: 24px;
                font-weight: 400;
                font-size: 14px;
                color: #999999;
                font-style: normal;
                text-transform: none;
            }

            .photo_text {

                >li:first-child {
                    width: 380px;
                    height: 120px;
                    margin-top: 20px;
                    margin-bottom: 15px;
                    position: relative;

                    >img {
                        float: left;
                        width: 160px;
                        height: 120px;
                    }

                    >div {
                        float: left;
                        width: 220px;
                        height: 120px;
                        padding-left: 15px;
                        padding-top: 6px;
                        box-sizing: border-box;
                        background-color: #f6f6f6;


                        >h5 {
                            width: 200px;
                            height: 54px;
                            display: -webkit-box;
                            -webkit-box-orient: vertical;
                            -webkit-line-clamp: 2;
                            overflow: hidden;
                            text-overflow: ellipsis;
                            word-break: break-all;
                            font-family: Source Han Sans, Source Han Sans;
                            font-weight: 500;
                            font-size: 18px;
                            color: #333333;
                            line-height: 26px;
                            text-align: left;
                            font-style: normal;
                            text-transform: none;
                        }

                        >p {
                            width: 200px;
                            height: 22px;
                            line-height: 20px;
                            position: absolute;
                            bottom: 5px;
                            right: 0;

                            >span {
                                display: inline-block;
                                // width: 100px;
                                height: 18px;
                                font-family: Source Han Sans, Source Han Sans;
                                font-weight: 400;
                                font-size: 12px;
                                color: #999999;
                                text-align: left;
                                line-height: 14px;
                                font-style: normal;
                                text-transform: none;
                            }

                            >span:last-child {
                                // width: 90px;
                                text-align: right;
                                margin-left: 20px;
                            }

                        }
                    }
                }

                >li {
                    width: 380px;
                    height: 25px;
                    white-space: nowrap;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    font-family: PingFang SC, PingFang SC;
                    font-weight: 500;
                    font-size: 18px;
                    color: #333333;
                    line-height: 21px;
                    text-align: left;
                    font-style: normal;
                    text-transform: none;
                    margin-bottom: 10px;

                    em {
                        display: inline-block;
                        width: 8px;
                        height: 8px;
                        border-radius: 8px;
                        margin-right: 10px;
                        background-color: #d9d9d9;
                    }
                }

                >li:hover {
                    color: #a01c0e;
                }

                >li:hover em {
                    background-color: #a01c0e;
                }
            }
        }
    }

    .innerRight {
        width: 381px;
        height: 290px;
        background-color: #fbfbfb;

        >.title {
            width: 380px;
            height: 40px;
            line-height: 40px;
            border-top: 1px solid #a01c0e;
            border-bottom: 1px solid #e7e7e7;

            >h4 {
                font-family: Microsoft YaHei, Microsoft YaHei;
                font-weight: 400;
                margin-left: 20px;
                font-size: 20px;
                color: #000000;
                text-align: left;
                font-style: normal;
                text-transform: none;

                >span {
                    float: right;
                    font-family: Microsoft YaHei, Microsoft YaHei;
                    font-weight: 400;
                    font-size: 14px;
                    margin-right: 10px;
                    color: #999999;
                    text-align: left;
                    font-style: normal;
                    text-transform: none;
                }
            }

        }

        .rightList {
            height: 540px;
            margin-top: 20px;

            >li {
                height: 100px;
                margin-bottom: 10px;

                >img {
                    width: 150px;
                    height: 100px;
                }

                >p {
                    width: 219px;
                    height: 100px;
                    padding-left: 12px;
                    font-family: PingFang SC, PingFang SC;
                    font-weight: 400;
                    font-size: 16px;
                    color: #333333;
                    line-height: 22px;
                    text-align: left;
                    font-style: normal;
                    text-transform: none;

                }

                >p:hover {
                    box-shadow: 0 0 16px 1px rgba(0, 0, 0, 0.1);
                }
            }
        }

    }
}
</style>