(function () {
var root = document.querySelector('.article-advisor-block');
if (!root) return;
var toastTimer;
var toast = document.querySelector('#article-advisor-toast');
var backdrop = document.querySelector('#article-sheet-backdrop');
var sheet = document.querySelector('#article-bottom-sheet');
function showToast(message) {
if (!toast) return;
window.clearTimeout(toastTimer);
toast.textContent = message;
toast.classList.add('is-visible');
toastTimer = window.setTimeout(function () {
toast.classList.remove('is-visible');
}, 1800);
}
function showSheet(opts) {
var kicker = document.querySelector('#article-sheet-kicker');
var title = document.querySelector('#article-sheet-title');
var imgWrap = document.querySelector('#article-sheet-cert-img');
if (kicker) kicker.textContent = opts.kicker || '';
if (title) title.textContent = opts.title || '咨询师资质';
if (imgWrap) {
if (opts.image) {
imgWrap.innerHTML =
'' +
'
点击证书可放大查看,支持旋转
'; imgWrap.hidden = false; } else { imgWrap.innerHTML = ''; imgWrap.hidden = true; } } if (backdrop) backdrop.hidden = false; if (sheet) sheet.hidden = false; document.body.style.overflow = 'hidden'; } function closeSheet() { if (window.ExpertCertViewer && window.ExpertCertViewer.isOpen()) { window.ExpertCertViewer.close(); } if (backdrop) backdrop.hidden = true; if (sheet) sheet.hidden = true; document.body.style.overflow = ''; } document.addEventListener('click', function (event) { var preview = event.target.closest('[data-cert-preview]'); if (preview) { event.preventDefault(); event.stopPropagation(); if (window.ExpertCertViewer) { window.ExpertCertViewer.open(preview.getAttribute('data-cert-preview') || preview.getAttribute('src')); } return; } var certBtn = event.target.closest('[data-certificate-open]'); if (certBtn && root.contains(certBtn)) { event.preventDefault(); event.stopPropagation(); var img = certBtn.getAttribute('data-certify-image') || ''; if (!img) { showToast('暂无证书图片'); return; } showSheet({ kicker: '专业证书', title: certBtn.getAttribute('data-qual') || '咨询师资质', image: img }); return; } if (event.target.closest('.card-button.case') || event.target.closest('a.card-button')) { return; } var goto = event.target.closest('[data-goto-detail]'); if (goto && root.contains(goto)) { var card = goto.closest('.advisor-card'); if (card && card.getAttribute('data-url')) { window.location.href = card.getAttribute('data-url'); } } }); var closeBtn = document.querySelector('#article-sheet-close'); var primaryBtn = document.querySelector('#article-sheet-primary'); if (closeBtn) closeBtn.addEventListener('click', closeSheet); if (primaryBtn) primaryBtn.addEventListener('click', closeSheet); if (backdrop) backdrop.addEventListener('click', closeSheet); document.addEventListener('keydown', function (event) { if (event.key === 'Escape') { if (window.ExpertCertViewer && window.ExpertCertViewer.isOpen()) { return; } closeSheet(); } }); })();