PageMessage.vue 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. <template>
  2. <!-- 新闻头条部分 -->
  3. <div class="topNewsPart">
  4. <div class="inner">
  5. <div class="toutiao" v-if="headlinelist">
  6. <div class="xwtt">
  7. <NuxtLink v-for="(item, index) in headlinelist" :href="getLinkPathDetail(item)" :title="item.title"
  8. :target="item.islink == 1 ? '_blank' : '_self'"
  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. console.log("首页大标题:", headlinelist.value)
  108. console.log("首页大标题下面的二级内容:", headlinelist1.value)
  109. } else {
  110. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  111. console.log("错误位置:设置大标题")
  112. console.log("后端错误反馈:", mkdata.message)
  113. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  114. }
  115. }
  116. getModelData1()
  117. const moveBannerList = ref([])
  118. async function getModelData2() {
  119. const mkdata = await requestDataPromise('/web/getWebsiteArticlett', {
  120. method: 'GET',
  121. query: {
  122. 'imgnum': 2,
  123. 'textnum': 0,
  124. 'level': 2,
  125. 'placeid': 6,
  126. 'id': 0
  127. },
  128. });
  129. if (mkdata.code == 200) {
  130. moveBannerList.value = mkdata.data.img;
  131. } else {
  132. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  133. console.log("错误位置:获取首页轮播图下面的图文")
  134. console.log("后端错误反馈:", mkdata.message)
  135. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  136. }
  137. }
  138. getModelData2()
  139. const hotNewsList_data1 = ref([])
  140. const hotNewsList_data2 = ref([])
  141. const hotNewsList_data3 = ref([])
  142. async function getModelData3() {
  143. const mkdata = await requestDataPromise('/web/getWebsiteArticlett', {
  144. method: 'GET',
  145. query: {
  146. 'imgnum': 0,
  147. 'textnum': 15,
  148. 'level': 6,
  149. 'placeid': 0,
  150. 'id': ''
  151. },
  152. });
  153. if (mkdata.code == 200) {
  154. for (let i = 0; i < mkdata.data.text.length; i++) {
  155. if (i >= 0 && i <= 4) {
  156. hotNewsList_data1.value.push(mkdata.data.text[i])
  157. } else if (i >= 5 && i <= 9) {
  158. hotNewsList_data2.value.push(mkdata.data.text[i])
  159. } else if (i >= 10 && i <= 14) {
  160. hotNewsList_data3.value.push(mkdata.data.text[i])
  161. }
  162. }
  163. } else {
  164. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  165. console.log("错误位置:获取首页今日热点")
  166. console.log("后端错误反馈:", mkdata.message)
  167. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  168. }
  169. }
  170. getModelData3()
  171. //1.获得板块数据 end ---------------------------------------->
  172. </script>
  173. <style lang="less" scoped>
  174. @import url('@/assets/css/components/pagemessage.less');
  175. </style>