mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
Merge branch 'hotfix#2-v1.11.0' into preview
This commit is contained in:
commit
514d8ea592
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -66,12 +66,11 @@
|
||||
"danmaku-send-bar.min.css": "52149D46CF3A15CF6EB186CB49F298DE18B0723E52D8693228F66099847EDCCB",
|
||||
"danmaku-send-bar.min.js": "7108E72F00C169F26E20409F4AA79F05553310375BABC392EB7E2166224B800A",
|
||||
"dark.min.css": "64CA3C029A3DD191E8BD4A20C22ABB67B26136C17E722CA90D8C4F2F9159A5CF",
|
||||
"dark.user.css": "0BF66EE1BCE8625A0BB438EEAB4DF28F0B2EC2E2DF36F722F24E8CF01A427FBD",
|
||||
"dark.user.css": "106E6C235DA45D8B82E798D3B8DEA9AEB5C6812F5EBA8DE655C85B50D9282DA1",
|
||||
"dark-color-scheme.min.js": "6D353AC738180317ACF9D2E046BFFBA0ACC0FA7A8D22B8E16C51127CDE4FE96B",
|
||||
"dark-important.min.css": "71FA9C7DDCA886A5782FBA12E0F5B626851F530F5AAC619E8869DCEB066EF928",
|
||||
"dark-navbar.min.css": "7FAD547E326B768904B3739C978DF86FFDDD5E5064FB8F490710D197CCC3018B",
|
||||
"dark-schedule.min.js": "853C446547603F4F0425F19F09F73335C9EC451A790C1C07E5E5B88A09E9B453",
|
||||
"dark-slice-12.min.css": "E8F79204162149C5D1D9B62828EB80CE4AD758DEE88D4B590EE92D876EFEDF54",
|
||||
"dark-styles.min.js": "77F12E4F159C5139E1FC6030615F88EFD0A02443D34C3C4EDC3DB0B85F081631",
|
||||
"debounce.min.js": "54D33E1273C1F3FE19550BF1844339C3D54D6B01DF8A39C3162D95B93B079CFA",
|
||||
"default-danmaku-settings.min.css": "D9942B184FEDA7B08CFA0C34920E97D7A83B81762DCBF757642EBB60F95FF25D",
|
||||
@ -125,7 +124,7 @@
|
||||
"get-number.min.js": "7B81A45D0F7D7F68CC6EDE25E02FCD76F8A05B2CF29274F94A99980BB23D8B76",
|
||||
"gui-settings.min.css": "787D487EF39F28C18815C755BB4CA336355B84778861DCC70AA5AC998FDB9CC7",
|
||||
"gui-settings.min.html": "AB918E5C79F2E28616444D8679A6F8CFB2971B2528B26A9D4689A2E72D7B444F",
|
||||
"gui-settings.min.js": "A092181BBAF56712E2F62B46552DE97D582FB1891B626D9D55276E577BC44D7A",
|
||||
"gui-settings.min.js": "8BACDD9DB1FB869D382FCDF6C2A64374CE95295F3147D153D7A849FA7B95949B",
|
||||
"haruna-scale.min.js": "FD079C86741F614FD63E733CF9B7B896A7D20110754815A540F3341D4DC252B2",
|
||||
"hide-bangumi-reviews.min.js": "7265C0CE994FDA926355A9A4F9B207E7E68E749D47332F3C537EF93E97927A23",
|
||||
"hide-bangumi-sponsors.min.js": "C862B67D5FC1DDC46412F5595A0B900A58F7A6D6E55A2464B6525DCB4D935FE7",
|
||||
@ -175,7 +174,7 @@
|
||||
"old-tweets.min.js": "387152B26384B0900985F527112841CC00A48F507EAA8FA634D13FFA83447A72",
|
||||
"online-info-row.vue.min.js": "7DE6BFBFD629BA80790E6DA403242D0EDA7D0F136370C61570D6F741F2C26BDA",
|
||||
"outer-watchlater.min.css": "B40E94BADA1A9BC96422777B33150780330763098B539921DA05F9D3BA487424",
|
||||
"outer-watchlater.min.js": "799E5F280D09562571AC1A9AE15E788A7134D75D4173DFEBC414FE8047DC5502",
|
||||
"outer-watchlater.min.js": "AF4E884F31E468A69697C449785409D2C503CB90F172828B52190EC4D2CA1807",
|
||||
"override-navbar.min.css": "E5AA612841281169CA367A238FB934F807900A385CE2298B7352FF3CA4623757",
|
||||
"override-navbar.min.js": "E55F4EF066461D98ADB1C1582A716C8E179DC78DED8E71D3E9757B25444C2C5E",
|
||||
"pako-inflate.min.js": "3C55C3DF869249CDCF8489FBC96DFCA2AB7961554909DD55D39E7133DA074315",
|
||||
@ -184,7 +183,7 @@
|
||||
"player-shadow.min.js": "625DFD4D2AB12CA6B828BDA85B520C67758B799B711766B58196F8D294351A9B",
|
||||
"quality-errors.min.js": "D56E0659B5F06447579128F9DBD825D40E1659252DDAD358B60E071613AAB2BE",
|
||||
"quick-favorite.min.css": "F14B5ED3F95E944E55B06FEAFF0AC04306146FE9F9223B2C49CE3D507849BE6B",
|
||||
"quick-favorite.min.js": "A68C33151E3B6E0EA73143FDB29E7F34EBE3496D9C40B2C0358466B3FAB63322",
|
||||
"quick-favorite.min.js": "8899F1481911441CB58211D699423945EFCF51CE98BE513417EDDE22909C8B5F",
|
||||
"rank-list.vue.min.js": "5E0E59EE822A055C043929764470A8A8DA9BBB43E0FC31B17B3F2B43303EF0DF",
|
||||
"record-live-danmaku.min.js": "2590A564ADD42BBB34E957B92728EBBE85A644A8E0F94ACDE69B55E3FF1C3889",
|
||||
"record-live-danmaku.vue.min.js": "CAAEFBE98E31D8657B70152DB254A0AA877701BD771633D8541953A3AAB709E5",
|
||||
|
||||
BIN
min/bundle.zip
BIN
min/bundle.zip
Binary file not shown.
@ -3,7 +3,7 @@
|
||||
@namespace Bilibili-Evolved
|
||||
@homepageURL https://github.com/the1812/Bilibili-Evolved
|
||||
@updateURL https://cdn.jsdelivr.net/gh/the1812/Bilibili-Evolved@preview/min/dark.user.css
|
||||
@version 831.96.0
|
||||
@version 835.21.0
|
||||
@license MIT
|
||||
@author Grant Howard (https://github.com/the1812), Coulomb-G (https://github.com/Coulomb-G)
|
||||
==/UserStyle== */
|
||||
|
||||
2
min/gui-settings.min.js
vendored
2
min/gui-settings.min.js
vendored
File diff suppressed because one or more lines are too long
2
min/outer-watchlater.min.js
vendored
2
min/outer-watchlater.min.js
vendored
@ -1 +1 @@
|
||||
(()=>{return(t,e)=>{(async()=>{if(!document.URL.startsWith("https://www.bilibili.com/video/")||!getUID()){return}await playerReady();const t=dq(".video-toolbar .ops .collect");if(!t){return}e.applyStyle("outerWatchlaterStyle");t.insertAdjacentHTML("afterend",`\n<span title='稍后再看' class='watchlater' :class="{on: isInWatchlater}" @click="toggle()">\n<i class='mdi mdi-timetable'></i>\n 稍后再看\n<div class='tip' :class="{show: tipShowing}">{{tipText}}</div>\n</span>\n`);const a=dq(".ops .watchlater");if(!a){return}const i=new Vue({el:a,store:store,data:{aid:unsafeWindow.aid,tipText:"",tipShowing:false,tipHandle:0},computed:{...Vuex.mapState(["watchlaterList"]),isInWatchlater(){return this.watchlaterList.includes(parseInt(this.aid))}},methods:{...Vuex.mapActions(["toggleWatchlater"]),showTip(t){this.tipText=t;this.tipShowing=true;if(this.tipHandle){clearTimeout(this.tipHandle)}this.tipHandle=setTimeout(()=>{this.tipShowing=false},2e3)},async toggle(){await this.toggleWatchlater(this.aid);this.showTip(this.isInWatchlater?"已添加至稍后再看":"已从稍后再看移除")}}});Observer.videoChange(()=>{i.aid=unsafeWindow.aid})})();return{unload:()=>{dqa(".ops .watchlater").forEach(t=>t.style.display="none")},reload:()=>{dqa(".ops .watchlater").forEach(t=>t.style.display="inline-block")}}}})();
|
||||
(()=>{return(t,e)=>{(async()=>{if(!document.URL.startsWith("https://www.bilibili.com/video/")||!getUID()){return}await playerReady();const t=dq(".video-toolbar .ops .collect");if(!t){return}e.applyStyle("outerWatchlaterStyle");t.insertAdjacentHTML("afterend",`\n<span title='稍后再看' class='watchlater' :class="{on: isInWatchlater}" @click="toggle()">\n<i class='mdi mdi-timetable'></i>\n 稍后再看\n<div class='tip' :class="{show: tipShowing}">{{tipText}}</div>\n</span>\n`.trim());const i=dq(".ops .watchlater");if(!i){return}const a=new Vue({el:i,store:store,data:{aid:unsafeWindow.aid,tipText:"",tipShowing:false,tipHandle:0},computed:{...Vuex.mapState(["watchlaterList"]),isInWatchlater(){return this.watchlaterList.includes(parseInt(this.aid))}},methods:{...Vuex.mapActions(["toggleWatchlater"]),showTip(t){this.tipText=t;this.tipShowing=true;if(this.tipHandle){clearTimeout(this.tipHandle)}this.tipHandle=setTimeout(()=>{this.tipShowing=false},2e3)},async toggle(){await this.toggleWatchlater(this.aid);this.showTip(this.isInWatchlater?"已添加至稍后再看":"已从稍后再看移除")}}});Observer.videoChange(()=>{a.aid=unsafeWindow.aid})})();return{unload:()=>{dqa(".ops .watchlater").forEach(t=>t.style.display="none")},reload:()=>{dqa(".ops .watchlater").forEach(t=>t.style.display="inline-block")}}}})();
|
||||
2
min/quick-favorite.min.js
vendored
2
min/quick-favorite.min.js
vendored
@ -1 +1 @@
|
||||
(()=>{return(i,t)=>{(async()=>{if(!document.URL.startsWith("https://www.bilibili.com/video/")||!getUID()){return}await playerReady();const e=dq(".video-toolbar .ops .collect");if(!e){return}t.applyStyle("quickFavoriteStyle");const s=`\n<span @click.left.self="toggle()" @click.right.prevent.self="listShowing = !listShowing" class="quick-favorite" :class="{ on: isFavorite }">\n<i @click.left="toggle()" @click.right.prevent="listShowing = !listShowing"></i>\n<div style="display: inline" @click.left="toggle()" @click.right.prevent="listShowing = !listShowing">快速收藏</div>\n</template>\n<div class="select-list" ref="selectList" :class="{ show: listShowing }">\n 选择快速收藏夹:\n<div v-if="lists.length > 0" class="lists">\n<v-dropdown :items="lists.map(it => it.title)" :value.sync="selectedFavorite"></v-dropdown>\n</div>\n<div class="lists-loading" v-else>加载中...</div>\n</div>\n<div class="lists-tip" :class="{ show: listShowing }">右键点击快速收藏可再次打开</div>\n<div class="tip" :class="{ show: tipShowing }">{{tipText}}</div>\n</span>\n`;if(i.outerWatchlater){const i=await SpinQuery.select(".ops .watchlater");if(i!==null){i.insertAdjacentHTML("beforebegin",s)}else{e.insertAdjacentHTML("afterend",s)}}else{e.insertAdjacentHTML("afterend",s)}const a=dq(".ops .quick-favorite");if(!a){return}const o=new Vue({el:a,store:store,components:{VDropdown:()=>t.importAsync("v-dropdown.vue")},data:{aid:unsafeWindow.aid,favoriteTitle:"",isFavorite:false,tipText:"",tipShowing:false,tipHandle:0,lists:[],selectedFavorite:"",listShowing:false},async created(){this.syncFavoriteState()},watch:{selectedFavorite(t){if(this.lists.length===0){return}const e=this.lists;const s=e.find(i=>i.title===t);if(s){i.quickFavoriteID=s.id;this.syncFavoriteState()}else{console.error("list not found in selectedFavorite(value)")}},async listShowing(i){if(i){document.addEventListener("click",i=>{const t=this.$el;const e=i.target;if(e!==t&&!t.contains(e)){this.listShowing=false}});if(this.lists.length===0){try{const i=await Ajax.getJsonWithCredentials(`https://api.bilibili.com/medialist/gateway/base/created?pn=1&ps=100&up_mid=${getUID()}&is_space=0`);if(i.code!==0){throw new Error(`获取收藏夹列表失败: ${i.message}`)}this.lists=_.get(i,"data.list",[])}catch(i){logError(i)}}}}},methods:{async syncFavoriteState(){if(i.quickFavoriteID===0){return}try{const t=await Ajax.getJsonWithCredentials(`https://api.bilibili.com/x/v3/fav/folder/created/list-all?type=2&rid=${this.aid}&up_mid=${getUID()}`);if(t.code!==0){throw new Error(`获取收藏状态失败: ${t.message}`)}const e=_.get(t,"data.list",[]);const s=e.find(t=>t.id===i.quickFavoriteID);if(s===undefined){i.quickFavoriteID=0;return}this.isFavorite=Boolean(s.fav_state);this.selectedFavorite=this.favoriteTitle=s.title}catch(i){logError(i)}},showTip(i){this.tipText=i;this.tipShowing=true;if(this.tipHandle){clearTimeout(this.tipHandle)}this.tipHandle=setTimeout(()=>{this.tipShowing=false},2e3)},async toggle(){if(i.quickFavoriteID===0){this.listShowing=true;return}const t={rid:this.aid,type:2,add_media_ids:"",del_media_ids:"",csrf:getCsrf()};t[this.isFavorite?"del_media_ids":"add_media_ids"]=i.quickFavoriteID.toString();try{await Ajax.postTextWithCredentials(`https://api.bilibili.com/x/v3/fav/resource/deal`,Object.entries(t).map(([i,t])=>`${i}=${t}`).join("&"));this.isFavorite=!this.isFavorite;this.showTip(this.isFavorite?`已添加至收藏夹: ${this.favoriteTitle}`:`已移出收藏夹: ${this.favoriteTitle}`)}catch(i){Toast.error(`快速收藏失败: ${i.message}`,"快速收藏");console.error(i)}}}});Observer.videoChange(()=>{o.aid=unsafeWindow.aid;o.syncFavoriteState()})})();return{unload:()=>{dqa(".ops .quick-favorite").forEach(i=>i.style.display="none")},reload:()=>{dqa(".ops .quick-favorite").forEach(i=>i.style.display="inline-block")}}}})();
|
||||
(()=>{return(i,t)=>{(async()=>{if(!document.URL.startsWith("https://www.bilibili.com/video/")||!getUID()){return}await playerReady();const e=dq(".video-toolbar .ops .collect");if(!e){return}t.applyStyle("quickFavoriteStyle");const s=`\n<span @click.left.self="toggle()" @click.right.prevent.self="listShowing = !listShowing" class="quick-favorite" :class="{ on: isFavorite }">\n<i @click.left="toggle()" @click.right.prevent="listShowing = !listShowing"></i>\n<div style="display: inline" @click.left="toggle()" @click.right.prevent="listShowing = !listShowing">快速收藏</div>\n</template>\n<div class="select-list" ref="selectList" :class="{ show: listShowing }">\n 选择快速收藏夹:\n<div v-if="lists.length > 0" class="lists">\n<v-dropdown :items="lists.map(it => it.title)" :value.sync="selectedFavorite"></v-dropdown>\n</div>\n<div class="lists-loading" v-else>加载中...</div>\n</div>\n<div class="lists-tip" :class="{ show: listShowing }">右键点击快速收藏可再次打开</div>\n<div class="tip" :class="{ show: tipShowing }">{{tipText}}</div>\n</span>\n`.trim();if(i.outerWatchlater){const i=await SpinQuery.select(".ops .watchlater");if(i!==null){i.insertAdjacentHTML("beforebegin",s)}else{e.insertAdjacentHTML("afterend",s)}}else{e.insertAdjacentHTML("afterend",s)}const a=dq(".ops .quick-favorite");if(!a){return}const o=new Vue({el:a,store:store,components:{VDropdown:()=>t.importAsync("v-dropdown.vue")},data:{aid:unsafeWindow.aid,favoriteTitle:"",isFavorite:false,tipText:"",tipShowing:false,tipHandle:0,lists:[],selectedFavorite:"",listShowing:false},async created(){this.syncFavoriteState()},watch:{selectedFavorite(t){if(this.lists.length===0){return}const e=this.lists;const s=e.find(i=>i.title===t);if(s){i.quickFavoriteID=s.id;this.syncFavoriteState()}else{console.error("list not found in selectedFavorite(value)")}},async listShowing(i){if(i){document.addEventListener("click",i=>{const t=this.$el;const e=i.target;if(e!==t&&!t.contains(e)){this.listShowing=false}});if(this.lists.length===0){try{const i=await Ajax.getJsonWithCredentials(`https://api.bilibili.com/medialist/gateway/base/created?pn=1&ps=100&up_mid=${getUID()}&is_space=0`);if(i.code!==0){throw new Error(`获取收藏夹列表失败: ${i.message}`)}this.lists=_.get(i,"data.list",[])}catch(i){logError(i)}}}}},methods:{async syncFavoriteState(){if(i.quickFavoriteID===0){return}try{const t=await Ajax.getJsonWithCredentials(`https://api.bilibili.com/x/v3/fav/folder/created/list-all?type=2&rid=${this.aid}&up_mid=${getUID()}`);if(t.code!==0){throw new Error(`获取收藏状态失败: ${t.message}`)}const e=_.get(t,"data.list",[]);const s=e.find(t=>t.id===i.quickFavoriteID);if(s===undefined){i.quickFavoriteID=0;return}this.isFavorite=Boolean(s.fav_state);this.selectedFavorite=this.favoriteTitle=s.title}catch(i){logError(i)}},showTip(i){this.tipText=i;this.tipShowing=true;if(this.tipHandle){clearTimeout(this.tipHandle)}this.tipHandle=setTimeout(()=>{this.tipShowing=false},2e3)},async toggle(){if(i.quickFavoriteID===0){this.listShowing=true;return}const t={rid:this.aid,type:2,add_media_ids:"",del_media_ids:"",csrf:getCsrf()};t[this.isFavorite?"del_media_ids":"add_media_ids"]=i.quickFavoriteID.toString();try{await Ajax.postTextWithCredentials(`https://api.bilibili.com/x/v3/fav/resource/deal`,Object.entries(t).map(([i,t])=>`${i}=${t}`).join("&"));this.isFavorite=!this.isFavorite;this.showTip(this.isFavorite?`已添加至收藏夹: ${this.favoriteTitle}`:`已移出收藏夹: ${this.favoriteTitle}`)}catch(i){Toast.error(`快速收藏失败: ${i.message}`,"快速收藏");console.error(i)}}}});Observer.videoChange(()=>{o.aid=unsafeWindow.aid;o.syncFavoriteState()})})();return{unload:()=>{dqa(".ops .quick-favorite").forEach(i=>i.style.display="none")},reload:()=>{dqa(".ops .quick-favorite").forEach(i=>i.style.display="inline-block")}}}})();
|
||||
@ -133,25 +133,33 @@ function checkOfflineData () {
|
||||
// document.querySelector('input[key=useCache]').disabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// https://github.com/the1812/Bilibili-Evolved/issues/1076
|
||||
const issue1076 = ['playerFocus', 'outerWatchlater', 'quickFavorite']
|
||||
const preCheckCompatibility = () => {
|
||||
if (issue1076.some(key => settings[key])) {
|
||||
issue1076.forEach(key => {
|
||||
settings[key] = false
|
||||
})
|
||||
Toast.info(/* html */`
|
||||
<div>为避免b站播放器改版导致网站无法正常使用, 以下功能已自动关闭并禁用:
|
||||
<span>自动定位到播放器</span> <span>外置稍后再看</span> <span>启用快速收藏</span>
|
||||
|
||||
详情见<a target="_blank" href="https://github.com/the1812/Bilibili-Evolved/issues/1076" class="link">讨论区</a>, 这些功能将在恢复后再解除禁用.
|
||||
若当前页面是视频页面且出现问题, 刷新即可恢复正常.</div>
|
||||
`.trim(), '通知')
|
||||
}
|
||||
}
|
||||
function checkCompatibility () {
|
||||
// if (!CSS.supports('backdrop-filter', 'blur(24px)') &&
|
||||
// !CSS.supports('-webkit-backdrop-filter', 'blur(24px)')) {
|
||||
// inputs.find(it => it.getAttribute('key') === 'blurVideoControl').disabled = true
|
||||
// settings.blurVideoControl = false
|
||||
// }
|
||||
if (window.devicePixelRatio === 1) {
|
||||
inputs.find(it => it.getAttribute('key') === 'harunaScale').disabled = true
|
||||
inputs.find(it => it.getAttribute('key') === 'imageResolution').disabled = true
|
||||
settings.harunaScale = false
|
||||
settings.imageResolution = false
|
||||
}
|
||||
// if (settings.watchLaterRedirectPage) {
|
||||
// settings.watchLaterRedirectPage = false
|
||||
// }
|
||||
// const redirectPageInput = inputs.find(it => it.getAttribute('key') === 'watchLaterRedirectPage')
|
||||
// if (redirectPageInput) {
|
||||
// redirectPageInput.disabled = true
|
||||
// }
|
||||
checkBoxes
|
||||
.filter(it => issue1076.includes(it.getAttribute('key')))
|
||||
.forEach(checkBox => (checkBox.disabled = true))
|
||||
}
|
||||
function setDisplayNames () {
|
||||
for (const [key, name] of Object.entries(Resource.displayNames)) {
|
||||
@ -217,6 +225,7 @@ function setDisplayNames () {
|
||||
})
|
||||
const boxes = document.querySelectorAll('.gui-settings-widgets-box,.gui-settings-box')
|
||||
const iconPanel = document.querySelector('.gui-settings-icon-panel')
|
||||
preCheckCompatibility()
|
||||
iconPanel.addEventListener('mouseover', async () => {
|
||||
const { loadTooltip } = await import('./tooltip/settings-tooltip.loader')
|
||||
await loadTooltip()
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
稍后再看
|
||||
<div class='tip' :class="{show: tipShowing}">{{tipText}}</div>
|
||||
</span>
|
||||
`)
|
||||
`.trim())
|
||||
const watchlaterButton = dq('.ops .watchlater')
|
||||
if (!watchlaterButton) {
|
||||
return
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
<div class="lists-tip" :class="{ show: listShowing }">右键点击快速收藏可再次打开</div>
|
||||
<div class="tip" :class="{ show: tipShowing }">{{tipText}}</div>
|
||||
</span>
|
||||
`
|
||||
`.trim()
|
||||
if (settings.outerWatchlater) {
|
||||
const watchlaterButton = await SpinQuery.select('.ops .watchlater')
|
||||
if (watchlaterButton !== null) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user