diff --git a/assets/js/joe.short.js b/assets/js/joe.short.js index ac159b3..1d7ef62 100644 --- a/assets/js/joe.short.js +++ b/assets/js/joe.short.js @@ -71,11 +71,11 @@ document.addEventListener('DOMContentLoaded', () => { render() { if (!this.options.id) return (this.innerHTML = '网易云歌曲ID未填写!'); this.innerHTML = ''; - fetch('https://api.i-meto.com/meting/api?server=netease&type=song&id=' + this.options.id).then(async response => { + fetch('https://vvhan.com/usr/themes/Joe/NeteaseCloudMusicApi.php?id=' + this.options.id).then(async response => { const audio = await response.json(); new APlayer({ container: getChildren(this, '_content'), - lrcType: 3, + lrcType: 1, theme: this.options.color, autoplay: this.options.autoplay, audio diff --git a/assets/js/joe.short.min.js b/assets/js/joe.short.min.js index a161def..f879501 100644 --- a/assets/js/joe.short.min.js +++ b/assets/js/joe.short.min.js @@ -1 +1 @@ -function getChildren(t,e){for(let s of t.children)if(s.className===e)return s;return null}document.addEventListener("DOMContentLoaded",()=>{$(".joe_detail__article p:empty").remove(),customElements.define("joe-mtitle",class extends HTMLElement{constructor(){super(),this.innerHTML=`\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t${this.getAttribute("title")||"默认标题"}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t`}}),customElements.define("joe-mp3",class extends HTMLElement{constructor(){super(),this.options={name:this.getAttribute("name"),url:this.getAttribute("url"),theme:this.getAttribute("theme")||"#1989fa",cover:this.getAttribute("cover"),autoplay:!!this.getAttribute("autoplay")},this.render()}render(){if(!this.options.url)return this.innerHTML="音频地址未填写!";this.innerHTML='',new APlayer({container:getChildren(this,"_content"),theme:this.options.theme,autoplay:this.options.autoplay,audio:[{url:this.options.url,name:this.options.name,cover:this.options.cover}]})}}),customElements.define("joe-music",class extends HTMLElement{constructor(){super(),this.options={id:this.getAttribute("id"),color:this.getAttribute("color")||"#1989fa",autoplay:!!this.getAttribute("autoplay")},this.render()}render(){if(!this.options.id)return this.innerHTML="网易云歌曲ID未填写!";this.innerHTML='',fetch("https://api.i-meto.com/meting/api?server=netease&type=song&id="+this.options.id).then(async t=>{const e=await t.json();new APlayer({container:getChildren(this,"_content"),lrcType:3,theme:this.options.color,autoplay:this.options.autoplay,audio:e})})}}),customElements.define("joe-mlist",class extends HTMLElement{constructor(){super(),this.options={id:this.getAttribute("id"),color:this.getAttribute("color")||"#1989fa",autoplay:!!this.getAttribute("autoplay")},this.render()}render(){if(!this.options.id)return this.innerHTML="网易云歌单ID未填写!";this.innerHTML='',fetch("https://api.i-meto.com/meting/api?server=netease&type=playlist&id="+this.options.id).then(async t=>{const e=await t.json();new APlayer({container:getChildren(this,"_content"),lrcType:3,theme:this.options.color,autoplay:this.options.autoplay,audio:e})})}}),customElements.define("joe-abtn",class extends HTMLElement{constructor(){super(),this.options={icon:this.getAttribute("icon")||"",color:this.getAttribute("color")||"#ff6800",href:this.getAttribute("href")||"#",radius:this.getAttribute("radius")||"17.5px",content:this.getAttribute("content")||"多彩按钮"},this.innerHTML=`\n \n \n \n \n \n ${this.options.content}\n \n \n `}}),customElements.define("joe-anote",class extends HTMLElement{constructor(){super(),this.options={icon:this.getAttribute("icon")||"fa-download",href:this.getAttribute("href")||"#",type:/^secondary$|^success$|^warning$|^error$|^info$/.test(this.getAttribute("type"))?this.getAttribute("type"):"secondary",content:this.getAttribute("content")||"标签按钮"},this.innerHTML=`\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t${this.options.content}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t`}}),customElements.define("joe-dotted",class extends HTMLElement{constructor(){super(),this.startColor=this.getAttribute("startColor")||"#ff6c6c",this.endColor=this.getAttribute("endColor")||"#1989fa",this.innerHTML=`\n\t\t\t\t\t\n\t\t\t\t`}}),customElements.define("joe-cloud",class extends HTMLElement{constructor(){super(),this.options={type:this.getAttribute("type")||"default",title:this.getAttribute("title")||"默认标题",url:this.getAttribute("url"),password:this.getAttribute("password")};const t={default:"默认网盘",360:"360网盘",bd:"百度网盘",ty:"天翼网盘",ct:"城通网盘",wy:"微云网盘",github:"Github仓库",lz:"蓝奏云网盘"};this.innerHTML=`\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
${this.options.title}
\n\t\t\t\t\t\t\t
来源:${t[this.options.type]||"默认网盘"}${this.options.password?" | 提取码:"+this.options.password:""}
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t`}}),customElements.define("joe-hide",class extends HTMLElement{constructor(){super(),this.render()}render(){this.innerHTML='此处内容作者设置了 回复 可见',this.$button=this.querySelector(".joe_hide__button");const t=document.querySelector(".joe_comment"),e=document.querySelector(".joe_header");t&&e&&this.$button.addEventListener("click",()=>{const s=t.offsetTop-e.offsetHeight-15;window.scrollTo({top:s,behavior:"smooth"})})}}),customElements.define("joe-card-default",class extends HTMLElement{constructor(){super();const t=getChildren(this,"_temp");this.options={width:this.getAttribute("width")||"100%",label:this.getAttribute("label")||"卡片标题",content:t.innerHTML.trim().replace(/^(
)|(
)$/g,"")||"卡片内容"};const e=`\n\t\t\t\t
\n\t\t\t\t\t
${this.options.label}
\n\t\t\t\t\t
${this.options.content}
\n\t\t\t\t
\n\t\t\t`;if(getChildren(this,"_content"))getChildren(this,"_content").innerHTML=e;else{const t=document.createElement("span");t.style.display="block",t.className="_content",t.innerHTML=e,this.appendChild(t)}}}),customElements.define("joe-message",class extends HTMLElement{constructor(){super(),this.options={type:/^success$|^info$|^warning$|^error$/.test(this.getAttribute("type"))?this.getAttribute("type"):"info",content:this.getAttribute("content")||"消息内容"},this.innerHTML=`\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t${this.options.content}\n\t\t\t\t\t\n\t\t\t\t`}}),customElements.define("joe-progress",class extends HTMLElement{constructor(){super(),this.options={percentage:/^\d{1,3}%$/.test(this.getAttribute("percentage"))?this.getAttribute("percentage"):"50%",color:this.getAttribute("color")||"#ff6c6c"},this.innerHTML=`\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
${this.options.percentage}
\n\t\t\t\t
\n\t\t\t`}}),customElements.define("joe-callout",class extends HTMLElement{constructor(){super();const t=getChildren(this,"_temp");this.options={color:this.getAttribute("color")||"#f0ad4e",content:t.innerHTML.trim().replace(/^(
)|(
)$/g,"")||"标注内容"};const e=`\n\t\t\t\t\t
\n\t\t\t\t\t\t${this.options.content}\n\t\t\t\t\t
\n\t\t\t\t`;if(getChildren(this,"_content"))getChildren(this,"_content").innerHTML=e;else{const t=document.createElement("span");t.style.display="block",t.className="_content",t.innerHTML=e,this.appendChild(t)}}}),customElements.define("joe-card-describe",class extends HTMLElement{constructor(){super();const t=getChildren(this,"_temp");this.options={title:this.getAttribute("title")||"卡片描述",content:t.innerHTML.trim().replace(/^(
)|(
)$/g,"")||"卡片内容"};const e=`\n\t\t\t\t\t
\n\t\t\t\t\t\t
${this.options.title}
\n\t\t\t\t\t\t
${this.options.content}
\n\t\t\t\t\t
\n\t\t\t\t`;if(getChildren(this,"_content"))getChildren(this,"_content").innerHTML=e;else{const t=document.createElement("span");t.style.display="block",t.className="_content",t.innerHTML=e,this.appendChild(t)}}}),customElements.define("joe-card-list",class extends HTMLElement{constructor(){super();const t=getChildren(this,"_temp");let e=t.innerHTML.trim().replace(/^(
)|(
)$/g,""),s="";e.replace(/{card-list-item}([\s\S]*?){\/card-list-item}/g,function(t,e){s+=`
${e.trim().replace(/^(
)|(
)$/g,"")}
`});let n=`
${s}
`;if(getChildren(this,"_content"))getChildren(this,"_content").innerHTML=n;else{const t=document.createElement("span");t.className="_content",t.style.display="block",t.innerHTML=n,this.appendChild(t)}}}),customElements.define("joe-alert",class extends HTMLElement{constructor(){super();const t=getChildren(this,"_temp");this.options={type:/^success$|^info$|^warning$|^error$/.test(this.getAttribute("type"))?this.getAttribute("type"):"info",content:t.innerHTML.trim().replace(/^(
)|(
)$/g,"")||"警告提示"};const e=`\n\t\t\t\t\t
\n\t\t\t\t\t\t${this.options.content}\n\t\t\t\t\t
\n\t\t\t\t`;if(getChildren(this,"_content"))getChildren(this,"_content").innerHTML=e;else{const t=document.createElement("span");t.style.display="block",t.className="_content",t.innerHTML=e,this.appendChild(t)}}}),customElements.define("joe-timeline",class extends HTMLElement{constructor(){super();const t=getChildren(this,"_temp");let e=t.innerHTML.trim().replace(/^(
)|(
)$/g,""),s="";e.replace(/{timeline-item([^}]*)}([\s\S]*?){\/timeline-item}/g,function(t,e,n){s+=`\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
${n.trim().replace(/^(
)|(
)$/g,"")}
\n\t\t\t\t\t
\n\t\t\t\t`});let n=`
${s}
`;if(getChildren(this,"_content"))getChildren(this,"_content").innerHTML=n;else{const t=document.createElement("span");t.className="_content",t.style.display="block",t.innerHTML=n,this.appendChild(t)}this.querySelectorAll(".joe_timeline__item-circle").forEach((t,e)=>{const s=t.getAttribute("color")||"#19be6b";t.style.borderColor=s})}}),customElements.define("joe-collapse",class extends HTMLElement{constructor(){super();const t=getChildren(this,"_temp");let e=t.innerHTML.trim().replace(/^(
)|(
)$/g,""),s="";e.replace(/{collapse-item([^}]*)}([\s\S]*?){\/collapse-item}/g,function(t,e,n){s+=`\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
${n.trim().replace(/^(
)|(
)$/g,"")}
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t`});let n=`
${s}
`;if(getChildren(this,"_content"))getChildren(this,"_content").innerHTML=n;else{const t=document.createElement("span");t.className="_content",t.style.display="block",t.innerHTML=n,this.appendChild(t)}this.querySelectorAll(".joe_collapse__item").forEach(t=>{const e=t.getAttribute("label")||"折叠标题",s=getChildren(t,"joe_collapse__item-head"),n=getChildren(s,"joe_collapse__item-head--label");n.innerHTML=e;const i=getChildren(t,"joe_collapse__item-wrapper"),o=getChildren(i,"joe_collapse__item-wrapper--content"),r=t.getAttribute("open");null!==r&&(t.classList.add("active"),i.style.maxHeight="none"),s.addEventListener("click",()=>{i.style.maxHeight=o.offsetHeight+"px";let e=setTimeout(()=>{t.classList.contains("active")?(t.classList.remove("active"),i.style.maxHeight=0):(t.classList.add("active"),i.style.maxHeight=o.offsetHeight+"px"),clearTimeout(e)},30)})})}}),customElements.define("joe-dplayer",class extends HTMLElement{constructor(){super(),this.options={src:this.getAttribute("src"),player:this.getAttribute("player")},this.render()}render(){this.options.src?this.innerHTML=``:this.innerHTML="播放地址未填写!"}}),customElements.define("joe-bilibili",class extends HTMLElement{constructor(){super(),this.bvid=this.getAttribute("bvid"),this.page=Object.is(Number(this.getAttribute("page")),NaN)?1:this.getAttribute("page"),this.render()}render(){this.bvid?this.innerHTML=``:this.innerHTML="Bvid未填写!"}}),customElements.define("joe-tabs",class extends HTMLElement{constructor(){super();const t=getChildren(this,"_temp");let e=t.innerHTML.trim().replace(/^(
)|(
)$/g,""),s="",n="";e.replace(/{tabs-pane([^}]*)}([\s\S]*?){\/tabs-pane}/g,function(t,e,i){s+=`
`,n+=``});let i=`\n
\n
${s}
\n
${n}
\n
\n `;if(getChildren(this,"_content"))getChildren(this,"_content").innerHTML=i;else{const t=document.createElement("span");t.className="_content",t.style.display="block",t.innerHTML=i,this.appendChild(t)}this.querySelectorAll(".joe_tabs__head-item").forEach((t,e)=>{const s=t.getAttribute("label");t.innerHTML=s,t.addEventListener("click",()=>{this.querySelectorAll(".joe_tabs__head-item").forEach(t=>t.classList.remove("active")),this.querySelectorAll(".joe_tabs__body-item").forEach(t=>t.style.display="none"),this.querySelector(`.joe_tabs__body-item[label="${s}"]`)&&(this.querySelector(`.joe_tabs__body-item[label="${s}"]`).style.display="block"),t.classList.add("active")}),0===e&&t.click()})}}),customElements.define("joe-gird",class extends HTMLElement{constructor(){super(),this.options={column:isNaN(this.getAttribute("column"))||!this.getAttribute("column")?3:this.getAttribute("column"),gap:isNaN(this.getAttribute("gap"))||!this.getAttribute("gap")?15:this.getAttribute("gap")};const t=getChildren(this,"_temp");let e=t.innerHTML.trim().replace(/^(
)|(
)$/g,""),s="";e.replace(/{gird-item}([\s\S]*?){\/gird-item}/g,function(t,e){s+=`
${e.trim().replace(/^(
)|(
)$/g,"")}
`});let n=`
${s}
`;if(getChildren(this,"_content"))getChildren(this,"_content").innerHTML=n;else{const t=document.createElement("span");t.className="_content",t.style.display="block",t.innerHTML=n,this.appendChild(t)}}}),customElements.define("joe-copy",class extends HTMLElement{constructor(){super(),this.options={showText:this.getAttribute("showText")||"点击复制",copyText:this.getAttribute("copyText")||"默认文本"},this.innerHTML=`${this.options.showText}`;const t=getChildren(this,"joe_copy");"undefined"!=typeof ClipboardJS&&"undefined"!=typeof Qmsg?new ClipboardJS(t,{text:()=>this.options.copyText}).on("success",()=>Qmsg.success("复制成功!")):t.addEventListener("click",()=>alert("该功能请前往前台查看!"))}}),$(".joe_detail__article p:empty").remove()}); \ No newline at end of file +function getChildren(t,e){for(let s of t.children)if(s.className===e)return s;return null}document.addEventListener("DOMContentLoaded",()=>{$(".joe_detail__article p:empty").remove(),customElements.define("joe-mtitle",class extends HTMLElement{constructor(){super(),this.innerHTML=`\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t${this.getAttribute("title")||"默认标题"}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t`}}),customElements.define("joe-mp3",class extends HTMLElement{constructor(){super(),this.options={name:this.getAttribute("name"),url:this.getAttribute("url"),theme:this.getAttribute("theme")||"#1989fa",cover:this.getAttribute("cover"),autoplay:!!this.getAttribute("autoplay")},this.render()}render(){if(!this.options.url)return this.innerHTML="音频地址未填写!";this.innerHTML='',new APlayer({container:getChildren(this,"_content"),theme:this.options.theme,autoplay:this.options.autoplay,audio:[{url:this.options.url,name:this.options.name,cover:this.options.cover}]})}}),customElements.define("joe-music",class extends HTMLElement{constructor(){super(),this.options={id:this.getAttribute("id"),color:this.getAttribute("color")||"#1989fa",autoplay:!!this.getAttribute("autoplay")},this.render()}render(){if(!this.options.id)return this.innerHTML="网易云歌曲ID未填写!";this.innerHTML='',fetch("https://vvhan.com/usr/themes/Joe/NeteaseCloudMusicApi.php?id="+this.options.id).then(async t=>{const e=await t.json();new APlayer({container:getChildren(this,"_content"),lrcType:1,theme:this.options.color,autoplay:this.options.autoplay,audio:e})})}}),customElements.define("joe-mlist",class extends HTMLElement{constructor(){super(),this.options={id:this.getAttribute("id"),color:this.getAttribute("color")||"#1989fa",autoplay:!!this.getAttribute("autoplay")},this.render()}render(){if(!this.options.id)return this.innerHTML="网易云歌单ID未填写!";this.innerHTML='',fetch("https://api.i-meto.com/meting/api?server=netease&type=playlist&id="+this.options.id).then(async t=>{const e=await t.json();new APlayer({container:getChildren(this,"_content"),lrcType:3,theme:this.options.color,autoplay:this.options.autoplay,audio:e})})}}),customElements.define("joe-abtn",class extends HTMLElement{constructor(){super(),this.options={icon:this.getAttribute("icon")||"",color:this.getAttribute("color")||"#ff6800",href:this.getAttribute("href")||"#",radius:this.getAttribute("radius")||"17.5px",content:this.getAttribute("content")||"多彩按钮"},this.innerHTML=`\n \n \n \n \n \n ${this.options.content}\n \n \n `}}),customElements.define("joe-anote",class extends HTMLElement{constructor(){super(),this.options={icon:this.getAttribute("icon")||"fa-download",href:this.getAttribute("href")||"#",type:/^secondary$|^success$|^warning$|^error$|^info$/.test(this.getAttribute("type"))?this.getAttribute("type"):"secondary",content:this.getAttribute("content")||"标签按钮"},this.innerHTML=`\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t${this.options.content}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t`}}),customElements.define("joe-dotted",class extends HTMLElement{constructor(){super(),this.startColor=this.getAttribute("startColor")||"#ff6c6c",this.endColor=this.getAttribute("endColor")||"#1989fa",this.innerHTML=`\n\t\t\t\t\t\n\t\t\t\t`}}),customElements.define("joe-cloud",class extends HTMLElement{constructor(){super(),this.options={type:this.getAttribute("type")||"default",title:this.getAttribute("title")||"默认标题",url:this.getAttribute("url"),password:this.getAttribute("password")};const t={default:"默认网盘",360:"360网盘",bd:"百度网盘",ty:"天翼网盘",ct:"城通网盘",wy:"微云网盘",github:"Github仓库",lz:"蓝奏云网盘"};this.innerHTML=`\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
${this.options.title}
\n\t\t\t\t\t\t\t
来源:${t[this.options.type]||"默认网盘"}${this.options.password?" | 提取码:"+this.options.password:""}
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t`}}),customElements.define("joe-hide",class extends HTMLElement{constructor(){super(),this.render()}render(){this.innerHTML='此处内容作者设置了 回复 可见',this.$button=this.querySelector(".joe_hide__button");const t=document.querySelector(".joe_comment"),e=document.querySelector(".joe_header");t&&e&&this.$button.addEventListener("click",()=>{const s=t.offsetTop-e.offsetHeight-15;window.scrollTo({top:s,behavior:"smooth"})})}}),customElements.define("joe-card-default",class extends HTMLElement{constructor(){super();const t=getChildren(this,"_temp");this.options={width:this.getAttribute("width")||"100%",label:this.getAttribute("label")||"卡片标题",content:t.innerHTML.trim().replace(/^(
)|(
)$/g,"")||"卡片内容"};const e=`\n\t\t\t\t
\n\t\t\t\t\t
${this.options.label}
\n\t\t\t\t\t
${this.options.content}
\n\t\t\t\t
\n\t\t\t`;if(getChildren(this,"_content"))getChildren(this,"_content").innerHTML=e;else{const t=document.createElement("span");t.style.display="block",t.className="_content",t.innerHTML=e,this.appendChild(t)}}}),customElements.define("joe-message",class extends HTMLElement{constructor(){super(),this.options={type:/^success$|^info$|^warning$|^error$/.test(this.getAttribute("type"))?this.getAttribute("type"):"info",content:this.getAttribute("content")||"消息内容"},this.innerHTML=`\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t${this.options.content}\n\t\t\t\t\t\n\t\t\t\t`}}),customElements.define("joe-progress",class extends HTMLElement{constructor(){super(),this.options={percentage:/^\d{1,3}%$/.test(this.getAttribute("percentage"))?this.getAttribute("percentage"):"50%",color:this.getAttribute("color")||"#ff6c6c"},this.innerHTML=`\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
${this.options.percentage}
\n\t\t\t\t
\n\t\t\t`}}),customElements.define("joe-callout",class extends HTMLElement{constructor(){super();const t=getChildren(this,"_temp");this.options={color:this.getAttribute("color")||"#f0ad4e",content:t.innerHTML.trim().replace(/^(
)|(
)$/g,"")||"标注内容"};const e=`\n\t\t\t\t\t
\n\t\t\t\t\t\t${this.options.content}\n\t\t\t\t\t
\n\t\t\t\t`;if(getChildren(this,"_content"))getChildren(this,"_content").innerHTML=e;else{const t=document.createElement("span");t.style.display="block",t.className="_content",t.innerHTML=e,this.appendChild(t)}}}),customElements.define("joe-card-describe",class extends HTMLElement{constructor(){super();const t=getChildren(this,"_temp");this.options={title:this.getAttribute("title")||"卡片描述",content:t.innerHTML.trim().replace(/^(
)|(
)$/g,"")||"卡片内容"};const e=`\n\t\t\t\t\t
\n\t\t\t\t\t\t
${this.options.title}
\n\t\t\t\t\t\t
${this.options.content}
\n\t\t\t\t\t
\n\t\t\t\t`;if(getChildren(this,"_content"))getChildren(this,"_content").innerHTML=e;else{const t=document.createElement("span");t.style.display="block",t.className="_content",t.innerHTML=e,this.appendChild(t)}}}),customElements.define("joe-card-list",class extends HTMLElement{constructor(){super();const t=getChildren(this,"_temp");let e=t.innerHTML.trim().replace(/^(
)|(
)$/g,""),s="";e.replace(/{card-list-item}([\s\S]*?){\/card-list-item}/g,function(t,e){s+=`
${e.trim().replace(/^(
)|(
)$/g,"")}
`});let n=`
${s}
`;if(getChildren(this,"_content"))getChildren(this,"_content").innerHTML=n;else{const t=document.createElement("span");t.className="_content",t.style.display="block",t.innerHTML=n,this.appendChild(t)}}}),customElements.define("joe-alert",class extends HTMLElement{constructor(){super();const t=getChildren(this,"_temp");this.options={type:/^success$|^info$|^warning$|^error$/.test(this.getAttribute("type"))?this.getAttribute("type"):"info",content:t.innerHTML.trim().replace(/^(
)|(
)$/g,"")||"警告提示"};const e=`\n\t\t\t\t\t
\n\t\t\t\t\t\t${this.options.content}\n\t\t\t\t\t
\n\t\t\t\t`;if(getChildren(this,"_content"))getChildren(this,"_content").innerHTML=e;else{const t=document.createElement("span");t.style.display="block",t.className="_content",t.innerHTML=e,this.appendChild(t)}}}),customElements.define("joe-timeline",class extends HTMLElement{constructor(){super();const t=getChildren(this,"_temp");let e=t.innerHTML.trim().replace(/^(
)|(
)$/g,""),s="";e.replace(/{timeline-item([^}]*)}([\s\S]*?){\/timeline-item}/g,function(t,e,n){s+=`\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
${n.trim().replace(/^(
)|(
)$/g,"")}
\n\t\t\t\t\t
\n\t\t\t\t`});let n=`
${s}
`;if(getChildren(this,"_content"))getChildren(this,"_content").innerHTML=n;else{const t=document.createElement("span");t.className="_content",t.style.display="block",t.innerHTML=n,this.appendChild(t)}this.querySelectorAll(".joe_timeline__item-circle").forEach((t,e)=>{const s=t.getAttribute("color")||"#19be6b";t.style.borderColor=s})}}),customElements.define("joe-collapse",class extends HTMLElement{constructor(){super();const t=getChildren(this,"_temp");let e=t.innerHTML.trim().replace(/^(
)|(
)$/g,""),s="";e.replace(/{collapse-item([^}]*)}([\s\S]*?){\/collapse-item}/g,function(t,e,n){s+=`\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
${n.trim().replace(/^(
)|(
)$/g,"")}
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t`});let n=`
${s}
`;if(getChildren(this,"_content"))getChildren(this,"_content").innerHTML=n;else{const t=document.createElement("span");t.className="_content",t.style.display="block",t.innerHTML=n,this.appendChild(t)}this.querySelectorAll(".joe_collapse__item").forEach(t=>{const e=t.getAttribute("label")||"折叠标题",s=getChildren(t,"joe_collapse__item-head"),n=getChildren(s,"joe_collapse__item-head--label");n.innerHTML=e;const i=getChildren(t,"joe_collapse__item-wrapper"),o=getChildren(i,"joe_collapse__item-wrapper--content"),r=t.getAttribute("open");null!==r&&(t.classList.add("active"),i.style.maxHeight="none"),s.addEventListener("click",()=>{i.style.maxHeight=o.offsetHeight+"px";let e=setTimeout(()=>{t.classList.contains("active")?(t.classList.remove("active"),i.style.maxHeight=0):(t.classList.add("active"),i.style.maxHeight=o.offsetHeight+"px"),clearTimeout(e)},30)})})}}),customElements.define("joe-dplayer",class extends HTMLElement{constructor(){super(),this.options={src:this.getAttribute("src"),player:this.getAttribute("player")},this.render()}render(){this.options.src?this.innerHTML=``:this.innerHTML="播放地址未填写!"}}),customElements.define("joe-bilibili",class extends HTMLElement{constructor(){super(),this.bvid=this.getAttribute("bvid"),this.page=Object.is(Number(this.getAttribute("page")),NaN)?1:this.getAttribute("page"),this.render()}render(){this.bvid?this.innerHTML=``:this.innerHTML="Bvid未填写!"}}),customElements.define("joe-tabs",class extends HTMLElement{constructor(){super();const t=getChildren(this,"_temp");let e=t.innerHTML.trim().replace(/^(
)|(
)$/g,""),s="",n="";e.replace(/{tabs-pane([^}]*)}([\s\S]*?){\/tabs-pane}/g,function(t,e,i){s+=`
`,n+=``});let i=`\n
\n
${s}
\n
${n}
\n
\n `;if(getChildren(this,"_content"))getChildren(this,"_content").innerHTML=i;else{const t=document.createElement("span");t.className="_content",t.style.display="block",t.innerHTML=i,this.appendChild(t)}this.querySelectorAll(".joe_tabs__head-item").forEach((t,e)=>{const s=t.getAttribute("label");t.innerHTML=s,t.addEventListener("click",()=>{this.querySelectorAll(".joe_tabs__head-item").forEach(t=>t.classList.remove("active")),this.querySelectorAll(".joe_tabs__body-item").forEach(t=>t.style.display="none"),this.querySelector(`.joe_tabs__body-item[label="${s}"]`)&&(this.querySelector(`.joe_tabs__body-item[label="${s}"]`).style.display="block"),t.classList.add("active")}),0===e&&t.click()})}}),customElements.define("joe-gird",class extends HTMLElement{constructor(){super(),this.options={column:isNaN(this.getAttribute("column"))||!this.getAttribute("column")?3:this.getAttribute("column"),gap:isNaN(this.getAttribute("gap"))||!this.getAttribute("gap")?15:this.getAttribute("gap")};const t=getChildren(this,"_temp");let e=t.innerHTML.trim().replace(/^(
)|(
)$/g,""),s="";e.replace(/{gird-item}([\s\S]*?){\/gird-item}/g,function(t,e){s+=`
${e.trim().replace(/^(
)|(
)$/g,"")}
`});let n=`
${s}
`;if(getChildren(this,"_content"))getChildren(this,"_content").innerHTML=n;else{const t=document.createElement("span");t.className="_content",t.style.display="block",t.innerHTML=n,this.appendChild(t)}}}),customElements.define("joe-copy",class extends HTMLElement{constructor(){super(),this.options={showText:this.getAttribute("showText")||"点击复制",copyText:this.getAttribute("copyText")||"默认文本"},this.innerHTML=`${this.options.showText}`;const t=getChildren(this,"joe_copy");"undefined"!=typeof ClipboardJS&&"undefined"!=typeof Qmsg?new ClipboardJS(t,{text:()=>this.options.copyText}).on("success",()=>Qmsg.success("复制成功!")):t.addEventListener("click",()=>alert("该功能请前往前台查看!"))}}),$(".joe_detail__article p:empty").remove()}); \ No newline at end of file diff --git a/core/factory.php b/core/factory.php index cb747ff..d056cb3 100644 --- a/core/factory.php +++ b/core/factory.php @@ -189,7 +189,7 @@ class Editor - + options->JCursorEffects && $this->options->JCursorEffects !== 'off') : ?> - - + + options->JCustomHeadEnd() ?>