// 处于页面配置时,绑定方法 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')
if(!$(this).hasClass('ignore'))
$('.ys-header__cover').removeClass('display-none')
}, function () {
$(this).find('.ys-header__card').removeClass('show')
$('.ys-header__cover').addClass('display-none')
})
// 产品中心悬停
$('.ys-header__nav .product-item').hover(function () {
$('.ys-header__nav .product-child').addClass('display-none')
$('.ys-header__nav .product-item').removeClass('active')
$(this).addClass('active')
$(this).next().removeClass('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()
})
// 客服
$('.ys-header-shortcut__server span').click(function(){
window.dispatchEvent(
new CustomEvent('openService')
)
})
/* ******** 搜索相关 ******** */
function search(value) {
if (value) {
location.href = location.origin + location.pathname + `?keyword=${value}`
} else {
location.href = location.origin + location.pathname
}
}
$('.catalog-search__input').change(function () {
search($(this).val())
})
/* ******** tab相关 ******** */
// tab 点击
$('#catalogTab').on('click', '.catalog-tab__item', function (event) {
// 移除其他项的 active
$('.catalog-tab__item.active').removeClass('active')
// 添加active
$(this).addClass('active')
// 过滤该分类id下的目录书
const categoryId = $(this).data('category')
if (categoryId) {
$('.catalog-list__item').each(function (ele) {
if ($(this).data('category') == categoryId) {
$(this).css('display', 'flex')
} else {
$(this).css('display', 'none')
}
})
} else {
$('.catalog-list__item').each(function (ele) {
$(this).css('display', 'flex')
})
}
})
/* ******** 目录书按钮点击 ******** */
// 点击了下载
$('.catalog-list').on('click', '.button-download', function (event) {
// 线索埋点上报
const id = $(this).parent().data('id')
$request.post('/api/service/report-catalog-book-download', {
catalog_book_id: id,
type: 1, // 1 下载 2 预览
})
customEventLog("catalog_download"); // 打点
customEventLog("set", { key:'clue', value:'catalog_download'}, {onlyTrack: ["ClarityTracker"]}); // clarity标签
return
if ($isLogin) {
// 线索埋点上报
const id = $(this).parent().data('id')
$request.post('/api/service/report-catalog-book-download', {
catalog_book_id: id,
type: 1, // 1 下载 2 预览
})
} else {
event.preventDefault()
$message.info('您未登录,即将跳转登录页')
setTimeout(() => {
location.href = '/user/login.html'
}, 1500)
}
})
// 点击了预览
$('.catalog-list').on('click', '.button-preview', function (event) {
const url = $(this).data('previewurl')
previewPdf(url, 2)
customEventLog("catalog_preview"); // 打点
customEventLog("set", { key:'clue', value:'catalog_preview'}, {onlyTrack: ["ClarityTracker"]}); // clarity标签
return
// 线索埋点上报
if ($isLogin) {
const id = $(this).parent().data('id')
$request.post('/api/service/report-catalog-book-download', {
catalog_book_id: id,
type: 2, // 1 下载 2 预览
})
}
})
// 处于页面配置时,绑定方法
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) => ``)
.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) => `
`)
.join('')
)
$('.ys-footer__content .right-part').empty()
$('.ys-footer__content .right-part').append(nodes)
} else if (field === 'friendly_links') {
const nodes = $(
value
.map(
(e) => `