document.addEventListener('DOMContentLoaded', () => { /* 获取本篇文章百度收录情况 */ { $.ajax({ url: Joe.prototype.BASE_API, type: 'POST', data: { routeType: 'baidu_record', site: window.location.href }, success(res) { if (res.data && res.data === '已收录') { $('#Joe_Baidu_Record').css('color', '#67C23A') $('#Joe_Baidu_Record').html('已收录') } else { const url = `https://ziyuan.baidu.com/linksubmit/url?sitename=${encodeURI(window.location.href)}` $('#Joe_Baidu_Record').html(`未收录,提交收录`) } } }) } /* 激活代码高亮 */ { Prism.highlightAll() } /* 激活图片预览功能 */ { $('.joe_detail__article img:not(img.owo_image)').each(function () { $(this).wrap($(`
`)) }) } /* 设置文章内的链接为新窗口打开 */ { $('.joe_detail__article a').each(function () { $(this).attr('target', '_blank') }) } /* 当前页的CID */ const cid = $('.joe_detail').attr('data-cid') /* 激活浏览功能 */ { let viewsArr = localStorage.getItem(Joe.prototype.encryption('views')) ? JSON.parse(Joe.prototype.decrypt(localStorage.getItem(Joe.prototype.encryption('views')))) : [] const flag = viewsArr.includes(cid) if (!flag) { $.ajax({ url: Joe.prototype.BASE_API, type: 'POST', data: { routeType: 'handle_views', cid }, success(res) { if (res.code !== 1) return $('#Joe_Article_Views').html(`${res.data.views} 阅读`) viewsArr.push(cid) const name = Joe.prototype.encryption('views') const val = Joe.prototype.encryption(JSON.stringify(viewsArr)) localStorage.setItem(name, val) } }) } } /* 激活文章点赞功能 */ { let agreeArr = localStorage.getItem(Joe.prototype.encryption('agree')) ? JSON.parse(Joe.prototype.decrypt(localStorage.getItem(Joe.prototype.encryption('agree')))) : [] if (agreeArr.includes(cid)) $('.joe_detail__agree .icon-1').addClass('active') else $('.joe_detail__agree .icon-2').addClass('active') let _loading = false $('.joe_detail__agree .icon').on('click', function () { if (_loading) return _loading = true agreeArr = localStorage.getItem(Joe.prototype.encryption('agree')) ? JSON.parse(Joe.prototype.decrypt(localStorage.getItem(Joe.prototype.encryption('agree')))) : [] let flag = agreeArr.includes(cid) $.ajax({ url: Joe.prototype.BASE_API, type: 'POST', data: { routeType: 'handle_agree', cid, type: flag ? 'disagree' : 'agree' }, success(res) { if (res.code !== 1) return $('.joe_detail__agree .text').html(res.data.agree) if (flag) { const index = agreeArr.findIndex(_ => _ === cid) agreeArr.splice(index, 1) $('.joe_detail__agree .icon-1').removeClass('active') $('.joe_detail__agree .icon-2').addClass('active') $('.joe_detail__agree .icon').removeClass('active') } else { agreeArr.push(cid) $('.joe_detail__agree .icon-2').removeClass('active') $('.joe_detail__agree .icon-1').addClass('active') $('.joe_detail__agree .icon').addClass('active') } const name = Joe.prototype.encryption('agree') const val = Joe.prototype.encryption(JSON.stringify(agreeArr)) localStorage.setItem(name, val) }, complete() { _loading = false } }) }) } })