Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. import Swiper from 'swiper/bundle'
  2. import gsap from 'gsap'
  3. import Common from '../common/js/Common'
  4. import {
  5. isMobile
  6. } from '../common/js/utils'
  7. // const BASEURL = 'http://192.168.1.33:9100';
  8. const BASEURL = 'http://localhost:3002/api';
  9. const pageSize = 5;
  10. export default class App {
  11. constructor() {
  12. let common = new Common(document.querySelector('.main'),4) //导航菜单高亮,0是首页,后面的按顺序添加
  13. this.isMobile = isMobile()
  14. let lazyDoms = document.querySelectorAll(".lazy");
  15. let Time = null;
  16. let isMob=this.isMobile;
  17. lazyDoms.forEach((item) => {
  18. if (item.nodeName == "PICTURE") {
  19. item.children[0].setAttribute("srcset", item.children[0].dataset.srcset);
  20. item.children[1].setAttribute("src", item.children[1].dataset.src);
  21. }
  22. if (item.nodeName == "IMG") {
  23. if(isMob){item.setAttribute("src", item.dataset.srcm);}
  24. else{
  25. item.setAttribute("src", item.dataset.src);
  26. }
  27. }
  28. if (item.nodeName == "VIDEO") {
  29. console.log(item, 'item---2')
  30. item.setAttribute("src", item.dataset.src);
  31. // item.load();
  32. }
  33. });
  34. bindDom();
  35. banner()
  36. function banner() {
  37. let menuChange=true;
  38. let menuType = document.querySelector(".headCon");
  39. menuType.classList.add("menuType");
  40. let mySwiper = new Swiper('.bannerSwiper1', {
  41. autoplay: true,//可选选项,自动滑动
  42. // 如果需要分页器
  43. pagination: {
  44. el: '.swiper-pagination',
  45. },
  46. // 如果需要前进后退按钮
  47. navigation: {
  48. nextEl: '.btn-nextB',
  49. prevEl: '.btn-prevB',
  50. },
  51. on:{
  52. slideChange: function(){
  53. // if(menuChange){
  54. // if(this.activeIndex==0){
  55. // menuType.classList.add("menuType");
  56. // }else{
  57. // menuType.classList.remove("menuType");
  58. // }
  59. // }
  60. },
  61. },
  62. });
  63. let mySwiper2 = new Swiper('.bannerSwiper2', {
  64. autoplay: true,//可选选项,自动滑动
  65. // 如果需要分页器
  66. pagination: {
  67. el: '.swiper-pagination',
  68. },
  69. // 如果需要前进后退按钮
  70. navigation: {
  71. nextEl: '.btn-nextB',
  72. prevEl: '.btn-prevB',
  73. },
  74. on:{
  75. slideChange: function(){
  76. // if(menuChange){
  77. // if(this.activeIndex==0){
  78. // menuType.classList.add("menuType");
  79. // }else{
  80. // menuType.classList.remove("menuType");
  81. // }
  82. // }
  83. },
  84. },
  85. });
  86. // 获取滚动条位置并更新显示
  87. function updateScrollInfo() {
  88. let scrollY = window.scrollY;
  89. if(scrollY>110){
  90. if(menuChange){
  91. menuChange=false;
  92. menuType.classList.remove("menuType");
  93. }
  94. }else if(scrollY<110&&menuChange==false){
  95. menuChange=true;
  96. if(mySwiper.activeIndex==0){
  97. menuType.classList.add("menuType");
  98. }else{
  99. menuType.classList.remove("menuType");
  100. }
  101. }
  102. }
  103. // 添加滚动事件监听器
  104. window.addEventListener('scroll', updateScrollInfo);
  105. // 初始化显示
  106. updateScrollInfo();
  107. }
  108. function bindDom(){
  109. const tabs_ul = document.querySelectorAll(".tabs_li");
  110. tabs_ul.forEach((item,index)=>{
  111. item.addEventListener('click',()=>{
  112. tabs_ul.forEach((li) => {
  113. li.classList.remove('tabs_lis');
  114. });
  115. // 给当前点击的元素添加 tabs_lis 类名
  116. item.classList.add('tabs_lis');
  117. })
  118. })
  119. }
  120. function hotNews(){
  121. const news_banner = document.querySelector('.news_banner');
  122. const img = news_banner.querySelector('img')
  123. const cont1 = news_banner.querySelector('.cont1')
  124. const cont2 = news_banner.querySelector('.cont2')
  125. const cont3 = news_banner.querySelector('.cont3')
  126. fetch(BASEURL+'/system/news/top')
  127. .then(response => {
  128. if (!response.ok) {
  129. throw new Error('网络响应不是 OK');
  130. }
  131. return response.json();
  132. })
  133. .then(response => {
  134. if (response.surfaceUrl) img.src = response.surfaceUrl
  135. cont1.textContent = response.title
  136. cont2.textContent = response.digest
  137. cont3.textContent = response.date
  138. news_banner.addEventListener('click',() => {
  139. window.open('/articleDetails.html?id='+response.uuid)
  140. })
  141. })
  142. .catch(error => {
  143. console.error('请求失败:', error); // 处理错误
  144. });
  145. }
  146. function pageTurningClickEvent (){
  147. // 上一页
  148. const previousPage = document.querySelector('#previousPage');
  149. previousPage.addEventListener('click', function(event) {
  150. event.preventDefault()
  151. const currentPage = sessionStorage.getItem('news_currentPage');
  152. if(currentPage && parseInt(currentPage) > 1){
  153. initList(parseInt(currentPage) - 1)
  154. }
  155. })
  156. //下一页
  157. const nextPage = document.querySelector('#nextPage');
  158. nextPage.addEventListener('click', function(event) {
  159. event.preventDefault()
  160. const currentPage = sessionStorage.getItem('news_currentPage');
  161. const pageCount = Math.ceil(parseInt(sessionStorage.getItem('news_total')) / pageSize)
  162. if(currentPage && parseInt(currentPage) < pageCount){
  163. initList(parseInt(currentPage) + 1)
  164. }
  165. })
  166. }
  167. }
  168. }