PageMessage.vue 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <template>
  2. <!-- 新闻头条部分 -->
  3. <div class="topNewsPart">
  4. <div class="inner">
  5. <div class="toutiao">
  6. <div class="xwtt">
  7. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'" v-for="(item, index) in headlinelist" :key="index">
  8. <h1 class="tttitle">{{ item.title }}</h1>
  9. </NuxtLink>
  10. </div>
  11. <ul class="toutiao1">
  12. <li class="toutiaolist" v-for="item in headlinelist1">
  13. <NuxtLink :to="{path:`/${item.pinyin}/${item.id}.html`}" :title="item.title">{{item.title}}</NuxtLink>
  14. </li>
  15. </ul>
  16. </div>
  17. <div class="messageLeft">
  18. <div class="lunbo">
  19. <HomeBigSwiper></HomeBigSwiper>
  20. </div>
  21. <div class="messageleft_photo_text">
  22. <div class="messageleft_photo" v-for="item in moveBannerList" :key="index">
  23. <NuxtLink :to="`/${item.pinyin}/${item.id}.html`" :title="item.title">
  24. <img :src="item.imgurl">
  25. <div class="message_text">
  26. {{item.title}}
  27. </div>
  28. </NuxtLink>
  29. </div>
  30. </div>
  31. </div>
  32. <div class="messageRight">
  33. <div class="messageRight_title">
  34. 要闻
  35. </div>
  36. <ul class="messageRight_content">
  37. <li v-for="item in hotNewsList_data1" :key="index" class="messageRight_content_title">
  38. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
  39. {{ item.title }}
  40. </NuxtLink>
  41. </li>
  42. </ul>
  43. <ul class="messageRight_content">
  44. <li v-for="item in hotNewsList_data2" :key="index" class="messageRight_content_title">
  45. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
  46. {{ item.title }}
  47. </NuxtLink>
  48. </li>
  49. </ul>
  50. <ul class="messageRight_content">
  51. <li v-for="item in hotNewsList_data3" :key="index" class="messageRight_content_title">
  52. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" :target="item.islink == 1 ? '_blank' : '_self'">
  53. {{ item.title }}
  54. </NuxtLink>
  55. </li>
  56. </ul>
  57. </div>
  58. </div>
  59. </div>
  60. </template>
  61. <script setup>
  62. //0.加载必备依赖 start ---------------------------------------->
  63. import { NuxtLink } from "#components";
  64. import { ref, onMounted } from "vue"
  65. const nuxtApp = useNuxtApp();
  66. const axios = nuxtApp.$axios;
  67. const getLinkPathDetail = (item) => {
  68. if (item.islink == 1) {
  69. return `${item.linkurl}`;
  70. } else {
  71. return `/${item.pinyin}/${item.id}.html`;
  72. }
  73. }
  74. //0.加载必备依赖 end ---------------------------------------->
  75. //1.获得板块数据 start ---------------------------------------->
  76. //大标题
  77. const headlinelist = ref([])
  78. //大标题下面的二级内容
  79. const headlinelist1 = ref([])
  80. async function getModelData1() {
  81. const mkdata = await requestDataPromise('/web/getWebsiteArticlett', {
  82. method: 'GET',
  83. query: {
  84. 'pageSize': 4,
  85. 'level': 1,
  86. 'placeid': 0,
  87. 'id':''
  88. },
  89. });
  90. if(mkdata.code == 200){
  91. //填充大标题
  92. headlinelist.value.push(mkdata.data[0])
  93. //剩余的两条放到大标题下面
  94. headlinelist1.value.push(mkdata.data[1])
  95. headlinelist1.value.push(mkdata.data[2])
  96. headlinelist1.value.push(mkdata.data[3])
  97. }else{
  98. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  99. console.log("错误位置:设置大标题")
  100. console.log("后端错误反馈:",mkdata.message)
  101. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  102. }
  103. }
  104. getModelData1()
  105. const moveBannerList = ref([])
  106. async function getModelData2() {
  107. const mkdata = await requestDataPromise('/web/getWebsiteArticlett', {
  108. method: 'GET',
  109. query: {
  110. 'pageSize': 2,
  111. 'level': 2,
  112. 'placeid': 6,
  113. 'id':''
  114. },
  115. });
  116. if(mkdata.code == 200){
  117. moveBannerList.value = mkdata.data;
  118. }else{
  119. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  120. console.log("错误位置:获取首页轮播图下面的图文")
  121. console.log("后端错误反馈:",mkdata.message)
  122. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  123. }
  124. }
  125. getModelData2()
  126. const hotNewsList_data1 = ref([])
  127. const hotNewsList_data2 = ref([])
  128. const hotNewsList_data3 = ref([])
  129. async function getModelData3() {
  130. const mkdata = await requestDataPromise('/web/getWebsiteArticlett', {
  131. method: 'GET',
  132. query: {
  133. 'pageSize': 8,
  134. 'level': 6,
  135. 'placeid': 0,
  136. 'id':''
  137. },
  138. });
  139. if(mkdata.code == 200){
  140. for(let i = 0; i < mkdata.data.length; i++){
  141. if(i >= 0 && i <= 4){
  142. hotNewsList_data1.value.push(mkdata.data[i])
  143. } else if(i >= 5 && i <= 9){
  144. hotNewsList_data2.value.push(mkdata.data[i])
  145. } else if(i >= 10 && i <= 14){
  146. hotNewsList_data3.value.push(mkdata.data[i])
  147. }
  148. }
  149. }else{
  150. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  151. console.log("错误位置:获取首页今日热点")
  152. console.log("后端错误反馈:",mkdata.message)
  153. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  154. }
  155. }
  156. getModelData3()
  157. //1.获得板块数据 end ---------------------------------------->
  158. </script>
  159. <style lang="less" scoped>
  160. @import url('@/assets/css/components/pagemessage.less');
  161. </style>