mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
commit
b127b08b7f
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
2
min/batch-download.min.js
vendored
2
min/batch-download.min.js
vendored
File diff suppressed because one or more lines are too long
@ -12,7 +12,7 @@
|
|||||||
"auto-draw.min.js": "AE72CF2623DF2D15AD4AF82D125FFAF7EF5B1E6B36D9E9AC646AC98AA6AA8698",
|
"auto-draw.min.js": "AE72CF2623DF2D15AD4AF82D125FFAF7EF5B1E6B36D9E9AC646AC98AA6AA8698",
|
||||||
"auto-play.min.js": "DC9938AC15DADDC9D88DCA0C9BE64BE142C37D32CB85E42E23DAB2A7378531E5",
|
"auto-play.min.js": "DC9938AC15DADDC9D88DCA0C9BE64BE142C37D32CB85E42E23DAB2A7378531E5",
|
||||||
"bangumi-timeline.vue.min.js": "196BC0C07AF05A2E26E84D85C7CFB5C3E2620C927572C8C22070A1AEBB5B44B3",
|
"bangumi-timeline.vue.min.js": "196BC0C07AF05A2E26E84D85C7CFB5C3E2620C927572C8C22070A1AEBB5B44B3",
|
||||||
"batch-download.min.js": "B7ADE150F26243B9529C2F0E2EC06695ACD27678E07902A8E6EABA767BBE3DD0",
|
"batch-download.min.js": "862A3881DD8C246806FC3E640CF4058EDD3A86EF9C1D64B4E6F06704A7D9BA91",
|
||||||
"biliplus-redirect.min.js": "9882D14DAC5C103212A101A5168883C41B4B3B2737FD5F222DC343D0304FF8AF",
|
"biliplus-redirect.min.js": "9882D14DAC5C103212A101A5168883C41B4B3B2737FD5F222DC343D0304FF8AF",
|
||||||
"blackboard.min.js": "8BB9CCDE72302AE7DE39D66F9231EFB82BA27DDA799BA4AAAC06F6DE802661BF",
|
"blackboard.min.js": "8BB9CCDE72302AE7DE39D66F9231EFB82BA27DDA799BA4AAAC06F6DE802661BF",
|
||||||
"blackboard.vue.min.js": "84A30D5A6F322A3C083FC1100E9FF51233ECD08AFBD89A6449AD2388ACCC8522",
|
"blackboard.vue.min.js": "84A30D5A6F322A3C083FC1100E9FF51233ECD08AFBD89A6449AD2388ACCC8522",
|
||||||
@ -32,8 +32,8 @@
|
|||||||
"custom-control-background.min.js": "2A439B045A51D24F5115DD25995ED37E3D0371A074199FE6C727F2235F39C4D9",
|
"custom-control-background.min.js": "2A439B045A51D24F5115DD25995ED37E3D0371A074199FE6C727F2235F39C4D9",
|
||||||
"custom-navbar.min.css": "BC8741D8949DEEBD3A745292A139B639A54C43E8015D348649EF09228A1A568A",
|
"custom-navbar.min.css": "BC8741D8949DEEBD3A745292A139B639A54C43E8015D348649EF09228A1A568A",
|
||||||
"custom-navbar.min.html": "17FD1B1727E8D62E7997F10002FE7BF23472F390042D44DE3376A7A5A5FF2FDF",
|
"custom-navbar.min.html": "17FD1B1727E8D62E7997F10002FE7BF23472F390042D44DE3376A7A5A5FF2FDF",
|
||||||
"custom-navbar.min.js": "F36FD2CDC9F23DFF3E43C294BED7C87E1674EA7FDDCD5CB79F5BA3CA889E2D18",
|
"custom-navbar.min.js": "10A4390317FA65E016F29953B0FF9FD70C7E39AAB4E883A563B3EE21B33B7249",
|
||||||
"custom-navbar-activities.min.js": "56759EC7004186C0BADF9903217191C9E6035437CADF5F640DB8CBD8C5171201",
|
"custom-navbar-activities.min.js": "7CCA4AF4555CF9E9D338FE7285879C9F1396112F1FCD7293AD92EEE965E656C3",
|
||||||
"custom-navbar-blank.min.js": "DC2B75D5760EECD3A257785FDFBB7E5DEBF61CD9083C68DD5BCE468B093F54F3",
|
"custom-navbar-blank.min.js": "DC2B75D5760EECD3A257785FDFBB7E5DEBF61CD9083C68DD5BCE468B093F54F3",
|
||||||
"custom-navbar-category.min.js": "4CF38ACE1D0501217266D1E35DFCBF9D5C1D9A3838C54D53C614878BB8CF55E2",
|
"custom-navbar-category.min.js": "4CF38ACE1D0501217266D1E35DFCBF9D5C1D9A3838C54D53C614878BB8CF55E2",
|
||||||
"custom-navbar-component.min.js": "D1B98EDF5C32D19E4A009D2303F69207B35ED35DD06E0F161E7D0BBB313F3C37",
|
"custom-navbar-component.min.js": "D1B98EDF5C32D19E4A009D2303F69207B35ED35DD06E0F161E7D0BBB313F3C37",
|
||||||
@ -53,7 +53,6 @@
|
|||||||
"dark-important.min.css": "8453644F7FC8BB0E9DA401DC161815E2AC198E9B4D7A5A19C29934B672F277B1",
|
"dark-important.min.css": "8453644F7FC8BB0E9DA401DC161815E2AC198E9B4D7A5A19C29934B672F277B1",
|
||||||
"dark-navbar.min.css": "A2D91F11127D165571ACCC53004EDDB118CEE110F9B020D7E0541E1C8FAEA478",
|
"dark-navbar.min.css": "A2D91F11127D165571ACCC53004EDDB118CEE110F9B020D7E0541E1C8FAEA478",
|
||||||
"dark-schedule.min.js": "853C446547603F4F0425F19F09F73335C9EC451A790C1C07E5E5B88A09E9B453",
|
"dark-schedule.min.js": "853C446547603F4F0425F19F09F73335C9EC451A790C1C07E5E5B88A09E9B453",
|
||||||
"dark-slice-9.min.css": "2493E0DF5E63B5FA8F3005CEBECEB7940AEABF1C8AC70A42B17A61EA0E7376CA",
|
|
||||||
"dark-styles.min.js": "C62AFBB47DDC1E2F3F45D688B0F98394E471A423BE26BF47504D5C7D069ADBA1",
|
"dark-styles.min.js": "C62AFBB47DDC1E2F3F45D688B0F98394E471A423BE26BF47504D5C7D069ADBA1",
|
||||||
"debounce.min.js": "54D33E1273C1F3FE19550BF1844339C3D54D6B01DF8A39C3162D95B93B079CFA",
|
"debounce.min.js": "54D33E1273C1F3FE19550BF1844339C3D54D6B01DF8A39C3162D95B93B079CFA",
|
||||||
"default-danmaku-settings.min.css": "D9942B184FEDA7B08CFA0C34920E97D7A83B81762DCBF757642EBB60F95FF25D",
|
"default-danmaku-settings.min.css": "D9942B184FEDA7B08CFA0C34920E97D7A83B81762DCBF757642EBB60F95FF25D",
|
||||||
@ -66,16 +65,16 @@
|
|||||||
"download-audio.min.js": "1F4536DE4FF302BFD026CA17E028AF8EB037FB6D0CB355692549DECAEAE0E8C9",
|
"download-audio.min.js": "1F4536DE4FF302BFD026CA17E028AF8EB037FB6D0CB355692549DECAEAE0E8C9",
|
||||||
"download-danmaku.min.js": "87BC2B39D99E029BB602AB2F59A387FC960D5779791524F8C26FBC0278CD8F8E",
|
"download-danmaku.min.js": "87BC2B39D99E029BB602AB2F59A387FC960D5779791524F8C26FBC0278CD8F8E",
|
||||||
"download-subtitle.min.js": "4B99A00FEEA40C6D577AC8BD8DFFD34D91B75E150C7848B965D58B0096DF762C",
|
"download-subtitle.min.js": "4B99A00FEEA40C6D577AC8BD8DFFD34D91B75E150C7848B965D58B0096DF762C",
|
||||||
"download-video.min.css": "1EFE5EAFB1ABCBD01F583439AB910801B23359E9C9405A0515CA4A025B1AD7AB",
|
"download-video.min.css": "9B7FFAC852999B11DB62B6467CDBA1AEE53B7F3FA6C592185281542B25AF527A",
|
||||||
"download-video.min.html": "D662FBB3C6899E75A52D15C59C53FD6966DA6E4CE463BCEFF0008D5BD3796C7F",
|
"download-video.min.html": "D662FBB3C6899E75A52D15C59C53FD6966DA6E4CE463BCEFF0008D5BD3796C7F",
|
||||||
"download-video.min.js": "FE66E6FAAA6940E9E9A1725671225C872F8A61F48A9437D360AB59C1D126DC22",
|
"download-video.min.js": "6A43BC28D28CCB2B047E3E7AAF75314F0DB5B2004F75D1414D282FC3A0129888",
|
||||||
"download-video-package.min.js": "B10FF11DE7DFBACEC38F195B8E836511E527215B5E177CB1D223D14F30EB1435",
|
"download-video-package.min.js": "B10FF11DE7DFBACEC38F195B8E836511E527215B5E177CB1D223D14F30EB1435",
|
||||||
"dpi-img.vue.min.js": "905DD5D8071437FE1C04C3E156E61E594C676BF3928241CC52BCAFAAA0FFA089",
|
"dpi-img.vue.min.js": "905DD5D8071437FE1C04C3E156E61E594C676BF3928241CC52BCAFAAA0FFA089",
|
||||||
"expand-danmaku.min.js": "B21658C40085AEA8DC49652AE62EB8610BB2EBEAF7A9C9AF69EF3B11E08EEC8D",
|
"expand-danmaku.min.js": "B21658C40085AEA8DC49652AE62EB8610BB2EBEAF7A9C9AF69EF3B11E08EEC8D",
|
||||||
"expand-description.min.css": "58C7710A50521B80F7D872BDC4C652610D84C4FABC6874BA66DA37B4F8759224",
|
"expand-description.min.css": "58C7710A50521B80F7D872BDC4C652610D84C4FABC6874BA66DA37B4F8759224",
|
||||||
"expand-description.min.js": "A56857AD6B1C9F431B233D188E857D30DD5A2EB644986DE32A21280B1B7BC7A7",
|
"expand-description.min.js": "A56857AD6B1C9F431B233D188E857D30DD5A2EB644986DE32A21280B1B7BC7A7",
|
||||||
"favorites-redirect.min.js": "70D6ECCE0402AA76387D2A3288C1148C60CC88D5378B7A2BDC813F3F78E4EE84",
|
"favorites-redirect.min.js": "70D6ECCE0402AA76387D2A3288C1148C60CC88D5378B7A2BDC813F3F78E4EE84",
|
||||||
"feeds-apis.min.js": "A75F0C85EC2445C366225B552156DBCBC407197FF9A38378A21ECA7CE84FD42A",
|
"feeds-apis.min.js": "BDE100C6071F5ED1A12F81786F7A30717326EB1C61B7E043B4D3E7FF44F7C44B",
|
||||||
"feeds-filter.min.js": "10557E498B8BADA3C1C03E8C1DCD6FB24DBA2DA27A5A03BD861054F7E2989D46",
|
"feeds-filter.min.js": "10557E498B8BADA3C1C03E8C1DCD6FB24DBA2DA27A5A03BD861054F7E2989D46",
|
||||||
"feeds-filter-card.vue.min.js": "86697BD2E1FAB99A7C3402192CFDDFF047BCF5826238EBDDFC318A54D3C6229D",
|
"feeds-filter-card.vue.min.js": "86697BD2E1FAB99A7C3402192CFDDFF047BCF5826238EBDDFC318A54D3C6229D",
|
||||||
"ffmpeg-support.min.js": "B88C5BFDC1CC582CA25098D6BA47189FF628B7323EF9F90D4CFBC4E946648927",
|
"ffmpeg-support.min.js": "B88C5BFDC1CC582CA25098D6BA47189FF628B7323EF9F90D4CFBC4E946648927",
|
||||||
@ -197,13 +196,13 @@
|
|||||||
"tweets.min.css": "9015C1F165C91B9205ABBE4E8A3B5FA83DB1EB4B5CF2442846AF61E44FF178A8",
|
"tweets.min.css": "9015C1F165C91B9205ABBE4E8A3B5FA83DB1EB4B5CF2442846AF61E44FF178A8",
|
||||||
"url-params-clean.min.js": "1B9818B2CF9405C0CC97553594BC8F190C04032D2205CFE6FAD5F93F3F62C0FF",
|
"url-params-clean.min.js": "1B9818B2CF9405C0CC97553594BC8F190C04032D2205CFE6FAD5F93F3F62C0FF",
|
||||||
"v-checkbox.vue.min.js": "A23C35D5627009A29FD396A024442A19E37DEE70674BF3CE0FA377D781ED2231",
|
"v-checkbox.vue.min.js": "A23C35D5627009A29FD396A024442A19E37DEE70674BF3CE0FA377D781ED2231",
|
||||||
"v-dropdown.vue.min.js": "D26B4A74515F53A34A3CB0590FC9683476D99FBBBB9647FDFCBF33E265C3F662",
|
"v-dropdown.vue.min.js": "22D3C9C4FE98D522D5E9F3BC91E0EF3F228A8C36486CC0572A5F7770DC27A20D",
|
||||||
"video-card.vue.min.js": "D622CD3A5123F605A46D1CFD80B09A42B4391A6C6C9B60062A247CA3F7B33538",
|
"video-card.vue.min.js": "D622CD3A5123F605A46D1CFD80B09A42B4391A6C6C9B60062A247CA3F7B33538",
|
||||||
"video-card-info.min.js": "13B755C0EE0CA018AE65251E168BAF3395FEA2EB4FAD6949AADD752F61B8819B",
|
"video-card-info.min.js": "13B755C0EE0CA018AE65251E168BAF3395FEA2EB4FAD6949AADD752F61B8819B",
|
||||||
"video-dash.min.js": "E0345C36E793F8C05E5FC83DDAB88751CD6BA28FB0A1AA63BC20FBCE330F037B",
|
"video-dash.min.js": "E0345C36E793F8C05E5FC83DDAB88751CD6BA28FB0A1AA63BC20FBCE330F037B",
|
||||||
"video-downloader-fragment.min.js": "13B755C0EE0CA018AE65251E168BAF3395FEA2EB4FAD6949AADD752F61B8819B",
|
"video-downloader-fragment.min.js": "13B755C0EE0CA018AE65251E168BAF3395FEA2EB4FAD6949AADD752F61B8819B",
|
||||||
"video-info.min.js": "B837809D3D2C10CD34969143DC05EDD6F24C38181CF24FD705C80B9DD6E86B94",
|
"video-info.min.js": "B837809D3D2C10CD34969143DC05EDD6F24C38181CF24FD705C80B9DD6E86B94",
|
||||||
"video-list.vue.min.js": "6B5A16415C6C2A6B25AA58DBCE0E6DDE7F4496F567727731DD8916621F25A968",
|
"video-list.vue.min.js": "9F91DBF44D68C96E02B926A43617651BAE32A7095AA21F2B1073C343044877A5",
|
||||||
"video-story.min.js": "F9D4D2D80997DF5F11BF0CFA4D389B77BDBF1566EA6002E47174B68B440F3C0D",
|
"video-story.min.js": "F9D4D2D80997DF5F11BF0CFA4D389B77BDBF1566EA6002E47174B68B440F3C0D",
|
||||||
"view-cover.min.js": "E4960587BFC4A219278EC300AFC8983AE4064D6FDBB42093E4EB7590726E229E",
|
"view-cover.min.js": "E4960587BFC4A219278EC300AFC8983AE4064D6FDBB42093E4EB7590726E229E",
|
||||||
"watchlater.min.js": "8C3C74E64A6D1B0FD5A40166FCB19981F86AF0A0E1003586DC591863C2022B18",
|
"watchlater.min.js": "8C3C74E64A6D1B0FD5A40166FCB19981F86AF0A0E1003586DC591863C2022B18",
|
||||||
|
|||||||
BIN
min/bundle.zip
BIN
min/bundle.zip
Binary file not shown.
2
min/custom-navbar-activities.min.js
vendored
2
min/custom-navbar-activities.min.js
vendored
File diff suppressed because one or more lines are too long
2
min/custom-navbar.min.js
vendored
2
min/custom-navbar.min.js
vendored
@ -1 +1 @@
|
|||||||
(()=>{return(t,i)=>{const a=["//www.bilibili.com","//t.bilibili.com","//search.bilibili.com","//space.bilibili.com","//account.bilibili.com","//pay.bilibili.com","//member.bilibili.com","//big.bilibili.com","//message.bilibili.com","//app.bilibili.com","//passport.bilibili.com","//game.bilibili.com","//live.bilibili.com/blackboard/"];const s=["//t.bilibili.com/lottery/h5/index/#/result","//member.bilibili.com/video/upload","//space.bilibili.com/ajax/","//www.bilibili.com/h5/comment/","//www.bilibili.com/blackboard/"];const n=()=>{document.body.style.setProperty("--navbar-bounds-padding",`0 ${t.customNavbarBoundsPadding}%`);document.body.style.setProperty("--navbar-blur-opacity",(t.customNavbarBlurOpacity||.7).toString());addSettingsListener("customNavbarBlurOpacity",t=>{document.body.style.setProperty("--navbar-blur-opacity",t)})};const o=(t,i,a)=>{a.classList.toggle(t,i)};const e=t=>{dq(".custom-navbar").classList.toggle("dark",t);dq(".custom-navbar-settings").classList.toggle("dark",t)};return(()=>{if(isIframe()){return}n();const c=!(!a.some(t=>document.URL.includes(t))||s.some(t=>document.URL.includes(t)))||document.URL.includes("//www.bilibili.com/blackboard/bnj2020.html");if(c){document.body.classList.add("custom-navbar-loading");(async()=>{const a=await i.importAsync((()=>"customNavbarHtml")());document.body.insertAdjacentHTML("beforeend",a);addSettingsListener("useDarkStyle",e,true);const s=()=>dq(".custom-navbar");["Fill","Shadow","Compact","Blur"].forEach(t=>{const i="customNavbar"+t;addSettingsListener(i,i=>o(t.toLowerCase(),i,s()),true)});SpinQuery.condition(()=>dq("#banner_link,.international-header .bili-banner"),t=>t===null?false:Boolean(t.style.backgroundImage),i=>{Observer.attributes(i,()=>{const a=dqa(".custom-navbar .blur-layer");a.forEach(t=>{t.style.backgroundImage=i.style.backgroundImage;t.setAttribute("data-image",i.style.backgroundImage)});addSettingsListener("customNavbarTransparent",i=>{if(!t.hideBanner){s().classList.toggle("transparent",i)}},true);addSettingsListener("hideBanner",i=>{if(t.customNavbarTransparent){s().classList.toggle("transparent",!i)}})})});const{Blank:n}=await i.importAsync("custom-navbar-blank");const{Logo:c}=await i.importAsync("custom-navbar-logo");const{Category:r}=await i.importAsync("custom-navbar-category");const{SimpleLink:l}=await i.importAsync("custom-navbar-simple-link");const{UserInfo:m}=await i.importAsync("custom-navbar-user-info");const{SearchBox:b}=await i.importAsync("custom-navbar-search-box");const{Iframe:u}=await i.importAsync("custom-navbar-iframe");const d=[new n(1),new c,new r,new l("排行","https://www.bilibili.com/ranking","ranking"),new l("相簿","https://h.bilibili.com","drawing"),new l("音频","https://www.bilibili.com/audio/home/","music"),new u("游戏中心","https://game.bilibili.com/",{src:`https://www.bilibili.com/page-proxy/game-nav.html`,width:`680px`,height:`260px`,lazy:true,iframeName:"games"}),new u("直播","https://live.bilibili.com",{src:`https://live.bilibili.com/blackboard/dropdown-menu.html`,width:`528px`,height:`266px`,lazy:true,iframeName:"lives"}),new l("会员购","https://show.bilibili.com","shop"),new l("漫画","https://manga.bilibili.com","manga"),new n(2),new b,new m];if(getUID()){const{WatchlaterList:t}=await i.importAsync("custom-navbar-watchlater-list");const{Messages:a}=await i.importAsync("custom-navbar-messages");const{Activities:s}=await i.importAsync("custom-navbar-activities");const{Subscriptions:n}=await i.importAsync("custom-navbar-subscriptions");const{FavoritesList:o,HistoryList:e}=await i.importAsync("custom-navbar-video-list");d.push(new a,new n,new s,new t,new o,new e)}const{Upload:p}=await i.importAsync("custom-navbar-upload");d.push(new p,new n(3));new Vue({el:".custom-navbar",data:{components:d},methods:{requestPopup(t){if(!t.requestedPopup&&!t.disabled&&!t.active){this.$set(t,`requestedPopup`,true);t.initialPopup&&t.initialPopup()}t.onPopup&&t.onPopup()}},mounted(){document.body.classList.remove("custom-navbar-loading")}})})()}return{widget:{content:`\n<div class="gui-settings-flat-button" id="custom-navbar-settings">\n<i class="mdi mdi-24px mdi-auto-fix"></i>\n<span>顶栏布局</span>\n</div>`,condition:()=>c,success:async()=>{const{initSettingsPanel:t}=await i.importAsync("custom-navbar-settings");await t()}},unload:()=>{const t=dqa(".custom-navbar,.custom-navbar-settings");t.forEach(t=>t.style.display="none");i.removeStyle("customNavbarStyle")},reload:()=>{const t=dqa(".custom-navbar,.custom-navbar-settings");t.forEach(t=>t.style.display="flex");i.applyImportantStyle("customNavbarStyle")}}})()}})();
|
(()=>{return(t,i)=>{const a=["//www.bilibili.com","//t.bilibili.com","//search.bilibili.com","//space.bilibili.com","//account.bilibili.com","//pay.bilibili.com","//member.bilibili.com","//big.bilibili.com","//message.bilibili.com","//app.bilibili.com","//passport.bilibili.com","//game.bilibili.com","//live.bilibili.com/blackboard/"];const s=["//t.bilibili.com/vote/h5/index/#/result","//t.bilibili.com/lottery/h5/index/#/result","//member.bilibili.com/video/upload","//space.bilibili.com/ajax/","//www.bilibili.com/h5/comment/","//www.bilibili.com/blackboard/"];const o=()=>{document.body.style.setProperty("--navbar-bounds-padding",`0 ${t.customNavbarBoundsPadding}%`);document.body.style.setProperty("--navbar-blur-opacity",(t.customNavbarBlurOpacity||.7).toString());addSettingsListener("customNavbarBlurOpacity",t=>{document.body.style.setProperty("--navbar-blur-opacity",t)})};const n=(t,i,a)=>{a.classList.toggle(t,i)};const e=t=>{dq(".custom-navbar").classList.toggle("dark",t);dq(".custom-navbar-settings").classList.toggle("dark",t)};return(()=>{if(isIframe()){return}o();const c=!(!a.some(t=>document.URL.includes(t))||s.some(t=>document.URL.includes(t)))||document.URL.includes("//www.bilibili.com/blackboard/bnj2020.html");if(c){document.body.classList.add("custom-navbar-loading");(async()=>{const a=await i.importAsync("customNavbarHtml");document.body.insertAdjacentHTML("beforeend",a);addSettingsListener("useDarkStyle",e,true);const s=()=>dq(".custom-navbar");["Fill","Shadow","Compact","Blur"].forEach(t=>{const i="customNavbar"+t;addSettingsListener(i,i=>n(t.toLowerCase(),i,s()),true)});SpinQuery.condition(()=>dq("#banner_link,.international-header .bili-banner"),t=>t===null?false:Boolean(t.style.backgroundImage),i=>{Observer.attributes(i,()=>{const a=dqa(".custom-navbar .blur-layer");a.forEach(t=>{t.style.backgroundImage=i.style.backgroundImage;t.setAttribute("data-image",i.style.backgroundImage)});addSettingsListener("customNavbarTransparent",i=>{if(!t.hideBanner){s().classList.toggle("transparent",i)}},true);addSettingsListener("hideBanner",i=>{if(t.customNavbarTransparent){s().classList.toggle("transparent",!i)}})})});const{Blank:o}=await i.importAsync("custom-navbar-blank");const{Logo:c}=await i.importAsync("custom-navbar-logo");const{Category:r}=await i.importAsync("custom-navbar-category");const{SimpleLink:l}=await i.importAsync("custom-navbar-simple-link");const{UserInfo:b}=await i.importAsync("custom-navbar-user-info");const{SearchBox:m}=await i.importAsync("custom-navbar-search-box");const{Iframe:u}=await i.importAsync("custom-navbar-iframe");const d=[new o(1),new c,new r,new l("排行","https://www.bilibili.com/ranking","ranking"),new l("相簿","https://h.bilibili.com","drawing"),new l("音频","https://www.bilibili.com/audio/home/","music"),new u("游戏中心","https://game.bilibili.com/",{src:`https://www.bilibili.com/page-proxy/game-nav.html`,width:`680px`,height:`260px`,lazy:true,iframeName:"games"}),new u("直播","https://live.bilibili.com",{src:`https://live.bilibili.com/blackboard/dropdown-menu.html`,width:`528px`,height:`266px`,lazy:true,iframeName:"lives"}),new l("会员购","https://show.bilibili.com","shop"),new l("漫画","https://manga.bilibili.com","manga"),new o(2),new m,new b];if(getUID()){const{WatchlaterList:t}=await i.importAsync("custom-navbar-watchlater-list");const{Messages:a}=await i.importAsync("custom-navbar-messages");const{Activities:s}=await i.importAsync("custom-navbar-activities");const{Subscriptions:o}=await i.importAsync("custom-navbar-subscriptions");const{FavoritesList:n,HistoryList:e}=await i.importAsync("custom-navbar-video-list");d.push(new a,new o,new s,new t,new n,new e)}const{Upload:p}=await i.importAsync("custom-navbar-upload");d.push(new p,new o(3));new Vue({el:".custom-navbar",data:{components:d},methods:{requestPopup(t){if(!t.requestedPopup&&!t.disabled&&!t.active){this.$set(t,`requestedPopup`,true);t.initialPopup&&t.initialPopup()}t.onPopup&&t.onPopup()}},mounted(){document.body.classList.remove("custom-navbar-loading")}})})()}return{widget:{content:`\n<div class="gui-settings-flat-button" id="custom-navbar-settings">\n<i class="mdi mdi-24px mdi-auto-fix"></i>\n<span>顶栏布局</span>\n</div>`,condition:()=>c,success:async()=>{const{initSettingsPanel:t}=await i.importAsync("custom-navbar-settings");await t()}},unload:()=>{const t=dqa(".custom-navbar,.custom-navbar-settings");t.forEach(t=>t.style.display="none");i.removeStyle("customNavbarStyle")},reload:()=>{const t=dqa(".custom-navbar,.custom-navbar-settings");t.forEach(t=>t.style.display="flex");i.applyImportantStyle("customNavbarStyle")}}})()}})();
|
||||||
2
min/download-video.min.css
vendored
2
min/download-video.min.css
vendored
File diff suppressed because one or more lines are too long
2
min/download-video.min.js
vendored
2
min/download-video.min.js
vendored
File diff suppressed because one or more lines are too long
2
min/feeds-apis.min.js
vendored
2
min/feeds-apis.min.js
vendored
@ -1 +1 @@
|
|||||||
(()=>{return(e,t)=>{const n={repost:{id:1,name:"转发"},textWithImages:{id:2,name:"图文"},text:{id:4,name:"文字"},video:{id:8,name:"视频"},miniVideo:{id:16,name:"小视频"},column:{id:64,name:"专栏"},audio:{id:256,name:"音频"},bangumi:{id:512,name:"番剧"},share:{id:2048,name:"分享"}};class r extends EventTarget{constructor(){super(...arguments);this.cards=[]}addEventListener(e,t,n){super.addEventListener(e,t,n)}removeEventListener(e,t,n){super.removeEventListener(e,t,n)}async addCard(e){if(e instanceof HTMLElement&&e.classList.contains("card")){if(e.querySelector(".skeleton")!==null){const t=Observer.childList(e,()=>{if(e.querySelector(".skeleton")===null){t.stop();this.addCard(e)}})}else{const t=await this.parseCard(e);this.cards.push(t);const n=new CustomEvent("addCard",{detail:t});this.dispatchEvent(n)}}}async removeCard(e){if(e instanceof HTMLElement&&e.classList.contains("card")){const t=(await this.parseCard(e)).id;const n=this.cards.findIndex(e=>e.id===t);const r=this.cards[n];this.cards.splice(n,1);const i=new CustomEvent("removeCard",{detail:r});this.dispatchEvent(i)}}async parseCard(e){const t=async(t,n=false)=>{const r=await SpinQuery.condition(()=>e.querySelector(t),e=>e!==null);if(r===null){console.warn(e,t);return""}const i=r.innerText.trim();if(n){const t=await SpinQuery.condition(()=>e.querySelector(".original-card-content .description"),e=>{if(e===null){return false}if(i){return true}return Boolean(e.innerText)});return t?(r.innerText+"\n"+t.innerText).trim():i}return i};const r=async e=>{const n=parseInt(await t(e));if(isNaN(n)){return 0}return n};const i=(()=>{if(e.querySelector(".repost")){return n.repost}if(e.querySelector(".imagesbox")){return n.textWithImages}if(e.querySelector(".video-container")){return n.video}if(e.querySelector(".bangumi-container")){return n.bangumi}if(e.querySelector(".article-container")){return n.column}if(e.querySelector(".music-container")){return n.audio}if(e.querySelector(".h5share-container")){return n.share}if(e.querySelector(".vc-ctnr")){return n.miniVideo}return n.text})();const a={id:e.getAttribute("data-did"),username:await t(".main-content .user-name"),text:await t(".card-content .text.description,.video-container .title,.bangumi-container .title",true),reposts:await r(".button-bar .single-button:nth-child(1) .text-offset"),comments:await r(".button-bar .single-button:nth-child(2) .text-offset"),likes:await r(".button-bar .single-button:nth-child(3) .text-offset"),element:e,type:i};e.setAttribute("data-type",i.id.toString());return a}async startWatching(){const e=await SpinQuery.select(".card-list .content");if(!e){return false}const t=[...e.querySelectorAll(".content>.card")];t.forEach(e=>this.addCard(e));Observer.childList(e,e=>{e.forEach(e=>{e.addedNodes.forEach(e=>this.addCard(e));e.removedNodes.forEach(e=>this.removeCard(e))})});return true}}const i=new r;const a=async(e="video")=>{if(!getUID()){return[]}const t=await Ajax.getJsonWithCredentials(`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=${getUID()}&type_list=${e==="video"?8:512}`);if(t.code!==0){throw new Error(t.message)}if(e==="video"){return t.data.cards.map(e=>{const t=JSON.parse(e.card);const n=_.get(e,"display.topic_info.topic_details",[]).map(e=>{return{id:e.topic_id,name:e.topic_name}});return{id:e.desc.dynamic_id_str,aid:t.aid,title:t.title,upID:e.desc.user_profile.info.uid,upName:e.desc.user_profile.info.uname,upFaceUrl:e.desc.user_profile.info.face,coverUrl:t.pic,description:t.desc,timestamp:e.timestamp,time:new Date(e.timestamp*1e3),topics:n,dynamic:t.dynamic,like:formatCount(e.desc.like),duration:t.duration,durationText:formatDuration(t.duration,0),playCount:formatCount(t.stat.view),danmakuCount:formatCount(t.stat.danmaku),watchlater:store.state.watchlaterList.includes(t.aid)}})}else if(e==="bangumi"){return t.data.cards.map(e=>{const t=JSON.parse(e.card);return{id:e.desc.dynamic_id_str,aid:t.aid,epID:t.episode_id,title:t.new_desc,upName:t.apiSeasonInfo.title,upFaceUrl:t.apiSeasonInfo.cover,coverUrl:t.cover,description:"",timestamp:e.timestamp,time:new Date(e.timestamp*1e3),like:formatCount(e.desc.like),durationText:"",playCount:formatCount(t.play_count),danmakuCount:formatCount(t.bullet_count),watchlater:false}})}else{return[]}};return{export:{feedsCardsManager:i,feedsCardTypes:n,getVideoFeeds:a}}}})();
|
(()=>{return(e,t)=>{const n={repost:{id:1,name:"转发"},textWithImages:{id:2,name:"图文"},text:{id:4,name:"文字"},video:{id:8,name:"视频"},miniVideo:{id:16,name:"小视频"},column:{id:64,name:"专栏"},audio:{id:256,name:"音频"},bangumi:{id:512,name:"番剧"},share:{id:2048,name:"分享"}};class r extends EventTarget{constructor(){super(...arguments);this.cards=[]}addEventListener(e,t,n){super.addEventListener(e,t,n)}removeEventListener(e,t,n){super.removeEventListener(e,t,n)}async addCard(e){if(e instanceof HTMLElement&&e.classList.contains("card")){if(e.querySelector(".skeleton")!==null){const t=Observer.childList(e,()=>{if(e.querySelector(".skeleton")===null){t.stop();this.addCard(e)}})}else{const t=await this.parseCard(e);this.cards.push(t);const n=new CustomEvent("addCard",{detail:t});this.dispatchEvent(n)}}}async removeCard(e){if(e instanceof HTMLElement&&e.classList.contains("card")){const t=(await this.parseCard(e)).id;const n=this.cards.findIndex(e=>e.id===t);const r=this.cards[n];this.cards.splice(n,1);const i=new CustomEvent("removeCard",{detail:r});this.dispatchEvent(i)}}async parseCard(e){const t=async(t,n=false)=>{const r=await SpinQuery.condition(()=>e.querySelector(t),e=>e!==null);if(r===null){console.warn(e,t);return""}const i=r.innerText.trim();if(n){const t=await SpinQuery.condition(()=>e.querySelector(".original-card-content .description"),e=>{if(e===null){return false}if(i){return true}return Boolean(e.innerText)});return t?(r.innerText+"\n"+t.innerText).trim():i}return i};const r=async e=>{const n=parseInt(await t(e));if(isNaN(n)){return 0}return n};const i=(()=>{if(e.querySelector(".repost")){return n.repost}if(e.querySelector(".imagesbox")){return n.textWithImages}if(e.querySelector(".video-container")){return n.video}if(e.querySelector(".bangumi-container")){return n.bangumi}if(e.querySelector(".article-container")){return n.column}if(e.querySelector(".music-container")){return n.audio}if(e.querySelector(".h5share-container")){return n.share}if(e.querySelector(".vc-ctnr")){return n.miniVideo}return n.text})();const a={id:e.getAttribute("data-did"),username:await t(".main-content .user-name"),text:await t(".card-content .text.description,.video-container .title,.bangumi-container .title",true),reposts:await r(".button-bar .single-button:nth-child(1) .text-offset"),comments:await r(".button-bar .single-button:nth-child(2) .text-offset"),likes:await r(".button-bar .single-button:nth-child(3) .text-offset"),element:e,type:i};e.setAttribute("data-type",i.id.toString());return a}async startWatching(){const e=await SpinQuery.select(".card-list .content");if(!e){return false}const t=[...e.querySelectorAll(".content>.card")];t.forEach(e=>this.addCard(e));Observer.childList(e,e=>{e.forEach(e=>{e.addedNodes.forEach(e=>this.addCard(e));e.removedNodes.forEach(e=>this.removeCard(e))})});return true}}const i=new r;const a=async(e="video")=>{if(!getUID()){return[]}const t=await Ajax.getJsonWithCredentials(`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=${getUID()}&type_list=${e==="video"?8:512}`);if(t.code!==0){throw new Error(t.message)}if(e==="video"){return t.data.cards.filter(e=>{return e.desc.orig_dy_id===0}).map(e=>{const t=JSON.parse(e.card);const n=_.get(e,"display.topic_info.topic_details",[]).map(e=>{return{id:e.topic_id,name:e.topic_name}});return{id:e.desc.dynamic_id_str,aid:t.aid,title:t.title,upID:e.desc.user_profile.info.uid,upName:e.desc.user_profile.info.uname,upFaceUrl:e.desc.user_profile.info.face,coverUrl:t.pic,description:t.desc,timestamp:e.timestamp,time:new Date(e.timestamp*1e3),topics:n,dynamic:t.dynamic,like:formatCount(e.desc.like),duration:t.duration,durationText:formatDuration(t.duration,0),playCount:formatCount(t.stat.view),danmakuCount:formatCount(t.stat.danmaku),watchlater:store.state.watchlaterList.includes(t.aid)}})}else if(e==="bangumi"){return t.data.cards.map(e=>{const t=JSON.parse(e.card);return{id:e.desc.dynamic_id_str,aid:t.aid,epID:t.episode_id,title:t.new_desc,upName:t.apiSeasonInfo.title,upFaceUrl:t.apiSeasonInfo.cover,coverUrl:t.cover,description:"",timestamp:e.timestamp,time:new Date(e.timestamp*1e3),like:formatCount(e.desc.like),durationText:"",playCount:formatCount(t.play_count),danmakuCount:formatCount(t.bullet_count),watchlater:false}})}else{return[]}};return{export:{feedsCardsManager:i,feedsCardTypes:n,getVideoFeeds:a}}}})();
|
||||||
2
min/v-dropdown.vue.min.js
vendored
2
min/v-dropdown.vue.min.js
vendored
@ -1 +1 @@
|
|||||||
(()=>{return(o,e)=>{const n=`<div class=v-dropdown @click=toggleDropdown()><span class=selected>{{ value }}</span><ul class=dropdown-menu :class="{ opened: dropdownOpen }"><li v-for="item in items":key=item :data-value=item @click=select(item)>{{ item }}</li></ul><i class="mdi mdi-chevron-down"></i></div>`;e.applyStyleFromText(`.v-dropdown{--background-color:#eee;position:relative;background-color:var(--background-color);cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-width:100px}body.dark .v-dropdown{--background-color:#333}.v-dropdown .dropdown-menu{transform-origin:top;transform:translateY(-4px) translateX(-50%);pointer-events:none;opacity:0;position:absolute;top:calc(100% + 2px);left:50%;background-color:var(--background-color);z-index:1;transition:.2s ease-out;box-shadow:rgba(0,0,0,.2) 0 4px 8px 0}.v-dropdown .dropdown-menu.opened{transform:translateY(0) translateX(-50%);pointer-events:initial;opacity:1}.v-dropdown .dropdown-menu li{padding:4px 16px;white-space:nowrap;min-width:64px;text-align:center;cursor:pointer;color:inherit;background-color:transparent}.v-dropdown .dropdown-menu li:hover{background-color:rgba(0,0,0,.16)}.v-dropdown .mdi-chevron-down{font-size:16pt;line-height:1;transform:rotate(0)}.v-dropdown .dropdown-menu.opened~.mdi-chevron-down{transform:rotate(180deg)}.v-dropdown .selected{user-select:none;padding:4px 8px}.round-corner .v-dropdown,.round-corner .v-dropdown .dropdown-menu,.round-corner .v-dropdown .dropdown-menu li{border-radius:var(--corner-radius)}`,"v-dropdown-style");return{export:Object.assign({template:n},{props:["items","value"],data(){return{dropdownOpen:false}},methods:{toggleDropdown(){this.dropdownOpen=!this.dropdownOpen;if(this.dropdownOpen){document.addEventListener("click",o=>{const e=o.target;if(e===this.$el||this.$el.contains(e)){return}this.dropdownOpen=false},{once:true,capture:true})}},select(o){this.$emit("update:value",o);this.$emit("change",o)}}})}}})();
|
(()=>{return(o,e)=>{const n=`<div class=v-dropdown @click=toggleDropdown()><span class=selected>{{ value }}</span><ul class=dropdown-menu :class="{ opened: dropdownOpen }"><li v-for="item in items":key=item :data-value=item @click=select(item)>{{ item }}</li></ul><i class="mdi mdi-chevron-down"></i></div>`;e.applyStyleFromText(`.v-dropdown{--background-color:#eee;position:relative;background-color:var(--background-color);cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-width:100px}body.dark .v-dropdown{--background-color:#333}.v-dropdown .dropdown-menu{transform-origin:top;transform:translateY(-4px) translateX(-50%);pointer-events:none;opacity:0;position:absolute;top:calc(100% + 2px);left:50%;background-color:var(--background-color);z-index:1;transition:.2s ease-out;box-shadow:rgba(0,0,0,.2) 0 4px 8px 0}.v-dropdown .dropdown-menu.opened{transform:translateY(0) translateX(-50%);pointer-events:initial;opacity:1}.v-dropdown .dropdown-menu li{padding:4px 16px;box-sizing:content-box;white-space:nowrap;min-width:64px;text-align:center;cursor:pointer;color:inherit;background-color:transparent}.v-dropdown .dropdown-menu li:hover{background-color:rgba(0,0,0,.16)}.v-dropdown .mdi-chevron-down{font-size:16pt;line-height:1;transform:rotate(0)}.v-dropdown .dropdown-menu.opened~.mdi-chevron-down{transform:rotate(180deg)}.v-dropdown .selected{user-select:none;padding:4px 8px}.round-corner .v-dropdown,.round-corner .v-dropdown .dropdown-menu,.round-corner .v-dropdown .dropdown-menu li{border-radius:var(--corner-radius)}`,"v-dropdown-style");return{export:Object.assign({template:n},{props:["items","value"],data(){return{dropdownOpen:false}},methods:{toggleDropdown(){this.dropdownOpen=!this.dropdownOpen;if(this.dropdownOpen){document.addEventListener("click",o=>{const e=o.target;if(e===this.$el||this.$el.contains(e)){return}this.dropdownOpen=false},{once:true,capture:true})}},select(o){this.$emit("update:value",o);this.$emit("change",o)}}})}}})();
|
||||||
2
min/video-list.vue.min.js
vendored
2
min/video-list.vue.min.js
vendored
@ -1 +1 @@
|
|||||||
(()=>{return(i,e)=>{const a=`<div class=video-list><div class=loading v-if=loading><i class="mdi mdi-18px mdi-loading mdi-spin"></i>加载中...</div><div class=cards :class="{'show-rank': showRank}"v-else-if=cards.length><video-card v-for="card of cards":key=card.id :data=card></video-card></div><div class=empty v-else>空空如也哦 = ̄ω ̄=</div></div>`;e.applyStyleFromText(`.minimal-home .video-list .empty,.minimal-home .video-list .loading{height:48px;display:flex;align-items:center;justify-content:center;font-size:11pt;color:#707070}.minimal-home .video-list .empty .mdi,.minimal-home .video-list .loading .mdi{margin-right:8px}body.dark .minimal-home .video-list .empty,body.dark .minimal-home .video-list .loading{color:#eee}.minimal-home .video-list .cards{display:flex;flex-wrap:wrap;align-items:flex-end}.minimal-home .video-list .cards.show-rank .video-card:nth-child(1),.minimal-home .video-list .cards.show-rank .video-card:nth-child(17),.minimal-home .video-list .cards.show-rank .video-card:nth-child(9){margin-top:48px}.minimal-home .video-list .cards.show-rank .video-card:nth-child(1)::before,.minimal-home .video-list .cards.show-rank .video-card:nth-child(17)::before,.minimal-home .video-list .cards.show-rank .video-card:nth-child(9)::before{position:absolute;top:-42px;left:0;font-size:14pt;font-weight:700}.minimal-home .video-list .cards.show-rank .video-card:nth-child(1)::before{content:"今日"}.minimal-home .video-list .cards.show-rank .video-card:nth-child(9)::before{content:"三日"}.minimal-home .video-list .cards.show-rank .video-card:nth-child(17)::before{content:"一周"}`,"video-list-style");return{export:Object.assign({template:a},{components:{VideoCard:()=>e.importAsync("video-card.vue")},props:["showRank"],data(){return{cards:[],loading:true}},methods:{async getRankList(){const{getTrendingVideos:i}=await e.importAsync("trending-videos");const a=async e=>{const a=await i(e);this.cards.push(...a)};await Promise.all([1,3,7].map(a))},async getActivityVideos(){const i=await Ajax.getJsonWithCredentials(`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=${getUID()}&type_list=8`);if(i.code!==0){throw new Error(i.message)}this.cards=i.data.cards.map(i=>{const e=JSON.parse(i.card);const a=_.get(i,"display.topic_info.topic_details",[]).map(i=>{return{id:i.topic_id,name:i.topic_name}});return{id:i.desc.dynamic_id_str,aid:e.aid,title:e.title,upID:i.desc.user_profile.info.uid,upName:i.desc.user_profile.info.uname,upFaceUrl:i.desc.user_profile.info.face,coverUrl:e.pic,description:e.desc,timestamp:i.timestamp,time:new Date(i.timestamp*1e3),topics:a,dynamic:e.dynamic,like:formatCount(i.desc.like),duration:e.duration,durationText:formatDuration(e.duration,0),playCount:formatCount(e.stat.view),danmakuCount:formatCount(e.stat.danmaku),watchlater:true}})}},async mounted(){try{if(this.showRank){await this.getRankList()}else{await this.getActivityVideos()}}catch(i){Toast.error(i.message,this.showRank?"热门视频":"视频动态",3e3)}finally{this.loading=false}}})}}})();
|
(()=>{return(i,e)=>{const a=`<div class=video-list><div class=loading v-if=loading><i class="mdi mdi-18px mdi-loading mdi-spin"></i>加载中...</div><div class=cards :class="{'show-rank': showRank}"v-else-if=cards.length><video-card v-for="card of cards":key=card.id :data=card></video-card></div><div class=empty v-else>空空如也哦 = ̄ω ̄=</div></div>`;e.applyStyleFromText(`.minimal-home .video-list .empty,.minimal-home .video-list .loading{height:48px;display:flex;align-items:center;justify-content:center;font-size:11pt;color:#707070}.minimal-home .video-list .empty .mdi,.minimal-home .video-list .loading .mdi{margin-right:8px}body.dark .minimal-home .video-list .empty,body.dark .minimal-home .video-list .loading{color:#eee}.minimal-home .video-list .cards{display:flex;flex-wrap:wrap;align-items:flex-end}.minimal-home .video-list .cards.show-rank .video-card:nth-child(1),.minimal-home .video-list .cards.show-rank .video-card:nth-child(17),.minimal-home .video-list .cards.show-rank .video-card:nth-child(9){margin-top:48px}.minimal-home .video-list .cards.show-rank .video-card:nth-child(1)::before,.minimal-home .video-list .cards.show-rank .video-card:nth-child(17)::before,.minimal-home .video-list .cards.show-rank .video-card:nth-child(9)::before{position:absolute;top:-42px;left:0;font-size:14pt;font-weight:700}.minimal-home .video-list .cards.show-rank .video-card:nth-child(1)::before{content:"今日"}.minimal-home .video-list .cards.show-rank .video-card:nth-child(9)::before{content:"三日"}.minimal-home .video-list .cards.show-rank .video-card:nth-child(17)::before{content:"一周"}`,"video-list-style");return{export:Object.assign({template:a},{components:{VideoCard:()=>e.importAsync("video-card.vue")},props:["showRank"],data(){return{cards:[],loading:true}},methods:{async getRankList(){const{getTrendingVideos:i}=await e.importAsync("trending-videos");const a=async e=>{const a=await i(e);this.cards.push(...a)};await Promise.all([1,3,7].map(a))},async getActivityVideos(){const i=await Ajax.getJsonWithCredentials(`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=${getUID()}&type_list=8`);if(i.code!==0){throw new Error(i.message)}this.cards=i.data.cards.filter(i=>{return i.desc.orig_dy_id===0}).map(i=>{const e=JSON.parse(i.card);const a=_.get(i,"display.topic_info.topic_details",[]).map(i=>{return{id:i.topic_id,name:i.topic_name}});return{id:i.desc.dynamic_id_str,aid:e.aid,title:e.title,upID:i.desc.user_profile.info.uid,upName:i.desc.user_profile.info.uname,upFaceUrl:i.desc.user_profile.info.face,coverUrl:e.pic,description:e.desc,timestamp:i.timestamp,time:new Date(i.timestamp*1e3),topics:a,dynamic:e.dynamic,like:formatCount(i.desc.like),duration:e.duration,durationText:formatDuration(e.duration,0),playCount:formatCount(e.stat.view),danmakuCount:formatCount(e.stat.danmaku),watchlater:true}})}},async mounted(){try{if(this.showRank){await this.getRankList()}else{await this.getActivityVideos()}}catch(i){Toast.error(i.message,this.showRank?"热门视频":"视频动态",3e3)}finally{this.loading=false}}})}}})();
|
||||||
@ -204,7 +204,10 @@ export const getVideoFeeds = async (type: 'video' | 'bangumi' = 'video'): Promis
|
|||||||
// '../video/watchlater-api'
|
// '../video/watchlater-api'
|
||||||
// )
|
// )
|
||||||
// const watchlaterList = await getWatchlaterList()
|
// const watchlaterList = await getWatchlaterList()
|
||||||
return json.data.cards.map(
|
return json.data.cards.filter((c: any) => {
|
||||||
|
// 合作视频仅取UP主的
|
||||||
|
return c.desc.orig_dy_id === 0
|
||||||
|
}).map(
|
||||||
(c: any): VideoCardInfo => {
|
(c: any): VideoCardInfo => {
|
||||||
const card = JSON.parse(c.card)
|
const card = JSON.parse(c.card)
|
||||||
const topics = _.get(c, 'display.topic_info.topic_details', []).map(
|
const topics = _.get(c, 'display.topic_info.topic_details', []).map(
|
||||||
|
|||||||
@ -220,7 +220,10 @@ export class Activities extends NavbarComponent {
|
|||||||
handleJson: async function (json) {
|
handleJson: async function (json) {
|
||||||
// const { getWatchlaterList } = await import('../../video/watchlater-api')
|
// const { getWatchlaterList } = await import('../../video/watchlater-api')
|
||||||
// const watchlaterList = await getWatchlaterList()
|
// const watchlaterList = await getWatchlaterList()
|
||||||
const cards = json.data.cards.map((card: any) => {
|
const cards = json.data.cards.filter((c: any) => {
|
||||||
|
// 合作视频仅取UP主的
|
||||||
|
return c.desc.orig_dy_id === 0
|
||||||
|
}).map((card: any) => {
|
||||||
const cardJson = JSON.parse(card.card)
|
const cardJson = JSON.parse(card.card)
|
||||||
return {
|
return {
|
||||||
coverUrl: cardJson.pic,
|
coverUrl: cardJson.pic,
|
||||||
|
|||||||
@ -15,6 +15,7 @@ const supportedUrls = [
|
|||||||
'//live.bilibili.com/blackboard/'
|
'//live.bilibili.com/blackboard/'
|
||||||
]
|
]
|
||||||
const unsupportedUrls = [
|
const unsupportedUrls = [
|
||||||
|
'//t.bilibili.com/vote/h5/index/#/result',
|
||||||
'//t.bilibili.com/lottery/h5/index/#/result',
|
'//t.bilibili.com/lottery/h5/index/#/result',
|
||||||
'//member.bilibili.com/video/upload',
|
'//member.bilibili.com/video/upload',
|
||||||
'//space.bilibili.com/ajax/',
|
'//space.bilibili.com/ajax/',
|
||||||
|
|||||||
@ -53,40 +53,45 @@ export default {
|
|||||||
if (json.code !== 0) {
|
if (json.code !== 0) {
|
||||||
throw new Error(json.message)
|
throw new Error(json.message)
|
||||||
}
|
}
|
||||||
this.cards = json.data.cards.map(
|
this.cards = json.data.cards
|
||||||
(c: any): VideoCardInfo => {
|
.filter((c: any) => {
|
||||||
const card = JSON.parse(c.card)
|
// 合作视频仅取UP主的
|
||||||
const topics = _.get(c, 'display.topic_info.topic_details', []).map(
|
return c.desc.orig_dy_id === 0
|
||||||
(it: any) => {
|
})
|
||||||
return {
|
.map(
|
||||||
id: it.topic_id,
|
(c: any): VideoCardInfo => {
|
||||||
name: it.topic_name
|
const card = JSON.parse(c.card)
|
||||||
|
const topics = _.get(c, 'display.topic_info.topic_details', []).map(
|
||||||
|
(it: any) => {
|
||||||
|
return {
|
||||||
|
id: it.topic_id,
|
||||||
|
name: it.topic_name
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
)
|
||||||
|
return {
|
||||||
|
id: c.desc.dynamic_id_str,
|
||||||
|
aid: card.aid,
|
||||||
|
title: card.title,
|
||||||
|
upID: c.desc.user_profile.info.uid,
|
||||||
|
upName: c.desc.user_profile.info.uname,
|
||||||
|
upFaceUrl: c.desc.user_profile.info.face,
|
||||||
|
coverUrl: card.pic,
|
||||||
|
description: card.desc,
|
||||||
|
timestamp: c.timestamp,
|
||||||
|
time: new Date(c.timestamp * 1000),
|
||||||
|
topics,
|
||||||
|
dynamic: card.dynamic,
|
||||||
|
like: formatCount(c.desc.like),
|
||||||
|
duration: card.duration,
|
||||||
|
durationText: formatDuration(card.duration, 0),
|
||||||
|
playCount: formatCount(card.stat.view),
|
||||||
|
danmakuCount: formatCount(card.stat.danmaku),
|
||||||
|
watchlater: true
|
||||||
|
// watchlater: watchlaterList ? watchlaterList.includes(card.aid) : undefined,
|
||||||
}
|
}
|
||||||
)
|
|
||||||
return {
|
|
||||||
id: c.desc.dynamic_id_str,
|
|
||||||
aid: card.aid,
|
|
||||||
title: card.title,
|
|
||||||
upID: c.desc.user_profile.info.uid,
|
|
||||||
upName: c.desc.user_profile.info.uname,
|
|
||||||
upFaceUrl: c.desc.user_profile.info.face,
|
|
||||||
coverUrl: card.pic,
|
|
||||||
description: card.desc,
|
|
||||||
timestamp: c.timestamp,
|
|
||||||
time: new Date(c.timestamp * 1000),
|
|
||||||
topics,
|
|
||||||
dynamic: card.dynamic,
|
|
||||||
like: formatCount(c.desc.like),
|
|
||||||
duration: card.duration,
|
|
||||||
durationText: formatDuration(card.duration, 0),
|
|
||||||
playCount: formatCount(card.stat.view),
|
|
||||||
danmakuCount: formatCount(card.stat.danmaku),
|
|
||||||
watchlater: true,
|
|
||||||
// watchlater: watchlaterList ? watchlaterList.includes(card.aid) : undefined,
|
|
||||||
}
|
}
|
||||||
}
|
)
|
||||||
)
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
|
|||||||
@ -31,7 +31,7 @@ abstract class Batch {
|
|||||||
itemList: BatchItem[] = []
|
itemList: BatchItem[] = []
|
||||||
abstract async getItemList(): Promise<BatchItem[]>
|
abstract async getItemList(): Promise<BatchItem[]>
|
||||||
abstract async collectData(quality: number | string): Promise<string>
|
abstract async collectData(quality: number | string): Promise<string>
|
||||||
formatTitle(parameters: BatchTitleParameter | undefined) {
|
static formatTitle(parameters: BatchTitleParameter | undefined) {
|
||||||
const format = settings.batchFilenameFormat
|
const format = settings.batchFilenameFormat
|
||||||
const title = formatTitle(format, true, parameters)
|
const title = formatTitle(format, true, parameters)
|
||||||
return escapeFilename(title, ' ')
|
return escapeFilename(title, ' ')
|
||||||
@ -108,17 +108,18 @@ ${f.url}
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
class VideoEpisodeBatch extends Batch {
|
class VideoEpisodeBatch extends Batch {
|
||||||
|
aid = unsafeWindow.aid!
|
||||||
static async test() {
|
static async test() {
|
||||||
if (!document.URL.includes('/www.bilibili.com/video/av')) {
|
if (document.URL.includes('//www.bilibili.com/video/av')) {
|
||||||
return false
|
return await SpinQuery.select('#multi_page') !== null
|
||||||
}
|
}
|
||||||
return await SpinQuery.select('#multi_page') !== null
|
return false
|
||||||
}
|
}
|
||||||
async getItemList() {
|
async getItemList() {
|
||||||
if (this.itemList.length > 0) {
|
if (this.itemList.length > 0) {
|
||||||
return this.itemList
|
return this.itemList
|
||||||
}
|
}
|
||||||
const api = `https://api.bilibili.com/x/web-interface/view?aid=${unsafeWindow.aid}`
|
const api = `https://api.bilibili.com/x/web-interface/view?aid=${this.aid}`
|
||||||
const json = await Ajax.getJson(api)
|
const json = await Ajax.getJson(api)
|
||||||
if (json.code !== 0) {
|
if (json.code !== 0) {
|
||||||
Toast.error(`获取视频选集列表失败, message=${json.message}`, '批量下载')
|
Toast.error(`获取视频选集列表失败, message=${json.message}`, '批量下载')
|
||||||
@ -137,7 +138,7 @@ class VideoEpisodeBatch extends Batch {
|
|||||||
ep: page.part
|
ep: page.part
|
||||||
},
|
},
|
||||||
cid: page.cid,
|
cid: page.cid,
|
||||||
aid: unsafeWindow.aid,
|
aid: this.aid,
|
||||||
} as BatchItem
|
} as BatchItem
|
||||||
})
|
})
|
||||||
return this.itemList
|
return this.itemList
|
||||||
@ -168,7 +169,7 @@ class VideoEpisodeBatch extends Batch {
|
|||||||
result.push({
|
result.push({
|
||||||
fragments,
|
fragments,
|
||||||
// title: item.title.replace(/[\/\\:\*\?"<>\|]/g, ' '),
|
// title: item.title.replace(/[\/\\:\*\?"<>\|]/g, ' '),
|
||||||
title: this.formatTitle(item.titleParameters),
|
title: Batch.formatTitle(item.titleParameters),
|
||||||
totalSize: fragments.map(it => it.size).reduce((acc, it) => acc + it),
|
totalSize: fragments.map(it => it.size).reduce((acc, it) => acc + it),
|
||||||
cid: item.cid,
|
cid: item.cid,
|
||||||
referer: document.URL.replace(window.location.search, '')
|
referer: document.URL.replace(window.location.search, '')
|
||||||
@ -177,6 +178,27 @@ class VideoEpisodeBatch extends Batch {
|
|||||||
return JSON.stringify(result)
|
return JSON.stringify(result)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
class Bnj2020Batch extends Batch {
|
||||||
|
mainVideo: VideoEpisodeBatch
|
||||||
|
spVideo: VideoEpisodeBatch
|
||||||
|
constructor(config: BatchExtractorConfig) {
|
||||||
|
super(config)
|
||||||
|
// 拜年祭就硬编码 aid 了(
|
||||||
|
this.mainVideo = new VideoEpisodeBatch(config)
|
||||||
|
this.mainVideo.aid = '78976165'
|
||||||
|
this.spVideo = new VideoEpisodeBatch(config)
|
||||||
|
this.spVideo.aid = '78979124'
|
||||||
|
}
|
||||||
|
static async test() {
|
||||||
|
return document.URL.includes('//www.bilibili.com/blackboard/bnj2020.html')
|
||||||
|
}
|
||||||
|
async getItemList() {
|
||||||
|
return (await this.mainVideo.getItemList()).concat(await this.spVideo.getItemList())
|
||||||
|
}
|
||||||
|
async collectData(quality: string | number) {
|
||||||
|
return (await this.mainVideo.collectData(quality)).concat(await this.spVideo.collectData(quality))
|
||||||
|
}
|
||||||
|
}
|
||||||
class BangumiBatch extends Batch {
|
class BangumiBatch extends Batch {
|
||||||
static async test() {
|
static async test() {
|
||||||
return document.URL.includes('/www.bilibili.com/bangumi')
|
return document.URL.includes('/www.bilibili.com/bangumi')
|
||||||
@ -242,7 +264,7 @@ class BangumiBatch extends Batch {
|
|||||||
result.push({
|
result.push({
|
||||||
fragments,
|
fragments,
|
||||||
// title: item.title.replace(/[\/\\:\*\?"<>\|]/g, ' '),
|
// title: item.title.replace(/[\/\\:\*\?"<>\|]/g, ' '),
|
||||||
title: this.formatTitle(item.titleParameters),
|
title: Batch.formatTitle(item.titleParameters),
|
||||||
totalSize: fragments.map(it => it.size).reduce((acc, it) => acc + it),
|
totalSize: fragments.map(it => it.size).reduce((acc, it) => acc + it),
|
||||||
cid: item.cid,
|
cid: item.cid,
|
||||||
referer: document.URL.replace(window.location.search, '')
|
referer: document.URL.replace(window.location.search, '')
|
||||||
@ -251,7 +273,7 @@ class BangumiBatch extends Batch {
|
|||||||
return JSON.stringify(result)
|
return JSON.stringify(result)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const extractors = [BangumiBatch, VideoEpisodeBatch]
|
const extractors = [BangumiBatch, VideoEpisodeBatch, Bnj2020Batch]
|
||||||
let ExtractorClass: new (config: BatchExtractorConfig) => Batch
|
let ExtractorClass: new (config: BatchExtractorConfig) => Batch
|
||||||
export class BatchExtractor {
|
export class BatchExtractor {
|
||||||
config: BatchExtractorConfig
|
config: BatchExtractorConfig
|
||||||
@ -299,6 +321,9 @@ export class BatchExtractor {
|
|||||||
toast.dismiss()
|
toast.dismiss()
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
formatTitle(parameters: BatchTitleParameter | undefined) {
|
||||||
|
return Batch.formatTitle(parameters)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
export default {
|
export default {
|
||||||
export: {
|
export: {
|
||||||
|
|||||||
@ -20,6 +20,8 @@
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
box-sizing: content-box;
|
||||||
|
line-height: normal;
|
||||||
|
|
||||||
&,
|
&,
|
||||||
* {
|
* {
|
||||||
@ -232,6 +234,7 @@
|
|||||||
.direct-download .progress .percent {
|
.direct-download .progress .percent {
|
||||||
width: 50px;
|
width: 50px;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
.actions {
|
.actions {
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -305,6 +308,7 @@
|
|||||||
}
|
}
|
||||||
.selected-count {
|
.selected-count {
|
||||||
width: 64px;
|
width: 64px;
|
||||||
|
font-size: 12px;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
.aria2-rpc .mdi {
|
.aria2-rpc .mdi {
|
||||||
|
|||||||
@ -3,7 +3,7 @@ import { VideoInfo, DanmakuInfo } from '../video-info'
|
|||||||
import { VideoDownloaderFragment } from './video-downloader-fragment'
|
import { VideoDownloaderFragment } from './video-downloader-fragment'
|
||||||
import { DownloadVideoPackage } from './download-video-package'
|
import { DownloadVideoPackage } from './download-video-package'
|
||||||
import { VideoDash } from './video-dash'
|
import { VideoDash } from './video-dash'
|
||||||
import { BatchExtractor } from './batch-download'
|
import { BatchExtractor, BatchTitleParameter } from './batch-download'
|
||||||
|
|
||||||
interface PageData {
|
interface PageData {
|
||||||
entity: Video
|
entity: Video
|
||||||
@ -596,6 +596,7 @@ async function loadPanel() {
|
|||||||
type ExportType = 'copyLink' | 'showLink' | 'aria2' | 'aria2RPC' | 'copyVLD' | 'exportVLD' | 'ffmpegEpisodes' | 'ffmpegFragments'
|
type ExportType = 'copyLink' | 'showLink' | 'aria2' | 'aria2RPC' | 'copyVLD' | 'exportVLD' | 'ffmpegEpisodes' | 'ffmpegFragments'
|
||||||
interface EpisodeItem {
|
interface EpisodeItem {
|
||||||
title: string
|
title: string
|
||||||
|
titleParameters?: BatchTitleParameter
|
||||||
checked: boolean
|
checked: boolean
|
||||||
index: number
|
index: number
|
||||||
cid: string
|
cid: string
|
||||||
@ -787,6 +788,7 @@ async function loadPanel() {
|
|||||||
}
|
}
|
||||||
return match.checked
|
return match.checked
|
||||||
}
|
}
|
||||||
|
const batchExtractor = this.batchExtractor as BatchExtractor
|
||||||
const format: VideoFormat = this.getFormat()
|
const format: VideoFormat = this.getFormat()
|
||||||
if (this.danmakuModel.value !== '无') {
|
if (this.danmakuModel.value !== '无') {
|
||||||
const danmakuToast = Toast.info('下载弹幕中...', '批量导出')
|
const danmakuToast = Toast.info('下载弹幕中...', '批量导出')
|
||||||
@ -796,14 +798,14 @@ async function loadPanel() {
|
|||||||
for (const item of episodeList.filter(episodeFilter)) {
|
for (const item of episodeList.filter(episodeFilter)) {
|
||||||
const danmakuInfo = new DanmakuInfo(item.cid)
|
const danmakuInfo = new DanmakuInfo(item.cid)
|
||||||
await danmakuInfo.fetchInfo()
|
await danmakuInfo.fetchInfo()
|
||||||
pack.add(item.title + '.xml', danmakuInfo.rawXML)
|
pack.add(batchExtractor.formatTitle(item.titleParameters) + '.xml', danmakuInfo.rawXML)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
const { convertToAss } = await import('../download-danmaku')
|
const { convertToAss } = await import('../download-danmaku')
|
||||||
for (const item of episodeList.filter(episodeFilter)) {
|
for (const item of episodeList.filter(episodeFilter)) {
|
||||||
const danmakuInfo = new DanmakuInfo(item.cid)
|
const danmakuInfo = new DanmakuInfo(item.cid)
|
||||||
await danmakuInfo.fetchInfo()
|
await danmakuInfo.fetchInfo()
|
||||||
pack.add(item.title + '.ass', await convertToAss(danmakuInfo.rawXML))
|
pack.add(batchExtractor.formatTitle(item.titleParameters) + '.ass', await convertToAss(danmakuInfo.rawXML))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
await pack.emit(this.cid + '.danmakus.zip')
|
await pack.emit(this.cid + '.danmakus.zip')
|
||||||
@ -815,7 +817,6 @@ async function loadPanel() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
const toast = Toast.info('获取链接中...', '批量导出')
|
const toast = Toast.info('获取链接中...', '批量导出')
|
||||||
const batchExtractor = this.batchExtractor as BatchExtractor
|
|
||||||
batchExtractor.config.itemFilter = episodeFilter
|
batchExtractor.config.itemFilter = episodeFilter
|
||||||
batchExtractor.config.api = await pageData.entity.getApiGenerator(this.dash)
|
batchExtractor.config.api = await pageData.entity.getApiGenerator(this.dash)
|
||||||
let result: string
|
let result: string
|
||||||
@ -884,8 +885,9 @@ async function loadPanel() {
|
|||||||
},
|
},
|
||||||
async checkBatch() {
|
async checkBatch() {
|
||||||
const urls = [
|
const urls = [
|
||||||
'/www.bilibili.com/bangumi',
|
'//www.bilibili.com/bangumi',
|
||||||
'/www.bilibili.com/video/av'
|
'//www.bilibili.com/video/av',
|
||||||
|
'//www.bilibili.com/blackboard/bnj2020.html'
|
||||||
]
|
]
|
||||||
if (!urls.some(url => document.URL.includes(url))) {
|
if (!urls.some(url => document.URL.includes(url))) {
|
||||||
this.batch = false
|
this.batch = false
|
||||||
@ -905,6 +907,7 @@ async function loadPanel() {
|
|||||||
aid: item.aid,
|
aid: item.aid,
|
||||||
cid: item.cid,
|
cid: item.cid,
|
||||||
title: item.title,
|
title: item.title,
|
||||||
|
titleParameters: item.titleParameters,
|
||||||
index,
|
index,
|
||||||
checked: true,
|
checked: true,
|
||||||
} as EpisodeItem
|
} as EpisodeItem
|
||||||
|
|||||||
@ -72,6 +72,7 @@ export default {
|
|||||||
}
|
}
|
||||||
li {
|
li {
|
||||||
padding: 4px 16px;
|
padding: 4px 16px;
|
||||||
|
box-sizing: content-box;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
min-width: 64px;
|
min-width: 64px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user