querySelector('#card-newest-comments .aside-list') $dom.innerHTML= result window.lazyLoadInstance && window.lazyLoadInstance.update() window.pjax && window.pjax.refresh($dom) } const getSetting = async () => { try { const res = await fetch('https://artk.musnow.top/api/conf', { method: 'GET' }) return await res.json() } catch (e) { console.log(e) } } const headerList = { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'Origin': window.location.origin }, body: new URLSearchParams({ 'site_name': 'mublog', 'limit': '4', 'type':'latest_comments' }) } const getComment = async () => { try { const res = await fetch('https://artk.musnow.top/api/stat', headerList) const result = await res.json() const avatarStr = await getSetting() const { mirror, params, default:defaults } = avatarStr.data.frontend_conf.gravatar const avatarCdn = false || mirror let avatarDefault = false || params || defaults avatarDefault = avatarDefault.startsWith('d=') ? avatarDefault : `d=${avatarDefault}` const artalk = result.data.map(function (e) { return { 'avatar': `${avatarCdn}${e.email_encrypted}?${avatarDefault}`, 'content': changeContent(e.content_marked), 'nick': e.nick, 'url': e.page_url, 'date': e.date, } }) saveToLocal.set('artalk-newest-comments', JSON.stringify(artalk), 10/(60*24)) generateHtml(artalk) } catch (e) { console.log(e) const $dom = document.querySelector('#card-newest-comments .aside-list') $dom.innerHTML= "无法获取评论,请确认相关配置是否正确" } } const newestCommentInit = () => { if (document.querySelector('#card-newest-comments .aside-list')) { const data = saveToLocal.get('artalk-newest-comments') if (data) { generateHtml(JSON.parse(data)) } else { getComment() } } } newestCommentInit() document.addEventListener('pjax:complete', newestCommentInit) })