// 处于页面配置时,绑定方法 start if ($isDecorateMode) { document.addEventListener("diy_header/1", (event) => { const { field, value } = event.detail; console.log(field, value) if (field === 'hots') { let html = '' value.forEach(e => { html += `${e.name}` }) $('.' + field).html(html) } }); } // 处于页面配置时,绑定方法 end $(function () { $("#logout").click(function () { $request .post("/api/user/logout") .then((res) => { // 跳转页面 location.href = "/"; }); }) // 防止一开始进入页面在底部不显示 setHeaderSticky() $(window).scroll(setHeaderSticky) function setHeaderSticky(){ let offset = $("html,body").scrollTop() if (offset) { $('.ys-header').addClass('is-sticky') } else { $('.ys-header').removeClass('is-sticky') } } // 导航栏悬停 $('.ys-header__nav .nav-item').hover(function () { $(this).find('.ys-header__card').addClass('show') $('.ys-header__cover').removeClass('display-none') }, function () { $(this).find('.ys-header__card').removeClass('show') $('.ys-header__cover').addClass('display-none') }) // 搜索框悬停事件 $('.ys-header__search').focus(function () { $('.ys-header__nav').addClass('display-none') $('.ys-header__right').addClass('open') }, function() { if (!$('.ys-header__search-card').hasClass('show')) { $('.ys-header__nav').removeClass('display-none') $('.ys-header__right').removeClass('open') } }) // 搜索框聚焦事件 $('.ys-header__search input').focus(function () { openSearchCard() }) $('.ys-header__search-card .icon-close').click(function () { closeSearchCard() }) $(document).on('click', function (e) { if (!$('.ys-header__search-card')[0].contains(e.target) && !$('.ys-header__search input').is(':focus')) { closeSearchCard() } }) // 搜索 $('.ys-header__search input').keyup(function (e) { if (e.keyCode === 13) { search() } }) $('.ys-header__search .search-btn').click(function () { search() }) // 清空历史记录 $('.ys-header__search-card .search-history span').click(function () { localStorage.removeItem('searchHistory') setHistory() }) // 展开搜索卡片 function openSearchCard() { $('.ys-header__nav').addClass('display-none') $('.ys-header__search-card').addClass('show') $('.ys-header__cover').removeClass('display-none') $('.ys-header__right').addClass('open') } // 收起搜索卡片 function closeSearchCard() { $('.ys-header__nav').removeClass('display-none') $('.ys-header__search-card').removeClass('show') $('.ys-header__cover').addClass('display-none') $('.ys-header__right').removeClass('open') } // 搜索事件 function search() { let val = $('.ys-header__search input').val() if (!val) return $message.warning('请输入搜索关键词') let history = JSON.parse(localStorage.getItem('searchHistory')) || [] history.unshift(val) history = [...new Set(history)] localStorage.setItem('searchHistory', JSON.stringify(history.slice(0, 10))) window.open('/search_result.html?keyword=' + val) closeSearchCard() setHistory() } // 设置搜索历史 function setHistory() { let history = JSON.parse(localStorage.getItem('searchHistory')) || [] let html = '' history.forEach(e => { html += `${e}` }) $('.ys-header__search-card .search-history .search-words').html(html) } setHistory() // 熊猫体育官网首页入口 tabs切换 const moreTypeList = ['information', 'catalog'] // 存在 more 的类型 $('.service-cate li').hover(function () { let type = $(this).attr('data-type') if (type) { $('.service-cate li').removeClass('active') $(this).addClass('active') $('.ys-header__service .content-item').addClass('display-none') $('.ys-header__service .content-item[data-type='+type+']').removeClass('display-none') if(moreTypeList.includes(type)){ $('.service-content-more').not('.' + type).addClass('display-none') $('.service-content-slide').removeClass('display-none') $('.service-content-more.' + type).removeClass('display-none') } else { $('.service-content-more').addClass('display-none') $('.service-content-slide').addClass('display-none') } } }) // 关于我们tabs切换 $('.about-cate-item').hover(function () { let type = $(this).attr('data-type') if (type) { $('.about-cate-item').removeClass('active') $(this).addClass('active') $('.about-content .about-item').addClass('display-none') $('.about-content .about-item[data-type='+type+']').removeClass('display-none') // 用于切换底部更多链接跳转,现在没有更多,如果需要参考上方取消注释 /* $('.about-content-slide').addClass('display-none') $('.about-content-more').addClass('display-none') */ } }) }) // 点赞相关 let likeLoading = false const likeStateInfo = { default: 'icon-thumb', active: 'icon-thumb-fill', } $('.article-tools__like').click(function () { if (!$isLogin) { $message.info('请先登录') return } if (likeLoading) { $message.info('正在处理中,请稍等~') return } likeLoading = true const icon = $(this).children('.iconfont') const isActive = icon.hasClass(likeStateInfo.default) if (isActive) { icon.removeClass(likeStateInfo.default).addClass(likeStateInfo.active) } else { icon.removeClass(likeStateInfo.active).addClass(likeStateInfo.default) } handleLikeRequest(+isActive) }) /** * @description: 处理点赞 ajax * @return {*} */ function handleLikeRequest(state) { $request .post("/api/content/like", { id: $('.info-detail__content').data('id') }).then(() => { $message.success(state ? '点赞成功' : '取消点赞成功') likeLoading = false }) } // 点击分享相关 $('.article-tools .tencent').on('click', () => { let url = encodeURIComponent(location.href) let title = encodeURIComponent($('.article__title').text()) window.open( `https://connect.qq.com/widget/shareqq/index.html?url=${url}&title=${title}&source=${url}&desc=${title}&pics=` ) }) $('.article-tools .weibo').on('click', () => { let url = encodeURIComponent(location.href) let title = encodeURIComponent($('.article__title').text()) window.open( `https://service.weibo.com/share/share.php?url=${url}&title=${title}&pic=&appkey=&sudaref=` ) }) // 创建分享二维码 $().ready(() => { new QRCode(document.querySelector('.share-options .cover-code div'), { text: location.href, width: 100, height: 100, colorDark: '#000000', colorLight: '#ffffff', }) }) // 复制链接 $('.share-options .link').on('click', () => { let oInput = document.createElement('input') oInput.value = location.href document.body.appendChild(oInput) oInput.select() document.execCommand("Copy") oInput.remove() $message.success('复制成功') }) $(function () { // 页面滚动时右侧栏的悬停 let articleHeight = $('.content-side').height() - +($('.related-product').height() || 0) let sideHeight = $('.info-side').height() window.addEventListener('scroll', function () { let scrollHeight = $(document).scrollTop() + $(window).height() if (articleHeight > sideHeight) { if (scrollHeight - 173 >= sideHeight) { $('.info-side').addClass('fixed-bottom') if (scrollHeight > articleHeight) { $('.info-side > div').css('bottom', scrollHeight - articleHeight + 'px') } else { $('.info-side > div').css('bottom', 0) } } else { $('.info-side').removeClass('fixed-bottom') } } }); // 埋点 productViewListItem() productSelectItemClick() }) /* 埋点方法 start */ const ItemListId = 'information_related_products_list'; // ga view_item_list 列表id const ItemListName = 'information related products list';// ga view_item_list 列表名称 function productViewListItem() { const itemsInfoList = getProductListInfo() if(!Array.isArray(itemsInfoList) || !itemsInfoList.length) return const ecommerceListObj = { event: "view_item_list", ecommerce: { item_list_id: ItemListId, item_list_name: ItemListName, items: itemsInfoList, } } customEventLog('ecommerce', ecommerceListObj, {onlyTrack: ["DataLayerTracker"]}) } function getProductListInfo() { const itemInfoList = [] $('.related-product__list .related-product__item').each(function (index, value) { const itemEle = $(this) const item = { item_id: itemEle.find('.product__code').text().trim(), item_name: itemEle.find('.product__title').text().trim(), index: index + 1, item_list_id: ItemListId, item_list_name: ItemListName, from_information: $('.info-detail__content').data('id') } itemInfoList.push(item) }) return itemInfoList } // 列表点击商品 function productSelectItemClick() { $('.related-product__list').on('click', 'a', productSelectItem) } function productSelectItem() { const itemEle = $(this) const ecommerceItemObj = { event: "select_item", ecommerce : [{ item_list_id: ItemListId, item_list_name: ItemListName, items: { item_id: itemEle.find('.product__code').text().trim(), item_name: itemEle.find('.product__code').text().trim(), index: itemEle.index() + 1, item_list_id: ItemListId, item_list_name: ItemListName, from_information: $('.info-detail__content').data('id') } }] } customEventLog('ecommerce', ecommerceItemObj, {onlyTrack: ["DataLayerTracker"]}) } /* 埋点方法 end */ // 处于页面配置时,绑定方法 if ($isDecorateMode) { document.addEventListener('diy_footer/1', (event) => { const { field, value } = event.detail console.log(field, value) if (field === 'footer_ad') { const nodes = $( value .map((item) => `${item.alt}`) .join('') ) $('.ys-footer__ad').empty() $('.ys-footer__ad').append(nodes) } else if (field === 'contact_phone') { $('.footer_phone').text(value) } else if (field === 'work_time') { $('.footer_work_time').text(value) } else if (field === 'contact_email') { $('.footer_email').text(value) } else if (field === 'footer_nav') { const nodes = $( value .map( (c) => ` ` ) .join('') ) $('.ys-footer__content .center-part').empty() $('.ys-footer__content .center-part').append(nodes) } else if (field === 'right_part') { const nodes = $( value .map((item) => `${item.alt}`) .join('') ) $('.ys-footer__content .right-part').empty() $('.ys-footer__content .right-part').append(nodes) } else if (field === 'friendly_links') { const nodes = $( value .map( (e) => `
  • ${e.title}
  • ` ) .join('') ) $('.ys-footer__friendly ul').empty() $('.ys-footer__friendly ul').append(nodes) } else if (field === 'copyright') { $('.copyright-wrap span').text(value) } else if (field === 'beian') { $('.copyright-wrap a').text(value) } else if (field === 'footer_logo') { $('.footer-logo').attr('alt', value.alt) $('.footer-logo').attr('src', value.src) } else if (field === 'map_links') { const nodes = $( value .map( (e) => ` ${e.title} ` ) .join('') ) $('.ys-footer__end .end-link').empty() $('.ys-footer__end .end-link').append(nodes) } }) } window.addEventListener('openService', openService) // 监听全局客服点击事件 $('#backTop').click(function () { $('html, body').animate({ scrollTop: 0 }, 300) }) $('.ys-rightNav .service').click(function() { openService() }) // 打开客服弹窗 function openService() { if ($('#aff-im-root .embed-icon-pcIcon5').length > 0) { $('#aff-im-root .embed-icon-pcIcon5').click() } else { $('#newBridge .nb-icon-wrap').click() } customEventLog("open_server"); // 打点 customEventLog("set", { key:'purchase', value:'service'}, {onlyTrack: ["ClarityTracker"]}); // clarity标签 } // 监听页面滚动 $(window).scroll(function () { $('.ys-rightNav #backTop').css('display', $(document).scrollTop() ? 'block' : 'none') })