Merge branch 'preview'

This commit is contained in:
the1812 2020-05-11 21:59:46 +08:00
commit 09e38bdf53
19 changed files with 63 additions and 68 deletions

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

View File

@ -1 +1 @@
(()=>{return(t,n)=>{(async()=>{if(!/^https:\/\/live\.bilibili\.com\/[\d]+/.test(document.URL)){return}const t=await SpinQuery.condition(()=>dq(".chat-popups-section"),t=>t.querySelector("chat-draw-area")===null);if(!t){console.warn("[自动领奖] 未能找到弹窗容器");return}Observer.childListSubtree(t,()=>{let t;console.log("draw button = ",dq(".chat-popups-section .draw>span:nth-child(3)"));t=dq(".chat-popups-section .draw>span:nth-child(3)");if(t===null){const t=dq(".chat-popups-section .function-bar>span:nth-child(3)");if(t!==null){const n=Observer.attributes(t,()=>{if(t.style.display!=="none"){n.forEach(t=>t.stop());t.click()}})}}if(t!==null){t.click()}})})()}})();
(()=>{return(t,n)=>{(async()=>{if(!/^https:\/\/live\.bilibili\.com\/(blanc\/)?[\d]+/.test(document.URL)){return}const t=await SpinQuery.condition(()=>dq(".chat-popups-section"),t=>t.querySelector("chat-draw-area")===null);if(!t){console.warn("[自动领奖] 未能找到弹窗容器");return}Observer.childListSubtree(t,()=>{let t;console.log("draw button = ",dq(".chat-popups-section .draw>span:nth-child(3)"));t=dq(".chat-popups-section .draw>span:nth-child(3)");if(t===null){const t=dq(".chat-popups-section .function-bar>span:nth-child(3)");if(t!==null){const n=Observer.attributes(t,()=>{if(t.style.display!=="none"){n.forEach(t=>t.stop());t.click()}})}}if(t!==null){t.click()}})})()}})();

View File

@ -9,7 +9,7 @@
"aria2-rpc-profiles.vue.min.js": "CBF3D159566A694BC543EAB5B9E743A13B571743EBDDB8C558AE036483E3AF5A",
"ass-utils.min.js": "1F9E2EAA096B8DC400514627237F0536437BF857BE8CA4D32888AB65476DF124",
"auto-continue.min.js": "96CD47C367D7397CE1467A69764409BAEFF16E8F535BC8E15523CD0B8A86687E",
"auto-draw.min.js": "AE72CF2623DF2D15AD4AF82D125FFAF7EF5B1E6B36D9E9AC646AC98AA6AA8698",
"auto-draw.min.js": "46C82E8F0E1E6149FA6884A81BBF00C7DABABB3D80423F23711B7DB9ECB5B5EC",
"auto-play.min.js": "DC9938AC15DADDC9D88DCA0C9BE64BE142C37D32CB85E42E23DAB2A7378531E5",
"bangumi-timeline.vue.min.js": "753B8C96AFB3E6AC4C9507576D12B6CBB207BC1CC3FE5885C419E99C65BCD547",
"batch-download.min.js": "F54FD3AF5DDDD5DE87B3D40C060197BF22744F4118459C4A70E69C955F9DBC6D",
@ -34,7 +34,7 @@
"custom-control-background.min.js": "B9F366B251D1572ACE801FF6ECF15D4D1AAB3EA5A5B04B961B6F4310E2AB1A84",
"custom-navbar.min.css": "FFA9C1FBF1889F0C7CD73B9C74952D7F3324AFC0F8669EF1E339EBAEF6F37CFD",
"custom-navbar.min.html": "77F05109E85D21240E2936AA3DEEAB8F5A42E20EFB30D42441EF02831535A958",
"custom-navbar.min.js": "E8503CFB15A540B1500055AD826CCC861CC0DBB289D3697AA9FC47336B0322AC",
"custom-navbar.min.js": "56FBB835C99D8E8031AE7811F07224D6B9023CFD9926C0094E80423F59745F38",
"custom-navbar-activities.min.js": "802226FE2C24D56379A6EAD13D3697A4D5A46109D0C63EDACAE8E667ED267EA1",
"custom-navbar-blank.min.js": "DC2B75D5760EECD3A257785FDFBB7E5DEBF61CD9083C68DD5BCE468B093F54F3",
"custom-navbar-category.min.js": "4C9BC4659F7DA0ED97CD7B99175F3D0494C5D575CB14C82776F0C5CB2D31C56A",
@ -53,18 +53,17 @@
"custom-navbar-video-list.min.js": "08D6713144E910C1303CB610A5890A5663B92BE82630BDA3C8E6299FB4A429E2",
"custom-navbar-watchlater-list.min.js": "57EA2C62F7442750BB177B9898CF07BA61C45F0FD99737516ED609051699B054",
"danmaku-converter.min.js": "6C844406F060DCF2483F9CC4C7329911ED77BC77097F2BC5B925B6F12C990820",
"dark.min.css": "8077E1E23A5811FBF275E097C99045DFE8B8174D31A62010D833CE9277AD9A91",
"dark.user.css": "E221597710EA5BB5B86AF4F9CAB4A555F12F6DDFA25F2B8156621B1C3487F0E9",
"dark.min.css": "C21BCB8452EB67FFD56D4748B1EE557FA34912AE8F917560B149B80C83BADFE4",
"dark.user.css": "BC2715AA6D0E458C346899784196FDFAF0C0296A7F4A99E09A666504A0A06A56",
"dark-color-scheme.min.js": "6D353AC738180317ACF9D2E046BFFBA0ACC0FA7A8D22B8E16C51127CDE4FE96B",
"dark-important.min.css": "9381B563726BCA701DD77C7AD572793538A45CB839F56008A55EE46821EA1B05",
"dark-navbar.min.css": "7FAD547E326B768904B3739C978DF86FFDDD5E5064FB8F490710D197CCC3018B",
"dark-schedule.min.js": "853C446547603F4F0425F19F09F73335C9EC451A790C1C07E5E5B88A09E9B453",
"dark-slice-9.min.css": "9044CDD0FE646A02B5E5830506947C9BE94F7030BF747A7DD02F9538316549A4",
"dark-styles.min.js": "74E6D655F88E50A27D60F189554F6656CCD2A6EA2686FD9946CA9A89EABF7719",
"debounce.min.js": "54D33E1273C1F3FE19550BF1844339C3D54D6B01DF8A39C3162D95B93B079CFA",
"default-danmaku-settings.min.css": "D9942B184FEDA7B08CFA0C34920E97D7A83B81762DCBF757642EBB60F95FF25D",
"default-danmaku-settings.min.js": "9DBC9AC9B5A3B59EBCC6F04D36527B523D66203AC5FE7C2AD5DB46FFB84F9382",
"default-live-quality.min.js": "5FF7CA53B85CF11B66E26F1AED5E6BCB7A55D348D08193FEE3D9D52716424234",
"default-live-quality.min.js": "60975363D8175FE1747982A9B749DBF31E1EB48CE469B840A12F3B333A72FD6F",
"default-player-layout.min.js": "C6CE64216569A006566ADD7FC69451897612F46CC9641B8B15E0A13D5B1F2455",
"default-player-mode.min.js": "AF51F03AD53506A3324EFFCDA6E060F18A06D6FF4A0E8B40C2A82E507699C566",
"default-video-quality.min.js": "A24225E0F72D5BCA7DFE529E5B90B03F494C8720ADEF91D466A923FD767EB907",
@ -135,13 +134,13 @@
"image-viewer.min.html": "763742E79923A7918F281AEBB3CEE76FE2A0AE94CACE325AE4BEE1AED451DAEA",
"index.min.html": "94B83D9EBB9005C1286A7E0759A7683932F8DADA20D07E5E9D8FF867B04D4B95",
"keymap.min.js": "7645CAC3AD71EB78349619C3513FCC70CDDCD6C389D7F91FD4E5B3D9C925366A",
"live-pip.min.js": "65BF8A82C0BD6069B6CD792EC163893CE18137DCF565DFB18BCD8447B2B620F8",
"live-pip.min.js": "04169E2F2E7462846D82EA119D740B18A59A3BF009DA5A4BAB70293AEF9C0E26",
"live-socket.min.js": "8C59B0458D14FBA9233847F18D82F3DAA558A0DA432B63409050C1A27D871C51",
"magic-grid.min.js": "30BA27115FAC84B018A5A8C64031939DF1E324AE199F2F3675925ECF427CBFFC",
"mdi.min.js": "8A22F2F37F88F74FC07CE2FECA7CE135182058BE24409BAF3DEF0D5845B0BE1A",
"medal-helper.min.css": "6AF13675048FEBFB7E56ABE7462346BB53D22DE21DC31A34211872FCF6FA2A3B",
"medal-helper.min.html": "5D7057259368BE97DED3375DD904695B245AA2BF338C5E18CB3CF61DD913617C",
"medal-helper.min.js": "A18800B09EFE9B7A82D0CBC2F74621BBE616E9C8D366145073B6FFB47255425F",
"medal-helper.min.js": "BCDBC42363114127202249650F9FD3A03D9FDFEE26986AC9D475FDCFF88B8EBF",
"minimal-home.vue.min.js": "59D2CDA4F67F919252722ED02657EDA712ADAD04363BB71C5E5381DB7FA61B2B",
"minimal-home-search.vue.min.js": "1E6198679DB8FBF6DE9CBCD41E9FF55BA44C743A6CFE1BF74822CFD1F70DA252",
"mini-player-touch-move.min.css": "028540E4F40EFD23403CB3D8A654372D7CE65FFC1F95B9793C207179C7C3A9A2",
@ -165,7 +164,7 @@
"player-shadow.min.js": "918D2127907BC2C164CB86BF7F9C2501CF3B9CD236FEEDE5155B9B5D932F3415",
"quality-errors.min.js": "3B5710AEE0B0E0B2A21AABE747EF092CA8FEE4BEC1309AD860884D7DDB21E3C0",
"rank-list.vue.min.js": "EA112025FE267F33FEA4320754C665A1694104FE6AE280AA171B8B0409BBDCCF",
"record-live-danmaku.min.js": "64DC9C8F49971B3C846749E4BE343C9185310DA157996450667FE9C5C62525F6",
"record-live-danmaku.min.js": "2590A564ADD42BBB34E957B92728EBBE85A644A8E0F94ACDE69B55E3FF1C3889",
"record-live-danmaku.vue.min.js": "740784A24CD5326095C269FD33A5B498ADAAF03FE31B136060888D7E7B616BD3",
"remove-promotions.min.css": "9B9A4CB79531B02BE0A0D6E19FEF5B51CC396131EEA826407013BB1EE4A06FCF",
"remove-promotions.min.js": "ADAC6D96409BA013D21D97D83E8C5DE4DCEA1A590ED916F7122ABC678E3A8FB3",

Binary file not shown.

File diff suppressed because one or more lines are too long

2
min/dark.min.css vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
(()=>{return(t,i)=>{(async()=>{if(!document.URL.match(/^https:\/\/live.bilibili.com\/(\d+)/)){return}const i=Resource.all.useDefaultLiveQuality.dropdown;const e=i.items;const l=t.defaultLiveQuality;const o=await SpinQuery.select(".bilibili-live-player-video-controller-switch-quality-btn");if(o===null){console.warn("qualitySettings null");return}const n=async()=>{const t=o.children[0].getAttribute("data-title");const i=dqa(o,".bilibili-live-player-video-controller-html-tooltip-option .text-btn");const n=i.map(t=>t.getAttribute("data-title"));console.log(t,n,l);if(t!==l){let t=l;while(!n.includes(t)){const i=e.indexOf(t);if(i>=e.length-1){console.log("reached lowest quality");return}t=e[i+1]}const o=i[n.indexOf(t)];console.log(o);while(!(o.classList.contains("active")||dq(".bilibili-live-player-video-controller-switch-quality-info"))){await(()=>new Promise(t=>setTimeout(()=>t(),3e3)))();o.click();console.log("click")}}};const c=Observer.childList(o,()=>{console.log(o.childElementCount);if(o.childElementCount>0){n()}})})()}})();
(()=>{return(t,i)=>{(async()=>{if(!document.URL.match(/^https:\/\/live.bilibili.com\/(blanc\/)?(\d+)/)){return}const i=Resource.all.useDefaultLiveQuality.dropdown;const l=i.items;const e=t.defaultLiveQuality;const o=await SpinQuery.select(".bilibili-live-player-video-controller-switch-quality-btn");if(o===null){console.warn("qualitySettings null");return}const n=async()=>{const t=o.children[0].getAttribute("data-title");const i=dqa(o,".bilibili-live-player-video-controller-html-tooltip-option .text-btn");const n=i.map(t=>t.getAttribute("data-title"));console.log(t,n,e);if(t!==e){let t=e;while(!n.includes(t)){const i=l.indexOf(t);if(i>=l.length-1){console.log("reached lowest quality");return}t=l[i+1]}const o=i[n.indexOf(t)];console.log(o);while(!(o.classList.contains("active")||dq(".bilibili-live-player-video-controller-switch-quality-info"))){await(()=>new Promise(t=>setTimeout(()=>t(),3e3)))();o.click();console.log("click")}}};const c=Observer.childList(o,()=>{console.log(o.childElementCount);if(o.childElementCount>0){n()}})})()}})();

2
min/live-pip.min.js vendored
View File

@ -1 +1 @@
(()=>{return(t,e)=>{return{widget:{content:`\n<button class="gui-settings-flat-button" id="live-pip">\n<i class="mdi mdi-24px mdi-picture-in-picture-bottom-right" style="transform: scale(0.9);"></i>\n<span>画中画</span>\n</button>\n`,condition:()=>{return document.URL.match(/https:\/\/live.bilibili.com\/([\d]+)/)&&"requestPictureInPicture"in HTMLVideoElement.prototype},success:()=>{dq("#live-pip").addEventListener("click",()=>{if(document.pictureInPictureElement===dq("video")){document.exitPictureInPicture()}else{dq("video").requestPictureInPicture()}})}}}}})();
(()=>{return(t,e)=>{return{widget:{content:`\n<button class="gui-settings-flat-button" id="live-pip">\n<i class="mdi mdi-24px mdi-picture-in-picture-bottom-right" style="transform: scale(0.9);"></i>\n<span>画中画</span>\n</button>\n`,condition:()=>{return document.URL.match(/https:\/\/live.bilibili.com\/(blanc\/)?([\d]+)/)&&"requestPictureInPicture"in HTMLVideoElement.prototype},success:()=>{dq("#live-pip").addEventListener("click",()=>{if(document.pictureInPictureElement===dq("video")){document.exitPictureInPicture()}else{dq("video").requestPictureInPicture()}})}}}}})();

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
(()=>{return(e,n)=>{const t=()=>{return Boolean(document.URL.match(/live\.bilibili\.com\/(\d)+/))};const d=()=>{const e=dq(`#record-live-danmaku`);let t;e.addEventListener("click",async()=>{if(!dq(".live-danmaku-recorder")){const e=await n.importAsync("record-live-danmaku.vue");t=(new(Vue.extend(e))).$mount();const d=t.$el;document.body.insertAdjacentElement("beforeend",d);t.opened=true}else{t.opened=!t.opened}dq(".gui-settings-mask").click()})};return{widget:{content:`\n<button class="gui-settings-flat-button" id="record-live-danmaku">\n<i class="mdi mdi-24px mdi-record-rec" style="transform: scale(1.3)"></i>\n<span>记录弹幕</span>\n</button>\n`,condition:t,success:d}}}})();
(()=>{return(e,n)=>{const t=()=>{return Boolean(document.URL.match(/live\.bilibili\.com\/(blanc\/)?(\d)+/))};const c=()=>{const e=dq(`#record-live-danmaku`);let t;e.addEventListener("click",async()=>{if(!dq(".live-danmaku-recorder")){const e=await n.importAsync("record-live-danmaku.vue");t=(new(Vue.extend(e))).$mount();const c=t.$el;document.body.insertAdjacentElement("beforeend",c);t.opened=true}else{t.opened=!t.opened}dq(".gui-settings-mask").click()})};return{widget:{content:`\n<button class="gui-settings-flat-button" id="record-live-danmaku">\n<i class="mdi mdi-24px mdi-record-rec" style="transform: scale(1.3)"></i>\n<span>记录弹幕</span>\n</button>\n`,condition:t,success:c}}}})();

View File

@ -1,5 +1,5 @@
(async () => {
if (!/^https:\/\/live\.bilibili\.com\/[\d]+/.test(document.URL)) {
if (!/^https:\/\/live\.bilibili\.com\/(blanc\/)?[\d]+/.test(document.URL)) {
return
}
const popupContainer = await SpinQuery.condition(

View File

@ -1,5 +1,5 @@
(async () => {
if (!document.URL.match(/^https:\/\/live.bilibili.com\/(\d+)/)) {
if (!document.URL.match(/^https:\/\/live.bilibili.com\/(blanc\/)?(\d+)/)) {
return
}
const dropdown = Resource.all.useDefaultLiveQuality.dropdown as Dropdown

View File

@ -7,12 +7,12 @@ export default {
</button>
`,
condition: () => {
return document.URL.match(/https:\/\/live.bilibili.com\/([\d]+)/)
return document.URL.match(/https:\/\/live.bilibili.com\/(blanc\/)?([\d]+)/)
&& 'requestPictureInPicture' in HTMLVideoElement.prototype
},
success: () => {
(dq('#live-pip') as HTMLButtonElement).addEventListener('click', () => {
if (document.pictureInPictureElement === dq('video')){
if (document.pictureInPictureElement === dq('video')) {
document.exitPictureInPicture()
} else {
(dq('video') as HTMLVideoElement).requestPictureInPicture()

View File

@ -1,9 +1,9 @@
const getRoomID = () => {
const match = document.URL.match(/live\.bilibili\.com\/(\d+)/)
const match = document.URL.match(/live\.bilibili\.com\/(blanc\/)?(\d+)/)
if (!match) {
return
}
const roomID = parseInt(match[1])
const roomID = parseInt(match[2])
if (isNaN(roomID)) {
console.warn(`roomID not found`)
return
@ -99,7 +99,7 @@ class Medal extends Badge {
}
}
class Title extends Badge {
static imageMap: {[id: string]: string}
static imageMap: { [id: string]: string }
tid: number
cid: number
name: string

View File

@ -1,5 +1,5 @@
const condition = () => {
return Boolean(document.URL.match(/live\.bilibili\.com\/(\d)+/))
return Boolean(document.URL.match(/live\.bilibili\.com\/(blanc\/)?(\d)+/))
}
const init = () => {
const button = dq(`#record-live-danmaku`) as HTMLButtonElement