mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
1 line
1.6 KiB
JavaScript
1 line
1.6 KiB
JavaScript
(()=>{return(t,e)=>{const s={less:-1,equal:0,greater:1,incomparable:NaN};class r{constructor(t){this.parts=t.split(".");this.versionString=t}isPositiveInteger(t){return/^\d+$/.test(t)}validateParts(){for(var t=0;t<this.parts.length;++t){if(!this.isPositiveInteger(this.parts[t])){return false}}return true}compareTo(t){if(!this.validateParts()||!t.validateParts()){return s.incomparable}for(let e=0;e<this.parts.length;++e){if(t.parts.length===e){return s.greater}if(this.parts[e]===t.parts[e]){continue}if(this.parts[e]>t.parts[e]){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 n=new r(e.data.latestVersion.text);const a=new r(t.currentVersion);if(n.greaterThan(a)){SpinQuery.any(()=>$(".gui-settings"),e=>{e.addClass("gui-settings-notification");const s=$(".gui-settings-footer");s.after(`\n <div class="gui-settings-footer">\n <span class="gui-settings-label">新版本${n.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 e=`新版本${n.versionString}已发布. <a class="link" href="${t.latestVersionLink}">更新</a>`;Toast.show(e,"检查更新")}return{ajaxReload:false}}})(); |