PageMessage.vue 7.1 KB

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