- 新增`useCdn` composable,用于全局CDN URL管理 - 在`nuxt.config.ts`中配置CDN域名 - 更新图片资源路径,使用CDN URL加载 - 优化页面样式,统一使用SCSS文件 - 删除冗余组件`CdnImageExample.vue` -头部动效增加 -增加返回顶部按钮
73 lines
2.3 KiB
Vue
73 lines
2.3 KiB
Vue
<template>
|
||
<div style="width: 100%;">
|
||
<div style="height:90px;background-color: #ffffff;"></div>
|
||
<div style="background-color: #F8F8F8;padding: 30px;">
|
||
<div style="width: 60%;min-height: 500px;margin: 0 auto;background-color: #ffffff;padding: 30px;">
|
||
<div style="font-size: 32px;font-weight: 700;color: #323232;">{{ info.title }}</div>
|
||
<div style="font-size: 14px;font-weight: 400;margin-top: 30px;color: #768597;">
|
||
<span>发布人:{{ info.author }}</span>
|
||
<span style="margin-left: 150px;">发布时间:{{ info.release_time_text }} </span>
|
||
</div>
|
||
<div style="width: 98%;margin: 20px auto;height: 1px;background-color: #EEEEEE;"></div>
|
||
<div class="info_content" v-html="info.content"></div>
|
||
<div style="width: 98%;margin: 20px auto;height: 1px;background-color: #EEEEEE;"></div>
|
||
<div style="display: flex;justify-content: space-between;align-items: center;">
|
||
<div>
|
||
<div @click="openNews(1)" style="cursor: pointer;">上一篇:{{info.prev!=null?info.prev.title:'暂无'}}</div>
|
||
<div @click="openNews(2)" style="margin-top: 20px;cursor: pointer;">下一篇:{{info.next!=null?info.next.title:'暂无'}}</div>
|
||
</div>
|
||
<div @click="delWeb">
|
||
<div
|
||
style="color: #999999;;cursor: pointer;;border: 1px solid #999999;width: 108px;height: 40px;line-height: 40px;text-align: center;">
|
||
返回列表</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</template>
|
||
|
||
<script lang="ts" setup>
|
||
import { nextTick, ref } from 'vue'
|
||
const route = useRoute()
|
||
import $api from '@/service/webRequest'
|
||
import { Item } from 'ant-design-vue/es/menu'
|
||
const id = ref(route.params.id)
|
||
const openNews = (type) => {
|
||
if (type == 1 && info.value.prev != null) {
|
||
window.open('/info/' + info.value.prev.id, '_self');
|
||
}
|
||
if (type == 2 && info.value.next != null) {
|
||
window.open('/info/' + info.value.next.id, '_self');
|
||
}
|
||
}
|
||
// 新闻数据
|
||
onMounted(() => {
|
||
getInfo();
|
||
})
|
||
const info = ref({});
|
||
const getInfo = async () => {
|
||
const res = await $api.get('/api/home.news/detail?id=' + id.value)
|
||
console.log(res);
|
||
info.value = res.data.data;
|
||
}
|
||
const delWeb = () => {
|
||
window.close();
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss">
|
||
@import "@/assets/animate/animate.min.css";
|
||
@import "@/assets/index.scss";
|
||
|
||
.info_content img {
|
||
width: 80% !important;
|
||
margin: 0 auto;
|
||
margin-bottom: 10px;
|
||
}
|
||
|
||
.info_content {
|
||
line-height: 35px;
|
||
}
|
||
</style>
|