Bilibili-Evolved/min/notify-new-version.min.js
2018-11-11 19:43:26 +08:00

1 line
2.8 KiB
JavaScript

(()=>{return(t,n)=>{const s={less:-1,equal:0,greater:1,incomparable:NaN};class e{constructor(t){this.parts=t.split(".").map(t=>parseInt(t));this.versionString=t}compareTo(t){for(let n=0;n<this.parts.length;++n){if(t.parts.length===n){return s.greater}if(this.parts[n]===t.parts[n]){continue}if(this.parts[n]>t.parts[n]){return s.greater}return s.less}if(this.parts.length!==t.parts.length){return s.less}return s.equal}greaterThan(t){return this.compareTo(t)===s.greater}lessThan(t){return this.compareTo(t)===s.less}equals(t){return this.compareTo(t)===s.equal}}const i=new e(n.data.latestVersion.text);const r=new e(t.currentVersion);if(i.greaterThan(r)){if(r.lessThan(new e("1.4.2"))){SpinQuery.any(()=>$(".gui-settings"),n=>{n.addClass("gui-settings-notification");const s=$(".gui-settings-footer");s.after(`\n <div class="gui-settings-footer">\n <span class="gui-settings-label">新版本${i.versionString}已发布.</span>\n <a>\n <button\n class="gui-settings-button"\n id="new-version-update">\n 更新\n </button>\n </a>\n </div>`);$("#new-version-update").parent().attr("href",t.latestVersionLink)});const n=`新版本${i.versionString}已发布. <a class="link" href="${t.latestVersionLink}">更新</a>`;Toast.show(n,"检查更新",1e4)}else{return{settingsWidget:{after:()=>$(".gui-settings-content"),content:`<div class="gui-settings-footer${t.blurSettingsPanel?" blur":""}">\n <span class="gui-settings-label">新版本${i.versionString}已发布.</span>\n <a href="${t.latestVersionLink}">\n <button\n class="gui-settings-button"\n id="new-version-update">\n 更新\n </button>\n </a>\n <a href="https://github.com/the1812/Bilibili-Evolved/releases">\n <button\n class="gui-settings-button">\n 详细信息\n </button>\n </a>\n </div>`,success:()=>{SpinQuery.any(()=>$(".gui-settings"),t=>{t.addClass("gui-settings-notification")});const n=`新版本${i.versionString}已发布. <a class="link" href="${t.latestVersionLink}">更新</a>`;Toast.show(n,"检查更新")}}}}}}})();