From 345ef7703fdbaa64152445f01877572556dd6c37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=B1=E5=BF=83?= Date: Wed, 11 May 2022 12:21:11 +0800 Subject: [PATCH 01/78] =?UTF-8?q?=E9=80=82=E9=85=8D3.X=E7=9A=84aid?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=96=B9=E5=BC=8F=EF=BC=8C=E5=90=8C=E6=97=B6?= =?UTF-8?q?=E6=94=AF=E6=8C=812.X?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/observer.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/core/observer.ts b/src/core/observer.ts index 5461599cf..57ae48d6b 100644 --- a/src/core/observer.ts +++ b/src/core/observer.ts @@ -225,8 +225,8 @@ const selectCid = lodash.once(() => select(() => { if (unsafeWindow.cid) { return unsafeWindow.cid } - if (unsafeWindow.player && unsafeWindow.player.getVideoMessage) { - const info = unsafeWindow.player.getVideoMessage() + if (unsafeWindow.player && (unsafeWindow.player.getVideoMessage||unsafeWindow.player.getUserParams)) { + const info = unsafeWindow.player.getVideoMessage?unsafeWindow.player.getVideoMessage():unsafeWindow.player.getUserParams().input if (Number.isNaN(info.cid)) { return null } @@ -266,8 +266,8 @@ export const videoChange = async ( return false } const getId = () => ({ - aid: unsafeWindow.aid, - cid: unsafeWindow.cid, + aid: unsafeWindow?.aid?unsafeWindow.aid:unsafeWindow.player.getUserParams().input.aid, + cid: unsafeWindow?.cid?unsafeWindow.cid:unsafeWindow.player.getUserParams().input.cid, }) const fireEvent = () => { const detail = getId() From e1cdd9c4ff6e8ce71e89b332ff91bf142756e5e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=B1=E5=BF=83?= Date: Sat, 14 May 2022 15:51:47 +0800 Subject: [PATCH 02/78] =?UTF-8?q?=E9=80=82=E9=85=8D3.X=E8=B7=B3=E8=BF=87?= =?UTF-8?q?=E5=85=85=E7=94=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../video/player/skip-charge-list/charge-list.scss | 5 +++-- .../lib/components/video/player/skip-charge-list/index.ts | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/registry/lib/components/video/player/skip-charge-list/charge-list.scss b/registry/lib/components/video/player/skip-charge-list/charge-list.scss index 291661620..484e90cf3 100644 --- a/registry/lib/components/video/player/skip-charge-list/charge-list.scss +++ b/registry/lib/components/video/player/skip-charge-list/charge-list.scss @@ -1,3 +1,4 @@ -body:not(.skip-charge-list-disable) .bilibili-player .bilibili-player-electric-panel { +body:not(.skip-charge-list-disable) .bilibili-player .bilibili-player-electric-panel, +body:not(.skip-charge-list-disable) #bilibili-player .bpx-player-electric-panel { display: none !important; -} +} \ No newline at end of file diff --git a/registry/lib/components/video/player/skip-charge-list/index.ts b/registry/lib/components/video/player/skip-charge-list/index.ts index 53ac2d903..86cfc90bb 100644 --- a/registry/lib/components/video/player/skip-charge-list/index.ts +++ b/registry/lib/components/video/player/skip-charge-list/index.ts @@ -13,7 +13,8 @@ const entry = styledComponentEntry(() => import('./charge-list.scss'), async () if (document.body.classList.contains(SkipChargeListDisabledClass)) { return } - const jumpButton = await select('.bilibili-player-electric-panel-jump') as HTMLElement + //选择2.X或3.X的跳过按钮 + const jumpButton = await select('.bilibili-player-electric-panel-jump,.bpx-player-electric-jump') as HTMLElement jumpButton?.click() }) }) From d324acd10b08f034f2db324ecdb71f0bbeae1a78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=B1=E5=BF=83?= Date: Sun, 15 May 2022 13:57:30 +0800 Subject: [PATCH 03/78] =?UTF-8?q?=E9=80=82=E9=85=8D3.X=E6=89=A9=E5=B1=95?= =?UTF-8?q?=E5=80=8D=E9=80=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../video/player/common/speed/context.ts | 12 +-- .../video/player/common/speed/utils.ts | 3 +- .../video/player/extend-speed/component.ts | 38 ++++--- src/components/video/player-agent.ts | 98 +++++++++++++++++-- 4 files changed, 123 insertions(+), 28 deletions(-) diff --git a/registry/lib/components/video/player/common/speed/context.ts b/registry/lib/components/video/player/common/speed/context.ts index db8d1c1f0..5e3758129 100644 --- a/registry/lib/components/video/player/common/speed/context.ts +++ b/registry/lib/components/video/player/common/speed/context.ts @@ -21,12 +21,12 @@ import { export const PLAYER_AGENT = playerAgent.provideCustomQuery({ video: { - speedMenuList: '.bilibili-player-video-btn-speed-menu', - speedMenuItem: '.bilibili-player-video-btn-speed-menu-list', - speedNameBtn: '.bilibili-player-video-btn-speed-name', - speedContainer: '.bilibili-player-video-btn-speed', - active: '.bilibili-player-active', - show: '.bilibili-player-speed-show', + speedMenuList: '.bilibili-player-video-btn-speed-menu,.bpx-player-ctrl-playbackrate-menu', + speedMenuItem: '.bilibili-player-video-btn-speed-menu-list,.bpx-player-ctrl-playbackrate-menu-item', + speedNameBtn: '.bilibili-player-video-btn-speed-name,.bpx-player-ctrl-playbackrate-result', + speedContainer: '.bilibili-player-video-btn-speed,.bpx-player-ctrl-playbackrate', + active: '.bilibili-player-active,.bpx-state-active', + show: '.bilibili-player-speed-show,.bpx-state-show', }, bangumi: { speedMenuList: '.squirtle-speed-select-list', diff --git a/registry/lib/components/video/player/common/speed/utils.ts b/registry/lib/components/video/player/common/speed/utils.ts index 8c11a6edd..f6a0d6a82 100644 --- a/registry/lib/components/video/player/common/speed/utils.ts +++ b/registry/lib/components/video/player/common/speed/utils.ts @@ -1,6 +1,7 @@ import { getData, registerAndGetData } from '@/plugins/data' -export const trimLeadingDot = (selector: string) => selector.replace(/^\./, '') +export const trimLeadingDot = (selector: string) => selector.split(',').map(cls => cls.trim().replace(/^\./, '')).join(',') +export const splitToSpace = (selector: string) => selector.split(',').join(' ') export const useShare = ( key: string, diff --git a/registry/lib/components/video/player/extend-speed/component.ts b/registry/lib/components/video/player/extend-speed/component.ts index a350fedec..0ec598417 100644 --- a/registry/lib/components/video/player/extend-speed/component.ts +++ b/registry/lib/components/video/player/extend-speed/component.ts @@ -16,7 +16,7 @@ import { NATIVE_SUPPORTED_VALUES, } from '../common/speed' import { PLAYER_AGENT, SpeedContext } from '../common/speed/context' -import { formatSpeedText, parseSpeedText, trimLeadingDot } from '../common/speed/utils' +import { formatSpeedText, parseSpeedText, splitToSpace, trimLeadingDot } from '../common/speed/utils' import type { Options as RememberSpeedOptions } from '../remember-speed/component' export const EXTEND_SPEED_INPUT_CLASS_NAME = 'extend-speed-input' @@ -140,7 +140,7 @@ export class ExtendSpeedComponent extends EntrySpeedComponent { createInputElement(): VNode { const { input, root, icon } = $<{ input: HTMLInputElement, icon: HTMLElement }, HTMLLIElement>(` -
  • +
  • @@ -233,8 +233,9 @@ export class ExtendSpeedComponent extends EntrySpeedComponent { createCustomSpeedMenuItemElement( value: number, ): VNode { + //3.X的倍速需要通过data-value读取值并设置 const { closeBtn, root } = $<{ closeBtn: HTMLElement }, HTMLLIElement>(` -
  • +
  • ${formatSpeedText(value)}
  • @@ -248,7 +249,7 @@ export class ExtendSpeedComponent extends EntrySpeedComponent { position: absolute; right: 4px; } - ${PLAYER_AGENT.custom.speedMenuItem.selector}:not(${PLAYER_AGENT.custom.active.selector}):hover [data-ref="close-btn"] { + :is(${PLAYER_AGENT.custom.speedMenuItem.selector}):not(${PLAYER_AGENT.custom.active.selector}):hover [data-ref="close-btn"] { display: inline; } .${EXTEND_SPEED_ITEM_CLASS_NAME} [data-ref="close-btn"]:hover { @@ -294,7 +295,8 @@ export class ExtendSpeedComponent extends EntrySpeedComponent { // 有的时候,选择 1.0x 倍速,会错误选中 11.0x 倍速 // 删掉 11.0x 倍速后,再选择 1.0x 倍速就没出现该问题,这是因为之前的实现使用 contains 函数判断,由于 11.0x 倍速文本包含 1.0x,所以被误判了 // 原先使用 contains 而不直接比较的原因是,自定义的倍速菜单项,可能在创建时引入了多余的空白符,现在使用 normalize-space 代替之前的做法 - `./*[contains(@class, "${ExtendSpeedComponent.speedMenuItemClassName}")` + // `./*[contains(@class, "${ExtendSpeedComponent.speedMenuItemClassName}")` + `./*[(${ExtendSpeedComponent.speedMenuItemClassName.split(',').map(cls=>'contains(@class, "'+cls+'")').join(' or ')})` + ` and not(contains(@class, "${EXTEND_SPEED_INPUT_CLASS_NAME}"))` // see: https://developer.mozilla.org/en-US/docs/Web/XPath/Functions/normalize-space // 自定义的倍速菜单项,在创建时引入了多余的空白符,需要通过 normalize-space 函数排除掉 @@ -331,11 +333,17 @@ export class ExtendSpeedComponent extends EntrySpeedComponent { name: 'extend-video-speed-style', style: maxMenuHeight => ` ${PLAYER_AGENT.custom.speedMenuList.selector} { - display: flex; + display: flex!important;/* 防止3.X样式覆盖 */ flex-direction: column; overflow-y: auto; max-height: ${maxMenuHeight}px; - }`, + visibility: hidden; + } + /* 修复2.X倍速列表显示问题 */ + :is(${PLAYER_AGENT.custom.show.selector}) :is(${PLAYER_AGENT.custom.speedMenuList.selector}){ + visibility: visible; + } + `, }), ) @@ -348,7 +356,7 @@ export class ExtendSpeedComponent extends EntrySpeedComponent { scrollbar-width: none !important; overscroll-behavior: contain; } - ${PLAYER_AGENT.custom.speedMenuList.selector}::-webkit-scrollbar { + :is(${PLAYER_AGENT.custom.speedMenuList.selector})::-webkit-scrollbar { height: 0 !important; width: 0 !important; }`, @@ -443,7 +451,7 @@ export class ExtendSpeedComponent extends EntrySpeedComponent { // 为所有倍速菜单项刷新 Order menuListElement .querySelectorAll( - `${PLAYER_AGENT.custom.speedMenuItem.selector}:not(#${this.inputElement.node.id})`, + `:is(${PLAYER_AGENT.custom.speedMenuItem.selector}):not(#${this.inputElement.node.id})`, ) .forEach((it: HTMLLIElement) => { it.style.order = calcOrder( @@ -468,15 +476,17 @@ export class ExtendSpeedComponent extends EntrySpeedComponent { } = this.speedContext // 移除所有激活态的菜单项 for (const element of dea( - `./*[contains(@class, "${ExtendSpeedComponent.speedMenuItemClassName}") and contains(@class, "${ExtendSpeedComponent.activeClassName}")]`, - menuListElement, + `./*[(${trimLeadingDot(ExtendSpeedComponent.speedMenuItemClassName).split(',').map(cls=>'contains(@class, "'+cls+'")').join(' or ')})` + +' and ' + +`(${trimLeadingDot(ExtendSpeedComponent.activeClassName).split(',').map(cls=>'contains(@class, "'+cls+'")').join(' or ')})]` + ,menuListElement, ) as Iterable) { - element.classList.remove(ExtendSpeedComponent.activeClassName) + element.classList.remove(...ExtendSpeedComponent.activeClassName.split(',')) } // 对于被强制更新的菜单项,添加激活态的类名 - querySpeedMenuItemElement(value).classList.add(ExtendSpeedComponent.activeClassName) + querySpeedMenuItemElement(value).classList.add(...ExtendSpeedComponent.activeClassName.split(',')) // 关闭菜单 - containerElement.classList.remove(ExtendSpeedComponent.showClassName) + containerElement.classList.remove(...ExtendSpeedComponent.showClassName.split(',')) // 更新倍速菜单按钮文本 nameBtnElement.innerText = formatSpeedText( value, diff --git a/src/components/video/player-agent.ts b/src/components/video/player-agent.ts index 38a3e2e5a..bceae8015 100644 --- a/src/components/video/player-agent.ts +++ b/src/components/video/player-agent.ts @@ -133,7 +133,7 @@ export abstract class PlayerAgent { abstract toggleLight(on: boolean): void // eslint-disable-next-line class-methods-use-this - getPlayerConfig(target:string) { + getPlayerConfig(target: string) { return lodash.get( JSON.parse(localStorage.getItem('bilibili_player_settings')), target, @@ -153,7 +153,7 @@ export abstract class PlayerAgent { /** 更改时间 */ abstract changeTime(change: number): number } -export class VideoPlayerAgent extends PlayerAgent { +export class VideoPlayer2XAgent extends PlayerAgent { // eslint-disable-next-line class-methods-use-this get nativeApi() { return unsafeWindow.player @@ -273,7 +273,7 @@ export class VideoPlayerAgent extends PlayerAgent { this.nativeApi.seek(video.currentTime + change, video.paused) return this.nativeApi.getCurrentTime() } - async toggleLight(on:boolean) { + async toggleLight(on: boolean) { const checkbox = await this.query.control.settings.lightOff() as HTMLInputElement checkbox.checked = !on raiseEvent(checkbox, 'change') @@ -381,10 +381,94 @@ export class BangumiPlayerAgent extends PlayerAgent { } } } +export class VideoPlayerCompatAgent extends VideoPlayer2XAgent { + query = selectorWrap({ + playerWrap: '.player-wrap', + bilibiliPlayer: '.bilibili-player,#bilibili-player', + playerArea: '.bilibili-player-area,.bpx-player-primary-area', + video: { + element: '.bilibili-player-video video,.bpx-player-video-wrap video', + wrap: '.bilibili-player-video-wrap,.bpx-player-video-area', + top: '.bilibili-player-video-top,.bpx-player-top-wrap', + state: '.bilibili-player-video-state,.bpx-player-state-wrap', + panel: '.bilibili-player-video-panel,.bpx-player-ending-panel', + popup: '.bilibili-player-video-popup,.bpx-player-dialog-wrap', + subtitle: '.bilibili-player-video-subtitle,.bpx-player-subtitle-wrap', + basDanmaku: '.bilibili-player-video-bas-danmaku,.bpx-player-bas-dm-wrap', + advDanmaku: '.bilibili-player-video-adv-danmaku,.bpx-player-adv-dm-wrap', + danmaku: '.bilibili-player-video-danmaku,.bpx-player-row-dm-wrap', + container: '.bilibili-player-video,.bpx-player-video-wrap', + }, + control: { + element: '.bilibili-player-control,.bpx-player-control-entity', + wrap: '.bilibili-player-control-wrap,.bpx-player-control-wrap', + mask: '.bilibili-player-control-mask,.bpx-player-control-mask', + top: '.bilibili-player-control-top,.bpx-player-control-top', + progress: '.bilibili-player-video-progress,.bpx-player-progress', + bottom: '.bilibili-player-control-bottom,.bpx-player-control-bottom', + bottomLeft: '.bilibili-player-control-bottom-left,,.bpx-player-control-bottom-left', + bottomCenter: '.bilibili-player-control-bottom-center,.bpx-player-control-bottom-center', + bottomRight: '.bilibili-player-control-bottom-right,.bpx-player-control-bottom-right', + buttons: { + start: '.bilibili-player-video-btn-start,.bpx-player-ctrl-play', + next: '.bilibili-player-video-btn-next,.bpx-player-ctrl-btn-next', + time: '.bilibili-player-video-time,.bpx-player-ctrl-time', + quality: '.bilibili-player-btn-quality,.bpx-player-ctrl-quality', + pageList: '.bilibili-player-video-btn-pagelist,.bpx-player-ctrl-eplist', + speed: '.bilibili-player-video-btn-speed,.bpx-player-ctrl-playbackrate', + subtitle: '.bilibili-player-video-btn-subtitle,.bpx-player-ctrl-subtitle', + volume: '.bilibili-player-video-btn-volume .bilibili-player-iconfont-volume,.bpx-player-ctrl-volume .bpx-player-ctrl-volume-icon', + settings: '.bilibili-player-video-btn-setting,.bpx-player-ctrl-setting', + pip: '.bilibili-player-video-btn-pip,.bpx-player-ctrl-pip', + widescreen: '.bilibili-player-video-btn-widescreen,.bpx-player-ctrl-wide', + webFullscreen: '.bilibili-player-video-web-fullscreen,.bpx-player-ctrl-web', + fullscreen: '.bilibili-player-video-btn-fullscreen,.bpx-player-ctrl-full', + }, + settings: { + wrap: '.bilibili-player-video-btn-setting-wrap,.bpx-player-ctrl-setting-box', + lightOff: '.bilibili-player-video-btn-setting-right-others-content-lightoff .bui-checkbox-input,.bpx-player-ctrl-setting-lightoff .bui-checkbox-input', + }, + }, + toastWrap: '.bilibili-player-video-toast-wrp,.bpx-player-dialog-wrap', + danmakuTipLayer: '.bilibili-player-dm-tip-wrap,.bpx-player-dm-tip', + danmakuSwitch: '.bilibili-player-video-danmaku-switch input,.bpx-player-dm-switch input', + }) as PlayerQuery + seek(time: number) { + if (!this.nativeApi) { + return null + } + this.nativeApi.play() + setTimeout(() => { + this.nativeApi.seek(time) + const toastText = dq('.bilibili-player-video-toast-bottom .bilibili-player-video-toast-item:first-child .bilibili-player-video-toast-item-text span:nth-child(2)') + console.log('seek:toastText',toastText); + + if (toastText) { + toastText.textContent = ' 00:00' + } + }) + return this.nativeApi.getCurrentTime() + } +} + export const playerAgent = (() => { - if (matchCurrentPage(bangumiUrls)) { - return new BangumiPlayerAgent() - } - return new VideoPlayerAgent() + let agent: PlayerAgent + const querys = ['#bilibili-player', '.bilibili-player'] + return new VideoPlayerCompatAgent() + // return () => { + // if (agent) { + // console.log('if-agent',agent); + // return agent + // } + // if (matchCurrentPage(bangumiUrls)) { + // agent = new BangumiPlayerAgent() + // }else if ((dq(querys[0]) as HTMLElement)) { + // agent = new VideoPlayer3XAgent() + // }else if (dq(querys[1]) as HTMLElement) { + // agent = new VideoPlayer2XAgent() + // } + // console.log('end-agent',agent); + // return agent + // } })() From 274f012145638af322a7ea6c995618b3c9cce355 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=B1=E5=BF=83?= Date: Sun, 15 May 2022 14:11:53 +0800 Subject: [PATCH 04/78] =?UTF-8?q?=E9=80=82=E9=85=8D3.X=E6=89=A9=E5=B1=95?= =?UTF-8?q?=E5=80=8D=E9=80=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/video/player-agent.ts | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/src/components/video/player-agent.ts b/src/components/video/player-agent.ts index bceae8015..79023e99a 100644 --- a/src/components/video/player-agent.ts +++ b/src/components/video/player-agent.ts @@ -453,22 +453,8 @@ export class VideoPlayerCompatAgent extends VideoPlayer2XAgent { export const playerAgent = (() => { - let agent: PlayerAgent - const querys = ['#bilibili-player', '.bilibili-player'] + if (matchCurrentPage(bangumiUrls)) { + return new BangumiPlayerAgent() + } return new VideoPlayerCompatAgent() - // return () => { - // if (agent) { - // console.log('if-agent',agent); - // return agent - // } - // if (matchCurrentPage(bangumiUrls)) { - // agent = new BangumiPlayerAgent() - // }else if ((dq(querys[0]) as HTMLElement)) { - // agent = new VideoPlayer3XAgent() - // }else if (dq(querys[1]) as HTMLElement) { - // agent = new VideoPlayer2XAgent() - // } - // console.log('end-agent',agent); - // return agent - // } })() From 3692c1e3fb2482af5cf1c59fe08d48efceef9e41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=B1=E5=BF=83?= Date: Sun, 15 May 2022 18:15:08 +0800 Subject: [PATCH 05/78] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E2=80=98=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=80=8D=E9=80=9F=E2=80=99=E6=97=B6=E9=BC=A0=E6=A0=87?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E5=8F=AF=E8=83=BD=E5=AF=BC=E8=87=B4=E7=9A=84?= =?UTF-8?q?=E2=80=98=E6=B7=BB=E5=8A=A0=E2=80=99=E5=9B=BE=E6=A0=87=E9=97=AA?= =?UTF-8?q?=E7=83=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- registry/lib/components/video/player/extend-speed/component.ts | 1 + src/components/video/player-agent.ts | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/registry/lib/components/video/player/extend-speed/component.ts b/registry/lib/components/video/player/extend-speed/component.ts index 0ec598417..d9704a023 100644 --- a/registry/lib/components/video/player/extend-speed/component.ts +++ b/registry/lib/components/video/player/extend-speed/component.ts @@ -335,6 +335,7 @@ export class ExtendSpeedComponent extends EntrySpeedComponent { ${PLAYER_AGENT.custom.speedMenuList.selector} { display: flex!important;/* 防止3.X样式覆盖 */ flex-direction: column; + justify-content: center;/* 添加倍速那一项,当鼠标在上半部分会有莫名其妙的'mouseleave',用这个修复 */ overflow-y: auto; max-height: ${maxMenuHeight}px; visibility: hidden; diff --git a/src/components/video/player-agent.ts b/src/components/video/player-agent.ts index 79023e99a..35784bba2 100644 --- a/src/components/video/player-agent.ts +++ b/src/components/video/player-agent.ts @@ -441,8 +441,6 @@ export class VideoPlayerCompatAgent extends VideoPlayer2XAgent { setTimeout(() => { this.nativeApi.seek(time) const toastText = dq('.bilibili-player-video-toast-bottom .bilibili-player-video-toast-item:first-child .bilibili-player-video-toast-item-text span:nth-child(2)') - console.log('seek:toastText',toastText); - if (toastText) { toastText.textContent = ' 00:00' } From 757a595fd6822f725aaff6043359ce284fafa284 Mon Sep 17 00:00:00 2001 From: Grant Howard Date: Wed, 18 May 2022 22:22:45 +0800 Subject: [PATCH 06/78] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 356f68816..07d66f310 100644 --- a/README.md +++ b/README.md @@ -31,11 +31,11 @@ - 新版本一旦正式发布, 就不再对旧版本做任何技术支持. - 使用外部网站的链接时(如将下载任务发送到自己的服务器 / 使用链接安装组件等)可能会提示"脚本试图访问跨域资源", 请选择"始终允许". - 可能无法很好地适应窄屏幕, 请尽量以 1400 x 800 以上的逻辑分辨率使用此脚本. +- **⚠ 网络需要确保能够连接 cdn.jsdelivr.net, 如果使用 GitHub 更新源, 也需要能够连接 raw.githubusercontent.com (这两个目前都有墙** -| | 更新延迟 | 正式版 | 预览版 | -| -------- | -------- | ------ | -------------------------------------------------------------------------------------------------------- | -| jsDelivr | 24h | [安装](https://cdn.jsdelivr.net/gh/the1812/Bilibili-Evolved@master/dist/bilibili-evolved.user.js) | [安装](https://cdn.jsdelivr.net/gh/the1812/Bilibili-Evolved@preview/dist/bilibili-evolved.preview.user.js) | -| GitHub | <1h | [安装](https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/dist/bilibili-evolved.user.js) | [安装](https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/dist/bilibili-evolved.preview.user.js) | +| 正式版 | 预览版 | +| ------ | -------------------------------------------------------------------------------------------------------- | +| [安装](https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/dist/bilibili-evolved.user.js) | [安装](https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/dist/bilibili-evolved.preview.user.js) | # 设置 脚本启用后, 在网页左侧中央会有功能面板和设置面板的入口. 功能面板中包含适用于当前页面的一些功能入口, 设置面板中可以管理组件的开启/关闭, 修改组件选项, 以及安装/卸载组件和插件等. From aab006ac70ce4639fdbf69352ccbb4423796f0d8 Mon Sep 17 00:00:00 2001 From: the1812 Date: Wed, 18 May 2022 14:25:43 +0000 Subject: [PATCH 07/78] CI build --- dist/bilibili-evolved.preview.user.js | 2 +- dist/bilibili-evolved.user.js | 2 +- registry/dist/components/feeds/copy-link.js | 2 +- registry/dist/components/feeds/disable-details.js | 2 +- registry/dist/components/feeds/extend-live.js | 2 +- registry/dist/components/feeds/filter.js | 2 +- registry/dist/components/feeds/fixed-sidebars.js | 2 +- registry/dist/components/feeds/fold-comments.js | 2 +- registry/dist/components/feeds/full-content.js | 2 +- registry/dist/components/feeds/full-title.js | 2 +- registry/dist/components/feeds/unfold.js | 2 +- registry/dist/components/live/auto-draw.js | 2 +- registry/dist/components/live/badge-helper.js | 2 +- registry/dist/components/live/danmaku-sendbar.js | 2 +- registry/dist/components/live/download-records.js | 2 +- registry/dist/components/live/gift-box.js | 2 +- registry/dist/components/live/home-mute.js | 2 +- registry/dist/components/live/pip.js | 2 +- registry/dist/components/live/remove-watermark.js | 2 +- registry/dist/components/live/showgirl.js | 2 +- registry/dist/components/live/side-bar.js | 4 ++-- registry/dist/components/style/always-show-duration.js | 2 +- registry/dist/components/style/auto-hide-sidebar.js | 2 +- registry/dist/components/style/custom-navbar.js | 2 +- registry/dist/components/style/dark-mode.js | 2 +- .../dist/components/style/dark-mode/follow-system.js | 2 +- registry/dist/components/style/dark-mode/schedule.js | 2 +- registry/dist/components/style/hide/bangumi/reviews.js | 10 +++++----- .../dist/components/style/hide/bangumi/sponsors.js | 2 +- registry/dist/components/style/hide/banner.js | 2 +- .../components/style/hide/video/recommended-live.js | 2 +- .../dist/components/style/hide/video/related-videos.js | 2 +- registry/dist/components/style/hide/video/top-mask.js | 2 +- registry/dist/components/style/home-redesign/fresh.js | 2 +- registry/dist/components/style/player-on-top.js | 2 +- registry/dist/components/style/player-shadow.js | 2 +- registry/dist/components/style/scrollbar.js | 2 +- registry/dist/components/style/sidebar-offset.js | 2 +- registry/dist/components/style/simplify/comments.js | 2 +- registry/dist/components/style/special-danmaku.js | 4 ++-- registry/dist/components/style/v1-panel.js | 2 +- registry/dist/components/touch/combo-like.js | 2 +- registry/dist/components/touch/double-click-control.js | 2 +- registry/dist/components/touch/mini-player.js | 2 +- registry/dist/components/touch/player-control.js | 2 +- registry/dist/components/touch/player-gestures.js | 2 +- registry/dist/components/utils/change-update-urls.js | 2 +- registry/dist/components/utils/check-in-center.js | 2 +- registry/dist/components/utils/column-unlock.js | 2 +- registry/dist/components/utils/comments/copy-link.js | 2 +- registry/dist/components/utils/download-audio.js | 2 +- registry/dist/components/utils/image-exporter.js | 2 +- registry/dist/components/utils/image-resolution.js | 2 +- registry/dist/components/utils/keymap.js | 4 ++-- registry/dist/components/utils/remove-promotions.js | 2 +- registry/dist/components/utils/url-params-clean.js | 2 +- registry/dist/components/utils/v1-migrate.js | 2 +- registry/dist/components/utils/view-cover.js | 2 +- registry/dist/components/utils/watchlater-redirect.js | 2 +- registry/dist/components/video/av-url.js | 2 +- registry/dist/components/video/biliplus-redirect.js | 2 +- registry/dist/components/video/bvid-convert.js | 4 ++-- registry/dist/components/video/danmaku/airborne.js | 2 +- registry/dist/components/video/danmaku/download.js | 2 +- registry/dist/components/video/danmaku/expand.js | 2 +- registry/dist/components/video/default-location.js | 2 +- registry/dist/components/video/download.js | 2 +- registry/dist/components/video/full-description.js | 2 +- registry/dist/components/video/full-episode-title.js | 2 +- registry/dist/components/video/outer-watchlater.js | 2 +- registry/dist/components/video/player/auto-light.js | 2 +- .../dist/components/video/player/control-background.js | 2 +- registry/dist/components/video/player/default-mode.js | 2 +- .../components/video/player/double-click-fullscreen.js | 2 +- registry/dist/components/video/player/focus.js | 2 +- .../components/video/player/intersection-actions.js | 2 +- .../dist/components/video/player/legacy-auto-play.js | 2 +- .../components/video/player/preserve-danmaku-input.js | 2 +- registry/dist/components/video/player/remove-popup.js | 2 +- registry/dist/components/video/player/screenshot.js | 2 +- .../dist/components/video/player/seek-by-frames.js | 2 +- registry/dist/components/video/player/show-cover.js | 2 +- .../dist/components/video/player/skip-charge-list.js | 2 +- registry/dist/components/video/quick-favorite.js | 2 +- registry/dist/components/video/seo-redirect.js | 2 +- registry/dist/components/video/subtitle/download.js | 2 +- registry/dist/plugins/launch-bar/trending-search.js | 2 +- .../dist/plugins/settings-panel/recent-components.js | 2 +- registry/dist/plugins/style/custom-navbar-dark-mode.js | 2 +- registry/dist/plugins/utils/keymap-dark-mode.js | 2 +- registry/dist/plugins/utils/keymap-empty-action.ts.js | 2 +- registry/dist/plugins/v-loading/reimu.js | 2 +- registry/dist/plugins/video/download/aria2-output.js | 2 +- registry/dist/plugins/video/download/idm-output.js | 2 +- .../dist/plugins/video/download/mpv-output-playlist.js | 2 +- registry/dist/plugins/video/download/mpv-output.js | 2 +- registry/dist/plugins/video/player/speed.js | 2 +- 97 files changed, 105 insertions(+), 105 deletions(-) diff --git a/dist/bilibili-evolved.preview.user.js b/dist/bilibili-evolved.preview.user.js index 1b9de0f59..edc244dca 100644 --- a/dist/bilibili-evolved.preview.user.js +++ b/dist/bilibili-evolved.preview.user.js @@ -52,7 +52,7 @@ NodeFilter.SHOW_TEXT|NodeFilter.SHOW_ELEMENT);let i=n.nextNode();for(;i;)t(i),i= getPlayerConfig(e){return lodash.get(JSON.parse(localStorage.getItem("bilibili_player_settings")),e,!1)}isAutoPlay(){return this.getPlayerConfig("video_status.autoplay")}}class u extends d{ // eslint-disable-next-line class-methods-use-this get nativeApi(){return unsafeWindow.player}constructor(){super(),s(this,"type","video"),s(this,"query",l({playerWrap:".player-wrap",bilibiliPlayer:".bilibili-player",playerArea:".bilibili-player-area",video:{element:".bilibili-player-video video",wrap:".bilibili-player-video-wrap",top:".bilibili-player-video-top",state:".bilibili-player-video-state",panel:".bilibili-player-video-panel",popup:".bilibili-player-video-popup",subtitle:".bilibili-player-video-subtitle",basDanmaku:".bilibili-player-video-bas-danmaku",advDanmaku:".bilibili-player-video-adv-danmaku",danmaku:".bilibili-player-video-danmaku",container:".bilibili-player-video"},control:{element:".bilibili-player-control",wrap:".bilibili-player-control-wrap",mask:".bilibili-player-control-mask",top:".bilibili-player-control-top",progress:".bilibili-player-video-progress",bottom:".bilibili-player-control-bottom",bottomLeft:".bilibili-player-control-bottom-left",bottomCenter:".bilibili-player-control-bottom-center",bottomRight:".bilibili-player-control-bottom-right",buttons:{start:".bilibili-player-video-btn-start",next:".bilibili-player-video-btn-next",time:".bilibili-player-video-time",quality:".bilibili-player-btn-quality",pageList:".bilibili-player-video-btn-pagelist",speed:".bilibili-player-video-btn-speed",subtitle:".bilibili-player-video-btn-subtitle",volume:".bilibili-player-video-btn-volume .bilibili-player-iconfont-volume",settings:".bilibili-player-video-btn-setting",pip:".bilibili-player-video-btn-pip",widescreen:".bilibili-player-video-btn-widescreen",webFullscreen:".bilibili-player-video-web-fullscreen",fullscreen:".bilibili-player-video-btn-fullscreen"},settings:{wrap:".bilibili-player-video-btn-setting-wrap",lightOff:".bilibili-player-video-btn-setting-right-others-content-lightoff .bui-checkbox-input"}},toastWrap:".bilibili-player-video-toast-wrp",danmakuTipLayer:".bilibili-player-dm-tip-wrap",danmakuSwitch:".bilibili-player-video-danmaku-switch input"}));const e=this.query.video.element.selector,t=".bilibili-player-video bwp-video";this.query.video.element=(()=>{const n=async()=>await(0,r.isBwpVideo)()?(0,i.select)(t):(0,i.select)(e);return n.selector=e,n.sync=()=>dq(e),(0,r.isBwpVideo)().then((e=>{e&&(n.selector=t,n.sync=()=>dq(t))})),n})()}isMute(){return this.nativeApi?this.nativeApi.isMute():null}changeVolume(e){if(!this.nativeApi)return null;const t=this.nativeApi.volume();return this.nativeApi.volume(t+e/100),Math.round(100*this.nativeApi.volume())}seek(e){return this.nativeApi?(this.nativeApi.play(),setTimeout((()=>{this.nativeApi.seek(e);const t=dq(".bilibili-player-video-toast-bottom .bilibili-player-video-toast-item:first-child .bilibili-player-video-toast-item-text span:nth-child(2)");t&&(t.textContent=" 00:00")})),this.nativeApi.getCurrentTime()):null}changeTime(e){if(!this.nativeApi)return null;const t=this.query.video.element.sync();return t?(this.nativeApi.seek(t.currentTime+e,t.paused),this.nativeApi.getCurrentTime()):null}async toggleLight(e){const t=await this.query.control.settings.lightOff();t.checked=!e,(0,r.raiseEvent)(t,"change")}}class p extends d{constructor(){super(),s(this,"type","bangumi"),s(this,"query",l({playerWrap:".player-module",bilibiliPlayer:".bpx-player-container",playerArea:".bpx-player-primary-area",video:{element:".bpx-player-video-wrap video",wrap:".bpx-player-video-area",top:".bpx-player-top-wrap",state:".bpx-player-state-wrap",panel:".bpx-player-ending-panel",popup:".bpx-player-dialog-wrap",subtitle:".bpx-player-subtitle-wrap",basDanmaku:".bpx-player-bas-dm-wrap",advDanmaku:".bpx-player-adv-dm-wrap",danmaku:".bpx-player-row-dm-wrap",container:".bpx-player-video-wrap"},control:{element:".squirtle-controller",wrap:".bpx-player-control-wrap",mask:".bpx-player-control-mask",top:".bpx-player-control-top",progress:".squirtle-progress-wrap",bottom:".squirtle-controller-wrap",bottomLeft:".squirtle-controller-wrap-left",bottomCenter:".squirtle-controller-wrap-center",bottomRight:".squirtle-controller-wrap-right",buttons:{start:".squirtle-video-start",next:".squirtle-video-next",time:".squirtle-time-wrap",quality:".squirtle-video-quality",pageList:".squirtle-video-pagelist",speed:".squirtle-video-speed",subtitle:".squirtle-video-subtitle",volume:".squirtle-video-volume .squirtle-volume-icon",settings:".squirtle-video-setting",pip:".squirtle-video-pip",widescreen:".squirtle-video-widescreen",webFullscreen:".squirtle-video-pagefullscreen",fullscreen:".squirtle-video-fullscreen"},settings:{wrap:".squirtle-setting-wrap",lightOff:".squirtle-lightoff"}},toastWrap:".bpx-player-tooltip-area",danmakuTipLayer:".bpx-player-dialog-wrap",danmakuSwitch:".bpx-player-dm-switch input"})),(0,o.bpxPlayerPolyfill)()}isMute(){return this.query.control.buttons.volume.sync()?.classList.contains("squirtle-volume-mute-state")??!1}changeVolume(e){const t=this.query.video.element.sync();return t?(t.volume=lodash.clamp(t.volume+e/100,0,1),Math.round(100*t.volume)):null}seek(e){const t=this.query.video.element.sync();return t?(t.play(),setTimeout((()=>{t.currentTime=lodash.clamp(e,0,t.duration);const n=dq(".bpx-player-toast-row .bpx-player-toast-item .bpx-player-toast-text");n?.textContent?.startsWith("已为您定位至")&&(n.textContent="已为您定位至00:00")})),t.currentTime):null}changeTime(e){const t=this.query.video.element.sync();return t?(t.currentTime=lodash.clamp(t.currentTime+e,0,t.duration),t.currentTime):null}toggleLight(e){const t=this.query.control.settings.lightOff.sync(),n=!t.classList.contains("active")&&!e,i=t.classList.contains("active")&&e;(n||i)&&t.dispatchEvent(new MouseEvent("click"))}}const f=(0,a.matchCurrentPage)(a.bangumiUrls)?new p:new u},6773:function(e,t,n){"use strict";n.r(t),n.d(t,{getBlob:function(){return s},getBlobWithCredentials:function(){return l},getText:function(){return d},getTextWithCredentials:function(){return u},getJson:function(){return h},getJsonWithCredentials:function(){return m},postText:function(){return g},postTextWithCredentials:function(){return b},postJson:function(){return v},postJsonWithCredentials:function(){return y},monkey:function(){return w},responsiveGetPages:function(){return x},getPages:function(){return _},bilibiliApi:function(){return k}});var i=n(4496);const r=e=>{const t=new XMLHttpRequest,{isText:n=!0,body:i}=e(t);return new Promise(((e,r)=>{t.addEventListener("load",(()=>e(n?t.responseText:t.response))),t.addEventListener("error",(()=>r(t.status))),t.send(i)}))},a=e=>t=>(t.withCredentials=!0,e(t)),o=e=>t=>(t.responseType="blob",t.open("GET",e),{isText:!1}),s=e=>r(o(e)),l=e=>r(a(o(e))),c=e=>t=>(t.responseType="text",t.open("GET",e),{isText:!0}),d=e=>r(c(e)),u=e=>r(a(c(e))),p=e=>t=>(t.responseType="json",t.open("GET",e),{isText:!1}),f=e=>"string"==typeof e?JSON.parse(e):e,h=async e=>{const t=await r(p(e));return f(t)},m=async e=>{const t=await r(a(p(e)));return f(t)},g=(e,t)=>r((n=>(n.open("POST",e),n.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),{isText:!1,body:t}))),b=(e,t)=>r((n=>(n.open("POST",e),n.withCredentials=!0,n.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),{isText:!1,body:t}))),v=(e,t)=>r((n=>(n.open("POST",e),n.setRequestHeader("Content-Type","application/json"),{isText:!1,body:JSON.stringify(t)}))),y=(e,t)=>r((n=>(n.open("POST",e),n.withCredentials=!0,n.setRequestHeader("Content-Type","application/json"),{isText:!1,body:JSON.stringify(t)}))),w=e=>new Promise(((t,n)=>{const i={...e,onload:e=>t(e.response),onerror:e=>{const t={...JSON.parse(JSON.stringify(e)),toString(){return JSON.stringify(this)}};n(t)}};"method"in i||(i.method="GET"),GM_xmlhttpRequest(i)})),x=e=>{let t;const n=new Promise((n=>{t=new Promise((t=>{(async()=>{const{api:i,getList:r,getTotal:a}=e;let o=1,s=1/0;const l=[];for(;l.length{const[,t]=x(e);return await t},k=async(e,t)=>{const n=await e;if(0!==n.code){const e=new Error(`${t}: code = ${n.code}, message = ${n.message||n.msg}`);throw(0,i.logError)(e),e}return n.data||n.result||{}}},4011:function(e,t,n){"use strict";let i;n.r(t),n.d(t,{CdnTypes:function(){return i},cdnRoots:function(){return a}}),function(e){e.jsDelivr="jsDelivr",e.GitHub="GitHub"}(i||(i={}));const r="the1812",a={jsDelivr:(e,t)=>`https://cdn.jsdelivr.net/gh/${t||r}/Bilibili-Evolved@${e}/`,GitHub:(e,t)=>`https://raw.githubusercontent.com/${t||r}/Bilibili-Evolved/${e}/`}},6708:function(e,t,n){"use strict";n.r(t),n.d(t,{coreApis:function(){return ai},externalApis:function(){return oi}});var i={};n.r(i),n.d(i,{enableHorizontalScroll:function(){return T}});var r={};n.r(r),n.d(r,{Reorder:function(){return q},ReorderDecreaseClassName:function(){return D},ReorderEnabledClassName:function(){return N},ReorderIncreaseClassName:function(){return V},ReorderOrientations:function(){return j},ReorderingClassName:function(){return B}});var a={};n.r(a),n.d(a,{getUserInfo:function(){return G}});var o={};n.r(o),n.d(o,{loadDanmakuSettingsPanel:function(){return ie},loadLazyPanel:function(){return te},loadLazyPlayerSettingsPanel:function(){return ne},loadSubtitleSettingsPanel:function(){return re}});var s={};n.r(s),n.d(s,{styledComponentEntry:function(){return fe},toggleStyle:function(){return he}});var l={};n.r(l),n.d(l,{getWatchlaterList:function(){return be},toggleWatchlater:function(){return ve},watchlaterList:function(){return ge}});var c={};n.r(c),n.d(c,{FeedsCardsManager:function(){return Te},FeedsCardsManagerEventType:function(){return Ae},addMenuItem:function(){return Xe},applyContentFilter:function(){return He},bangumiTypeList:function(){return _e},createNodeValidator:function(){return $e},feedsCardCallbacks:function(){return Ee},feedsCardTypes:function(){return we},feedsCardsManager:function(){return je},forEachFeedsCard:function(){return qe},getFeeds:function(){return Ge},getVideoFeeds:function(){return We},getVueData:function(){return Ie},groupVideoFeeds:function(){return Fe},isPreOrderedVideo:function(){return Re},isRepostType:function(){return xe},navbarFeedsTypeList:function(){return ke},withContentFilter:function(){return Ze}});var d={};n.r(d),n.d(d,{DisableProfilePopupClass:function(){return At},disableProfilePopup:function(){return Tt},enableProfilePopup:function(){return Ot}});var u={};n.r(u),n.d(u,{compareID:function(){return Pt},getLatestID:function(){return Lt},getNotifyCount:function(){return Nt},isNewID:function(){return Dt},setLatestID:function(){return zt},updateInterval:function(){return Mt},updateLatestID:function(){return Vt}});var p={};n.r(p),n.d(p,{convertHexColorForDialogue:function(){return jt},convertHexColorForStyle:function(){return qt},convertTimeByDuration:function(){return Rt},convertTimeByEndTime:function(){return Ut},normalizeContent:function(){return Ht}});var f={};n.r(f),n.d(f,{escapeContent:function(){return Xt},normalizeContent:function(){return Kt}});var h={};n.r(h),n.d(h,{lightOff:function(){return en},lightOn:function(){return Qt}});var m={};n.r(m),n.d(m,{forEachVideoDanmaku:function(){return rn}});var g={};n.r(g),n.d(g,{BangumiInfo:function(){return sn},VideoInfo:function(){return on}});var b={};n.r(b),n.d(b,{allQualities:function(){return dn},loginRequiredQualities:function(){return ln},vipRequiredQualities:function(){return cn}});var v={};n.r(v),n.d(v,{addMenuItem:function(){return pn},forEachContextMenu:function(){return un}});var y={};n.r(y),n.d(y,{addControlBarButton:function(){return gn}});var w={};n.r(w),n.d(w,{waitForControlBar:function(){return bn}});var x={};n.r(x),n.d(x,{LiveSocket:function(){return Cn}});var _={};n.r(_),n.d(_,{addMenuItem:function(){return Pn},commentAreas:function(){return Sn},forEachCommentArea:function(){return Mn},forEachCommentItem:function(){return Ln}});var k={};n.r(k),n.d(k,{addCategoryIcons:function(){return Un},categories:function(){return qn},categoryCodes:function(){return Fn},categoryLinks:function(){return Rn},rawData:function(){return Dn}});var C={};n.r(C),n.d(C,{createSwitchOptions:function(){return Qn}});var S=n(6773),E=n(4011),I=n(9356),$=n(6522),A=n(9183);const T=e=>{const t=t=>{t.deltaY&&!t.deltaX&&(t.preventDefault(),requestAnimationFrame((()=>{e.scrollBy(t.deltaY,0)})))};return e.addEventListener("wheel",t),e.style.scrollSnapType="none",()=>{e.removeEventListener("wheel",t),e.style.scrollSnapType=""}};var O=n(5527),M=n(4327),L=n(7601),P=n(9017);function z(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const D="reorder-decrease",V="reorder-increase",N="reorder-enabled",B="reordering",j={horizontal:{name:"horizontal",getMoveTransform:e=>`translateX(${e}px)`,setOtherTransform:lodash.throttle(((e,t,n)=>{if(!t.classList.contains(B))return;const i=e.find((e=>e.element===t));if(!i)return;const r=i.rect,a=e.filter((e=>e.rect.leftt.rect.left-e.rect.left)),o=e.filter((e=>e.rect.left>r.left)).sort(((e,t)=>e.rect.left-t.rect.left));if(n>=0){const[e]=o;a.forEach((e=>{e.element.style.transform="",e.element.classList.remove(V)})),o.forEach((t=>{r.left+n+r.width>=t.rect.left+t.rect.width/2?(t.element.classList.add(D),t.element.style.transform=`translateX(-${e.rect.left-r.left}px)`):(t.element.classList.remove(D),t.element.style.transform="")}))}else{const[e]=a;o.forEach((e=>{e.element.style.transform="",e.element.classList.remove(D)})),a.forEach((t=>{r.left+n<=t.rect.left+t.rect.width/2?(t.element.classList.add(V),t.element.style.transform=`translateX(${r.left+r.width-e.rect.left-e.rect.width}px)`):(t.element.classList.remove(V),t.element.style.transform="")}))}}),50)},vertical:{name:"vertical",getMoveTransform:(e,t)=>`translateY(${t}px)`,setOtherTransform:lodash.throttle(((e,t,n,i)=>{if(!t.classList.contains(B))return;const r=e.find((e=>e.element===t));if(!r)return;const a=r.rect,o=e.filter((e=>e.rect.topt.rect.top-e.rect.top)),s=e.filter((e=>e.rect.top>a.top)).sort(((e,t)=>e.rect.top-t.rect.top));if(i>=0){const[e]=s;o.forEach((e=>{e.element.style.transform="",e.element.classList.remove(V)})),s.forEach((t=>{a.top+i+a.height>=t.rect.top+t.rect.height/2?(t.element.classList.add(D),t.element.style.transform=`translateY(-${e.rect.top-a.top}px)`):(t.element.classList.remove(D),t.element.style.transform="")}))}else{const[e]=o;s.forEach((e=>{e.element.style.transform="",e.element.classList.remove(D)})),o.forEach((t=>{a.top+i<=t.rect.top+t.rect.height/2?(t.element.classList.add(V),t.element.style.transform=`translateY(${a.top+a.height-e.rect.top-e.rect.height}px)`):(t.element.classList.remove(V),t.element.style.transform="")}))}}),50)}};class q extends EventTarget{constructor(e){super(),this.container=e,z(this,"orientation",j.horizontal),z(this,"enabled",!1),z(this,"children",void 0),z(this,"snapshots",new Map),z(this,"attachedEvents",[]),this.children=[...this.container.children],this.children.every((e=>""===e.style.order))&&this.children.forEach(((e,t)=>{e.style.order=(t+1).toString()}))}addEventListener(e,t,n){super.addEventListener(e,t,n)}removeEventListener(e,t,n){super.addEventListener(e,t,n)}getOrderMap(){return new Map(this.children.map((e=>[e,parseInt(e.style.order)])))}toggle(){this.enabled?this.disable():this.enable()}generateSnapshots(){this.children.forEach((e=>{this.snapshots.set(e,{element:e,rect:e.getBoundingClientRect()})}))}enable(){this.children.forEach((e=>{let t=0,n=0,i=!1;e.classList.add(N);(()=>{const r=(r,a)=>{e.classList.add(B),e.style.transition="none",e.style.userSelect="none",this.generateSnapshots(),this.children.filter((t=>t!==e)).forEach((e=>{e.style.transition="transform .2s ease-out"})),t=r,n=a,i=!0},a=e=>{r(e.screenX,e.screenY)};e.addEventListener("mousedown",a),this.attachedEvents.push((()=>e.removeEventListener("mousedown",a)));const o=e=>{if(1!==e.touches.length)return;const[t]=e.touches;r(t.screenX,t.screenY)};e.addEventListener("touchstart",o),this.attachedEvents.push((()=>e.removeEventListener("touchstart",o)))})(),(()=>{const r=(i,r)=>{const a=i-t,o=r-n;e.style.transform=this.orientation.getMoveTransform(a,o),this.orientation.setOtherTransform([...this.snapshots.values()],e,a,o)},a=e=>{i&&(r(e.screenX,e.screenY),e.cancelable&&e.preventDefault())};document.addEventListener("mousemove",a),this.attachedEvents.push((()=>document.removeEventListener("mousemove",a)));const o=e=>{if(!i)return;if(1!==e.touches.length)return;const[t]=e.touches;r(t.screenX,t.screenY),e.cancelable&&e.preventDefault()};e.addEventListener("touchmove",o,{passive:!1}),this.attachedEvents.push((()=>e.removeEventListener("touchmove",o)))})(),(()=>{const t=()=>{if(!i)return;e.classList.remove(B),i=!1;let t=0;const n=this.children.filter((t=>t!==e)),r=[];n.forEach((e=>{e.style.transform="",e.style.transition="",e.classList.contains(V)?(t--,e.style.order=(parseInt(e.style.order)+1).toString(),e.classList.remove(V),r.push(this.snapshots.get(e))):e.classList.contains(D)&&(t++,e.style.order=(parseInt(e.style.order)-1).toString(),e.classList.remove(D),r.push(this.snapshots.get(e)))})),e.style.userSelect="",e.style.order=(parseInt(e.style.order)+t).toString(),e.style.transform="",e.style.transition="",this.dispatchEvent(new CustomEvent("reorder",{detail:this.children.map((e=>({element:e,order:parseInt(e.style.order)})))}))};document.addEventListener("mouseup",t),this.attachedEvents.push((()=>document.removeEventListener("mouseup",t))),e.addEventListener("touchend",t),this.attachedEvents.push((()=>e.removeEventListener("touchend",t)))})()})),this.enabled=!0}disable(){this.attachedEvents.forEach((e=>e())),this.children.forEach((e=>e.classList.remove(N))),this.enabled=!1}}var F=n(6984),R=n(4402),U=n(9261),H=n(4659),Z=n(7724);const W={isLogin:!1},G=lodash.once((async()=>{const{getUID:e}=await Promise.resolve().then(n.bind(n,4742));if(!e())return W;const{getJsonWithCredentials:t}=await Promise.resolve().then(n.bind(n,6773)),i=await t("https://api.bilibili.com/x/web-interface/nav");return 0!==i.code&&-101!==i.code?(console.warn("[store.fetchUserInfo] API Error",i.message),W):i.data}));var X=n(5556),K=n(4742),J=n(1290),Y=n(2433),Q=n(4435),ee=n(5890);const te=async(e,t={})=>{const{style:n,enterDelay:i=750,leaveDelay:r=1e3}=t,a=await(0,R.select)(e);if(!a)throw new Error(`lazy panel failed! selector = ${e}`);let o;return void 0!==n&&(o=document.createElement("style"),o.textContent=n,document.body.insertAdjacentElement("beforeend",o)),(0,K.raiseEvent)(a,"mouseover"),await(0,K.delay)(i),(0,K.raiseEvent)(a,"mouseout"),setTimeout((()=>o?.remove()),r),a},ne=async(e,t,n={})=>{await te(e,{style:`${t} { display: none !important; }`,...n});const i=(0,K.dq)(t);if(!i)throw new Error(`lazy player settings panel failed! panelSelector = ${t}`);return i},ie=()=>ne(".bilibili-player-video-danmaku-setting",".bilibili-player-video-danmaku-setting-wrap"),re=()=>ne(".bilibili-player-video-btn-subtitle",".bilibili-player-video-subtitle-setting-wrap",{style:".bilibili-player-video-subtitle-setting-wrap, .bilibili-player-video-subtitle { display: none }"});var ae=n(4496),oe=n(503),se=n(6363),le=n(3446),ce=n(8232),de=n(9759),ue=n(6087),pe=n(559);const fe=(e,t)=>async i=>{const{default:r}=await e(),{addStyle:a}=await Promise.resolve().then(n.bind(n,9261));return a(r,i.metadata.name),t(i)},he=(e,t,i=K.none)=>{let r=null;const a=async()=>{if(r)return;const{default:i}=await t(),{addStyle:a}=await Promise.resolve().then(n.bind(n,9261));r=a(i,e)};return{name:e,entry:e=>a().then((()=>i(e))),reload:a,unload:()=>{r?.remove(),r=null}}};var me=n(8774);const ge=[];async function be(e=!1){const{getUID:t}=await Promise.resolve().then(n.bind(n,4742));if(!t())return console.warn("[稍后再看列表] 账号未登录"),[];const{getJsonWithCredentials:i}=await Promise.resolve().then(n.bind(n,6773)),r=await i("https://api.bilibili.com/x/v2/history/toview/web");if(0!==r.code)return(0,ae.logError)(new Error(`获取稍后再看列表失败: ${r.message}`)),[];if(!r.data.list)return(0,K.deleteValues)(ge,(()=>!0)),[];const a=r.data.list;(0,K.deleteValues)(ge,(e=>!a.find((t=>t.aid===e))));const o=a.filter((e=>!ge.find((t=>t===e.aid))));return ge.push(...o.map((e=>e.aid))),e?a:a.map((e=>e.aid))}const ve=async(e,t)=>{const i=parseInt(e.toString());if(Number.isNaN(i))return;void 0===t&&(t=!ge.includes(i));const r=t?"https://api.bilibili.com/x/v2/history/toview/add":"https://api.bilibili.com/x/v2/history/toview/del",{getCsrf:a}=await Promise.resolve().then(n.bind(n,4742)),o=a(),{postTextWithCredentials:s}=await Promise.resolve().then(n.bind(n,6773)),l=await s(r,`aid=${e}&csrf=${o}`),c=JSON.parse(l);0===c.code?t?ge.push(i):(0,K.deleteValue)(ge,(e=>e===i)):(0,ae.logError)(new Error(`稍后再看操作失败: ${c.message}`))};requestIdleCallback((async()=>{const{getUID:e}=await Promise.resolve().then(n.bind(n,4742));e()&&be()}));var ye=n(9207);const we={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:"分享"},manga:{id:2049,name:"漫画"},film:{id:4098,name:"电影"},tv:{id:4099,name:"TV剧"},chinese:{id:4100,name:"国创"},documentary:{id:4101,name:"纪录片"},mediaList:{id:4300,name:"收藏夹"},liveRecord:{id:2047,name:"开播记录"}},xe=e=>e.type===we.repost,_e="512,4097,4098,4099,4100,4101",ke="8,64,512,4097,4098,4099,4100,4101",Ce="feeds.manager.listAdaptors";function Se(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}(0,ye.addData)(Ce,(e=>{e.push({name:"live",match:[...se.liveUrls],watchCardsList:async e=>{const t=await(0,R.select)(".room-feed");if(!t)return!1;console.log("live watch");let n=null;return(0,P.childList)(t,(async()=>{if(dq(".room-feed-content")){const t=await(0,R.select)(".room-feed-content .content");n?.disconnect(),[n]=e.updateCards(t)}else n?.disconnect(),n=null,await Promise.all(e.cards.map((e=>e.element)).map((t=>e.removeCard(t))))})),!0}},{name:"space",match:["https://space.bilibili.com/"],watchCardsList:async e=>{const t=await(0,R.select)(".s-space");if(!t)return!1;const n={},i=()=>n.listElement&&n.observer?(console.log("space feeds stop"),n.observer?.then((e=>e.disconnect())),delete n.observer,delete n.listElement,Promise.all(e.cards.map((e=>e.element)).map((t=>e.removeCard(t))))):[],r=()=>{if(n.observer)return n.observer;const t=(0,R.select)(".feed-card .content");return n.observer=(async()=>{const a=await t;a!==await n.listElement&&(n.listElement&&await i(),n.listElement=t,r()),console.log("space feeds start");const[o]=e.updateCards(a);return o})(),n.observer};return(0,P.childListSubtree)(t,(async()=>{dq(".feed-card .content")?r():i()})),!0}},{name:"topic",match:["https://t.bilibili.com/topic"],watchCardsList:async e=>{const t=await(0,R.select)(".page-container");if(!t)return!1;let n=null;return(0,P.childList)(t,(async()=>{if(dq(".page-container .feed")){const t=await(0,R.select)(".feed .feed-topic");n?.disconnect(),[n]=e.updateCards(t)}else n?.disconnect(),n=null,await Promise.all(e.cards.map((e=>e.element)).map((t=>e.removeCard(t))))})),!0}},{name:"default",match:["https://t.bilibili.com/"],watchCardsList:async e=>{const t=await(0,R.select)(".feed-card .content, .detail-content .detail-card, .bili-dyn-list__items");return!!t&&(e.updateCards(t),!0)}})}));const Ee=[],Ie=e=>// eslint-disable-next-line no-underscore-dangle -e.__vue__??e.parentElement.__vue__??e.children[0].__vue__,$e=e=>t=>{e.startsWith(".")&&(e=e.substring(1));const n=Boolean(t),i=t&&t.parentNode,r=t instanceof HTMLElement&&t.classList.contains(e);return n&&i&&r};let Ae;!function(e){e.AddCard="addCard",e.RemoveCard="removeCard"}(Ae||(Ae={}));class Te extends EventTarget{constructor(...e){super(...e),Se(this,"watching",!1),Se(this,"cards",[]),Se(this,"managerType",void 0)}addEventListener(e,t,n){super.addEventListener(e,t,n)}removeEventListener(e,t,n){super.removeEventListener(e,t,n)}dispatchCardEvent(e,t){const n=new CustomEvent(e,{detail:t});this.dispatchEvent(n),Ee.forEach((n=>n[e===Ae.AddCard?"added":"removed"](t)))}async startWatching(){if(this.watching)return!0;this.watching=!0;const[e]=(0,ye.registerAndGetData)(Ce,[]),t=e.find((e=>e.match.some((e=>(0,K.matchUrlPattern)(e)))));return t?t.watchCardsList(this):(console.warn("[FeedsCardsManager] No adaptor found",e),!1)}}const Oe=e=>e.querySelector(".repost")?we.repost:e.querySelector(".imagesbox")?we.textWithImages:e.querySelector(".video-container")?we.video:e.querySelector(".bangumi-container")?we.bangumi:e.querySelector(".article-container")?we.column:e.querySelector(".music-container")?we.audio:e.querySelector(".h5share-container")?we.share:e.querySelector(".vc-ctnr")?we.miniVideo:e.querySelector(".live-container")?we.liveRecord:we.text,Me=async e=>{const t=async t=>{const n=await(0,R.sq)((()=>e.querySelector(t)),(t=>null!==t||null===e.parentNode),{queryInterval:100});if(null===e.parentNode)return"";if(null===n)return console.warn(e,t,e.parentNode),"";return n.innerText.trim()},n=e=>{if(void 0===e.card.origin)return{originalText:"",originalDescription:"",originalTitle:""};const t=JSON.parse(e.card.origin);return{originalText:e.originCardData.pureText,originalDescription:lodash.get(t,"item.description",lodash.get(t,"desc","")),originalTitle:t.title}},i=async e=>{const n=parseInt(await t(e));return isNaN(n)?0:n},r={id:e.getAttribute("data-did"),username:await t(".main-content .user-name"),text:"",reposts:await i(".button-bar .single-button:nth-child(1) .text-offset"),comments:await i(".button-bar .single-button:nth-child(2) .text-offset"),likes:await i(".button-bar .single-button:nth-child(3) .text-offset"),element:e,type:Oe(e),get presented(){return null!==e.parentNode},async getText(){return(async t=>{if(t===we.bangumi)return"";const i=await(0,R.sq)((()=>e),(t=>Boolean(Ie(t)||!e.parentNode)),{queryInterval:100});if(null===e.parentNode)return"";if(null===i)return console.warn(i,e,Ie(i),e.parentNode),"";const r=Ie(i);if(t===we.repost){const e=r.card.item.content,t=n(r);return[e,...Object.values(t).filter((e=>""!==e))].filter((e=>Boolean(e))).join("\n")}return[r.originCardData.pureText,r.originCardData.title].filter((e=>Boolean(e))).join("\n")})(this.type)}};if(r.text=await r.getText(),e.setAttribute("data-type",r.type.id.toString()),xe(r)){const t=r.username,i=Ie(r.element),a=lodash.get(i,"card.origin_user.info.uname","");t===a&&e.setAttribute("data-self-repost","true"),r.repostUsername=a,r.repostText=n(i).originalText}return r};class Le extends Te{constructor(...e){var t,n,i;super(...e),i="v1",(n="managerType")in(t=this)?Object.defineProperty(t,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[n]=i}async addCard(e){if(e&&e instanceof HTMLElement&&e.classList.contains("card"))if(null!==e.querySelector(".skeleton")){const[t]=(0,P.childList)(e,(()=>{null===e.querySelector(".skeleton")&&(t.disconnect(),this.addCard(e))}))}else{if(null===e.parentNode)return;const t=await Me(e);if(!t.presented)return;if(this.cards.find((e=>e.id===t.id)))return;this.cards.push(t),this.cards.sort(((e,t)=>e.id===t.id?0:e.id>t.id?-1:1)),this.dispatchCardEvent(Ae.AddCard,t)}}async removeCard(e){if(e&&e instanceof HTMLElement&&e.classList.contains("card")){const t=e.getAttribute("data-did"),n=this.cards.findIndex((e=>e.id===t));if(-1===n)return;const i=this.cards[n];this.cards.splice(n,1),this.dispatchCardEvent(Ae.RemoveCard,i)}}updateCards(e){const t=".card[data-did]",n=e=>{if(e instanceof HTMLElement){if(e.matches(t))return e;const n=e.querySelector(t);if(n)return n}};return[...e.querySelectorAll(t)].forEach((e=>this.addCard(e))),(0,P.childList)(e,(e=>{e.forEach((e=>{e.addedNodes.forEach((e=>this.addCard(n(e)))),e.removedNodes.forEach((e=>this.removeCard(n(e))))}))}))}}const Pe={DynamicTypeForward:we.repost,DynamicTypeAv:we.video,DynamicTypeDraw:we.textWithImages,DynamicTypeWord:we.text,DynamicTypePgc:we.bangumi,DynamicTypeArticle:we.column,DynamicTypeMusic:we.audio,DynamicTypeLiveRcmd:we.liveRecord},ze=(...e)=>e.filter((e=>Boolean(e))).join("\n").trim(),De=(e,t)=>{const{desc:n,major:i}=e,r=n?.text??"";let a="";switch(t){default:break;case we.bangumi:case we.column:case we.video:{const e=i.archive??i.pgc??i.article,{title:t,desc:n}=e;a=ze(t,n);break}}return ze(r,a)},Ve=async e=>{const t=Ie(e),{modules:n,id_str:i,type:r}=t.data,{name:a}=n.module_author,{like:o,forward:s,comment:l}=n.module_stat,c=(d=r,Pe[(0,K.pascalCase)(d)]??Pe.DynamicTypeWord);var d;e.dataset.type=c.id.toString();const u={id:i,username:a,likes:o.count,reposts:s.count,comments:l.count,text:"",type:c,element:e,get presented(){return null!==e.parentNode},getText:async()=>De(n.module_dynamic,c)};if(xe(u)){const i=u.username,{module_author:{name:r},module_dynamic:a}=t.data.orig.modules;u.repostUsername=r,u.repostText=De(a,c),r===i&&e.setAttribute("data-self-repost","true"),u.getText=async()=>ze(De(n.module_dynamic,c),De(a,c))}return u.text=await u.getText(),u},Ne=$e("bili-dyn-list__item");class Be extends Te{constructor(...e){var t,n,i;super(...e),i="v2",(n="managerType")in(t=this)?Object.defineProperty(t,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[n]=i}async addCard(e){if(!Ne(e))return;const t=await Ve(e);t.presented&&(this.cards.push(t),this.cards.sort((0,oe.descendingStringSort)((e=>e.id))),this.dispatchCardEvent(Ae.AddCard,t))}async removeCard(e){if(!Ne(e))return;const t=Ie(e).data?.id_str??"0",n=this.cards.findIndex((e=>e.id===t));if(-1===n)return;const[i]=this.cards.splice(n,1);this.dispatchCardEvent(Ae.RemoveCard,i)}updateCards(e){const t=".bili-dyn-list__item";dqa(e,t).forEach((e=>this.addCard(e)));const n=e=>Ne(e)?e.matches(t)?e:e.querySelector(t):null;return(0,P.childList)(e,(e=>{e.forEach((e=>{e.addedNodes.forEach((e=>this.addCard(n(e)))),e.removedNodes.forEach((e=>this.removeCard(n(e))))}))}))}}const je=parseInt((0,K.getCookieValue)("hit-dyn-v2"))>0?new Be:new Le,qe=async e=>{if(!await je.startWatching())return console.error("feedsCardsManager.startWatching() failed"),null;const{added:t}=e;return t&&je.cards.forEach((e=>t(e))),Ee.push({added:none,removed:none,...e}),je},Fe=e=>{const t=lodash.groupBy(e,(e=>e.aid)),n=e=>({id:e.upID,name:e.upName,faceUrl:e.upFaceUrl});return Object.values(t).map((e=>{if(1===e.length)return e[0];const[t,...i]=e;return t.cooperation=[n(t),...i.map(n)],console.log([...t.cooperation]),t})).sort((0,oe.descendingStringSort)((e=>e.id)))},Re=e=>1===lodash.get(e,"extra.is_reserve_recall",0),Ue="feeds.contentFilters";(0,ye.registerData)(Ue,[]);const He=e=>{const[t]=(0,ye.getData)(Ue);return t.reduce(((e,t)=>t.filter(e)),e)},Ze=e=>(...t)=>e(...t).then((e=>He(e))),We=Ze((async(e="video")=>{if(!(0,K.getUID)())return[];const t=await(0,S.getJsonWithCredentials)(`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=${(0,K.getUID)()}&type_list=${"video"===e?8:512}`);if(0!==t.code)throw new Error(t.message);const n=t.data.cards,i=n.filter((e=>!Re(JSON.parse(e.card))));return"video"===e?Fe(n.map((e=>{const t=JSON.parse(e.card),n=lodash.get(e,"display.topic_info.topic_details",[]).map((e=>({id:e.topic_id,name:e.topic_name})));return{id:e.desc.dynamic_id_str,aid:t.aid,bvid:e.desc.bvid||t.bvid,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(1e3*e.timestamp),topics:n,dynamic:t.dynamic,like:(0,Y.formatCount)(e.desc.like),duration:t.duration,durationText:(0,Y.formatDuration)(t.duration,0),playCount:(0,Y.formatCount)(t.stat.view),danmakuCount:(0,Y.formatCount)(t.stat.danmaku),watchlater:ge.includes(t.aid)}}))):"bangumi"===e?i.map((e=>{const t=JSON.parse(e.card);return{id:e.desc.dynamic_id_str,aid:t.aid,bvid:e.desc.bvid||t.bvid,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(1e3*e.timestamp),like:(0,Y.formatCount)(e.desc.like),durationText:"",playCount:(0,Y.formatCount)(t.play_count),danmakuCount:(0,Y.formatCount)(t.bullet_count),watchlater:!1}})):[]})),Ge=async(e,t)=>{if("string"==typeof e)return(0,S.getJsonWithCredentials)(`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=${(0,K.getUID)()}&type_list=${e}`);const n=e.id.toString();let i=`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=${(0,K.getUID)()}&type_list=${n}`;return t&&(i=`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_history?uid=${(0,K.getUID)()}&offset_dynamic_id=${t}&type=${n}`),(0,S.getJsonWithCredentials)(i)},Xe=(e,t)=>{const n=dq(e.element,".more-panel, .bili-dyn-more__menu"),i=n.classList.contains("bili-dyn-more__menu"),{className:r,text:a,action:o}=t;if(!n||dq(n,`.${r}`))return;const s=document.createElement(i?"div":"p");i?(s.classList.add("bili-dyn-more__menu__item",r),s.style.height="25px",s.style.padding="2px 0",s.style.textAlign="center",s.dataset.module="more",s.dataset.type=lodash.snakeCase(`ThreePoint${(0,K.pascalCase)(r)}`).toUpperCase(),s.dataset.params="{}"):s.classList.add("child-button","c-pointer",r),s.textContent=a;[...new Set([...n.children].map((e=>e.getAttributeNames().filter((e=>e.startsWith("data-v-"))))).flat())].forEach((e=>s.setAttribute(e,""))),s.addEventListener("click",(t=>{o(t),e.element.click()})),n.appendChild(s)};var Ke=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{staticClass:"bangumi-card",class:{new:e.isNew},attrs:{target:"_blank",href:e.data.url}},[n("div",{staticClass:"ep-cover-container"},[n("DpiImage",{staticClass:"ep-cover",attrs:{size:{width:100},src:e.data.epCoverUrl}})],1),e._v(" "),n("h1",{staticClass:"ep-title",attrs:{title:e.data.epTitle}},[e._v(e._s(e.data.epTitle))]),e._v(" "),n("div",{staticClass:"up",attrs:{title:e.data.title}},[n("DpiImage",{staticClass:"cover",attrs:{size:24,src:e.data.coverUrl}}),e._v(" "),n("div",{staticClass:"title"},[e._v(e._s(e.data.title))])],1)])};Ke._withStripped=!0;var Je=Vue.extend({components:{DpiImage:de.DpiImage},props:{data:{type:Object,required:!0},isNew:{type:Boolean,default:!1}}}),Ye=n(3379),Qe=n.n(Ye),et=n(4780),tt=n.n(et),nt={insert:"head",singleton:!1},it=(Qe()(tt(),nt),tt().locals,n(1900)),rt=(0,it.Z)(Je,Ke,[],!1,null,"3bc2da4f",null);rt.options.__file="src/components/feeds/BangumiCard.vue";var at=rt.exports,ot=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{staticClass:"be-up-info",class:{fallback:!e.upFaceUrl},attrs:{href:e.actualHref,title:e.upName,target:"_blank"}},[e.upFaceUrl?n("DpiImage",{staticClass:"be-up-info-cover",attrs:{size:24,src:e.upFaceUrl}}):n("div",{staticClass:"be-up-info-cover-fallback"},[e._t("fallback-icon",[n("VIcon",{attrs:{icon:"up-outline",size:18}})])],2),e._v(" "),n("div",{staticClass:"be-up-info-name"},[e._v("\n "+e._s(e.upName)+"\n ")])],1)};ot._withStripped=!0;var st=Vue.extend({components:{DpiImage:de.DpiImage,VIcon:de.VIcon},props:{href:{type:String,default:""},upId:{type:[String,Number],default:""},upFaceUrl:{type:String,default:""},upName:{type:String,required:!0}},computed:{actualHref(){return this.href?this.href:`https://space.bilibili.com/${this.upId}`}}}),lt=n(3934),ct=n.n(lt),dt={insert:"head",singleton:!1},ut=(Qe()(ct(),dt),ct().locals,(0,it.Z)(st,ot,[],!1,null,null,null));ut.options.__file="src/components/feeds/UpInfo.vue";var pt=ut.exports,ft=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{staticClass:"video-card",class:{vertical:"vertical"===e.orientation,"no-stats":!e.showStats},attrs:{target:"_blank",href:e.epID?"https://www.bilibili.com/bangumi/play/ep"+e.epID:"https://www.bilibili.com/video/"+e.bvid}},[n("div",{staticClass:"cover-container"},[n("DpiImage",{staticClass:"cover",attrs:{src:e.coverUrl,size:{height:120,width:200}}}),e._v(" "),e.isNew?n("div",{staticClass:"new"},[e._v("NEW")]):e._e(),e._v(" "),e.pubTime&&e.pubTimeText?[n("div",{staticClass:"publish-time-summary"},[e._v("\n "+e._s(e.pubTimeText)+"\n ")]),e._v(" "),n("div",{staticClass:"publish-time-detail"},[e._v("\n "+e._s(e.pubTime)+"\n ")])]:e._e(),e._v(" "),e.durationText?n("div",{staticClass:"duration"},[e._v(e._s(e.durationText))]):e._e(),e._v(" "),e.durationText&&null!==e.watchlater&&void 0!==e.watchlater?n("div",{staticClass:"watchlater",on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.toggleWatchlater(e.aid)}}},[n("VIcon",{attrs:{size:15,icon:e.watchlater?"mdi-check-circle":"mdi-clock-outline"}}),e._v("\n "+e._s(e.watchlater?"已添加":"稍后再看")+"\n ")],1):e._e()],2),e._v(" "),n("h1",{staticClass:"title",attrs:{title:e.title}},[e._v(e._s(e.title))]),e._v(" "),e.topics&&e.topics.length?n("div",{staticClass:"topics"},e._l(e.topics.slice(0,3),(function(t){return n("a",{key:t.id,staticClass:"topic",attrs:{target:"_blank",href:"https://t.bilibili.com/topic/name/"+t.name+"/feed"}},[e._v("#"+e._s(t.name)+"#")])})),0):n("p",{staticClass:"description",attrs:{title:e.description}},[e._v(e._s(e.description))]),e._v(" "),0===e.cooperation.length?n("a",{staticClass:"up",class:{"no-face":!e.upFaceUrl},attrs:{target:"_blank",href:e.upID?"https://space.bilibili.com/"+e.upID:null}},[e.upFaceUrl?n("DpiImage",{staticClass:"face",attrs:{src:e.upFaceUrl,size:24}}):n("VIcon",{attrs:{icon:"up"}}),e._v(" "),n("div",{staticClass:"name",attrs:{title:e.upName}},[e._v(e._s(e.upName))])],1):e._e(),e._v(" "),0!==e.cooperation.length?n("div",{staticClass:"cooperation"},[n("div",{staticClass:"cooperation-ups"},e._l(e.reversedCooperation,(function(e){return n("a",{key:e.id,staticClass:"cooperation-up",class:{"no-face":!e.faceUrl},attrs:{target:"_blank",title:e.name,href:e.id?"https://space.bilibili.com/"+e.id:null}},[e.faceUrl?n("DpiImage",{staticClass:"face",attrs:{src:e.faceUrl,size:24}}):n("VIcon",{attrs:{icon:"up"}})],1)})),0),e._v(" "),n("div",{staticClass:"cooperation-note"},[e._v("\n 联合投稿\n ")])]):e._e(),e._v(" "),e.showStats?n("div",{staticClass:"stats"},[e.vertical?[e.playCount?[n("VIcon",{attrs:{icon:"play",size:e.statsIconSize}}),e._v("\n "+e._s(e.playCount)+"\n ")]:e._e(),e._v(" "),e.danmakuCount?[n("VIcon",{attrs:{icon:"danmaku",size:e.statsIconSize}}),e._v("\n "+e._s(e.danmakuCount)+"\n ")]:e._e(),e._v(" "),e.like?[n("VIcon",{attrs:{icon:"like-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.like)+"\n ")]:e._e(),e._v(" "),e.coins?[n("VIcon",{attrs:{icon:"coin-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.coins)+"\n ")]:e._e(),e._v(" "),e.favorites?[n("VIcon",{attrs:{icon:"favorites-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.favorites)+"\n ")]:e._e()]:[e.like?[n("VIcon",{attrs:{icon:"like-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.like)+"\n ")]:e._e(),e._v(" "),e.coins?[n("VIcon",{attrs:{icon:"coin-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.coins)+"\n ")]:e._e(),e._v(" "),e.favorites?[n("VIcon",{attrs:{icon:"favorites-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.favorites)+"\n ")]:e._e(),e._v(" "),e.playCount?[n("VIcon",{attrs:{icon:"play",size:e.statsIconSize}}),e._v("\n "+e._s(e.playCount)+"\n ")]:e._e(),e._v(" "),e.danmakuCount?[n("VIcon",{attrs:{icon:"danmaku",size:e.statsIconSize}}),e._v("\n "+e._s(e.danmakuCount)+"\n ")]:e._e()]],2):e._e()])};ft._withStripped=!0;var ht={components:{DpiImage:de.DpiImage,VIcon:de.VIcon},props:{data:{type:Object,required:!0},orientation:{type:String,default:"horizontal"},showStats:{type:Boolean,default:!0},isNew:{type:Boolean,default:!1}},data(){return{watchlaterList:ge,upFaceUrl:"",danmakuCount:"",like:"",coins:"",favorites:"",dynamic:"",topics:[],upID:0,epID:0,cooperation:[],pubTime:0,pubTimeText:"",...lodash.omit(this.data,"watchlater"),watchlaterInit:this.data.watchlater,statsIconSize:14}},computed:{vertical(){return"vertical"===this.orientation},watchlater(){return(0,K.getUID)()&&null!==this.watchlaterInit?this.watchlaterList.includes(this.aid):null},reversedCooperation(){return[...this.cooperation].reverse().slice(0,3)}},methods:{toggleWatchlater:ve}},mt=n(1267),gt=n.n(mt),bt={insert:"head",singleton:!1},vt=(Qe()(gt(),bt),gt().locals,(0,it.Z)(ht,ft,[],!1,null,"0ffa1cb1",null));vt.options.__file="src/components/feeds/VideoCard.vue";var yt=vt.exports,wt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{staticClass:"column-card",attrs:{target:"_blank",href:"https://www.bilibili.com/read/cv"+e.data.cvID}},[n("div",{staticClass:"covers"},e._l(e.data.covers,(function(e){return n("DpiImage",{key:e,staticClass:"cover",attrs:{size:{height:120},src:e}})})),1),e._v(" "),n("a",{staticClass:"up",attrs:{target:"_blank",href:"https://space.bilibili.com/"+e.data.upID}},[n("DpiImage",{staticClass:"face",attrs:{size:24,src:e.data.upFaceUrl}}),e._v(" "),n("div",{staticClass:"name"},[e._v(e._s(e.data.upName))])],1),e._v(" "),n("h1",{staticClass:"title",attrs:{title:e.data.title}},[e._v(e._s(e.data.title))]),e._v(" "),n("div",{staticClass:"description",attrs:{title:e.data.description}},[e._v(e._s(e.data.description))])])};wt._withStripped=!0;var xt=Vue.extend({components:{DpiImage:de.DpiImage},props:{data:{type:Object,required:!0},isNew:{type:Boolean,default:!1}}}),_t=n(9109),kt=n.n(_t),Ct={insert:"head",singleton:!1},St=(Qe()(kt(),Ct),kt().locals,(0,it.Z)(xt,wt,[],!1,null,"8e8ea920",null));St.options.__file="src/components/feeds/ColumnCard.vue";var Et=St.exports;let It=!1,$t=0;const At="disable-profile-popup",Tt=async()=>{if("https://t.bilibili.com/"!==document.URL.replace(window.location.search,""))return;const e=await(0,R.select)(".live-up-list, .bili-dyn-live-users__body");null!==e&&($t++,It||(e.addEventListener("mouseenter",(e=>{$t>0&&e.stopImmediatePropagation()}),{capture:!0}),It=!0))},Ot=()=>{$t--},Mt=3e5,Lt=()=>(0,K.getCookieValue)(`bp_t_offset_${(0,K.getUID)()}`),Pt=(e,t)=>e===t?0:e.length>t.length?1:t.length>e.length?-1:e>t==!0?1:-1,zt=e=>{if(null==e)return;const t=Lt();Pt(e,t)<0||(document.cookie=`bp_t_offset_${(0,K.getUID)()}=${e};path=/;domain=.bilibili.com;max-age=2592000`)},Dt=e=>Pt(e,Lt())>0,Vt=e=>{const[t]=[...e.map((e=>e.id))].sort(Pt).reverse();zt(t)},Nt=async e=>{const t=`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_num?rsp_type=1&uid=${(0,K.getUID)()}&update_num_dy_id=${Lt()}&type_list=${e||ke}`,n=await(0,S.getJsonWithCredentials)(t);return 0!==n.code?0:lodash.get(n,"data.update_num",0)},Bt=e=>{e.startsWith("#")&&(e=e.substring(1));return{red:e.substring(0,2),green:e.substring(2,4),blue:e.substring(4,6)}},jt=e=>{const{red:t,green:n,blue:i}=Bt(e);return`\\c&H${i}${n}${t}&`.toUpperCase()},qt=(e,t=1)=>{const{red:n,green:i,blue:r}=Bt(e);return`&H${Math.round(255*(1-t)).toString(16).padStart(2,"0")}${r}${i}${n}`.toUpperCase()},Ft=e=>{let t=0,n=0;for(;e>=60;)e-=60,n++;for(;n>=60;)n-=60,t++;return`${t}:${String(n).padStart(2,"0")}:${(e=>{const[t,n="00"]=String(e).split(".");return`${t.padStart(2,"0")}.${n.substring(0,2).padEnd(2,"0")}`})(e)}`},Rt=(e,t)=>[Ft(e),Ft(e+t)],Ut=(e,t)=>[Ft(e),Ft(t)],Ht=e=>{const t={"{":"{","}":"}","&":"&","<":"<",">":">",""":'"',"'":"'","\n":"\\N"};for(const[n,i]of Object.entries(t))e=e.replace(new RegExp(n,"g"),i);return e},Zt={"&":"&","<":"<",">":">",""":'"',"'":"'"},Wt=Object.fromEntries(Object.entries(Zt).map((e=>e.reverse()))),Gt=(e,t)=>{for(const[n,i]of Object.entries(t))e=e.replace(new RegExp(n,"g"),i);return e},Xt=e=>Gt(e,Wt),Kt=e=>Gt(e,Zt);var Jt=n(4572);const Yt=e=>se.playerUrls.some((e=>(0,K.matchUrlPattern)(e)))?async()=>{const t=Jt.playerAgent,{query:{control:{settings:n,buttons:i}}}=t;ne(i.settings.selector,n.wrap.selector),t.toggleLight(e)}:K.none,Qt=Yt(!0),en=Yt(!1);let tn;const nn=[],rn=async e=>{await(0,R.hasVideo)()&&(0,P.videoChange)((async()=>{const t=await Jt.playerAgent.query.video.danmaku();t&&((e,t)=>{tn&&tn.disconnect(),[tn]=(0,P.childListSubtree)(e,(e=>{e.forEach((e=>{e.addedNodes.forEach((e=>{if(e.nodeType===Node.TEXT_NODE){const n=e.parentElement,i=nn.find((e=>e.element===n));if(!i)return;return i.text=e.textContent||"",i.reuse=!0,void(t.added&&t.added(i))}if(!(e instanceof HTMLElement))return;const n={element:i=e,reuse:!1,text:i.textContent||""};var i;nn.push(n),t.added&&t.added(n)})),e.removedNodes.forEach((e=>{if(!(e instanceof HTMLElement))return;const n=nn.findIndex((t=>t.element===e));if(-1!==n){const[e]=nn.splice(n,1);t.removed&&t.removed(e)}}))}))}))})(t,e)}))};function an(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class on{constructor(e){an(this,"aid",void 0),an(this,"cid",void 0),an(this,"pageCount",void 0),an(this,"coverUrl",void 0),an(this,"tagId",void 0),an(this,"tagName",void 0),an(this,"title",void 0),an(this,"description",void 0),an(this,"up",void 0),an(this,"pages",void 0),an(this,"subtitles",void 0),this.aid=e}async fetchInfo(){let e;e=this.cid?`https://api.bilibili.com/x/web-interface/view?aid=${this.aid}&cid=${this.cid}`:`https://api.bilibili.com/x/web-interface/view?aid=${this.aid}`;const t=await(0,S.getJsonWithCredentials)(e);if(0!==t.code)throw new Error(t.message);const{data:n}=t;return this.cid=n.cid,this.pageCount=n.videos,this.coverUrl=n.pic.replace("http:","https:"),this.tagId=n.tid,this.tagName=n.tname,this.title=n.title,this.description=n.desc,this.up={uid:n.owner.mid,name:n.owner.name,faceUrl:n.owner.face.replace("http:","https:")},this.pages=n.pages.map((e=>({cid:e.cid,title:e.part,pageNumber:e.page}))),this.subtitles=n.subtitle.list.map((e=>({id:e.id,languageCode:e.lan,language:e.lan_doc,url:e.subtitle_url.replace("http:","https:")}))),this}}class sn{constructor(e){an(this,"ep",void 0),an(this,"videos",void 0),an(this,"title",void 0),an(this,"cover",void 0),an(this,"squareCover",void 0),an(this,"aid",void 0),an(this,"cid",void 0),this.ep=e,this.videos=[]}async fetchInfo(){const e=await(0,S.getText)(`https://www.bilibili.com/bangumi/play/ep${this.ep}/`),t=JSON.parse(e.match(/window\.__INITIAL_STATE__=(.*);\(function\(\){/)[1]);return this.title=t.mediaInfo.title,this.cover=t.mediaInfo.cover,this.squareCover=t.mediaInfo.square_cover,this.aid=t.epInfo.aid,this.cid=t.epInfo.cid,this.videos=t.epList.map((async e=>({title:e.index_title,aid:e.aid,cid:e.cid,info:await new on(e.aid).fetchInfo()}))),this}}const ln=[{name:"720P",displayName:"高清 720P",value:64},{name:"1080P",displayName:"高清 1080P",value:80}],cn=[{name:"8K",displayName:"超高清 8K",value:127},{name:"DolbyVision",displayName:"杜比视界",value:126},{name:"HDR",displayName:"真彩 HDR",value:125},{name:"4K",displayName:"超清 4K",value:120},{name:"1080P60",displayName:"高清 1080P60",value:116},{name:"1080P+",displayName:"高清 1080P+",value:112},{name:"720P60",displayName:"高清 720P60",value:74}],dn=[...cn,...ln,{name:"480P",displayName:"清晰 480P",value:32},{name:"360P",displayName:"流畅 360P",value:16}].sort((0,oe.descendingSort)((e=>e.value))),un=async e=>{const{open:t,close:n}=e;if(!(0,R.hasVideo)())return;const i=await(0,R.select)(".bilibili-player");if(!i)return;const[r]=(0,P.childList)(i,(()=>{const e=dq(".bilibili-player-context-menu-origin");if(e){r.disconnect();const i=dq(e,"ul"),a={containerElement:e,listElement:i,get itemElements(){return dqa(e,".context-menu-function")},get isOpen(){return e.classList.contains("active")}};(0,P.childList)(i,(()=>{a.isOpen?t?.(a):n?.(a)}))}}))},pn=async(e,t)=>un({open:t=>{if(t.listElement.contains(e))return;const n=document.createElement("li");n.classList.add("context-line","context-menu-function"),n.setAttribute("data-append","1");const i=document.createElement("a");i.classList.add("context-menu-a","js-action"),i.href="javascript:void(0);",i.appendChild(e),n.addEventListener("mouseover",(()=>n.classList.add("hover"))),n.addEventListener("mouseout",(()=>n.classList.remove("hover"))),n.appendChild(i),t.listElement.appendChild(n)},close:e=>t?.(e)});let fn=null;const hn=[],mn=lodash.once((()=>se.playerUrls.some((e=>(0,K.matchUrlPattern)(e)))?new Promise((e=>{(0,P.videoChange)((async()=>{const{playerAgent:t}=await Promise.resolve().then(n.bind(n,4572)),i=await t.query.control.buttons.time(),r=await Promise.resolve().then(n.bind(n,413)).then((e=>e.default));if(null===i||null!==i.parentElement?.querySelector(".be-video-control-bar-extend"))return;const a=new r({propsData:{items:hn}}).$mount();i.insertAdjacentElement("afterend",a.$el),e(a)}))})):Promise.resolve(null))),gn=async e=>{fn||(fn=mn());await fn&&hn.push(e)},bn=async e=>{if(!se.liveUrls.some((e=>(0,K.matchUrlPattern)(e))))return;const t=await(0,R.select)(".bilibili-live-player-video-controller, .web-player-controller-wrap:not(.web-player-controller-bg)");if(!t)return;const{init:n,callback:i}=e;n?.(t),(0,P.childList)(t,(async()=>{const e=dq(t,".control-area");e&&i?.(e)}))};function vn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const yn=0,wn=2,xn={heartBeat:2,heartBeatResponse:3,message:5,enterRoom:7,enterRoomResponse:8};class _n{constructor(){vn(this,"textEncoder",new TextEncoder),vn(this,"textDecoder",new TextDecoder)}static readInt(e,t,n){let i=0;for(let r=n-1;r>=0;r--)i+=256**(n-r-1)*e[t+r];return i}static writeInt(e,t,n,i){let r=0;for(;r{const i={packetLength:_n.readInt(e,0,4),headerLength:_n.readInt(e,4,2),protocolVersion:_n.readInt(e,6,2),operation:_n.readInt(e,8,4),sequenceID:_n.readInt(e,12,4)},r=[i];if(i.packetLengthe.messages[0])))}else i.protocolVersion===yn&&(i.messages=[JSON.parse(this.textDecoder.decode(r))])}else i.operation===xn.heartBeatResponse&&(i.heartBeatResponse={count:_n.readInt(e,16,4)});return r};return new Promise(((n,i)=>{const r=new FileReader;r.onload=async e=>{if(!e.target)return void i(e);const r=new Uint8Array(e.target.result);n(await t(r))},r.readAsArrayBuffer(e)}))}}class kn{constructor(){vn(this,"startTime",0)}getLiveTime(){return new Promise((e=>{if(this.startTime)return void e(this.startTime);const t=(0,K.dq)(".bilibili-live-player-video-controller-duration-btn span"),[n]=(0,P.childList)(t,(t=>{if(t.length>0&&t.some((e=>e.addedNodes.length>0&&[...e.addedNodes].every((e=>e.nodeType===Node.TEXT_NODE))))){n.disconnect();const i=t[0].addedNodes[0].textContent,[r,a,o=0]=i.split(":").reverse().map(lodash.unary(parseInt)),s=Number(new Date);this.startTime=s-1e3*o*3600-60*a*1e3-1e3*r,e(this.startTime)}}))}))}}class Cn extends EventTarget{constructor(e){super(),this.roomID=e,vn(this,"heartBeatTimer",void 0),vn(this,"webSocket",void 0),vn(this,"retryInterval",200),vn(this,"autoRetry",!0),vn(this,"servers",["broadcastlv.chat.bilibili.com"]),vn(this,"selectedServer",""),vn(this,"liveTime",new kn),vn(this,"bufferHelper",new _n),vn(this,"stopRequested",!1),window.addEventListener("unload",(()=>this.stop()))}heartBeat(){this.webSocket.readyState===WebSocket.OPEN?this.webSocket.send(this.bufferHelper.encode("","heartBeat")):(this.stop(),this.restart())}restart(){if(this.dispatchEvent(new CustomEvent("restart")),!this.stopRequested&&this.autoRetry){console.log(`Live Socket: unexpected disconnect, retry in ${this.retryInterval}ms`);const e=this.servers.indexOf(this.selectedServer);ethis.start()),this.retryInterval)}}async start(){const e=await(0,S.getJson)(`https://api.live.bilibili.com/room/v1/Danmu/getConf?room_id=${this.roomID}&platform=pc&player=web`),t=lodash.get(e,"data.host_server_list",[]);this.servers=[...new Set([...this.servers,...t.map((e=>e.host))])],""===this.selectedServer&&([this.selectedServer]=this.servers,console.log("Initial server:",this.selectedServer)),this.webSocket&&[WebSocket.CONNECTING,WebSocket.OPEN].includes(this.webSocket.readyState)&&this.stop(),this.webSocket=new WebSocket(`wss://${this.selectedServer}/sub`),this.stopRequested=!1,this.dispatchEvent(new CustomEvent("start",{detail:this.webSocket})),this.webSocket.addEventListener("open",(()=>{const t={roomid:this.roomID,uid:parseInt((0,K.getUID)()),protover:2,platform:"web",clientVer:"1.10.1",type:"2",key:lodash.get(e,"data.token")};this.webSocket.send(this.bufferHelper.encode(JSON.stringify(t),"enterRoom")),this.dispatchEvent(new CustomEvent("open",{detail:t}))})),this.webSocket.addEventListener("message",(async e=>{const[t]=await this.bufferHelper.decode(e.data);switch(this.dispatchEvent(new CustomEvent("message",{detail:t})),t.operation){case xn.enterRoomResponse:this.heartBeatTimer&&clearInterval(this.heartBeatTimer),this.heartBeatTimer=window.setInterval((()=>{this.heartBeat()}),3e4);break;case xn.heartBeatResponse:if(!t.heartBeatResponse)break;this.dispatchEvent(new CustomEvent("heartBeatResponse",{detail:t.heartBeatResponse.count}));break;case xn.message:{if(!t.messages)break;const e=await this.liveTime.getLiveTime();t.messages.forEach((t=>{if("DANMU_MSG"===t.cmd){const{info:n}=t,i={content:n[1],type:n[0][1],fontSize:n[0][2],color:n[0][3],sendTime:n[0][4],userHash:n[0][7],userID:n[2][0],userName:n[2][1],startTime:e,get time(){return this.sendTime-this.startTime}};this.dispatchEvent(new CustomEvent("danmaku",{detail:i}))}}));break}}})),this.webSocket.addEventListener("close",(e=>{this.stopRequested||(console.error("Live Socket: close",e),this.restart())})),this.webSocket.addEventListener("error",(e=>{console.error("Live Socket: error",e),this.restart()}))}stop(){this.stopRequested=!0,this.heartBeatTimer&&clearInterval(this.heartBeatTimer),this.webSocket&&this.webSocket.readyState===WebSocket.OPEN&&this.webSocket.close()}}const Sn=[],En="bb-comment",In=[],$n=[],An=[],Tn=e=>{const t=e.querySelector(".con .user .name"),n=e=>{const t=e.querySelector(".reply-face"),n=e.querySelector(".reply-con .user .name");return{id:e.getAttribute("data-id"),element:e,userID:t.getAttribute("data-usercard-mid"),userName:n.textContent,content:e.querySelector(".text-con").textContent,timeText:e.querySelector(".info .time").textContent,likes:parseInt(e.querySelector(".info .like span").textContent)}},i={id:e.getAttribute("data-id"),element:e,userID:t.getAttribute("data-usercard-mid"),userName:t.textContent,content:e.querySelector(".con .text").textContent,timeText:e.querySelector(".con .info .time").textContent,likes:parseInt(e.querySelector(".con .like span").textContent),replies:[]};if(dq(e,".reply-box .view-more")){const t=dq(e,".reply-box");(0,P.childList)(t,(t=>{i.replies=(0,K.dqa)(e,".reply-box .reply-item").map(n),0!==t.length&&i.onRepliesUpdate?.(i.replies)}))}else i.replies=(0,K.dqa)(e,".reply-box .reply-item").map(n);return i},On=e=>{if(e instanceof HTMLElement&&e.classList.contains(En)){const t={element:e,items:[]};Sn.push(t),(e=>{e.observer||(e.items=(0,K.dqa)(e.element,".list-item.reply-wrap").map(Tn),e.items.forEach((e=>{In.forEach((t=>t(e)))})),[e.observer]=(0,P.childListSubtree)(e.element,(t=>{t.forEach((t=>{const n=e=>e instanceof HTMLElement&&e.classList.contains("list-item")&&e.classList.contains("reply-wrap");t.addedNodes.forEach((t=>{if(n(t)){const n=Tn(t);e.items.push(n),In.forEach((e=>e(n)))}})),t.removedNodes.forEach((t=>{if(n(t)){const n=t.getAttribute("data-id"),i=e.items.findIndex((e=>e.id===n));if(-1!==i){const[t]=e.items.splice(i,1);$n.forEach((e=>e(t)))}}}))}))})))})(t),An.forEach((e=>e(t)))}};(0,O.contentLoaded)((()=>{(0,P.allMutations)((e=>{e.forEach((e=>{e.addedNodes.forEach((e=>On(e)))}))})),(0,K.dqa)(".bb-comment").forEach(On)}));const Mn=e=>{Sn.forEach((t=>e(t))),An.push(e)},Ln=e=>{const{added:t,removed:n}=e;Mn((e=>{t&&(e.items.forEach((e=>t(e))),In.push(t)),n&&$n.push(n)}))},Pn=(e,t)=>{const n=dq(e.element,".opera-list ul"),{className:i,text:r,action:a}=t;if(!n||dq(n,`.${i}`))return;const o=document.createElement("li");o.classList.add(i),o.textContent=r,o.addEventListener("click",(e=>{a(e)})),n.appendChild(o)};var zn=n(4350);const Dn=JSON.parse('[[{"name":"首页","route":"/","tid":"","locid":23,"sub":[]},{"name":"动画","route":"douga","tid":1,"locid":52,"count":"","subMenuSize":162,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2507,"leftId":2452,"rightId":2453},"sub":[{"name":"MAD·AMV","route":"mad","tid":24,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":151},"desc":"具有一定制作程度的动画或静画的二次创作视频","url":"//www.bilibili.com/video/douga-mad-1.html"},{"name":"MMD·3D","route":"mmd","tid":25,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":152},"desc":"使用MMD(MikuMikuDance)和其他3D建模类软件制作的视频","url":"//www.bilibili.com/video/douga-mmd-1.html"},{"name":"短片·手书·配音","route":"voice","tid":47,"ps":15,"rps":10,"desc":"追求创新并具有强烈特色的短片、手书(绘)及ACG相关配音","url":"//www.bilibili.com/video/douga-voice-1.html"},{"name":"手办·模玩","route":"garage_kit","tid":210,"ps":15,"rps":10,"desc":"手办模玩的测评、改造或其他衍生内容","url":""},{"name":"特摄","route":"tokusatsu","tid":86,"ps":15,"rps":10,"desc":"特摄相关衍生视频","url":"//www.bilibili.com/video/cinephile-tokusatsu.html"},{"name":"综合","route":"other","tid":27,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":153},"desc":"以动画及动画相关内容为素材,包括但不仅限于音频替换、杂谈、排行榜等内容","url":"//www.bilibili.com/video/douga-else-1.html"}]},{"name":"番剧","route":"anime","tid":13,"url":"//www.bilibili.com/anime/","takeOvered":true,"count":"","subMenuSize":172,"combination":true,"sub":[{"name":"连载动画","tid":33,"route":"serial","desc":"当季连载的动画番剧","url":"//www.bilibili.com/video/bangumi-two-1.html"},{"name":"完结动画","tid":32,"route":"finish","desc":"已完结的动画番剧合集","url":"//www.bilibili.com/video/part-twoelement-1.html"},{"name":"资讯","tid":51,"route":"information","desc":"动画番剧相关资讯视频","url":"//www.bilibili.com/video/douga-else-information-1.html"},{"name":"官方延伸","tid":152,"route":"offical","desc":"动画番剧为主题的宣传节目、采访视频,及声优相关视频","url":"//www.bilibili.com/video/bagumi_offical_1.html"},{"name":"新番时间表","url":"//www.bilibili.com/anime/timeline/","desc":""},{"name":"番剧索引","url":"//www.bilibili.com/anime/index/","desc":""}]},{"name":"国创","tid":167,"route":"guochuang","url":"//www.bilibili.com/guochuang/","takeOvered":true,"count":"","subMenuSize":214,"combination":true,"sub":[{"name":"国产动画","tid":153,"route":"chinese","desc":"我国出品的PGC动画","url":"//www.bilibili.com/video/bangumi_chinese_1.html"},{"name":"国产原创相关","tid":168,"route":"original","desc":"","url":"//www.bilibili.com/video/guochuang-fanvid-1.html"},{"name":"布袋戏","tid":169,"route":"puppetry","desc":"","url":"//www.bilibili.com/video/glove-puppetry-1.html"},{"name":"动态漫·广播剧","tid":195,"route":"motioncomic","desc":"","url":""},{"name":"资讯","tid":170,"route":"information","desc":"","url":"//www.bilibili.com/video/guochuang-offical-1.html"},{"name":"新番时间表","url":"//www.bilibili.com/guochuang/timeline/","desc":""},{"name":"国产动画索引","url":"//www.bilibili.com/guochuang/index/","desc":""}]},{"name":"音乐","route":"music","tid":3,"locid":58,"count":"","subMenuSize":268,"slider":{"width":620,"height":220},"viewTag":true,"customComponent":{"name":"Energy","titleId":2511,"leftId":2462,"rightId":3131,"rightType":"slide"},"sub":[{"name":"原创音乐","route":"original","tid":28,"ps":15,"rps":10,"viewHotTag":true,"ad":{"active":true,"dataLocId":243},"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"个人或团队制作以音乐为主要原创因素的歌曲或纯音乐","url":"//www.bilibili.com/video/music-original-1.html"},{"name":"翻唱","route":"cover","tid":31,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":245},"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"一切非官方的人声再演绎歌曲作品","url":"//www.bilibili.com/video/music-Cover-1.html"},{"name":"VOCALOID·UTAU","route":"vocaloid","tid":30,"ps":15,"rps":10,"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"以雅马哈Vocaloid和UTAU引擎为基础,包含其他调教引擎,运用各类音源进行的歌曲创作内容","url":"//www.bilibili.com/video/music-vocaloid-1.html"},{"name":"电音","route":"electronic","tid":194,"ps":15,"rps":10,"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"以电子合成器、音乐软体等产生的电子声响制作的音乐","url":"#"},{"name":"演奏","route":"perform","tid":59,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":247},"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"传统或非传统乐器及器材的演奏作品","url":"//www.bilibili.com/video/music-perform-1.html"},{"name":"MV","route":"mv","tid":193,"ps":15,"rps":10,"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"音乐录影带,为搭配音乐而拍摄或制作的视频","url":"//www.bilibili.com/video/music-coordinate-1.html"},{"name":"音乐现场","route":"live","tid":29,"ps":15,"rps":10,"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"音乐实况表演视频","url":"//www.bilibili.com/video/music-oped-1.html"},{"name":"音乐综合","route":"other","tid":130,"ps":15,"rps":10,"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"收录无法定义到其他音乐子分区的音乐视频","url":"//www.bilibili.com/video/music-collection-1.html"},{"name":"音频","customZone":"Audio","route":"audio","url":"//www.bilibili.com/audio/home?musicType=music"},{"name":"说唱","url":"//www.bilibili.com/v/rap"}]},{"name":"舞蹈","route":"dance","tid":129,"locid":64,"count":"","subMenuSize":172,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2513,"leftId":2472,"rightId":2473},"sub":[{"name":"宅舞","route":"otaku","tid":20,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":249},"desc":"与ACG相关的翻跳、原创舞蹈","url":"//www.bilibili.com/video/dance-1.html"},{"name":"街舞","route":"hiphop","tid":198,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":251},"desc":"收录街舞相关内容,包括赛事现场、舞室作品、个人翻跳、FREESTYLE等","url":""},{"name":"明星舞蹈","route":"star","tid":199,"ps":15,"rps":10,"desc":"国内外明星发布的官方舞蹈及其翻跳内容","url":""},{"name":"中国舞","route":"china","tid":200,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":253},"desc":"传承中国艺术文化的舞蹈内容,包括古典舞、民族民间舞、汉唐舞、古风舞等","url":""},{"name":"舞蹈综合","route":"three_d","tid":154,"ps":15,"rps":10,"desc":"收录无法定义到其他舞蹈子分区的舞蹈视频","url":""},{"name":"舞蹈教程","route":"demo","tid":156,"ps":10,"rps":6,"desc":"镜面慢速,动作分解,基础教程等具有教学意义的舞蹈视频","url":"//www.bilibili.com/video/dance-demo-1.html"}]},{"name":"游戏","route":"game","tid":4,"locid":70,"count":"","subMenuSize":240,"slider":{"width":470,"height":216},"viewTag":true,"customComponent":{"name":"Energy","titleId":3761,"leftId":3765,"rightId":3775,"rightType":"slide"},"recommendCardType":"GameGroomBox","sub":[{"name":"单机游戏","route":"stand_alone","tid":17,"ps":10,"rps":7,"rankshow":1,"viewHotTag":true,"ad":{"active":true,"dataLocId":255},"dpConfig":[{"name":"三日","value":3},{"name":"一日","value":1},{"name":"一周","value":7}],"desc":"以所有平台(PC、主机、移动端)的单机或联机游戏为主的视频内容,包括游戏预告、CG、实况解说及相关的评测、杂谈与视频剪辑等","url":"//www.bilibili.com/video/videogame-1.html"},{"name":"电子竞技","route":"esports","tid":171,"ps":10,"rps":7,"rankshow":1,"viewHotTag":true,"ad":{"active":true,"dataLocId":257},"desc":"具有高对抗性的电子竞技游戏项目,其相关的赛事、实况、攻略、解说、短剧等视频。","url":"//www.bilibili.com/video/esports-1.html"},{"name":"手机游戏","route":"mobile","tid":172,"ps":10,"rps":7,"rankshow":1,"viewHotTag":true,"desc":"以手机及平板设备为主要平台的游戏,其相关的实况、攻略、解说、短剧、演示等视频。","url":"//www.bilibili.com/video/mobilegame-1.html"},{"name":"网络游戏","route":"online","tid":65,"ps":10,"rps":7,"rankshow":1,"viewHotTag":true,"ad":{"active":true,"dataLocId":259},"dpConfig":[{"name":"三日","value":3},{"name":"一日","value":1},{"name":"一周","value":7}],"desc":"由网络运营商运营的多人在线游戏,以及电子竞技的相关游戏内容。包括赛事、攻略、实况、解说等相关视频","url":"//www.bilibili.com/video/onlinegame-1.html"},{"name":"桌游棋牌","route":"board","tid":173,"ps":5,"rps":3,"rankshow":1,"viewHotTag":true,"desc":"桌游、棋牌、卡牌对战等及其相关电子版游戏的实况、攻略、解说、演示等视频。","url":"//www.bilibili.com/video/boardgame-1.html"},{"name":"GMV","route":"gmv","tid":121,"ps":5,"rps":3,"rankshow":1,"viewHotTag":true,"dpConfig":[{"name":"三日","value":3},{"name":"一日","value":1},{"name":"一周","value":7}],"desc":"由游戏素材制作的MV视频。以游戏内容或CG为主制作的,具有一定创作程度的MV类型的视频","url":"//www.bilibili.com/video/gmv-1.html"},{"name":"音游","route":"music","tid":136,"ps":5,"rps":3,"rankshow":1,"viewHotTag":true,"dpConfig":[{"name":"三日","value":3},{"name":"一日","value":1},{"name":"一周","value":7}],"desc":"各个平台上,通过配合音乐与节奏而进行的音乐类游戏视频","url":"//www.bilibili.com/video/music-game-1.html"},{"name":"Mugen","route":"mugen","tid":19,"ps":5,"rps":3,"rankshow":1,"viewHotTag":true,"dpConfig":[{"name":"三日","value":3},{"name":"一日","value":1},{"name":"一周","value":7}],"desc":"以Mugen引擎为平台制作、或与Mugen相关的游戏视频","url":"//www.bilibili.com/video/game-mugen-1.html"},{"name":"游戏赛事","url":"//www.bilibili.com/v/game/match/","newIcon":true}]},{"name":"知识","route":"knowledge","tid":36,"locid":76,"count":"","subMenuSize":172,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2058,"leftId":2047,"rightId":2048},"sub":[{"name":"科学科普","route":"science","tid":201,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":261},"desc":"回答你的十万个为什么"},{"name":"社科·法律·心理","route":"social_science","tid":124,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":263},"desc":"基于社会科学、法学、心理学展开或个人观点输出的知识视频"},{"name":"人文历史","route":"humanity_history","tid":228,"ps":15,"rps":10,"desc":"看看古今人物,聊聊历史过往,品品文学典籍"},{"name":"财经商业","route":"business","tid":207,"ps":15,"rps":10,"desc":"说金融市场,谈宏观经济,一起畅聊商业故事"},{"name":"校园学习","route":"campus","tid":208,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":265},"desc":"老师很有趣,学生也有才,我们一起搞学习"},{"name":"职业职场","route":"career","tid":209,"ps":15,"rps":10,"desc":"职业分享、升级指南,一起成为最有料的职场人"},{"name":"设计·创意","route":"design","tid":229,"ps":15,"rps":10,"desc":"天马行空,创意设计,都在这里"},{"name":"野生技能协会","route":"skill","tid":122,"ps":15,"rps":10,"desc":"技能党集合,是时候展示真正的技术了"}]},{"name":"科技","route":"tech","tid":188,"locid":2977,"count":"","subMenuSize":80,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2980,"leftId":2978,"rightId":2979},"sub":[{"name":"数码","route":"digital","tid":95,"ps":15,"rps":10,"viewHotTag":true,"desc":"科技数码产品大全,一起来做发烧友","url":"#"},{"name":"软件应用","route":"application","tid":230,"ps":15,"rps":10,"viewHotTag":true,"desc":"超全软件应用指南","url":"#"},{"name":"计算机技术","route":"computer_tech","tid":231,"ps":15,"rps":10,"viewHotTag":true,"desc":"研究分析、教学演示、经验分享......有关计算机技术的都在这里","url":"#"},{"name":"工业·工程·机械","route":"industry","tid":232,"ps":15,"rps":10,"viewHotTag":true,"desc":"前方高能,机甲重工即将出没","url":"#"},{"name":"极客DIY","route":"diy","tid":233,"ps":15,"rps":10,"viewHotTag":true,"desc":"炫酷技能,极客文化,硬核技巧,准备好你的惊讶","url":"#"}]},{"name":"运动","route":"sports","tid":234,"locid":4639,"isHide":true,"subMenuSize":164,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","leftId":4646,"rightId":4652,"rightType":"slide"},"sub":[{"name":"篮球·足球","route":"basketballfootball","tid":235,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":4656},"desc":"与篮球、足球相关的视频,包括但不限于篮足球赛事、教学、评述、剪辑、剧情等相关内容","url":"#"},{"name":"健身","route":"aerobics","tid":164,"ps":15,"rps":10,"desc":"与健身相关的视频,包括但不限于瑜伽、CrossFit、健美、力量举、普拉提、街健等相关内容","url":"//www.bilibili.com/video/fashion-body-1.html"},{"name":"竞技体育","route":"athletic","tid":236,"ps":15,"rps":10,"desc":"与竞技体育相关的视频,包括但不限于乒乓、羽毛球、排球、赛车等竞技项目的赛事、评述、剪辑、剧情等相关内容","url":"#"},{"name":"运动文化","route":"culture","tid":237,"ps":15,"rps":10,"desc":"与运动文化相关的视频,包络但不限于球鞋、球衣、球星卡等运动衍生品的分享、解读,体育产业的分析、科普等相关内容","url":"#"},{"name":"运动综合","route":"comprehensive","tid":238,"ps":15,"rps":10,"desc":"与运动综合相关的视频,包括但不限于钓鱼、骑行、滑板等日常运动分享、教学、Vlog等相关内容","url":"#"}]},{"name":"汽车","route":"car","tid":223,"locid":4428,"isHide":true,"subMenuSize":164,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","leftId":4435,"rightId":4441,"rightType":"slide"},"sub":[{"name":"汽车生活","route":"life","tid":176,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":4445},"desc":"分享汽车及出行相关的生活体验类视频","url":"#"},{"name":"汽车文化","route":"culture","tid":224,"ps":15,"rps":10,"desc":"车迷的精神圣地,包括汽车赛事、品牌历史、汽车改装、经典车型和汽车模型等","url":"#"},{"name":"汽车极客","route":"geek","tid":225,"ps":15,"rps":10,"desc":"汽车硬核达人聚集地,包括DIY造车、专业评测和技术知识分享","url":"#"},{"name":"摩托车","route":"motorcycle","tid":240,"ps":15,"rps":10,"desc":"骑士们集合啦","url":"#"},{"name":"智能出行","route":"smart","tid":226,"ps":15,"rps":10,"desc":"探索新能源汽车和未来智能出行的前沿阵地","url":"#"},{"name":"购车攻略","route":"strategy","tid":227,"ps":15,"rps":10,"desc":"丰富详实的购车建议和新车体验","url":"#"}]},{"name":"生活","route":"life","tid":160,"locid":88,"count":"","subMenuSize":164,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2062,"leftId":1674,"rightId":1670},"sub":[{"name":"搞笑","route":"funny","tid":138,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":273},"desc":"各种沙雕有趣的搞笑剪辑,挑战,表演,配音等视频","url":"//www.bilibili.com/video/ent_funny_1.html","locid":4204,"recommendId":4210,"slider":{"width":620,"height":220},"customComponent":{"name":"Energy","leftId":4212,"rightId":4218,"rightType":"slide"}},{"name":"家居房产","route":"home","tid":239,"ps":15,"rps":10,"desc":"与买房、装修、居家生活相关的分享","url":"#"},{"name":"手工","route":"handmake","tid":161,"ps":15,"rps":10,"desc":"手工制品的制作过程或成品展示、教程、测评类视频","url":"//www.bilibili.com/video/ent-handmake-1.html"},{"name":"绘画","route":"painting","tid":162,"ps":15,"rps":10,"desc":"绘画过程或绘画教程,以及绘画相关的所有视频","url":"//www.bilibili.com/video/ent-painting-1.html"},{"name":"日常","route":"daily","tid":21,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":275},"desc":"记录日常生活,分享生活故事","url":"//www.bilibili.com/video/ent-life-1.html"}]},{"name":"美食","route":"food","tid":211,"locid":4243,"count":"","isHide":true,"subMenuSize":164,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","leftId":4258,"rightId":4264},"sub":[{"name":"美食制作","route":"make","tid":76,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":4268},"desc":"学做人间美味,展示精湛厨艺","url":"#"},{"name":"美食侦探","route":"detective","tid":212,"ps":15,"rps":10,"desc":"寻找美味餐厅,发现街头美食","url":"#"},{"name":"美食测评","route":"measurement","tid":213,"ps":15,"rps":10,"desc":"吃货世界,品尝世间美味","url":"#"},{"name":"田园美食","route":"rural","tid":214,"ps":15,"rps":10,"desc":"品味乡野美食,寻找山与海的味道","url":"#"},{"name":"美食记录","route":"record","tid":215,"ps":15,"rps":10,"desc":"记录一日三餐,给生活添一点幸福感","url":"#"}]},{"name":"动物圈","route":"animal","tid":217,"locid":4365,"count":"","isHide":true,"subMenuSize":164,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","leftId":4376,"rightId":4381,"rightType":"slide"},"sub":[{"name":"喵星人","route":"cat","tid":218,"ps":15,"rps":10,"desc":"喵喵喵喵喵","url":"#","ad":{"active":true,"dataLocId":4385}},{"name":"汪星人","route":"dog","tid":219,"ps":15,"rps":10,"desc":"汪汪汪汪汪","url":"#"},{"name":"大熊猫","route":"panda","tid":220,"ps":15,"rps":10,"desc":"芝麻汤圆营业中","url":"#"},{"name":"野生动物","route":"wild_animal","tid":221,"ps":15,"rps":10,"desc":"内有“猛兽”出没","url":"#"},{"name":"爬宠","route":"reptiles","tid":222,"ps":15,"rps":10,"desc":"鳞甲有灵","url":"#"},{"name":"动物综合","route":"animal_composite","tid":75,"ps":15,"rps":10,"desc":"收录除上述子分区外,其余动物相关视频以及非动物主体或多个动物主体的动物相关延伸内容","url":"#"}]},{"name":"鬼畜","route":"kichiku","tid":119,"locid":100,"count":"","subMenuSize":182,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2509,"leftId":2482,"rightId":2483},"sub":[{"name":"鬼畜调教","route":"guide","tid":22,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":285},"desc":"使用素材在音频、画面上做一定处理,达到与BGM一定的同步感","url":"//www.bilibili.com/video/ent-Kichiku-1.html"},{"name":"音MAD","route":"mad","tid":26,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":287},"desc":"使用素材音频进行一定的二次创作来达到还原原曲的非商业性质稿件","url":"//www.bilibili.com/video/douga-kichiku-1.html"},{"name":"人力VOCALOID","route":"manual_vocaloid","tid":126,"ps":15,"rps":10,"desc":"将人物或者角色的无伴奏素材进行人工调音,使其就像VOCALOID一样歌唱的技术","url":"//www.bilibili.com/video/kichiku-manual_vocaloid-1.html"},{"name":"鬼畜剧场","route":"theatre","tid":216,"ps":15,"rps":10,"desc":"使用素材进行人工剪辑编排的有剧情的作品"},{"name":"教程演示","route":"course","tid":127,"ps":10,"rps":6,"rightComponent":{"name":"CmImgList","id":148},"ad":{"active":true,"dataLocId":289},"hideDropdown":false,"desc":"鬼畜相关的教程演示","url":"//www.bilibili.com/video/kichiku-course-1.html"}]},{"name":"时尚","route":"fashion","tid":155,"locid":94,"count":"","subMenuSize":124,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2515,"leftId":2492,"rightId":2493},"sub":[{"name":"美妆护肤","route":"makeup","tid":157,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":279},"desc":"彩妆护肤、美甲美发、仿妆、医美相关内容分享或产品测评","url":"//www.bilibili.com/video/fashion-makeup-fitness-1.html"},{"name":"穿搭","route":"clothing","tid":158,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":281},"desc":"穿搭风格、穿搭技巧的展示分享,涵盖衣服、鞋靴、箱包配件、配饰(帽子、钟表、珠宝首饰)等","url":"//www.bilibili.com/video/fashion-clothing-1.html"},{"name":"时尚潮流","route":"trend","tid":159,"ps":15,"rps":10,"desc":"时尚街拍、时装周、时尚大片,时尚品牌、潮流等行业相关记录及知识科普","url":"#"}]},{"name":"资讯","route":"information","tid":202,"locid":4076,"count":"","subMenuSize":60,"slider":{"width":620,"height":220},"viewTag":false,"sub":[{"name":"热点","route":"hotspot","tid":203,"ps":18,"rps":10,"desc":"全民关注的时政热门资讯"},{"name":"环球","route":"global","tid":204,"ps":18,"rps":10,"desc":"全球范围内发生的具有重大影响力的事件动态"},{"name":"社会","route":"social","tid":205,"ps":18,"rps":10,"desc":"日常生活的社会事件、社会问题、社会风貌的报道"},{"name":"综合","route":"multiple","tid":206,"ps":18,"rps":10,"desc":"除上述领域外其它垂直领域的综合资讯"}]},{"name":"娱乐","route":"ent","tid":5,"locid":82,"count":"","subMenuSize":62,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2067,"leftId":2065,"rightId":2066},"sub":[{"name":"综艺","route":"variety","tid":71,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":267},"desc":"所有综艺相关,全部一手掌握!","url":"//www.bilibili.com/video/ent-variety-1.html"},{"name":"娱乐杂谈","route":"talker","tid":241,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":269},"desc":"娱乐人物解读、娱乐热点点评、娱乐行业分析"},{"name":"粉丝创作","route":"fans","tid":242,"ps":15,"rps":10,"desc":"粉丝向创作视频"},{"name":"明星综合","route":"celebrity","tid":137,"ps":15,"rps":10,"desc":"娱乐圈动态、明星资讯相关"}]},{"name":"影视","route":"cinephile","tid":181,"locid":2211,"count":"","subMenuSize":84,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2309,"leftId":2307,"rightId":2308},"sub":[{"name":"影视杂谈","route":"cinecism","tid":182,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":2212},"desc":"影视评论、解说、吐槽、科普等","url":"//www.bilibili.com/video/cinephile-cinecism.html"},{"name":"影视剪辑","route":"montage","tid":183,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":2213},"desc":"对影视素材进行剪辑再创作的视频","url":"//www.bilibili.com/video/cinephile-montage.html"},{"name":"短片","route":"shortfilm","tid":85,"ps":15,"rps":10,"desc":"追求自我表达且具有特色的短片","url":"//www.bilibili.com/video/cinephile-shortfilm.html"},{"name":"预告·资讯","route":"trailer_info","tid":184,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":2214},"desc":"影视类相关资讯,预告,花絮等视频","url":"//www.bilibili.com/video/cinephile-trailer-info.html"}]},{"name":"纪录片","route":"documentary","tid":177,"url":"//www.bilibili.com/documentary/","count":"","takeOvered":true,"hasParent":true,"combination":true,"sub":[{"name":"人文·历史","tid":37,"route":"history","dise":"","url":"//www.bilibili.com/video/doco-history.html"},{"name":"科学·探索·自然","tid":178,"route":"science","dise":"","url":"//www.bilibili.com/video/doco-science.html"},{"name":"军事","tid":179,"route":"military","dise":"","url":"//www.bilibili.com/video/doco-military.html"},{"name":"社会·美食·旅行","tid":180,"route":"travel","dise":"","url":"//www.bilibili.com/video/doco-travel.html"},{"name":"纪录片索引","url":"//www.bilibili.com/documentary/index/"}]},{"name":"电影","route":"movie","tid":23,"url":"//www.bilibili.com/movie/","count":"","takeOvered":true,"hasParent":true,"combination":true,"sub":[{"name":"华语电影","tid":147,"route":"chinese","desc":"","url":"//www.bilibili.com/video/movie_chinese_1.html"},{"name":"欧美电影","tid":145,"route":"west","desc":"","url":"//www.bilibili.com/video/movie_west_1.html"},{"name":"日本电影","tid":146,"route":"japan","desc":"","url":"//www.bilibili.com/video/movie_japan_1.html"},{"name":"其他国家","tid":83,"route":"movie","desc":"","url":"//www.bilibili.com/video/movie-movie-1.html"},{"name":"电影索引","url":"//www.bilibili.com/movie/index/"}]},{"name":"电视剧","route":"tv","tid":11,"url":"//www.bilibili.com/tv/","count":"","takeOvered":true,"hasParent":true,"combination":true,"sub":[{"name":"国产剧","tid":185,"route":"mainland","desc":"","url":"//www.bilibili.com/video/tv-mainland.html"},{"name":"海外剧","tid":187,"route":"overseas","desc":"","url":"//www.bilibili.com/video/tv-overseas.html"},{"name":"电视剧索引","url":"//www.bilibili.com/tv/index/"}]},{"name":"虚拟UP主","route":"virtual","locid":4735,"count":"","isHide":true,"subMenuSize":60,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":4754,"leftId":4756},"sub":[{"name":"游戏","route":"game","tid":4,"ps":18,"rps":10,"url":"//www.bilibili.com/v/virtual/game"},{"name":"音乐","route":"music","tid":3,"ps":18,"rps":10,"url":"//www.bilibili.com/v/virtual/music"},{"name":"动画","route":"douga","tid":1,"ps":18,"rps":10,"url":"//www.bilibili.com/v/virtual/douga"},{"name":"其他","route":"other","tid":0,"ps":18,"rps":10,"url":"//www.bilibili.com/v/virtual/other"}]}],[{"url":"//live.bilibili.com/all","name":"全部直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=2&areaId=0","name":"网游直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=3&areaId=0","name":"手游直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=6&areaId=0","name":"单机直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=0","name":"娱乐直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=5&areaId=0","name":"电台直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=9&areaId=0","name":"虚拟直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=10&areaId=0","name":"生活直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=11&areaId=0","name":"学习直播"}],[{"name":"会员购","url":"//show.bilibili.com/platform/home.html","icon":"icon-vip-buy"},{"name":"游戏中心","url":"//game.bilibili.com","icon":"icon-game"},{"name":"画友","url":"http://h.bilibili.com","icon":"icon-hy"},{"name":"芒果TV","url":"//www.bilibili.com/mango","icon":"icon-mango"}],[{"name":"专栏","report":"article","url":"//www.bilibili.com/read/home","icon":"read"},{"name":"直播","report":"live","url":"//live.bilibili.com","icon":"live","sub":[{"url":"//live.bilibili.com/all","name":"全部直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=2&areaId=0","name":"网游直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=3&areaId=0","name":"手游直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=6&areaId=0","name":"单机直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=0","name":"娱乐直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=5&areaId=0","name":"电台直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=9&areaId=0","name":"虚拟直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=10&areaId=0","name":"生活直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=11&areaId=0","name":"学习直播"}]},{"name":"活动","report":"activity","url":"//www.bilibili.com/blackboard/activity-list.html","icon":"activit"},{"name":"课堂","report":"cheese","url":"//www.bilibili.com/cheese/","icon":"zhishi"},{"name":"小黑屋","report":"blackroom","url":"//www.bilibili.com/blackroom/","icon":"blackroom"},{"name":"新歌热榜","report":"musicplus","url":"//www.bilibili.com/v/musicplus/","icon":"musicplus"}]]'),Vn=e=>e.startsWith("//")?`https:${e}`:e.replace("http:","https:"),Nn=Dn[0].filter((e=>"string"!=typeof e.tid)),Bn=Dn[3],jn={};Nn.forEach((e=>{const t=Vn(e.url||`https://www.bilibili.com/v/${e.route}/`);jn[e.name]={icon:e.route,route:e.route,code:e.tid,link:t,subCategories:e.sub?Object.fromEntries(e.sub.map((t=>{const n=Vn(t.route?`https://www.bilibili.com/v/${e.route}/${t.route}/`:t.url);return[t.name,n]}))):null}})),Bn.forEach((e=>{jn[e.name]={icon:e.icon,code:null,route:e.route,link:Vn(e.url),subCategories:e.sub?Object.fromEntries(e.sub.map((e=>[e.name,Vn(e.url)]))):null}}));const qn=jn,Fn=Object.fromEntries(Nn.map((e=>[e.route,e.tid]))),Rn=Object.fromEntries(Object.values(jn).map((e=>[e.icon,e.link]))),Un=async()=>{if(document.getElementById("be-category-icons"))return;const{default:e}=await Promise.resolve().then(n.t.bind(n,1060,17));document.body.insertAdjacentHTML("beforeend",e)};var Hn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"translate-container"},[e.working||e.translated?e._e():n("div",{staticClass:"translate",on:{click:function(t){return e.translate()}}},[n("VIcon",{attrs:{size:14,icon:"mdi-earth"}}),e._v("翻译\n ")],1),e._v(" "),e.translated?n("div",{staticClass:"translated"},[n("a",{attrs:{href:e.activeTranslator&&e.activeTranslator.link,target:"_blank"}},[e._v("\n 翻译自\n ")]),e._v(" "),n("VDropdown",{attrs:{items:Object.values(e.translateProviders),value:e.activeTranslator,"key-mapper":function(e){return e.name}},on:{change:function(t){return e.changeTranslator(t)}},scopedSlots:e._u([{key:"item",fn:function(t){var n=t.item;return[e._v("\n "+e._s(n.name)+"\n ")]}}],null,!1,1956376614)})],1):e._e(),e._v(" "),e.working?n("VIcon",{staticClass:"translating mdi-spin",attrs:{size:18,icon:"mdi-loading"}}):e._e(),e._v(" "),!e.working&&e.translated?n("div",{staticClass:"translate-result",domProps:{textContent:e._s(e.result)}}):e._e()],1)};Hn._withStripped=!0;var Zn=n(8494);var Wn=Vue.extend({components:{VDropdown:de.VDropdown,VIcon:de.VIcon},props:{text:{type:String,required:!0}},data:()=>({result:"",working:!1,translateProviders:Zn.WK,activeTranslator:{}}),computed:{translated(){return""!==this.result}},mounted(){document.body.classList.add("machine-translator-enabled")},methods:{changeTranslator(e){(0,Z.getComponentSettings)("i18n").options.translator=e.name,this.translate()},async translate(){try{this.working=!0;const e=this.text.replace(/#(.+?)#/g,"");this.activeTranslator=(0,Zn.Ty)();const t=this.activeTranslator;this.result=await t.translate(e)}catch(e){(0,ae.logError)(e)}finally{this.working=!1}}}}),Gn=n(3109),Xn=n.n(Gn),Kn={insert:"head",singleton:!1},Jn=(Qe()(Xn(),Kn),Xn().locals,(0,it.Z)(Wn,Hn,[],!1,null,null,null));Jn.options.__file="src/components/i18n/machine-translator/MachineTranslator.vue";var Yn=Jn.exports;const Qn=e=>{void 0===e.radio&&(e.radio=!1);const{name:t,switches:i}=e,r={};return Object.entries(i).forEach((([e,{displayName:t,defaultValue:n}])=>{r[`switch-${e}`]={defaultValue:n,displayName:t,hidden:!0}})),i=>{const a=`${i.displayName}选项`,o={componentName:i.name,optionDisplayName:a};Object.assign(e,o),r[t]={defaultValue:e,displayName:a},i.options={...i.options,...r},i.widget||(i.widget={component:()=>Promise.resolve().then(n.bind(n,9560)).then((e=>e.default)),options:e});const s=i.entry;return i.entry=async(...e)=>{s?.(...e);const{name:t}=i,n=(0,Z.getComponentSettings)(t).options;Object.keys(n).forEach((e=>{e.startsWith("switch-")&&(0,Z.addComponentListener)(`${t}.${e}`,(n=>{document.body.classList.toggle(`${t}-${e}`,n)}),!0)}))},i}};const ei={component:ue,userComponent:pe,styledComponent:s,description:me,switchOptions:C,launchBar:{LaunchBar:n(8805).Z},feeds:{api:c,BangumiCard:at,UpInfo:pt,VideoCard:yt,ColumnCard:Et,disableProfilePopup:d,notify:u},video:{assUtils:p,playerLight:h,playerAgent:Jt,videoDanmaku:m,videoInfo:g,videoQuality:b,videoContextMenu:v,videoControlBar:y,watchlater:l,xmlUtils:f},live:{liveControlBar:w,liveSocket:x},utils:{commentApis:_,categories:{updater:zn,data:k}},i18N:{machineTranslator:{MachineTranslator:Yn}}};var ti=n(1773),ni=n(3865),ii=n(9263);const ri={style:ti,plugin:ni,data:ye,hook:ii},ai={ajax:S,cdnTypes:E,download:I,externalInput:$,filePicker:A,horizontalScroll:i,lifeCycle:O,loadingMode:M,meta:L,observer:P,reorder:r,runtimeLibrary:F,spinQuery:R,style:U,textColor:H,userInfo:a,version:X,settings:Z,toast:le,themeColor:ce,utils:{...K,constants:J,formatters:Y,title:Q,i18n:ee,lazyPanel:o,log:ae,sort:oe,urls:se},ui:de,componentApis:ei,pluginApis:ri},oi={ajax:S,...E,...I,...$,...A,...i,lifeCycle:O,...M,...L,observer:P,...r,runtimeLibrary:F,spinQuery:R,...U,...H,...a,...X,settingsApis:Z,get settings(){return Z.settings},...le,utils:{...K,...J,...Y,...Q,...ee,...o,...ae,...oe,...se},ui:de,componentApis:{...ei.component,...ei.userComponent,...ei.styledComponent,...ei.launchBar,...lodash.omit(ei,"component","userComponent","styledComponent","launchBar")},pluginApis:{...ri.style,...ri.plugin,...ri.data,...ri.hook},monkeyApis:{GM_setValue:GM_setValue,GM_getValue:GM_getValue,GM_deleteValue:GM_deleteValue,GM_xmlhttpRequest:GM_xmlhttpRequest,GM_info:GM_info},lodash:lodash,Vue:Vue,sandboxWindow:window,theWorld:e=>{setTimeout((()=>{}),e)}}},595:function(e,t,n){"use strict";let i;n.d(t,{h:function(){return i}}),function(e){e.Packed="打包下载",e.Individual="单独下载"}(i||(i={}))},9356:function(e,t,n){"use strict";n.r(t),n.d(t,{DownloadPackage:function(){return c}});var i=n(595),r=n(6984),a=n(7724),o=n(2433);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const l=(0,n(4496).useScopedConsole)("文件下载");class c{constructor(e=[]){this.entries=e,s(this,"noEscape",!1)}add(e,t,n={}){null!=t&&this.entries.push({name:this.noEscape?e:(0,o.formatFilename)(e),data:t,options:n})}async blob(){if(0===this.entries.length)return null;if(1===this.entries.length){const{data:e}=this.entries[0];return"string"==typeof e?new Blob([e]):e}const e=new(await r.JSZipLibrary);return this.entries.forEach((({name:t,data:n,options:i})=>{e.file(t,n,i)})),e.generateAsync({type:"blob"})}async emit(e){if(0===this.entries.length)return;e&&1!==this.entries.length||(e=this.entries[0].name);if((0,a.getGeneralSettings)().downloadPackageEmitMode===i.h.Individual&&this.entries.length>1)return void await Promise.all(this.entries.map((e=>c.single(e.name,e.data,e.options))));const t=await this.blob();t&&c.download(e,t)}static download(e,t){const n=document.createElement("a"),i=URL.createObjectURL(t);c.lastPackageUrl&&URL.revokeObjectURL(c.lastPackageUrl),c.lastPackageUrl=i;const r=(0,o.formatFilename)(e);n.setAttribute("href",i),n.setAttribute("download",r),l.log(r),document.body.appendChild(n),n.addEventListener("click",(e=>{e.stopPropagation()}),{capture:!0}),n.click(),n.remove()}static async single(e,t,n={}){const i=new c;return i.add(e,t,n),i.emit()}}s(c,"lastPackageUrl","")},6522:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{parseExternalInput:function(){return parseExternalInput},batchParseCode:function(){return batchParseCode}});var _file_picker__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(9183);const parseExternalInput=async input=>{if(void 0===input){const files=await(0,_file_picker__WEBPACK_IMPORTED_MODULE_0__.pickFile)({accept:"application/json"});if(!(files.length>0))return console.error("[parseExternalInput] No file selected"),null;{const[file]=files,text=await file.text();try{return eval(`(${text})`)}catch(e){return console.error(e),null}}}else{if("string"!=typeof input)return input;try{const exports={},result=eval(input);if(Object.values(exports).length>0){const e=Object.values(exports)[0];return e}return result}catch(e){return console.error(e),null}}},batchParseCode=async inputs=>{try{const exports={},result=inputs.map((input=>eval(input)));if(Object.values(exports).length>0){const{coreApis:e}=await Promise.resolve().then(__webpack_require__.bind(__webpack_require__,6708));return Object.values(exports).map((t=>"function"==typeof t?t(e):t))}return result}catch(e){return console.error(e),null}}},9183:function(e,t,n){"use strict";let i,r;n.r(t),n.d(t,{pickFile:function(){return o}});const a={accept:"*",multiple:!1},o=async(e=a)=>{const{accept:t,multiple:n}={...a,...e};i||(i=document.createElement("input"),i.type="file",i.style.display="none",document.body.appendChild(i),i.addEventListener("change",(()=>{r?.([...i.files]),r=null}))),i.accept=t,i.multiple=n,i.value="",r&&r([]);return await new Promise((e=>{r=e,i.click()}))}},3575:function(e,t,n){"use strict";n.r(t),n.d(t,{tryParseZip:function(){return s},installFeatureFromCode:function(){return l},installFeature:function(){return c}});var i=n(559),r=n(9263),a=n(3865),o=n(1773);const s=async e=>{const{JSZipLibrary:t}=await Promise.resolve().then(n.bind(n,6984)),{monkey:i}=await Promise.resolve().then(n.bind(n,6773)),r=e.endsWith(".zip"),a=r?"blob":"text",o=await i({url:e,method:"GET",responseType:a});if(!r||"string"==typeof o)return o;const s=await t,l=await s.loadAsync(o),c=Object.values(l.files);if(0===c.length)throw new Error("Empty zip file");return c[0].async("text")},l=async(e,t)=>{const{parseExternalInput:s}=await Promise.resolve().then(n.bind(n,6522)),l=await s(e),{type:c,installer:d}=(()=>{if((e=>Boolean(e?.entry))(l))return{type:"component",installer:()=>(0,i.installComponent)(e)};if((e=>Boolean(e?.setup))(l))return{type:"plugin",installer:()=>(0,a.installPlugin)(e)};if((e=>Boolean(e?.style))(l))return{type:"style",installer:()=>(0,o.installStyle)(e)};throw new Error("无效的功能代码")})(),{before:u,after:p}=(0,r.getHook)(`user${lodash.startCase(c)}s.add`,e,t);await u();const f=await d();return await p(f.metadata),f},c=async e=>{const t=await s(e);return l(t,e)}},5527:function(e,t,n){"use strict";n.r(t),n.d(t,{headLoaded:function(){return r},contentLoaded:function(){return a},fullyLoaded:function(){return o},LifeCycleEventTypes:function(){return s},raiseLifeCycleEvent:function(){return l}});var i=n(9017);const r=e=>new Promise((t=>{if(null!==document.head)t(e());else{const[n]=(0,i.childList)(document.documentElement,(()=>{null!==document.head&&(n.disconnect(),t(e()))}))}})),a=e=>new Promise((t=>{"loading"!==document.readyState?t(e()):document.addEventListener("DOMContentLoaded",(()=>t(e())))})),o=e=>new Promise((t=>{"complete"===document.readyState?t(e()):unsafeWindow.addEventListener("load",(()=>t(e())))}));let s;!function(e){e.Start="be:start",e.StyleLoaded="be:style-loaded",e.ComponentsLoaded="be:components-loaded",e.End="be:end"}(s||(s={}));const l=e=>{unsafeWindow.dispatchEvent(new CustomEvent(e))}},4327:function(e,t,n){"use strict";let i;n.r(t),n.d(t,{LoadingMode:function(){return i}}),function(e){e.Delay="延后",e.Race="同时"}(i||(i={}))},7601:function(e,t,n){"use strict";n.r(t),n.d(t,{branches:function(){return a},meta:function(){return s}});var i=JSON.parse('{"version":"2.1.9","author":"Grant Howard, Coulomb-G","copyright":"[year], Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G)","licence":"MIT","match":"*://*.bilibili.com/*","exclude":["*://api.bilibili.com/*","*://api.*.bilibili.com/*","*://*.bilibili.com/api/*","*://member.bilibili.com/studio/bs-editor/*","*://t.bilibili.com/h5/dynamic/specification","*://bbq.bilibili.com/*","*://message.bilibili.com/pages/nav/header_sync","*://s1.hdslb.com/bfs/seed/jinkela/short/cols/iframe.html","*://open-live.bilibili.com/*"],"run-at":"document-start","grant":["unsafeWindow","GM_getValue","GM_setValue","GM_deleteValue","GM_info","GM_xmlhttpRequest"],"connect":["raw.githubusercontent.com","github.com","cdn.jsdelivr.net","cn.bing.com","www.bing.com","translate.google.cn","translate.google.com","localhost","*"],"require":["https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"],"icon":"https://cdn.jsdelivr.net/gh/the1812/Bilibili-Evolved@preview/images/logo-small.png","icon64":"https://cdn.jsdelivr.net/gh/the1812/Bilibili-Evolved@preview/images/logo.png"}'),r=n(4011);i.copyright=i.copyright.replace(/\[year\]/g,(new Date).getFullYear().toString());const a={stable:"master",preview:"preview"},o={commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",branch:"master",version:"2.1.9",nearestTag:"v2.1.9",versionWithTag:"v2.1.9-8-g9c9c5fd27"},s={compilationInfo:o,name:GM_info.script.name,description:GM_info.script.description,get originalFilename(){const{branch:e}=o;return e===a.stable?"bilibili-evolved.user.js":`bilibili-evolved.${a.preview}.user.js`},get updateURL(){return`${r.cdnRoots.jsDelivr(o.branch)}dist/${this.originalFilename}`},get downloadURL(){return this.updateURL},...i}},9017:function(e,t,n){"use strict";n.r(t),n.d(t,{resolveTargets:function(){return o},mutationObserve:function(){return s},childList:function(){return l},childListSubtree:function(){return c},attributes:function(){return d},attributesSubtree:function(){return u},characterData:function(){return p},characterDataSubtree:function(){return f},allMutationsOn:function(){return h},allMutations:function(){return g},intersectionObserve:function(){return b},visible:function(){return v},visibleInside:function(){return y},resizeObserve:function(){return w},sizeChange:function(){return x},urlChange:function(){return k},videoChange:function(){return E}});var i=n(4742),r=n(4402),a=n(6363);const o=e=>"string"==typeof e?(0,i.dqa)(e):Array.isArray(e)?e:[e],s=(e,t,n)=>{const i=new MutationObserver(n);return e.forEach((e=>i.observe(e,t))),n([],i),[i,t]},l=(e,t)=>s(o(e),{childList:!0,subtree:!1,attributes:!1},t),c=(e,t)=>s(o(e),{childList:!0,subtree:!0,attributes:!1},t),d=(e,t)=>s(o(e),{childList:!1,subtree:!1,attributes:!0},t),u=(e,t)=>s(o(e),{childList:!1,subtree:!0,attributes:!0},t),p=(e,t)=>s(o(e),{childList:!1,subtree:!1,attributes:!1,characterData:!0},t),f=(e,t)=>s(o(e),{childList:!1,subtree:!0,attributes:!1,characterData:!0},t),h=(e,t)=>s(o(e),{childList:!0,subtree:!0,attributes:!0,characterData:!0},t),m={observer:null,config:null,callbacks:[]},g=e=>{if(m.observer)m.callbacks.push(e);else{m.callbacks.push(e);const[t,n]=h(document.body,(e=>m.callbacks.forEach((t=>t(e,m.observer)))));m.observer=t,m.config=n}return m},b=(e,t,n)=>{const i=new IntersectionObserver(n,t);return e.forEach((e=>i.observe(e))),[i,t]},v=(e,t)=>b(o(e),{},t),y=(e,t,n,i)=>b(o(e),{root:t,rootMargin:n},i),w=(e,t,n)=>{const i=new ResizeObserver(n);return e.forEach((e=>i.observe(e,t))),[i,t]},x=(e,t)=>w(o(e),{box:"border-box"},t),_=lodash.once((()=>{let e=document.URL;g((()=>{e!==document.URL&&((()=>{const e=new CustomEvent("urlChange",{detail:document.URL});window.dispatchEvent(e)})(),e=document.URL)}))})),k=(e,t)=>{_(),e(document.URL),window.addEventListener("urlChange",(()=>e(document.URL)),t)},C=lodash.once((()=>(0,r.select)((()=>{if(unsafeWindow.cid)return unsafeWindow.cid;if(unsafeWindow.player&&unsafeWindow.player.getVideoMessage){const e=unsafeWindow.player.getVideoMessage();return Number.isNaN(e.cid)?null:(!unsafeWindow.aid&&e.aid&&(unsafeWindow.aid=e.aid.toString()),!unsafeWindow.bvid&&e.bvid&&(unsafeWindow.bvid=e.bvid),!unsafeWindow.cid&&e.cid&&(unsafeWindow.cid=e.cid.toString()),e.cid.toString())}return null}))));let S=!1;const E=async(e,t)=>{if(!(0,a.matchCurrentPage)(a.playerUrls))return!1;const{bpxPlayerPolyfill:i}=await Promise.resolve().then(n.bind(n,1479));i();const r=await C();if(null===r)return!1;const o=()=>({aid:unsafeWindow.aid,cid:unsafeWindow.cid});if(!S){let e=r;g((()=>{const{cid:t}=o();Array.isArray(t)||e===t||lodash.isNil(t)||((()=>{const e=o(),t=new CustomEvent("videoChange",{detail:e});window.dispatchEvent(t)})(),e=t)})),S=!0}return e(o()),window.addEventListener("videoChange",(t=>e(t.detail)),t),!0}},2428:function(e,t,n){"use strict";n.r(t),n.d(t,{componentLoadTime:function(){return i},componentResolveTime:function(){return r},componentLoadTrace:function(){return a}});const i=new Map,r=new Map,a=async e=>{const{getGeneralSettings:t}=await Promise.resolve().then(n.bind(n,7724));if(!t().devMode)return;const a=e.entry;e.entry=async e=>{const{metadata:t}=e,n=performance.now();let o=a(e);const s=performance.now();o instanceof Promise&&(o=await o);const l=performance.now();return i.set(t,s-n),r.set(t,l-n),o}}},2053:function(e,t,n){"use strict";n.r(t),n.d(t,{pluginLoadTime:function(){return i},pluginResolveTime:function(){return r},pluginLoadTrace:function(){return a}});const i=new Map,r=new Map,a=async e=>{const{getGeneralSettings:t}=await Promise.resolve().then(n.bind(n,7724));if(!t().devMode)return;const a=e.setup;e.setup=async t=>{const n=performance.now();let o=a(t);const s=performance.now();o instanceof Promise&&(o=await o);const l=performance.now();return i.set(e,s-n),r.set(e,l-n),o}}},5878:function(e,t,n){"use strict";n.r(t),n.d(t,{promiseLoadTime:function(){return i},promiseResolveTime:function(){return r},promiseLoadTrace:function(){return a}});const i=new Map,r=new Map,a=async(e,t)=>{const{getGeneralSettings:a}=await Promise.resolve().then(n.bind(n,7724));if(!a().devMode)return t();const o=performance.now(),s=t(),l=performance.now(),c=await s,d=performance.now();return i.set({name:e},l-o),r.set({name:e},d-o),c}},9821:function(e,t,n){"use strict";n.r(t),n.d(t,{logStats:function(){return i}});const i=(e,t)=>{const n=[...t.entries()],i=n.reduce(((e,t)=>e+t[1]),0);console.groupCollapsed(`${e} time:`,Math.round(100*i)/100+"ms",`for ${n.length} items`),n.forEach((([e,t])=>{console.log(`%c${e.name} %c${Math.round(100*t)/100}ms ${Math.round(t/i*1e4)/100}% %c`,"color: #00A0D8","color: #888","color: unset")})),console.groupEnd()}},6984:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{RuntimeLibrary:function(){return RuntimeLibrary},protobufLibrary:function(){return protobufLibrary},JSZipLibrary:function(){return JSZipLibrary},SortableJSLibrary:function(){return SortableJSLibrary}});var _ajax__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(6773);function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class RuntimeLibrary{constructor(e){this.config=e,_defineProperty(this,"modulePromise",void 0)}async then(resolve,reject){try{const{url:url,getModule:getModule}=this.config;this.modulePromise||(this.modulePromise=(async()=>{console.log(`[Runtime Library] Start download from ${url}`);const code=await(0,_ajax__WEBPACK_IMPORTED_MODULE_0__.monkey)({url:url});return console.log(`[Runtime Library] Downloaded from ${url} , length = ${code.length}`),function runEval(){return eval(code);// eslint-disable-next-line no-extra-bind +e.__vue__??e.parentElement.__vue__??e.children[0].__vue__,$e=e=>t=>{e.startsWith(".")&&(e=e.substring(1));const n=Boolean(t),i=t&&t.parentNode,r=t instanceof HTMLElement&&t.classList.contains(e);return n&&i&&r};let Ae;!function(e){e.AddCard="addCard",e.RemoveCard="removeCard"}(Ae||(Ae={}));class Te extends EventTarget{constructor(...e){super(...e),Se(this,"watching",!1),Se(this,"cards",[]),Se(this,"managerType",void 0)}addEventListener(e,t,n){super.addEventListener(e,t,n)}removeEventListener(e,t,n){super.removeEventListener(e,t,n)}dispatchCardEvent(e,t){const n=new CustomEvent(e,{detail:t});this.dispatchEvent(n),Ee.forEach((n=>n[e===Ae.AddCard?"added":"removed"](t)))}async startWatching(){if(this.watching)return!0;this.watching=!0;const[e]=(0,ye.registerAndGetData)(Ce,[]),t=e.find((e=>e.match.some((e=>(0,K.matchUrlPattern)(e)))));return t?t.watchCardsList(this):(console.warn("[FeedsCardsManager] No adaptor found",e),!1)}}const Oe=e=>e.querySelector(".repost")?we.repost:e.querySelector(".imagesbox")?we.textWithImages:e.querySelector(".video-container")?we.video:e.querySelector(".bangumi-container")?we.bangumi:e.querySelector(".article-container")?we.column:e.querySelector(".music-container")?we.audio:e.querySelector(".h5share-container")?we.share:e.querySelector(".vc-ctnr")?we.miniVideo:e.querySelector(".live-container")?we.liveRecord:we.text,Me=async e=>{const t=async t=>{const n=await(0,R.sq)((()=>e.querySelector(t)),(t=>null!==t||null===e.parentNode),{queryInterval:100});if(null===e.parentNode)return"";if(null===n)return console.warn(e,t,e.parentNode),"";return n.innerText.trim()},n=e=>{if(void 0===e.card.origin)return{originalText:"",originalDescription:"",originalTitle:""};const t=JSON.parse(e.card.origin);return{originalText:e.originCardData.pureText,originalDescription:lodash.get(t,"item.description",lodash.get(t,"desc","")),originalTitle:t.title}},i=async e=>{const n=parseInt(await t(e));return isNaN(n)?0:n},r={id:e.getAttribute("data-did"),username:await t(".main-content .user-name"),text:"",reposts:await i(".button-bar .single-button:nth-child(1) .text-offset"),comments:await i(".button-bar .single-button:nth-child(2) .text-offset"),likes:await i(".button-bar .single-button:nth-child(3) .text-offset"),element:e,type:Oe(e),get presented(){return null!==e.parentNode},async getText(){return(async t=>{if(t===we.bangumi)return"";const i=await(0,R.sq)((()=>e),(t=>Boolean(Ie(t)||!e.parentNode)),{queryInterval:100});if(null===e.parentNode)return"";if(null===i)return console.warn(i,e,Ie(i),e.parentNode),"";const r=Ie(i);if(t===we.repost){const e=r.card.item.content,t=n(r);return[e,...Object.values(t).filter((e=>""!==e))].filter((e=>Boolean(e))).join("\n")}return[r.originCardData.pureText,r.originCardData.title].filter((e=>Boolean(e))).join("\n")})(this.type)}};if(r.text=await r.getText(),e.setAttribute("data-type",r.type.id.toString()),xe(r)){const t=r.username,i=Ie(r.element),a=lodash.get(i,"card.origin_user.info.uname","");t===a&&e.setAttribute("data-self-repost","true"),r.repostUsername=a,r.repostText=n(i).originalText}return r};class Le extends Te{constructor(...e){var t,n,i;super(...e),i="v1",(n="managerType")in(t=this)?Object.defineProperty(t,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[n]=i}async addCard(e){if(e&&e instanceof HTMLElement&&e.classList.contains("card"))if(null!==e.querySelector(".skeleton")){const[t]=(0,P.childList)(e,(()=>{null===e.querySelector(".skeleton")&&(t.disconnect(),this.addCard(e))}))}else{if(null===e.parentNode)return;const t=await Me(e);if(!t.presented)return;if(this.cards.find((e=>e.id===t.id)))return;this.cards.push(t),this.cards.sort(((e,t)=>e.id===t.id?0:e.id>t.id?-1:1)),this.dispatchCardEvent(Ae.AddCard,t)}}async removeCard(e){if(e&&e instanceof HTMLElement&&e.classList.contains("card")){const t=e.getAttribute("data-did"),n=this.cards.findIndex((e=>e.id===t));if(-1===n)return;const i=this.cards[n];this.cards.splice(n,1),this.dispatchCardEvent(Ae.RemoveCard,i)}}updateCards(e){const t=".card[data-did]",n=e=>{if(e instanceof HTMLElement){if(e.matches(t))return e;const n=e.querySelector(t);if(n)return n}};return[...e.querySelectorAll(t)].forEach((e=>this.addCard(e))),(0,P.childList)(e,(e=>{e.forEach((e=>{e.addedNodes.forEach((e=>this.addCard(n(e)))),e.removedNodes.forEach((e=>this.removeCard(n(e))))}))}))}}const Pe={DynamicTypeForward:we.repost,DynamicTypeAv:we.video,DynamicTypeDraw:we.textWithImages,DynamicTypeWord:we.text,DynamicTypePgc:we.bangumi,DynamicTypeArticle:we.column,DynamicTypeMusic:we.audio,DynamicTypeLiveRcmd:we.liveRecord},ze=(...e)=>e.filter((e=>Boolean(e))).join("\n").trim(),De=(e,t)=>{const{desc:n,major:i}=e,r=n?.text??"";let a="";switch(t){default:break;case we.bangumi:case we.column:case we.video:{const e=i.archive??i.pgc??i.article,{title:t,desc:n}=e;a=ze(t,n);break}}return ze(r,a)},Ve=async e=>{const t=Ie(e),{modules:n,id_str:i,type:r}=t.data,{name:a}=n.module_author,{like:o,forward:s,comment:l}=n.module_stat,c=(d=r,Pe[(0,K.pascalCase)(d)]??Pe.DynamicTypeWord);var d;e.dataset.type=c.id.toString();const u={id:i,username:a,likes:o.count,reposts:s.count,comments:l.count,text:"",type:c,element:e,get presented(){return null!==e.parentNode},getText:async()=>De(n.module_dynamic,c)};if(xe(u)){const i=u.username,{module_author:{name:r},module_dynamic:a}=t.data.orig.modules;u.repostUsername=r,u.repostText=De(a,c),r===i&&e.setAttribute("data-self-repost","true"),u.getText=async()=>ze(De(n.module_dynamic,c),De(a,c))}return u.text=await u.getText(),u},Ne=$e("bili-dyn-list__item");class Be extends Te{constructor(...e){var t,n,i;super(...e),i="v2",(n="managerType")in(t=this)?Object.defineProperty(t,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[n]=i}async addCard(e){if(!Ne(e))return;const t=await Ve(e);t.presented&&(this.cards.push(t),this.cards.sort((0,oe.descendingStringSort)((e=>e.id))),this.dispatchCardEvent(Ae.AddCard,t))}async removeCard(e){if(!Ne(e))return;const t=Ie(e).data?.id_str??"0",n=this.cards.findIndex((e=>e.id===t));if(-1===n)return;const[i]=this.cards.splice(n,1);this.dispatchCardEvent(Ae.RemoveCard,i)}updateCards(e){const t=".bili-dyn-list__item";dqa(e,t).forEach((e=>this.addCard(e)));const n=e=>Ne(e)?e.matches(t)?e:e.querySelector(t):null;return(0,P.childList)(e,(e=>{e.forEach((e=>{e.addedNodes.forEach((e=>this.addCard(n(e)))),e.removedNodes.forEach((e=>this.removeCard(n(e))))}))}))}}const je=parseInt((0,K.getCookieValue)("hit-dyn-v2"))>0?new Be:new Le,qe=async e=>{if(!await je.startWatching())return console.error("feedsCardsManager.startWatching() failed"),null;const{added:t}=e;return t&&je.cards.forEach((e=>t(e))),Ee.push({added:none,removed:none,...e}),je},Fe=e=>{const t=lodash.groupBy(e,(e=>e.aid)),n=e=>({id:e.upID,name:e.upName,faceUrl:e.upFaceUrl});return Object.values(t).map((e=>{if(1===e.length)return e[0];const[t,...i]=e;return t.cooperation=[n(t),...i.map(n)],console.log([...t.cooperation]),t})).sort((0,oe.descendingStringSort)((e=>e.id)))},Re=e=>1===lodash.get(e,"extra.is_reserve_recall",0),Ue="feeds.contentFilters";(0,ye.registerData)(Ue,[]);const He=e=>{const[t]=(0,ye.getData)(Ue);return t.reduce(((e,t)=>t.filter(e)),e)},Ze=e=>(...t)=>e(...t).then((e=>He(e))),We=Ze((async(e="video")=>{if(!(0,K.getUID)())return[];const t=await(0,S.getJsonWithCredentials)(`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=${(0,K.getUID)()}&type_list=${"video"===e?8:512}`);if(0!==t.code)throw new Error(t.message);const n=t.data.cards,i=n.filter((e=>!Re(JSON.parse(e.card))));return"video"===e?Fe(n.map((e=>{const t=JSON.parse(e.card),n=lodash.get(e,"display.topic_info.topic_details",[]).map((e=>({id:e.topic_id,name:e.topic_name})));return{id:e.desc.dynamic_id_str,aid:t.aid,bvid:e.desc.bvid||t.bvid,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(1e3*e.timestamp),topics:n,dynamic:t.dynamic,like:(0,Y.formatCount)(e.desc.like),duration:t.duration,durationText:(0,Y.formatDuration)(t.duration,0),playCount:(0,Y.formatCount)(t.stat.view),danmakuCount:(0,Y.formatCount)(t.stat.danmaku),watchlater:ge.includes(t.aid)}}))):"bangumi"===e?i.map((e=>{const t=JSON.parse(e.card);return{id:e.desc.dynamic_id_str,aid:t.aid,bvid:e.desc.bvid||t.bvid,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(1e3*e.timestamp),like:(0,Y.formatCount)(e.desc.like),durationText:"",playCount:(0,Y.formatCount)(t.play_count),danmakuCount:(0,Y.formatCount)(t.bullet_count),watchlater:!1}})):[]})),Ge=async(e,t)=>{if("string"==typeof e)return(0,S.getJsonWithCredentials)(`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=${(0,K.getUID)()}&type_list=${e}`);const n=e.id.toString();let i=`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=${(0,K.getUID)()}&type_list=${n}`;return t&&(i=`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_history?uid=${(0,K.getUID)()}&offset_dynamic_id=${t}&type=${n}`),(0,S.getJsonWithCredentials)(i)},Xe=(e,t)=>{const n=dq(e.element,".more-panel, .bili-dyn-more__menu"),i=n.classList.contains("bili-dyn-more__menu"),{className:r,text:a,action:o}=t;if(!n||dq(n,`.${r}`))return;const s=document.createElement(i?"div":"p");i?(s.classList.add("bili-dyn-more__menu__item",r),s.style.height="25px",s.style.padding="2px 0",s.style.textAlign="center",s.dataset.module="more",s.dataset.type=lodash.snakeCase(`ThreePoint${(0,K.pascalCase)(r)}`).toUpperCase(),s.dataset.params="{}"):s.classList.add("child-button","c-pointer",r),s.textContent=a;[...new Set([...n.children].map((e=>e.getAttributeNames().filter((e=>e.startsWith("data-v-"))))).flat())].forEach((e=>s.setAttribute(e,""))),s.addEventListener("click",(t=>{o(t),e.element.click()})),n.appendChild(s)};var Ke=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{staticClass:"bangumi-card",class:{new:e.isNew},attrs:{target:"_blank",href:e.data.url}},[n("div",{staticClass:"ep-cover-container"},[n("DpiImage",{staticClass:"ep-cover",attrs:{size:{width:100},src:e.data.epCoverUrl}})],1),e._v(" "),n("h1",{staticClass:"ep-title",attrs:{title:e.data.epTitle}},[e._v(e._s(e.data.epTitle))]),e._v(" "),n("div",{staticClass:"up",attrs:{title:e.data.title}},[n("DpiImage",{staticClass:"cover",attrs:{size:24,src:e.data.coverUrl}}),e._v(" "),n("div",{staticClass:"title"},[e._v(e._s(e.data.title))])],1)])};Ke._withStripped=!0;var Je=Vue.extend({components:{DpiImage:de.DpiImage},props:{data:{type:Object,required:!0},isNew:{type:Boolean,default:!1}}}),Ye=n(3379),Qe=n.n(Ye),et=n(4780),tt=n.n(et),nt={insert:"head",singleton:!1},it=(Qe()(tt(),nt),tt().locals,n(1900)),rt=(0,it.Z)(Je,Ke,[],!1,null,"3bc2da4f",null);rt.options.__file="src/components/feeds/BangumiCard.vue";var at=rt.exports,ot=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{staticClass:"be-up-info",class:{fallback:!e.upFaceUrl},attrs:{href:e.actualHref,title:e.upName,target:"_blank"}},[e.upFaceUrl?n("DpiImage",{staticClass:"be-up-info-cover",attrs:{size:24,src:e.upFaceUrl}}):n("div",{staticClass:"be-up-info-cover-fallback"},[e._t("fallback-icon",[n("VIcon",{attrs:{icon:"up-outline",size:18}})])],2),e._v(" "),n("div",{staticClass:"be-up-info-name"},[e._v("\n "+e._s(e.upName)+"\n ")])],1)};ot._withStripped=!0;var st=Vue.extend({components:{DpiImage:de.DpiImage,VIcon:de.VIcon},props:{href:{type:String,default:""},upId:{type:[String,Number],default:""},upFaceUrl:{type:String,default:""},upName:{type:String,required:!0}},computed:{actualHref(){return this.href?this.href:`https://space.bilibili.com/${this.upId}`}}}),lt=n(3934),ct=n.n(lt),dt={insert:"head",singleton:!1},ut=(Qe()(ct(),dt),ct().locals,(0,it.Z)(st,ot,[],!1,null,null,null));ut.options.__file="src/components/feeds/UpInfo.vue";var pt=ut.exports,ft=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{staticClass:"video-card",class:{vertical:"vertical"===e.orientation,"no-stats":!e.showStats},attrs:{target:"_blank",href:e.epID?"https://www.bilibili.com/bangumi/play/ep"+e.epID:"https://www.bilibili.com/video/"+e.bvid}},[n("div",{staticClass:"cover-container"},[n("DpiImage",{staticClass:"cover",attrs:{src:e.coverUrl,size:{height:120,width:200}}}),e._v(" "),e.isNew?n("div",{staticClass:"new"},[e._v("NEW")]):e._e(),e._v(" "),e.pubTime&&e.pubTimeText?[n("div",{staticClass:"publish-time-summary"},[e._v("\n "+e._s(e.pubTimeText)+"\n ")]),e._v(" "),n("div",{staticClass:"publish-time-detail"},[e._v("\n "+e._s(e.pubTime)+"\n ")])]:e._e(),e._v(" "),e.durationText?n("div",{staticClass:"duration"},[e._v(e._s(e.durationText))]):e._e(),e._v(" "),e.durationText&&null!==e.watchlater&&void 0!==e.watchlater?n("div",{staticClass:"watchlater",on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.toggleWatchlater(e.aid)}}},[n("VIcon",{attrs:{size:15,icon:e.watchlater?"mdi-check-circle":"mdi-clock-outline"}}),e._v("\n "+e._s(e.watchlater?"已添加":"稍后再看")+"\n ")],1):e._e()],2),e._v(" "),n("h1",{staticClass:"title",attrs:{title:e.title}},[e._v(e._s(e.title))]),e._v(" "),e.topics&&e.topics.length?n("div",{staticClass:"topics"},e._l(e.topics.slice(0,3),(function(t){return n("a",{key:t.id,staticClass:"topic",attrs:{target:"_blank",href:"https://t.bilibili.com/topic/name/"+t.name+"/feed"}},[e._v("#"+e._s(t.name)+"#")])})),0):n("p",{staticClass:"description",attrs:{title:e.description}},[e._v(e._s(e.description))]),e._v(" "),0===e.cooperation.length?n("a",{staticClass:"up",class:{"no-face":!e.upFaceUrl},attrs:{target:"_blank",href:e.upID?"https://space.bilibili.com/"+e.upID:null}},[e.upFaceUrl?n("DpiImage",{staticClass:"face",attrs:{src:e.upFaceUrl,size:24}}):n("VIcon",{attrs:{icon:"up"}}),e._v(" "),n("div",{staticClass:"name",attrs:{title:e.upName}},[e._v(e._s(e.upName))])],1):e._e(),e._v(" "),0!==e.cooperation.length?n("div",{staticClass:"cooperation"},[n("div",{staticClass:"cooperation-ups"},e._l(e.reversedCooperation,(function(e){return n("a",{key:e.id,staticClass:"cooperation-up",class:{"no-face":!e.faceUrl},attrs:{target:"_blank",title:e.name,href:e.id?"https://space.bilibili.com/"+e.id:null}},[e.faceUrl?n("DpiImage",{staticClass:"face",attrs:{src:e.faceUrl,size:24}}):n("VIcon",{attrs:{icon:"up"}})],1)})),0),e._v(" "),n("div",{staticClass:"cooperation-note"},[e._v("\n 联合投稿\n ")])]):e._e(),e._v(" "),e.showStats?n("div",{staticClass:"stats"},[e.vertical?[e.playCount?[n("VIcon",{attrs:{icon:"play",size:e.statsIconSize}}),e._v("\n "+e._s(e.playCount)+"\n ")]:e._e(),e._v(" "),e.danmakuCount?[n("VIcon",{attrs:{icon:"danmaku",size:e.statsIconSize}}),e._v("\n "+e._s(e.danmakuCount)+"\n ")]:e._e(),e._v(" "),e.like?[n("VIcon",{attrs:{icon:"like-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.like)+"\n ")]:e._e(),e._v(" "),e.coins?[n("VIcon",{attrs:{icon:"coin-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.coins)+"\n ")]:e._e(),e._v(" "),e.favorites?[n("VIcon",{attrs:{icon:"favorites-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.favorites)+"\n ")]:e._e()]:[e.like?[n("VIcon",{attrs:{icon:"like-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.like)+"\n ")]:e._e(),e._v(" "),e.coins?[n("VIcon",{attrs:{icon:"coin-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.coins)+"\n ")]:e._e(),e._v(" "),e.favorites?[n("VIcon",{attrs:{icon:"favorites-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.favorites)+"\n ")]:e._e(),e._v(" "),e.playCount?[n("VIcon",{attrs:{icon:"play",size:e.statsIconSize}}),e._v("\n "+e._s(e.playCount)+"\n ")]:e._e(),e._v(" "),e.danmakuCount?[n("VIcon",{attrs:{icon:"danmaku",size:e.statsIconSize}}),e._v("\n "+e._s(e.danmakuCount)+"\n ")]:e._e()]],2):e._e()])};ft._withStripped=!0;var ht={components:{DpiImage:de.DpiImage,VIcon:de.VIcon},props:{data:{type:Object,required:!0},orientation:{type:String,default:"horizontal"},showStats:{type:Boolean,default:!0},isNew:{type:Boolean,default:!1}},data(){return{watchlaterList:ge,upFaceUrl:"",danmakuCount:"",like:"",coins:"",favorites:"",dynamic:"",topics:[],upID:0,epID:0,cooperation:[],pubTime:0,pubTimeText:"",...lodash.omit(this.data,"watchlater"),watchlaterInit:this.data.watchlater,statsIconSize:14}},computed:{vertical(){return"vertical"===this.orientation},watchlater(){return(0,K.getUID)()&&null!==this.watchlaterInit?this.watchlaterList.includes(this.aid):null},reversedCooperation(){return[...this.cooperation].reverse().slice(0,3)}},methods:{toggleWatchlater:ve}},mt=n(1267),gt=n.n(mt),bt={insert:"head",singleton:!1},vt=(Qe()(gt(),bt),gt().locals,(0,it.Z)(ht,ft,[],!1,null,"0ffa1cb1",null));vt.options.__file="src/components/feeds/VideoCard.vue";var yt=vt.exports,wt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{staticClass:"column-card",attrs:{target:"_blank",href:"https://www.bilibili.com/read/cv"+e.data.cvID}},[n("div",{staticClass:"covers"},e._l(e.data.covers,(function(e){return n("DpiImage",{key:e,staticClass:"cover",attrs:{size:{height:120},src:e}})})),1),e._v(" "),n("a",{staticClass:"up",attrs:{target:"_blank",href:"https://space.bilibili.com/"+e.data.upID}},[n("DpiImage",{staticClass:"face",attrs:{size:24,src:e.data.upFaceUrl}}),e._v(" "),n("div",{staticClass:"name"},[e._v(e._s(e.data.upName))])],1),e._v(" "),n("h1",{staticClass:"title",attrs:{title:e.data.title}},[e._v(e._s(e.data.title))]),e._v(" "),n("div",{staticClass:"description",attrs:{title:e.data.description}},[e._v(e._s(e.data.description))])])};wt._withStripped=!0;var xt=Vue.extend({components:{DpiImage:de.DpiImage},props:{data:{type:Object,required:!0},isNew:{type:Boolean,default:!1}}}),_t=n(9109),kt=n.n(_t),Ct={insert:"head",singleton:!1},St=(Qe()(kt(),Ct),kt().locals,(0,it.Z)(xt,wt,[],!1,null,"8e8ea920",null));St.options.__file="src/components/feeds/ColumnCard.vue";var Et=St.exports;let It=!1,$t=0;const At="disable-profile-popup",Tt=async()=>{if("https://t.bilibili.com/"!==document.URL.replace(window.location.search,""))return;const e=await(0,R.select)(".live-up-list, .bili-dyn-live-users__body");null!==e&&($t++,It||(e.addEventListener("mouseenter",(e=>{$t>0&&e.stopImmediatePropagation()}),{capture:!0}),It=!0))},Ot=()=>{$t--},Mt=3e5,Lt=()=>(0,K.getCookieValue)(`bp_t_offset_${(0,K.getUID)()}`),Pt=(e,t)=>e===t?0:e.length>t.length?1:t.length>e.length?-1:e>t==!0?1:-1,zt=e=>{if(null==e)return;const t=Lt();Pt(e,t)<0||(document.cookie=`bp_t_offset_${(0,K.getUID)()}=${e};path=/;domain=.bilibili.com;max-age=2592000`)},Dt=e=>Pt(e,Lt())>0,Vt=e=>{const[t]=[...e.map((e=>e.id))].sort(Pt).reverse();zt(t)},Nt=async e=>{const t=`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_num?rsp_type=1&uid=${(0,K.getUID)()}&update_num_dy_id=${Lt()}&type_list=${e||ke}`,n=await(0,S.getJsonWithCredentials)(t);return 0!==n.code?0:lodash.get(n,"data.update_num",0)},Bt=e=>{e.startsWith("#")&&(e=e.substring(1));return{red:e.substring(0,2),green:e.substring(2,4),blue:e.substring(4,6)}},jt=e=>{const{red:t,green:n,blue:i}=Bt(e);return`\\c&H${i}${n}${t}&`.toUpperCase()},qt=(e,t=1)=>{const{red:n,green:i,blue:r}=Bt(e);return`&H${Math.round(255*(1-t)).toString(16).padStart(2,"0")}${r}${i}${n}`.toUpperCase()},Ft=e=>{let t=0,n=0;for(;e>=60;)e-=60,n++;for(;n>=60;)n-=60,t++;return`${t}:${String(n).padStart(2,"0")}:${(e=>{const[t,n="00"]=String(e).split(".");return`${t.padStart(2,"0")}.${n.substring(0,2).padEnd(2,"0")}`})(e)}`},Rt=(e,t)=>[Ft(e),Ft(e+t)],Ut=(e,t)=>[Ft(e),Ft(t)],Ht=e=>{const t={"{":"{","}":"}","&":"&","<":"<",">":">",""":'"',"'":"'","\n":"\\N"};for(const[n,i]of Object.entries(t))e=e.replace(new RegExp(n,"g"),i);return e},Zt={"&":"&","<":"<",">":">",""":'"',"'":"'"},Wt=Object.fromEntries(Object.entries(Zt).map((e=>e.reverse()))),Gt=(e,t)=>{for(const[n,i]of Object.entries(t))e=e.replace(new RegExp(n,"g"),i);return e},Xt=e=>Gt(e,Wt),Kt=e=>Gt(e,Zt);var Jt=n(4572);const Yt=e=>se.playerUrls.some((e=>(0,K.matchUrlPattern)(e)))?async()=>{const t=Jt.playerAgent,{query:{control:{settings:n,buttons:i}}}=t;ne(i.settings.selector,n.wrap.selector),t.toggleLight(e)}:K.none,Qt=Yt(!0),en=Yt(!1);let tn;const nn=[],rn=async e=>{await(0,R.hasVideo)()&&(0,P.videoChange)((async()=>{const t=await Jt.playerAgent.query.video.danmaku();t&&((e,t)=>{tn&&tn.disconnect(),[tn]=(0,P.childListSubtree)(e,(e=>{e.forEach((e=>{e.addedNodes.forEach((e=>{if(e.nodeType===Node.TEXT_NODE){const n=e.parentElement,i=nn.find((e=>e.element===n));if(!i)return;return i.text=e.textContent||"",i.reuse=!0,void(t.added&&t.added(i))}if(!(e instanceof HTMLElement))return;const n={element:i=e,reuse:!1,text:i.textContent||""};var i;nn.push(n),t.added&&t.added(n)})),e.removedNodes.forEach((e=>{if(!(e instanceof HTMLElement))return;const n=nn.findIndex((t=>t.element===e));if(-1!==n){const[e]=nn.splice(n,1);t.removed&&t.removed(e)}}))}))}))})(t,e)}))};function an(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class on{constructor(e){an(this,"aid",void 0),an(this,"cid",void 0),an(this,"pageCount",void 0),an(this,"coverUrl",void 0),an(this,"tagId",void 0),an(this,"tagName",void 0),an(this,"title",void 0),an(this,"description",void 0),an(this,"up",void 0),an(this,"pages",void 0),an(this,"subtitles",void 0),this.aid=e}async fetchInfo(){let e;e=this.cid?`https://api.bilibili.com/x/web-interface/view?aid=${this.aid}&cid=${this.cid}`:`https://api.bilibili.com/x/web-interface/view?aid=${this.aid}`;const t=await(0,S.getJsonWithCredentials)(e);if(0!==t.code)throw new Error(t.message);const{data:n}=t;return this.cid=n.cid,this.pageCount=n.videos,this.coverUrl=n.pic.replace("http:","https:"),this.tagId=n.tid,this.tagName=n.tname,this.title=n.title,this.description=n.desc,this.up={uid:n.owner.mid,name:n.owner.name,faceUrl:n.owner.face.replace("http:","https:")},this.pages=n.pages.map((e=>({cid:e.cid,title:e.part,pageNumber:e.page}))),this.subtitles=n.subtitle.list.map((e=>({id:e.id,languageCode:e.lan,language:e.lan_doc,url:e.subtitle_url.replace("http:","https:")}))),this}}class sn{constructor(e){an(this,"ep",void 0),an(this,"videos",void 0),an(this,"title",void 0),an(this,"cover",void 0),an(this,"squareCover",void 0),an(this,"aid",void 0),an(this,"cid",void 0),this.ep=e,this.videos=[]}async fetchInfo(){const e=await(0,S.getText)(`https://www.bilibili.com/bangumi/play/ep${this.ep}/`),t=JSON.parse(e.match(/window\.__INITIAL_STATE__=(.*);\(function\(\){/)[1]);return this.title=t.mediaInfo.title,this.cover=t.mediaInfo.cover,this.squareCover=t.mediaInfo.square_cover,this.aid=t.epInfo.aid,this.cid=t.epInfo.cid,this.videos=t.epList.map((async e=>({title:e.index_title,aid:e.aid,cid:e.cid,info:await new on(e.aid).fetchInfo()}))),this}}const ln=[{name:"720P",displayName:"高清 720P",value:64},{name:"1080P",displayName:"高清 1080P",value:80}],cn=[{name:"8K",displayName:"超高清 8K",value:127},{name:"DolbyVision",displayName:"杜比视界",value:126},{name:"HDR",displayName:"真彩 HDR",value:125},{name:"4K",displayName:"超清 4K",value:120},{name:"1080P60",displayName:"高清 1080P60",value:116},{name:"1080P+",displayName:"高清 1080P+",value:112},{name:"720P60",displayName:"高清 720P60",value:74}],dn=[...cn,...ln,{name:"480P",displayName:"清晰 480P",value:32},{name:"360P",displayName:"流畅 360P",value:16}].sort((0,oe.descendingSort)((e=>e.value))),un=async e=>{const{open:t,close:n}=e;if(!(0,R.hasVideo)())return;const i=await(0,R.select)(".bilibili-player");if(!i)return;const[r]=(0,P.childList)(i,(()=>{const e=dq(".bilibili-player-context-menu-origin");if(e){r.disconnect();const i=dq(e,"ul"),a={containerElement:e,listElement:i,get itemElements(){return dqa(e,".context-menu-function")},get isOpen(){return e.classList.contains("active")}};(0,P.childList)(i,(()=>{a.isOpen?t?.(a):n?.(a)}))}}))},pn=async(e,t)=>un({open:t=>{if(t.listElement.contains(e))return;const n=document.createElement("li");n.classList.add("context-line","context-menu-function"),n.setAttribute("data-append","1");const i=document.createElement("a");i.classList.add("context-menu-a","js-action"),i.href="javascript:void(0);",i.appendChild(e),n.addEventListener("mouseover",(()=>n.classList.add("hover"))),n.addEventListener("mouseout",(()=>n.classList.remove("hover"))),n.appendChild(i),t.listElement.appendChild(n)},close:e=>t?.(e)});let fn=null;const hn=[],mn=lodash.once((()=>se.playerUrls.some((e=>(0,K.matchUrlPattern)(e)))?new Promise((e=>{(0,P.videoChange)((async()=>{const{playerAgent:t}=await Promise.resolve().then(n.bind(n,4572)),i=await t.query.control.buttons.time(),r=await Promise.resolve().then(n.bind(n,413)).then((e=>e.default));if(null===i||null!==i.parentElement?.querySelector(".be-video-control-bar-extend"))return;const a=new r({propsData:{items:hn}}).$mount();i.insertAdjacentElement("afterend",a.$el),e(a)}))})):Promise.resolve(null))),gn=async e=>{fn||(fn=mn());await fn&&hn.push(e)},bn=async e=>{if(!se.liveUrls.some((e=>(0,K.matchUrlPattern)(e))))return;const t=await(0,R.select)(".bilibili-live-player-video-controller, .web-player-controller-wrap:not(.web-player-controller-bg)");if(!t)return;const{init:n,callback:i}=e;n?.(t),(0,P.childList)(t,(async()=>{const e=dq(t,".control-area");e&&i?.(e)}))};function vn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const yn=0,wn=2,xn={heartBeat:2,heartBeatResponse:3,message:5,enterRoom:7,enterRoomResponse:8};class _n{constructor(){vn(this,"textEncoder",new TextEncoder),vn(this,"textDecoder",new TextDecoder)}static readInt(e,t,n){let i=0;for(let r=n-1;r>=0;r--)i+=256**(n-r-1)*e[t+r];return i}static writeInt(e,t,n,i){let r=0;for(;r{const i={packetLength:_n.readInt(e,0,4),headerLength:_n.readInt(e,4,2),protocolVersion:_n.readInt(e,6,2),operation:_n.readInt(e,8,4),sequenceID:_n.readInt(e,12,4)},r=[i];if(i.packetLengthe.messages[0])))}else i.protocolVersion===yn&&(i.messages=[JSON.parse(this.textDecoder.decode(r))])}else i.operation===xn.heartBeatResponse&&(i.heartBeatResponse={count:_n.readInt(e,16,4)});return r};return new Promise(((n,i)=>{const r=new FileReader;r.onload=async e=>{if(!e.target)return void i(e);const r=new Uint8Array(e.target.result);n(await t(r))},r.readAsArrayBuffer(e)}))}}class kn{constructor(){vn(this,"startTime",0)}getLiveTime(){return new Promise((e=>{if(this.startTime)return void e(this.startTime);const t=(0,K.dq)(".bilibili-live-player-video-controller-duration-btn span"),[n]=(0,P.childList)(t,(t=>{if(t.length>0&&t.some((e=>e.addedNodes.length>0&&[...e.addedNodes].every((e=>e.nodeType===Node.TEXT_NODE))))){n.disconnect();const i=t[0].addedNodes[0].textContent,[r,a,o=0]=i.split(":").reverse().map(lodash.unary(parseInt)),s=Number(new Date);this.startTime=s-1e3*o*3600-60*a*1e3-1e3*r,e(this.startTime)}}))}))}}class Cn extends EventTarget{constructor(e){super(),this.roomID=e,vn(this,"heartBeatTimer",void 0),vn(this,"webSocket",void 0),vn(this,"retryInterval",200),vn(this,"autoRetry",!0),vn(this,"servers",["broadcastlv.chat.bilibili.com"]),vn(this,"selectedServer",""),vn(this,"liveTime",new kn),vn(this,"bufferHelper",new _n),vn(this,"stopRequested",!1),window.addEventListener("unload",(()=>this.stop()))}heartBeat(){this.webSocket.readyState===WebSocket.OPEN?this.webSocket.send(this.bufferHelper.encode("","heartBeat")):(this.stop(),this.restart())}restart(){if(this.dispatchEvent(new CustomEvent("restart")),!this.stopRequested&&this.autoRetry){console.log(`Live Socket: unexpected disconnect, retry in ${this.retryInterval}ms`);const e=this.servers.indexOf(this.selectedServer);ethis.start()),this.retryInterval)}}async start(){const e=await(0,S.getJson)(`https://api.live.bilibili.com/room/v1/Danmu/getConf?room_id=${this.roomID}&platform=pc&player=web`),t=lodash.get(e,"data.host_server_list",[]);this.servers=[...new Set([...this.servers,...t.map((e=>e.host))])],""===this.selectedServer&&([this.selectedServer]=this.servers,console.log("Initial server:",this.selectedServer)),this.webSocket&&[WebSocket.CONNECTING,WebSocket.OPEN].includes(this.webSocket.readyState)&&this.stop(),this.webSocket=new WebSocket(`wss://${this.selectedServer}/sub`),this.stopRequested=!1,this.dispatchEvent(new CustomEvent("start",{detail:this.webSocket})),this.webSocket.addEventListener("open",(()=>{const t={roomid:this.roomID,uid:parseInt((0,K.getUID)()),protover:2,platform:"web",clientVer:"1.10.1",type:"2",key:lodash.get(e,"data.token")};this.webSocket.send(this.bufferHelper.encode(JSON.stringify(t),"enterRoom")),this.dispatchEvent(new CustomEvent("open",{detail:t}))})),this.webSocket.addEventListener("message",(async e=>{const[t]=await this.bufferHelper.decode(e.data);switch(this.dispatchEvent(new CustomEvent("message",{detail:t})),t.operation){case xn.enterRoomResponse:this.heartBeatTimer&&clearInterval(this.heartBeatTimer),this.heartBeatTimer=window.setInterval((()=>{this.heartBeat()}),3e4);break;case xn.heartBeatResponse:if(!t.heartBeatResponse)break;this.dispatchEvent(new CustomEvent("heartBeatResponse",{detail:t.heartBeatResponse.count}));break;case xn.message:{if(!t.messages)break;const e=await this.liveTime.getLiveTime();t.messages.forEach((t=>{if("DANMU_MSG"===t.cmd){const{info:n}=t,i={content:n[1],type:n[0][1],fontSize:n[0][2],color:n[0][3],sendTime:n[0][4],userHash:n[0][7],userID:n[2][0],userName:n[2][1],startTime:e,get time(){return this.sendTime-this.startTime}};this.dispatchEvent(new CustomEvent("danmaku",{detail:i}))}}));break}}})),this.webSocket.addEventListener("close",(e=>{this.stopRequested||(console.error("Live Socket: close",e),this.restart())})),this.webSocket.addEventListener("error",(e=>{console.error("Live Socket: error",e),this.restart()}))}stop(){this.stopRequested=!0,this.heartBeatTimer&&clearInterval(this.heartBeatTimer),this.webSocket&&this.webSocket.readyState===WebSocket.OPEN&&this.webSocket.close()}}const Sn=[],En="bb-comment",In=[],$n=[],An=[],Tn=e=>{const t=e.querySelector(".con .user .name"),n=e=>{const t=e.querySelector(".reply-face"),n=e.querySelector(".reply-con .user .name");return{id:e.getAttribute("data-id"),element:e,userID:t.getAttribute("data-usercard-mid"),userName:n.textContent,content:e.querySelector(".text-con").textContent,timeText:e.querySelector(".info .time").textContent,likes:parseInt(e.querySelector(".info .like span").textContent)}},i={id:e.getAttribute("data-id"),element:e,userID:t.getAttribute("data-usercard-mid"),userName:t.textContent,content:e.querySelector(".con .text").textContent,timeText:e.querySelector(".con .info .time").textContent,likes:parseInt(e.querySelector(".con .like span").textContent),replies:[]};if(dq(e,".reply-box .view-more")){const t=dq(e,".reply-box");(0,P.childList)(t,(t=>{i.replies=(0,K.dqa)(e,".reply-box .reply-item").map(n),0!==t.length&&i.onRepliesUpdate?.(i.replies)}))}else i.replies=(0,K.dqa)(e,".reply-box .reply-item").map(n);return i},On=e=>{if(e instanceof HTMLElement&&e.classList.contains(En)){const t={element:e,items:[]};Sn.push(t),(e=>{e.observer||(e.items=(0,K.dqa)(e.element,".list-item.reply-wrap").map(Tn),e.items.forEach((e=>{In.forEach((t=>t(e)))})),[e.observer]=(0,P.childListSubtree)(e.element,(t=>{t.forEach((t=>{const n=e=>e instanceof HTMLElement&&e.classList.contains("list-item")&&e.classList.contains("reply-wrap");t.addedNodes.forEach((t=>{if(n(t)){const n=Tn(t);e.items.push(n),In.forEach((e=>e(n)))}})),t.removedNodes.forEach((t=>{if(n(t)){const n=t.getAttribute("data-id"),i=e.items.findIndex((e=>e.id===n));if(-1!==i){const[t]=e.items.splice(i,1);$n.forEach((e=>e(t)))}}}))}))})))})(t),An.forEach((e=>e(t)))}};(0,O.contentLoaded)((()=>{(0,P.allMutations)((e=>{e.forEach((e=>{e.addedNodes.forEach((e=>On(e)))}))})),(0,K.dqa)(".bb-comment").forEach(On)}));const Mn=e=>{Sn.forEach((t=>e(t))),An.push(e)},Ln=e=>{const{added:t,removed:n}=e;Mn((e=>{t&&(e.items.forEach((e=>t(e))),In.push(t)),n&&$n.push(n)}))},Pn=(e,t)=>{const n=dq(e.element,".opera-list ul"),{className:i,text:r,action:a}=t;if(!n||dq(n,`.${i}`))return;const o=document.createElement("li");o.classList.add(i),o.textContent=r,o.addEventListener("click",(e=>{a(e)})),n.appendChild(o)};var zn=n(4350);const Dn=JSON.parse('[[{"name":"首页","route":"/","tid":"","locid":23,"sub":[]},{"name":"动画","route":"douga","tid":1,"locid":52,"count":"","subMenuSize":162,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2507,"leftId":2452,"rightId":2453},"sub":[{"name":"MAD·AMV","route":"mad","tid":24,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":151},"desc":"具有一定制作程度的动画或静画的二次创作视频","url":"//www.bilibili.com/video/douga-mad-1.html"},{"name":"MMD·3D","route":"mmd","tid":25,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":152},"desc":"使用MMD(MikuMikuDance)和其他3D建模类软件制作的视频","url":"//www.bilibili.com/video/douga-mmd-1.html"},{"name":"短片·手书·配音","route":"voice","tid":47,"ps":15,"rps":10,"desc":"追求创新并具有强烈特色的短片、手书(绘)及ACG相关配音","url":"//www.bilibili.com/video/douga-voice-1.html"},{"name":"手办·模玩","route":"garage_kit","tid":210,"ps":15,"rps":10,"desc":"手办模玩的测评、改造或其他衍生内容","url":""},{"name":"特摄","route":"tokusatsu","tid":86,"ps":15,"rps":10,"desc":"特摄相关衍生视频","url":"//www.bilibili.com/video/cinephile-tokusatsu.html"},{"name":"综合","route":"other","tid":27,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":153},"desc":"以动画及动画相关内容为素材,包括但不仅限于音频替换、杂谈、排行榜等内容","url":"//www.bilibili.com/video/douga-else-1.html"}]},{"name":"番剧","route":"anime","tid":13,"url":"//www.bilibili.com/anime/","takeOvered":true,"count":"","subMenuSize":172,"combination":true,"sub":[{"name":"连载动画","tid":33,"route":"serial","desc":"当季连载的动画番剧","url":"//www.bilibili.com/video/bangumi-two-1.html"},{"name":"完结动画","tid":32,"route":"finish","desc":"已完结的动画番剧合集","url":"//www.bilibili.com/video/part-twoelement-1.html"},{"name":"资讯","tid":51,"route":"information","desc":"动画番剧相关资讯视频","url":"//www.bilibili.com/video/douga-else-information-1.html"},{"name":"官方延伸","tid":152,"route":"offical","desc":"动画番剧为主题的宣传节目、采访视频,及声优相关视频","url":"//www.bilibili.com/video/bagumi_offical_1.html"},{"name":"新番时间表","url":"//www.bilibili.com/anime/timeline/","desc":""},{"name":"番剧索引","url":"//www.bilibili.com/anime/index/","desc":""}]},{"name":"国创","tid":167,"route":"guochuang","url":"//www.bilibili.com/guochuang/","takeOvered":true,"count":"","subMenuSize":214,"combination":true,"sub":[{"name":"国产动画","tid":153,"route":"chinese","desc":"我国出品的PGC动画","url":"//www.bilibili.com/video/bangumi_chinese_1.html"},{"name":"国产原创相关","tid":168,"route":"original","desc":"","url":"//www.bilibili.com/video/guochuang-fanvid-1.html"},{"name":"布袋戏","tid":169,"route":"puppetry","desc":"","url":"//www.bilibili.com/video/glove-puppetry-1.html"},{"name":"动态漫·广播剧","tid":195,"route":"motioncomic","desc":"","url":""},{"name":"资讯","tid":170,"route":"information","desc":"","url":"//www.bilibili.com/video/guochuang-offical-1.html"},{"name":"新番时间表","url":"//www.bilibili.com/guochuang/timeline/","desc":""},{"name":"国产动画索引","url":"//www.bilibili.com/guochuang/index/","desc":""}]},{"name":"音乐","route":"music","tid":3,"locid":58,"count":"","subMenuSize":268,"slider":{"width":620,"height":220},"viewTag":true,"customComponent":{"name":"Energy","titleId":2511,"leftId":2462,"rightId":3131,"rightType":"slide"},"sub":[{"name":"原创音乐","route":"original","tid":28,"ps":15,"rps":10,"viewHotTag":true,"ad":{"active":true,"dataLocId":243},"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"个人或团队制作以音乐为主要原创因素的歌曲或纯音乐","url":"//www.bilibili.com/video/music-original-1.html"},{"name":"翻唱","route":"cover","tid":31,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":245},"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"一切非官方的人声再演绎歌曲作品","url":"//www.bilibili.com/video/music-Cover-1.html"},{"name":"VOCALOID·UTAU","route":"vocaloid","tid":30,"ps":15,"rps":10,"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"以雅马哈Vocaloid和UTAU引擎为基础,包含其他调教引擎,运用各类音源进行的歌曲创作内容","url":"//www.bilibili.com/video/music-vocaloid-1.html"},{"name":"电音","route":"electronic","tid":194,"ps":15,"rps":10,"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"以电子合成器、音乐软体等产生的电子声响制作的音乐","url":"#"},{"name":"演奏","route":"perform","tid":59,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":247},"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"传统或非传统乐器及器材的演奏作品","url":"//www.bilibili.com/video/music-perform-1.html"},{"name":"MV","route":"mv","tid":193,"ps":15,"rps":10,"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"音乐录影带,为搭配音乐而拍摄或制作的视频","url":"//www.bilibili.com/video/music-coordinate-1.html"},{"name":"音乐现场","route":"live","tid":29,"ps":15,"rps":10,"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"音乐实况表演视频","url":"//www.bilibili.com/video/music-oped-1.html"},{"name":"音乐综合","route":"other","tid":130,"ps":15,"rps":10,"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"收录无法定义到其他音乐子分区的音乐视频","url":"//www.bilibili.com/video/music-collection-1.html"},{"name":"音频","customZone":"Audio","route":"audio","url":"//www.bilibili.com/audio/home?musicType=music"},{"name":"说唱","url":"//www.bilibili.com/v/rap"}]},{"name":"舞蹈","route":"dance","tid":129,"locid":64,"count":"","subMenuSize":172,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2513,"leftId":2472,"rightId":2473},"sub":[{"name":"宅舞","route":"otaku","tid":20,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":249},"desc":"与ACG相关的翻跳、原创舞蹈","url":"//www.bilibili.com/video/dance-1.html"},{"name":"街舞","route":"hiphop","tid":198,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":251},"desc":"收录街舞相关内容,包括赛事现场、舞室作品、个人翻跳、FREESTYLE等","url":""},{"name":"明星舞蹈","route":"star","tid":199,"ps":15,"rps":10,"desc":"国内外明星发布的官方舞蹈及其翻跳内容","url":""},{"name":"中国舞","route":"china","tid":200,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":253},"desc":"传承中国艺术文化的舞蹈内容,包括古典舞、民族民间舞、汉唐舞、古风舞等","url":""},{"name":"舞蹈综合","route":"three_d","tid":154,"ps":15,"rps":10,"desc":"收录无法定义到其他舞蹈子分区的舞蹈视频","url":""},{"name":"舞蹈教程","route":"demo","tid":156,"ps":10,"rps":6,"desc":"镜面慢速,动作分解,基础教程等具有教学意义的舞蹈视频","url":"//www.bilibili.com/video/dance-demo-1.html"}]},{"name":"游戏","route":"game","tid":4,"locid":70,"count":"","subMenuSize":240,"slider":{"width":470,"height":216},"viewTag":true,"customComponent":{"name":"Energy","titleId":3761,"leftId":3765,"rightId":3775,"rightType":"slide"},"recommendCardType":"GameGroomBox","sub":[{"name":"单机游戏","route":"stand_alone","tid":17,"ps":10,"rps":7,"rankshow":1,"viewHotTag":true,"ad":{"active":true,"dataLocId":255},"dpConfig":[{"name":"三日","value":3},{"name":"一日","value":1},{"name":"一周","value":7}],"desc":"以所有平台(PC、主机、移动端)的单机或联机游戏为主的视频内容,包括游戏预告、CG、实况解说及相关的评测、杂谈与视频剪辑等","url":"//www.bilibili.com/video/videogame-1.html"},{"name":"电子竞技","route":"esports","tid":171,"ps":10,"rps":7,"rankshow":1,"viewHotTag":true,"ad":{"active":true,"dataLocId":257},"desc":"具有高对抗性的电子竞技游戏项目,其相关的赛事、实况、攻略、解说、短剧等视频。","url":"//www.bilibili.com/video/esports-1.html"},{"name":"手机游戏","route":"mobile","tid":172,"ps":10,"rps":7,"rankshow":1,"viewHotTag":true,"desc":"以手机及平板设备为主要平台的游戏,其相关的实况、攻略、解说、短剧、演示等视频。","url":"//www.bilibili.com/video/mobilegame-1.html"},{"name":"网络游戏","route":"online","tid":65,"ps":10,"rps":7,"rankshow":1,"viewHotTag":true,"ad":{"active":true,"dataLocId":259},"dpConfig":[{"name":"三日","value":3},{"name":"一日","value":1},{"name":"一周","value":7}],"desc":"由网络运营商运营的多人在线游戏,以及电子竞技的相关游戏内容。包括赛事、攻略、实况、解说等相关视频","url":"//www.bilibili.com/video/onlinegame-1.html"},{"name":"桌游棋牌","route":"board","tid":173,"ps":5,"rps":3,"rankshow":1,"viewHotTag":true,"desc":"桌游、棋牌、卡牌对战等及其相关电子版游戏的实况、攻略、解说、演示等视频。","url":"//www.bilibili.com/video/boardgame-1.html"},{"name":"GMV","route":"gmv","tid":121,"ps":5,"rps":3,"rankshow":1,"viewHotTag":true,"dpConfig":[{"name":"三日","value":3},{"name":"一日","value":1},{"name":"一周","value":7}],"desc":"由游戏素材制作的MV视频。以游戏内容或CG为主制作的,具有一定创作程度的MV类型的视频","url":"//www.bilibili.com/video/gmv-1.html"},{"name":"音游","route":"music","tid":136,"ps":5,"rps":3,"rankshow":1,"viewHotTag":true,"dpConfig":[{"name":"三日","value":3},{"name":"一日","value":1},{"name":"一周","value":7}],"desc":"各个平台上,通过配合音乐与节奏而进行的音乐类游戏视频","url":"//www.bilibili.com/video/music-game-1.html"},{"name":"Mugen","route":"mugen","tid":19,"ps":5,"rps":3,"rankshow":1,"viewHotTag":true,"dpConfig":[{"name":"三日","value":3},{"name":"一日","value":1},{"name":"一周","value":7}],"desc":"以Mugen引擎为平台制作、或与Mugen相关的游戏视频","url":"//www.bilibili.com/video/game-mugen-1.html"},{"name":"游戏赛事","url":"//www.bilibili.com/v/game/match/","newIcon":true}]},{"name":"知识","route":"knowledge","tid":36,"locid":76,"count":"","subMenuSize":172,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2058,"leftId":2047,"rightId":2048},"sub":[{"name":"科学科普","route":"science","tid":201,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":261},"desc":"回答你的十万个为什么"},{"name":"社科·法律·心理","route":"social_science","tid":124,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":263},"desc":"基于社会科学、法学、心理学展开或个人观点输出的知识视频"},{"name":"人文历史","route":"humanity_history","tid":228,"ps":15,"rps":10,"desc":"看看古今人物,聊聊历史过往,品品文学典籍"},{"name":"财经商业","route":"business","tid":207,"ps":15,"rps":10,"desc":"说金融市场,谈宏观经济,一起畅聊商业故事"},{"name":"校园学习","route":"campus","tid":208,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":265},"desc":"老师很有趣,学生也有才,我们一起搞学习"},{"name":"职业职场","route":"career","tid":209,"ps":15,"rps":10,"desc":"职业分享、升级指南,一起成为最有料的职场人"},{"name":"设计·创意","route":"design","tid":229,"ps":15,"rps":10,"desc":"天马行空,创意设计,都在这里"},{"name":"野生技能协会","route":"skill","tid":122,"ps":15,"rps":10,"desc":"技能党集合,是时候展示真正的技术了"}]},{"name":"科技","route":"tech","tid":188,"locid":2977,"count":"","subMenuSize":80,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2980,"leftId":2978,"rightId":2979},"sub":[{"name":"数码","route":"digital","tid":95,"ps":15,"rps":10,"viewHotTag":true,"desc":"科技数码产品大全,一起来做发烧友","url":"#"},{"name":"软件应用","route":"application","tid":230,"ps":15,"rps":10,"viewHotTag":true,"desc":"超全软件应用指南","url":"#"},{"name":"计算机技术","route":"computer_tech","tid":231,"ps":15,"rps":10,"viewHotTag":true,"desc":"研究分析、教学演示、经验分享......有关计算机技术的都在这里","url":"#"},{"name":"工业·工程·机械","route":"industry","tid":232,"ps":15,"rps":10,"viewHotTag":true,"desc":"前方高能,机甲重工即将出没","url":"#"},{"name":"极客DIY","route":"diy","tid":233,"ps":15,"rps":10,"viewHotTag":true,"desc":"炫酷技能,极客文化,硬核技巧,准备好你的惊讶","url":"#"}]},{"name":"运动","route":"sports","tid":234,"locid":4639,"isHide":true,"subMenuSize":164,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","leftId":4646,"rightId":4652,"rightType":"slide"},"sub":[{"name":"篮球·足球","route":"basketballfootball","tid":235,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":4656},"desc":"与篮球、足球相关的视频,包括但不限于篮足球赛事、教学、评述、剪辑、剧情等相关内容","url":"#"},{"name":"健身","route":"aerobics","tid":164,"ps":15,"rps":10,"desc":"与健身相关的视频,包括但不限于瑜伽、CrossFit、健美、力量举、普拉提、街健等相关内容","url":"//www.bilibili.com/video/fashion-body-1.html"},{"name":"竞技体育","route":"athletic","tid":236,"ps":15,"rps":10,"desc":"与竞技体育相关的视频,包括但不限于乒乓、羽毛球、排球、赛车等竞技项目的赛事、评述、剪辑、剧情等相关内容","url":"#"},{"name":"运动文化","route":"culture","tid":237,"ps":15,"rps":10,"desc":"与运动文化相关的视频,包络但不限于球鞋、球衣、球星卡等运动衍生品的分享、解读,体育产业的分析、科普等相关内容","url":"#"},{"name":"运动综合","route":"comprehensive","tid":238,"ps":15,"rps":10,"desc":"与运动综合相关的视频,包括但不限于钓鱼、骑行、滑板等日常运动分享、教学、Vlog等相关内容","url":"#"}]},{"name":"汽车","route":"car","tid":223,"locid":4428,"isHide":true,"subMenuSize":164,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","leftId":4435,"rightId":4441,"rightType":"slide"},"sub":[{"name":"汽车生活","route":"life","tid":176,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":4445},"desc":"分享汽车及出行相关的生活体验类视频","url":"#"},{"name":"汽车文化","route":"culture","tid":224,"ps":15,"rps":10,"desc":"车迷的精神圣地,包括汽车赛事、品牌历史、汽车改装、经典车型和汽车模型等","url":"#"},{"name":"汽车极客","route":"geek","tid":225,"ps":15,"rps":10,"desc":"汽车硬核达人聚集地,包括DIY造车、专业评测和技术知识分享","url":"#"},{"name":"摩托车","route":"motorcycle","tid":240,"ps":15,"rps":10,"desc":"骑士们集合啦","url":"#"},{"name":"智能出行","route":"smart","tid":226,"ps":15,"rps":10,"desc":"探索新能源汽车和未来智能出行的前沿阵地","url":"#"},{"name":"购车攻略","route":"strategy","tid":227,"ps":15,"rps":10,"desc":"丰富详实的购车建议和新车体验","url":"#"}]},{"name":"生活","route":"life","tid":160,"locid":88,"count":"","subMenuSize":164,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2062,"leftId":1674,"rightId":1670},"sub":[{"name":"搞笑","route":"funny","tid":138,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":273},"desc":"各种沙雕有趣的搞笑剪辑,挑战,表演,配音等视频","url":"//www.bilibili.com/video/ent_funny_1.html","locid":4204,"recommendId":4210,"slider":{"width":620,"height":220},"customComponent":{"name":"Energy","leftId":4212,"rightId":4218,"rightType":"slide"}},{"name":"家居房产","route":"home","tid":239,"ps":15,"rps":10,"desc":"与买房、装修、居家生活相关的分享","url":"#"},{"name":"手工","route":"handmake","tid":161,"ps":15,"rps":10,"desc":"手工制品的制作过程或成品展示、教程、测评类视频","url":"//www.bilibili.com/video/ent-handmake-1.html"},{"name":"绘画","route":"painting","tid":162,"ps":15,"rps":10,"desc":"绘画过程或绘画教程,以及绘画相关的所有视频","url":"//www.bilibili.com/video/ent-painting-1.html"},{"name":"日常","route":"daily","tid":21,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":275},"desc":"记录日常生活,分享生活故事","url":"//www.bilibili.com/video/ent-life-1.html"}]},{"name":"美食","route":"food","tid":211,"locid":4243,"count":"","isHide":true,"subMenuSize":164,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","leftId":4258,"rightId":4264},"sub":[{"name":"美食制作","route":"make","tid":76,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":4268},"desc":"学做人间美味,展示精湛厨艺","url":"#"},{"name":"美食侦探","route":"detective","tid":212,"ps":15,"rps":10,"desc":"寻找美味餐厅,发现街头美食","url":"#"},{"name":"美食测评","route":"measurement","tid":213,"ps":15,"rps":10,"desc":"吃货世界,品尝世间美味","url":"#"},{"name":"田园美食","route":"rural","tid":214,"ps":15,"rps":10,"desc":"品味乡野美食,寻找山与海的味道","url":"#"},{"name":"美食记录","route":"record","tid":215,"ps":15,"rps":10,"desc":"记录一日三餐,给生活添一点幸福感","url":"#"}]},{"name":"动物圈","route":"animal","tid":217,"locid":4365,"count":"","isHide":true,"subMenuSize":164,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","leftId":4376,"rightId":4381,"rightType":"slide"},"sub":[{"name":"喵星人","route":"cat","tid":218,"ps":15,"rps":10,"desc":"喵喵喵喵喵","url":"#","ad":{"active":true,"dataLocId":4385}},{"name":"汪星人","route":"dog","tid":219,"ps":15,"rps":10,"desc":"汪汪汪汪汪","url":"#"},{"name":"大熊猫","route":"panda","tid":220,"ps":15,"rps":10,"desc":"芝麻汤圆营业中","url":"#"},{"name":"野生动物","route":"wild_animal","tid":221,"ps":15,"rps":10,"desc":"内有“猛兽”出没","url":"#"},{"name":"爬宠","route":"reptiles","tid":222,"ps":15,"rps":10,"desc":"鳞甲有灵","url":"#"},{"name":"动物综合","route":"animal_composite","tid":75,"ps":15,"rps":10,"desc":"收录除上述子分区外,其余动物相关视频以及非动物主体或多个动物主体的动物相关延伸内容","url":"#"}]},{"name":"鬼畜","route":"kichiku","tid":119,"locid":100,"count":"","subMenuSize":182,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2509,"leftId":2482,"rightId":2483},"sub":[{"name":"鬼畜调教","route":"guide","tid":22,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":285},"desc":"使用素材在音频、画面上做一定处理,达到与BGM一定的同步感","url":"//www.bilibili.com/video/ent-Kichiku-1.html"},{"name":"音MAD","route":"mad","tid":26,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":287},"desc":"使用素材音频进行一定的二次创作来达到还原原曲的非商业性质稿件","url":"//www.bilibili.com/video/douga-kichiku-1.html"},{"name":"人力VOCALOID","route":"manual_vocaloid","tid":126,"ps":15,"rps":10,"desc":"将人物或者角色的无伴奏素材进行人工调音,使其就像VOCALOID一样歌唱的技术","url":"//www.bilibili.com/video/kichiku-manual_vocaloid-1.html"},{"name":"鬼畜剧场","route":"theatre","tid":216,"ps":15,"rps":10,"desc":"使用素材进行人工剪辑编排的有剧情的作品"},{"name":"教程演示","route":"course","tid":127,"ps":10,"rps":6,"rightComponent":{"name":"CmImgList","id":148},"ad":{"active":true,"dataLocId":289},"hideDropdown":false,"desc":"鬼畜相关的教程演示","url":"//www.bilibili.com/video/kichiku-course-1.html"}]},{"name":"时尚","route":"fashion","tid":155,"locid":94,"count":"","subMenuSize":124,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2515,"leftId":2492,"rightId":2493},"sub":[{"name":"美妆护肤","route":"makeup","tid":157,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":279},"desc":"彩妆护肤、美甲美发、仿妆、医美相关内容分享或产品测评","url":"//www.bilibili.com/video/fashion-makeup-fitness-1.html"},{"name":"穿搭","route":"clothing","tid":158,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":281},"desc":"穿搭风格、穿搭技巧的展示分享,涵盖衣服、鞋靴、箱包配件、配饰(帽子、钟表、珠宝首饰)等","url":"//www.bilibili.com/video/fashion-clothing-1.html"},{"name":"时尚潮流","route":"trend","tid":159,"ps":15,"rps":10,"desc":"时尚街拍、时装周、时尚大片,时尚品牌、潮流等行业相关记录及知识科普","url":"#"}]},{"name":"资讯","route":"information","tid":202,"locid":4076,"count":"","subMenuSize":60,"slider":{"width":620,"height":220},"viewTag":false,"sub":[{"name":"热点","route":"hotspot","tid":203,"ps":18,"rps":10,"desc":"全民关注的时政热门资讯"},{"name":"环球","route":"global","tid":204,"ps":18,"rps":10,"desc":"全球范围内发生的具有重大影响力的事件动态"},{"name":"社会","route":"social","tid":205,"ps":18,"rps":10,"desc":"日常生活的社会事件、社会问题、社会风貌的报道"},{"name":"综合","route":"multiple","tid":206,"ps":18,"rps":10,"desc":"除上述领域外其它垂直领域的综合资讯"}]},{"name":"娱乐","route":"ent","tid":5,"locid":82,"count":"","subMenuSize":62,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2067,"leftId":2065,"rightId":2066},"sub":[{"name":"综艺","route":"variety","tid":71,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":267},"desc":"所有综艺相关,全部一手掌握!","url":"//www.bilibili.com/video/ent-variety-1.html"},{"name":"娱乐杂谈","route":"talker","tid":241,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":269},"desc":"娱乐人物解读、娱乐热点点评、娱乐行业分析"},{"name":"粉丝创作","route":"fans","tid":242,"ps":15,"rps":10,"desc":"粉丝向创作视频"},{"name":"明星综合","route":"celebrity","tid":137,"ps":15,"rps":10,"desc":"娱乐圈动态、明星资讯相关"}]},{"name":"影视","route":"cinephile","tid":181,"locid":2211,"count":"","subMenuSize":84,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2309,"leftId":2307,"rightId":2308},"sub":[{"name":"影视杂谈","route":"cinecism","tid":182,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":2212},"desc":"影视评论、解说、吐槽、科普等","url":"//www.bilibili.com/video/cinephile-cinecism.html"},{"name":"影视剪辑","route":"montage","tid":183,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":2213},"desc":"对影视素材进行剪辑再创作的视频","url":"//www.bilibili.com/video/cinephile-montage.html"},{"name":"短片","route":"shortfilm","tid":85,"ps":15,"rps":10,"desc":"追求自我表达且具有特色的短片","url":"//www.bilibili.com/video/cinephile-shortfilm.html"},{"name":"预告·资讯","route":"trailer_info","tid":184,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":2214},"desc":"影视类相关资讯,预告,花絮等视频","url":"//www.bilibili.com/video/cinephile-trailer-info.html"}]},{"name":"纪录片","route":"documentary","tid":177,"url":"//www.bilibili.com/documentary/","count":"","takeOvered":true,"hasParent":true,"combination":true,"sub":[{"name":"人文·历史","tid":37,"route":"history","dise":"","url":"//www.bilibili.com/video/doco-history.html"},{"name":"科学·探索·自然","tid":178,"route":"science","dise":"","url":"//www.bilibili.com/video/doco-science.html"},{"name":"军事","tid":179,"route":"military","dise":"","url":"//www.bilibili.com/video/doco-military.html"},{"name":"社会·美食·旅行","tid":180,"route":"travel","dise":"","url":"//www.bilibili.com/video/doco-travel.html"},{"name":"纪录片索引","url":"//www.bilibili.com/documentary/index/"}]},{"name":"电影","route":"movie","tid":23,"url":"//www.bilibili.com/movie/","count":"","takeOvered":true,"hasParent":true,"combination":true,"sub":[{"name":"华语电影","tid":147,"route":"chinese","desc":"","url":"//www.bilibili.com/video/movie_chinese_1.html"},{"name":"欧美电影","tid":145,"route":"west","desc":"","url":"//www.bilibili.com/video/movie_west_1.html"},{"name":"日本电影","tid":146,"route":"japan","desc":"","url":"//www.bilibili.com/video/movie_japan_1.html"},{"name":"其他国家","tid":83,"route":"movie","desc":"","url":"//www.bilibili.com/video/movie-movie-1.html"},{"name":"电影索引","url":"//www.bilibili.com/movie/index/"}]},{"name":"电视剧","route":"tv","tid":11,"url":"//www.bilibili.com/tv/","count":"","takeOvered":true,"hasParent":true,"combination":true,"sub":[{"name":"国产剧","tid":185,"route":"mainland","desc":"","url":"//www.bilibili.com/video/tv-mainland.html"},{"name":"海外剧","tid":187,"route":"overseas","desc":"","url":"//www.bilibili.com/video/tv-overseas.html"},{"name":"电视剧索引","url":"//www.bilibili.com/tv/index/"}]},{"name":"虚拟UP主","route":"virtual","locid":4735,"count":"","isHide":true,"subMenuSize":60,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":4754,"leftId":4756},"sub":[{"name":"游戏","route":"game","tid":4,"ps":18,"rps":10,"url":"//www.bilibili.com/v/virtual/game"},{"name":"音乐","route":"music","tid":3,"ps":18,"rps":10,"url":"//www.bilibili.com/v/virtual/music"},{"name":"动画","route":"douga","tid":1,"ps":18,"rps":10,"url":"//www.bilibili.com/v/virtual/douga"},{"name":"其他","route":"other","tid":0,"ps":18,"rps":10,"url":"//www.bilibili.com/v/virtual/other"}]}],[{"url":"//live.bilibili.com/all","name":"全部直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=2&areaId=0","name":"网游直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=3&areaId=0","name":"手游直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=6&areaId=0","name":"单机直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=0","name":"娱乐直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=5&areaId=0","name":"电台直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=9&areaId=0","name":"虚拟直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=10&areaId=0","name":"生活直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=11&areaId=0","name":"学习直播"}],[{"name":"会员购","url":"//show.bilibili.com/platform/home.html","icon":"icon-vip-buy"},{"name":"游戏中心","url":"//game.bilibili.com","icon":"icon-game"},{"name":"画友","url":"http://h.bilibili.com","icon":"icon-hy"},{"name":"芒果TV","url":"//www.bilibili.com/mango","icon":"icon-mango"}],[{"name":"专栏","report":"article","url":"//www.bilibili.com/read/home","icon":"read"},{"name":"直播","report":"live","url":"//live.bilibili.com","icon":"live","sub":[{"url":"//live.bilibili.com/all","name":"全部直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=2&areaId=0","name":"网游直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=3&areaId=0","name":"手游直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=6&areaId=0","name":"单机直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=0","name":"娱乐直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=5&areaId=0","name":"电台直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=9&areaId=0","name":"虚拟直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=10&areaId=0","name":"生活直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=11&areaId=0","name":"学习直播"}]},{"name":"活动","report":"activity","url":"//www.bilibili.com/blackboard/activity-list.html","icon":"activit"},{"name":"课堂","report":"cheese","url":"//www.bilibili.com/cheese/","icon":"zhishi"},{"name":"小黑屋","report":"blackroom","url":"//www.bilibili.com/blackroom/","icon":"blackroom"},{"name":"新歌热榜","report":"musicplus","url":"//www.bilibili.com/v/musicplus/","icon":"musicplus"}]]'),Vn=e=>e.startsWith("//")?`https:${e}`:e.replace("http:","https:"),Nn=Dn[0].filter((e=>"string"!=typeof e.tid)),Bn=Dn[3],jn={};Nn.forEach((e=>{const t=Vn(e.url||`https://www.bilibili.com/v/${e.route}/`);jn[e.name]={icon:e.route,route:e.route,code:e.tid,link:t,subCategories:e.sub?Object.fromEntries(e.sub.map((t=>{const n=Vn(t.route?`https://www.bilibili.com/v/${e.route}/${t.route}/`:t.url);return[t.name,n]}))):null}})),Bn.forEach((e=>{jn[e.name]={icon:e.icon,code:null,route:e.route,link:Vn(e.url),subCategories:e.sub?Object.fromEntries(e.sub.map((e=>[e.name,Vn(e.url)]))):null}}));const qn=jn,Fn=Object.fromEntries(Nn.map((e=>[e.route,e.tid]))),Rn=Object.fromEntries(Object.values(jn).map((e=>[e.icon,e.link]))),Un=async()=>{if(document.getElementById("be-category-icons"))return;const{default:e}=await Promise.resolve().then(n.t.bind(n,1060,17));document.body.insertAdjacentHTML("beforeend",e)};var Hn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"translate-container"},[e.working||e.translated?e._e():n("div",{staticClass:"translate",on:{click:function(t){return e.translate()}}},[n("VIcon",{attrs:{size:14,icon:"mdi-earth"}}),e._v("翻译\n ")],1),e._v(" "),e.translated?n("div",{staticClass:"translated"},[n("a",{attrs:{href:e.activeTranslator&&e.activeTranslator.link,target:"_blank"}},[e._v("\n 翻译自\n ")]),e._v(" "),n("VDropdown",{attrs:{items:Object.values(e.translateProviders),value:e.activeTranslator,"key-mapper":function(e){return e.name}},on:{change:function(t){return e.changeTranslator(t)}},scopedSlots:e._u([{key:"item",fn:function(t){var n=t.item;return[e._v("\n "+e._s(n.name)+"\n ")]}}],null,!1,1956376614)})],1):e._e(),e._v(" "),e.working?n("VIcon",{staticClass:"translating mdi-spin",attrs:{size:18,icon:"mdi-loading"}}):e._e(),e._v(" "),!e.working&&e.translated?n("div",{staticClass:"translate-result",domProps:{textContent:e._s(e.result)}}):e._e()],1)};Hn._withStripped=!0;var Zn=n(8494);var Wn=Vue.extend({components:{VDropdown:de.VDropdown,VIcon:de.VIcon},props:{text:{type:String,required:!0}},data:()=>({result:"",working:!1,translateProviders:Zn.WK,activeTranslator:{}}),computed:{translated(){return""!==this.result}},mounted(){document.body.classList.add("machine-translator-enabled")},methods:{changeTranslator(e){(0,Z.getComponentSettings)("i18n").options.translator=e.name,this.translate()},async translate(){try{this.working=!0;const e=this.text.replace(/#(.+?)#/g,"");this.activeTranslator=(0,Zn.Ty)();const t=this.activeTranslator;this.result=await t.translate(e)}catch(e){(0,ae.logError)(e)}finally{this.working=!1}}}}),Gn=n(3109),Xn=n.n(Gn),Kn={insert:"head",singleton:!1},Jn=(Qe()(Xn(),Kn),Xn().locals,(0,it.Z)(Wn,Hn,[],!1,null,null,null));Jn.options.__file="src/components/i18n/machine-translator/MachineTranslator.vue";var Yn=Jn.exports;const Qn=e=>{void 0===e.radio&&(e.radio=!1);const{name:t,switches:i}=e,r={};return Object.entries(i).forEach((([e,{displayName:t,defaultValue:n}])=>{r[`switch-${e}`]={defaultValue:n,displayName:t,hidden:!0}})),i=>{const a=`${i.displayName}选项`,o={componentName:i.name,optionDisplayName:a};Object.assign(e,o),r[t]={defaultValue:e,displayName:a},i.options={...i.options,...r},i.widget||(i.widget={component:()=>Promise.resolve().then(n.bind(n,9560)).then((e=>e.default)),options:e});const s=i.entry;return i.entry=async(...e)=>{s?.(...e);const{name:t}=i,n=(0,Z.getComponentSettings)(t).options;Object.keys(n).forEach((e=>{e.startsWith("switch-")&&(0,Z.addComponentListener)(`${t}.${e}`,(n=>{document.body.classList.toggle(`${t}-${e}`,n)}),!0)}))},i}};const ei={component:ue,userComponent:pe,styledComponent:s,description:me,switchOptions:C,launchBar:{LaunchBar:n(8805).Z},feeds:{api:c,BangumiCard:at,UpInfo:pt,VideoCard:yt,ColumnCard:Et,disableProfilePopup:d,notify:u},video:{assUtils:p,playerLight:h,playerAgent:Jt,videoDanmaku:m,videoInfo:g,videoQuality:b,videoContextMenu:v,videoControlBar:y,watchlater:l,xmlUtils:f},live:{liveControlBar:w,liveSocket:x},utils:{commentApis:_,categories:{updater:zn,data:k}},i18N:{machineTranslator:{MachineTranslator:Yn}}};var ti=n(1773),ni=n(3865),ii=n(9263);const ri={style:ti,plugin:ni,data:ye,hook:ii},ai={ajax:S,cdnTypes:E,download:I,externalInput:$,filePicker:A,horizontalScroll:i,lifeCycle:O,loadingMode:M,meta:L,observer:P,reorder:r,runtimeLibrary:F,spinQuery:R,style:U,textColor:H,userInfo:a,version:X,settings:Z,toast:le,themeColor:ce,utils:{...K,constants:J,formatters:Y,title:Q,i18n:ee,lazyPanel:o,log:ae,sort:oe,urls:se},ui:de,componentApis:ei,pluginApis:ri},oi={ajax:S,...E,...I,...$,...A,...i,lifeCycle:O,...M,...L,observer:P,...r,runtimeLibrary:F,spinQuery:R,...U,...H,...a,...X,settingsApis:Z,get settings(){return Z.settings},...le,utils:{...K,...J,...Y,...Q,...ee,...o,...ae,...oe,...se},ui:de,componentApis:{...ei.component,...ei.userComponent,...ei.styledComponent,...ei.launchBar,...lodash.omit(ei,"component","userComponent","styledComponent","launchBar")},pluginApis:{...ri.style,...ri.plugin,...ri.data,...ri.hook},monkeyApis:{GM_setValue:GM_setValue,GM_getValue:GM_getValue,GM_deleteValue:GM_deleteValue,GM_xmlhttpRequest:GM_xmlhttpRequest,GM_info:GM_info},lodash:lodash,Vue:Vue,sandboxWindow:window,theWorld:e=>{setTimeout((()=>{}),e)}}},595:function(e,t,n){"use strict";let i;n.d(t,{h:function(){return i}}),function(e){e.Packed="打包下载",e.Individual="单独下载"}(i||(i={}))},9356:function(e,t,n){"use strict";n.r(t),n.d(t,{DownloadPackage:function(){return c}});var i=n(595),r=n(6984),a=n(7724),o=n(2433);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const l=(0,n(4496).useScopedConsole)("文件下载");class c{constructor(e=[]){this.entries=e,s(this,"noEscape",!1)}add(e,t,n={}){null!=t&&this.entries.push({name:this.noEscape?e:(0,o.formatFilename)(e),data:t,options:n})}async blob(){if(0===this.entries.length)return null;if(1===this.entries.length){const{data:e}=this.entries[0];return"string"==typeof e?new Blob([e]):e}const e=new(await r.JSZipLibrary);return this.entries.forEach((({name:t,data:n,options:i})=>{e.file(t,n,i)})),e.generateAsync({type:"blob"})}async emit(e){if(0===this.entries.length)return;e&&1!==this.entries.length||(e=this.entries[0].name);if((0,a.getGeneralSettings)().downloadPackageEmitMode===i.h.Individual&&this.entries.length>1)return void await Promise.all(this.entries.map((e=>c.single(e.name,e.data,e.options))));const t=await this.blob();t&&c.download(e,t)}static download(e,t){const n=document.createElement("a"),i=URL.createObjectURL(t);c.lastPackageUrl&&URL.revokeObjectURL(c.lastPackageUrl),c.lastPackageUrl=i;const r=(0,o.formatFilename)(e);n.setAttribute("href",i),n.setAttribute("download",r),l.log(r),document.body.appendChild(n),n.addEventListener("click",(e=>{e.stopPropagation()}),{capture:!0}),n.click(),n.remove()}static async single(e,t,n={}){const i=new c;return i.add(e,t,n),i.emit()}}s(c,"lastPackageUrl","")},6522:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{parseExternalInput:function(){return parseExternalInput},batchParseCode:function(){return batchParseCode}});var _file_picker__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(9183);const parseExternalInput=async input=>{if(void 0===input){const files=await(0,_file_picker__WEBPACK_IMPORTED_MODULE_0__.pickFile)({accept:"application/json"});if(!(files.length>0))return console.error("[parseExternalInput] No file selected"),null;{const[file]=files,text=await file.text();try{return eval(`(${text})`)}catch(e){return console.error(e),null}}}else{if("string"!=typeof input)return input;try{const exports={},result=eval(input);if(Object.values(exports).length>0){const e=Object.values(exports)[0];return e}return result}catch(e){return console.error(e),null}}},batchParseCode=async inputs=>{try{const exports={},result=inputs.map((input=>eval(input)));if(Object.values(exports).length>0){const{coreApis:e}=await Promise.resolve().then(__webpack_require__.bind(__webpack_require__,6708));return Object.values(exports).map((t=>"function"==typeof t?t(e):t))}return result}catch(e){return console.error(e),null}}},9183:function(e,t,n){"use strict";let i,r;n.r(t),n.d(t,{pickFile:function(){return o}});const a={accept:"*",multiple:!1},o=async(e=a)=>{const{accept:t,multiple:n}={...a,...e};i||(i=document.createElement("input"),i.type="file",i.style.display="none",document.body.appendChild(i),i.addEventListener("change",(()=>{r?.([...i.files]),r=null}))),i.accept=t,i.multiple=n,i.value="",r&&r([]);return await new Promise((e=>{r=e,i.click()}))}},3575:function(e,t,n){"use strict";n.r(t),n.d(t,{tryParseZip:function(){return s},installFeatureFromCode:function(){return l},installFeature:function(){return c}});var i=n(559),r=n(9263),a=n(3865),o=n(1773);const s=async e=>{const{JSZipLibrary:t}=await Promise.resolve().then(n.bind(n,6984)),{monkey:i}=await Promise.resolve().then(n.bind(n,6773)),r=e.endsWith(".zip"),a=r?"blob":"text",o=await i({url:e,method:"GET",responseType:a});if(!r||"string"==typeof o)return o;const s=await t,l=await s.loadAsync(o),c=Object.values(l.files);if(0===c.length)throw new Error("Empty zip file");return c[0].async("text")},l=async(e,t)=>{const{parseExternalInput:s}=await Promise.resolve().then(n.bind(n,6522)),l=await s(e),{type:c,installer:d}=(()=>{if((e=>Boolean(e?.entry))(l))return{type:"component",installer:()=>(0,i.installComponent)(e)};if((e=>Boolean(e?.setup))(l))return{type:"plugin",installer:()=>(0,a.installPlugin)(e)};if((e=>Boolean(e?.style))(l))return{type:"style",installer:()=>(0,o.installStyle)(e)};throw new Error("无效的功能代码")})(),{before:u,after:p}=(0,r.getHook)(`user${lodash.startCase(c)}s.add`,e,t);await u();const f=await d();return await p(f.metadata),f},c=async e=>{const t=await s(e);return l(t,e)}},5527:function(e,t,n){"use strict";n.r(t),n.d(t,{headLoaded:function(){return r},contentLoaded:function(){return a},fullyLoaded:function(){return o},LifeCycleEventTypes:function(){return s},raiseLifeCycleEvent:function(){return l}});var i=n(9017);const r=e=>new Promise((t=>{if(null!==document.head)t(e());else{const[n]=(0,i.childList)(document.documentElement,(()=>{null!==document.head&&(n.disconnect(),t(e()))}))}})),a=e=>new Promise((t=>{"loading"!==document.readyState?t(e()):document.addEventListener("DOMContentLoaded",(()=>t(e())))})),o=e=>new Promise((t=>{"complete"===document.readyState?t(e()):unsafeWindow.addEventListener("load",(()=>t(e())))}));let s;!function(e){e.Start="be:start",e.StyleLoaded="be:style-loaded",e.ComponentsLoaded="be:components-loaded",e.End="be:end"}(s||(s={}));const l=e=>{unsafeWindow.dispatchEvent(new CustomEvent(e))}},4327:function(e,t,n){"use strict";let i;n.r(t),n.d(t,{LoadingMode:function(){return i}}),function(e){e.Delay="延后",e.Race="同时"}(i||(i={}))},7601:function(e,t,n){"use strict";n.r(t),n.d(t,{branches:function(){return a},meta:function(){return s}});var i=JSON.parse('{"version":"2.1.9","author":"Grant Howard, Coulomb-G","copyright":"[year], Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G)","licence":"MIT","match":"*://*.bilibili.com/*","exclude":["*://api.bilibili.com/*","*://api.*.bilibili.com/*","*://*.bilibili.com/api/*","*://member.bilibili.com/studio/bs-editor/*","*://t.bilibili.com/h5/dynamic/specification","*://bbq.bilibili.com/*","*://message.bilibili.com/pages/nav/header_sync","*://s1.hdslb.com/bfs/seed/jinkela/short/cols/iframe.html","*://open-live.bilibili.com/*"],"run-at":"document-start","grant":["unsafeWindow","GM_getValue","GM_setValue","GM_deleteValue","GM_info","GM_xmlhttpRequest"],"connect":["raw.githubusercontent.com","github.com","cdn.jsdelivr.net","cn.bing.com","www.bing.com","translate.google.cn","translate.google.com","localhost","*"],"require":["https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"],"icon":"https://cdn.jsdelivr.net/gh/the1812/Bilibili-Evolved@preview/images/logo-small.png","icon64":"https://cdn.jsdelivr.net/gh/the1812/Bilibili-Evolved@preview/images/logo.png"}'),r=n(4011);i.copyright=i.copyright.replace(/\[year\]/g,(new Date).getFullYear().toString());const a={stable:"master",preview:"preview"},o={commitHash:"757a595fd6822f725aaff6043359ce284fafa284",branch:"master",version:"2.1.9",nearestTag:"v2.1.9",versionWithTag:"v2.1.9-10-g757a595fd"},s={compilationInfo:o,name:GM_info.script.name,description:GM_info.script.description,get originalFilename(){const{branch:e}=o;return e===a.stable?"bilibili-evolved.user.js":`bilibili-evolved.${a.preview}.user.js`},get updateURL(){return`${r.cdnRoots.jsDelivr(o.branch)}dist/${this.originalFilename}`},get downloadURL(){return this.updateURL},...i}},9017:function(e,t,n){"use strict";n.r(t),n.d(t,{resolveTargets:function(){return o},mutationObserve:function(){return s},childList:function(){return l},childListSubtree:function(){return c},attributes:function(){return d},attributesSubtree:function(){return u},characterData:function(){return p},characterDataSubtree:function(){return f},allMutationsOn:function(){return h},allMutations:function(){return g},intersectionObserve:function(){return b},visible:function(){return v},visibleInside:function(){return y},resizeObserve:function(){return w},sizeChange:function(){return x},urlChange:function(){return k},videoChange:function(){return E}});var i=n(4742),r=n(4402),a=n(6363);const o=e=>"string"==typeof e?(0,i.dqa)(e):Array.isArray(e)?e:[e],s=(e,t,n)=>{const i=new MutationObserver(n);return e.forEach((e=>i.observe(e,t))),n([],i),[i,t]},l=(e,t)=>s(o(e),{childList:!0,subtree:!1,attributes:!1},t),c=(e,t)=>s(o(e),{childList:!0,subtree:!0,attributes:!1},t),d=(e,t)=>s(o(e),{childList:!1,subtree:!1,attributes:!0},t),u=(e,t)=>s(o(e),{childList:!1,subtree:!0,attributes:!0},t),p=(e,t)=>s(o(e),{childList:!1,subtree:!1,attributes:!1,characterData:!0},t),f=(e,t)=>s(o(e),{childList:!1,subtree:!0,attributes:!1,characterData:!0},t),h=(e,t)=>s(o(e),{childList:!0,subtree:!0,attributes:!0,characterData:!0},t),m={observer:null,config:null,callbacks:[]},g=e=>{if(m.observer)m.callbacks.push(e);else{m.callbacks.push(e);const[t,n]=h(document.body,(e=>m.callbacks.forEach((t=>t(e,m.observer)))));m.observer=t,m.config=n}return m},b=(e,t,n)=>{const i=new IntersectionObserver(n,t);return e.forEach((e=>i.observe(e))),[i,t]},v=(e,t)=>b(o(e),{},t),y=(e,t,n,i)=>b(o(e),{root:t,rootMargin:n},i),w=(e,t,n)=>{const i=new ResizeObserver(n);return e.forEach((e=>i.observe(e,t))),[i,t]},x=(e,t)=>w(o(e),{box:"border-box"},t),_=lodash.once((()=>{let e=document.URL;g((()=>{e!==document.URL&&((()=>{const e=new CustomEvent("urlChange",{detail:document.URL});window.dispatchEvent(e)})(),e=document.URL)}))})),k=(e,t)=>{_(),e(document.URL),window.addEventListener("urlChange",(()=>e(document.URL)),t)},C=lodash.once((()=>(0,r.select)((()=>{if(unsafeWindow.cid)return unsafeWindow.cid;if(unsafeWindow.player&&unsafeWindow.player.getVideoMessage){const e=unsafeWindow.player.getVideoMessage();return Number.isNaN(e.cid)?null:(!unsafeWindow.aid&&e.aid&&(unsafeWindow.aid=e.aid.toString()),!unsafeWindow.bvid&&e.bvid&&(unsafeWindow.bvid=e.bvid),!unsafeWindow.cid&&e.cid&&(unsafeWindow.cid=e.cid.toString()),e.cid.toString())}return null}))));let S=!1;const E=async(e,t)=>{if(!(0,a.matchCurrentPage)(a.playerUrls))return!1;const{bpxPlayerPolyfill:i}=await Promise.resolve().then(n.bind(n,1479));i();const r=await C();if(null===r)return!1;const o=()=>({aid:unsafeWindow.aid,cid:unsafeWindow.cid});if(!S){let e=r;g((()=>{const{cid:t}=o();Array.isArray(t)||e===t||lodash.isNil(t)||((()=>{const e=o(),t=new CustomEvent("videoChange",{detail:e});window.dispatchEvent(t)})(),e=t)})),S=!0}return e(o()),window.addEventListener("videoChange",(t=>e(t.detail)),t),!0}},2428:function(e,t,n){"use strict";n.r(t),n.d(t,{componentLoadTime:function(){return i},componentResolveTime:function(){return r},componentLoadTrace:function(){return a}});const i=new Map,r=new Map,a=async e=>{const{getGeneralSettings:t}=await Promise.resolve().then(n.bind(n,7724));if(!t().devMode)return;const a=e.entry;e.entry=async e=>{const{metadata:t}=e,n=performance.now();let o=a(e);const s=performance.now();o instanceof Promise&&(o=await o);const l=performance.now();return i.set(t,s-n),r.set(t,l-n),o}}},2053:function(e,t,n){"use strict";n.r(t),n.d(t,{pluginLoadTime:function(){return i},pluginResolveTime:function(){return r},pluginLoadTrace:function(){return a}});const i=new Map,r=new Map,a=async e=>{const{getGeneralSettings:t}=await Promise.resolve().then(n.bind(n,7724));if(!t().devMode)return;const a=e.setup;e.setup=async t=>{const n=performance.now();let o=a(t);const s=performance.now();o instanceof Promise&&(o=await o);const l=performance.now();return i.set(e,s-n),r.set(e,l-n),o}}},5878:function(e,t,n){"use strict";n.r(t),n.d(t,{promiseLoadTime:function(){return i},promiseResolveTime:function(){return r},promiseLoadTrace:function(){return a}});const i=new Map,r=new Map,a=async(e,t)=>{const{getGeneralSettings:a}=await Promise.resolve().then(n.bind(n,7724));if(!a().devMode)return t();const o=performance.now(),s=t(),l=performance.now(),c=await s,d=performance.now();return i.set({name:e},l-o),r.set({name:e},d-o),c}},9821:function(e,t,n){"use strict";n.r(t),n.d(t,{logStats:function(){return i}});const i=(e,t)=>{const n=[...t.entries()],i=n.reduce(((e,t)=>e+t[1]),0);console.groupCollapsed(`${e} time:`,Math.round(100*i)/100+"ms",`for ${n.length} items`),n.forEach((([e,t])=>{console.log(`%c${e.name} %c${Math.round(100*t)/100}ms ${Math.round(t/i*1e4)/100}% %c`,"color: #00A0D8","color: #888","color: unset")})),console.groupEnd()}},6984:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{RuntimeLibrary:function(){return RuntimeLibrary},protobufLibrary:function(){return protobufLibrary},JSZipLibrary:function(){return JSZipLibrary},SortableJSLibrary:function(){return SortableJSLibrary}});var _ajax__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(6773);function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class RuntimeLibrary{constructor(e){this.config=e,_defineProperty(this,"modulePromise",void 0)}async then(resolve,reject){try{const{url:url,getModule:getModule}=this.config;this.modulePromise||(this.modulePromise=(async()=>{console.log(`[Runtime Library] Start download from ${url}`);const code=await(0,_ajax__WEBPACK_IMPORTED_MODULE_0__.monkey)({url:url});return console.log(`[Runtime Library] Downloaded from ${url} , length = ${code.length}`),function runEval(){return eval(code);// eslint-disable-next-line no-extra-bind }.bind(window)(),getModule(window)})());const library=await this.modulePromise;return resolve(library)}catch(e){throw reject(e),e}}}const protobufLibrary=new RuntimeLibrary({url:"https://cdn.jsdelivr.net/npm/protobufjs@6.10.1/dist/light/protobuf.min.js",getModule:e=>e.protobuf}),JSZipLibrary=new RuntimeLibrary({url:"https://cdn.jsdelivr.net/npm/jszip@3.7.1/dist/jszip.min.js",getModule:e=>e.JSZip}),SortableJSLibrary=new RuntimeLibrary({url:"https://cdn.jsdelivr.net/npm/sortablejs@1.14.0/Sortable.min.js",getModule:e=>e.Sortable})},4576:function(e,t,n){"use strict";n.r(t),n.d(t,{componentOptionsToSettings:function(){return o},componentToSettings:function(){return s},isUserComponent:function(){return l},isUserPlugin:function(){return c},getComponentSettings:function(){return u},getGeneralSettings:function(){return p},isComponentEnabled:function(){return f}});var i=n(6087),r=n(7724),a=n(4742);const o=e=>lodash.fromPairs(Object.entries(e).map((([e,t])=>[e,t.defaultValue]))),s=e=>({enabled:e.enabledByDefault??!0,options:e.options?o(e.options):{}}),l=e=>{const t="string"==typeof e?e:e.name;return Boolean(r.settings.userComponents[t])},c=e=>{const t="string"==typeof e?e:e.name;return Boolean(r.settings.userPlugins[t])},d={enabled:!1,options:new Proxy({},{get:()=>!1})},u=e=>{if("string"==typeof e){const t=i.componentsMap[e];if(void 0===t)return r.settings.components.settingsPanel.options.devMode&&console.warn("No settings found for component:",e),d;e=t}if(l(e)){const{name:t}=e;return r.settings.userComponents[t]?.settings??d}return r.settings.components[e.name]},p=()=>u("settingsPanel").options,f=e=>("string"==typeof e&&(e=i.componentsMap[e]),!!e&&((!e.urlExclude||!e.urlExclude.some(a.matchUrlPattern))&&((!e.urlInclude||!e.urlInclude.every(lodash.negate(a.matchUrlPattern)))&&(!1===e.configurable?e.enabledByDefault??!0:u(e).enabled))))},7724:function(e,t,n){"use strict";n.r(t),n.d(t,{isProxy:function(){return c},createProxy:function(){return d},defaultSettings:function(){return u},addSettingsChangeListener:function(){return p},removeSettingsChangeListener:function(){return f},addComponentListener:function(){return m},removeComponentListener:function(){return g},settings:function(){return b},componentOptionsToSettings:function(){return a.componentOptionsToSettings},componentToSettings:function(){return a.componentToSettings},getComponentSettings:function(){return a.getComponentSettings},getGeneralSettings:function(){return a.getGeneralSettings},isComponentEnabled:function(){return a.isComponentEnabled},isUserComponent:function(){return a.isUserComponent},isUserPlugin:function(){return a.isUserPlugin}});var i=n(6087),r=n(3865),a=n(4576);let o={userStyles:{},userPlugins:{},userComponents:{},components:{},plugins:{}},s=!1;const l=new Map,c=Symbol("isProxy"),d=(e,t)=>{const n=(e,i,r=[])=>{for(const[t,a]of Object.entries(e))"object"!=typeof a||a instanceof RegExp||(e[t]=n(a,i||t,[...r,t]));return new Proxy(e,{get:(e,t)=>t===c||e[t],set(e,a,o){const s=e[a],l=!Object.prototype.hasOwnProperty.call(e,a)&&void 0!==s;unsafeWindow.proxyDebug&&console.log({isImplicitProp:l,prop:a,value:o});return!("object"!=typeof o||o instanceof RegExp||!0===o[c]||l)&&(o=n(o,i||a,[...r,a])),e[a]=o,l||t?.(o,s,i||a,[...r,a]),!0},deleteProperty(e,n){const a=e[n];return delete e[n],t?.(void 0,a,i||n,[...r,n]),!0}})};return n(e)};r.plugins.forEach((e=>{o.plugins[e.name]=!0})),i.components.forEach((e=>{o.components[e.name]=(0,a.componentToSettings)(e)}));const u=lodash.cloneDeep(o);o=d((e=>{for(const[t,n]of Object.entries(e)){let i;const r=GM_getValue(t,n);i="object"==typeof r?lodash.defaultsDeep(r,n):r,e[t]=i}return e})(o),((e,t,n,i=[])=>{if(s){GM_setValue(n.toString(),o[n.toString()]);const r=i.join(".");if(i.length>1){const e=i.slice(0,i.length-1).join("."),t=lodash.get(o,e);if(Array.isArray(t)||lodash.isPlainObject(t)){l.get(e)?.forEach((e=>e(t,null,n,i)))}}l.get(r)?.forEach((r=>r(e,t,n,i)))}}));for(const[e,t]of Object.entries(o))GM_setValue(e,t);const p=(e,t,n=!1)=>{const i=l.get(e);if(i?i.push(t):l.set(e,[t]),n){const n=lodash.get(o,e);t(n,n,"",[])}},f=(e,t)=>{const n=l.get(e);if(!n)return;const i=n.indexOf(t);-1!==i&&n.splice(i,1)},h=e=>{const[t,n]=e.split(".");return(0,a.isUserComponent)(t)?void 0===n?`userComponents.${t}.settings.enabled`:`userComponents.${t}.settings.options.${n}`:void 0===n?`components.${t}.enabled`:`components.${t}.options.${n}`},m=(e,t,n=!1)=>{p(h(e),t,n)},g=(e,t)=>{f(h(e),t)};s=!0;const b=o},4402:function(e,t,n){"use strict";n.r(t),n.d(t,{sq:function(){return o},select:function(){return c},selectLazy:function(){return d},selectAll:function(){return f},selectAllLazy:function(){return h},count:function(){return m},hasVideo:function(){return b}});var i=n(9017),r=n(4742);const a={maxRetry:15,queryInterval:1e3},o=(e,t=(e=>Boolean(e)),n=a)=>{const i={...a,...n};return new Promise((n=>{let a=null,o=0;const s=()=>{n(a)},l=()=>{o>i.maxRetry?n(null):(a=e(),!0===t(a,s)?n(a):setTimeout((()=>{"undefined"!=typeof document?(0,r.waitForForeground)((()=>{o++,l()})):l()}),i.queryInterval))};l()}))},s=new Map,l=(e,t)=>{let n;if("string"==typeof e){if(s.has(e))return s.get(e);n=()=>document.querySelector((0,r.bwpVideoFilter)(e))}else n=e;const i=t(n);if("string"==typeof e){const t=i.then((t=>(s.delete(e),t)));return s.set(e,t),t}return i},c=(e,t)=>l(e,(e=>o(e,(e=>null!=e),t))),d=e=>l(e,(e=>new Promise((t=>{(0,i.allMutations)((()=>{const n=e();null!=n&&t(n)}))})))),u=new Map,p=(e,t)=>{let n;if("string"==typeof e){if(u.has(e))return u.get(e);n=()=>Array.from(document.querySelectorAll((0,r.bwpVideoFilter)(e)))}else n=e;const i=e=>null===e?[]:e,a=t(n);if("string"==typeof e){const t=a.then((t=>(u.delete(e),i(t))));return u.set(e,t),t}return a.then((e=>i(e)))},f=(e,t)=>p(e,(e=>o(e,(e=>e.length>0),t))),h=e=>p(e,(e=>new Promise((t=>{(0,i.allMutations)((()=>{const n=e();null!=n&&t(n)}))})))),m=(e,t,n)=>o(e,(e=>e.length===t),n);let g;const b=async()=>{g||(g=new Promise((e=>(0,i.videoChange)((()=>e(unsafeWindow.cid))))));const e=await g;return Boolean(e)}},9261:function(e,t,n){"use strict";n.r(t),n.d(t,{getDefaultStyleID:function(){return r},addStyle:function(){return a},addImportantStyle:function(){return o},removeStyle:function(){return s},loadInstantStyle:function(){return l},preloadStyles:function(){return c},loadAllCustomStyles:function(){return d}});var i=n(5527);const r=e=>e.replace(/([a-z][A-Z])/g,(e=>`${e[0]}-${e[1].toLowerCase()}`)),a=(e,t,n)=>{const i=t?r(t):null,a=dq(`#${i}`);if(!a||!t){const t=document.createElement("style");return t.id=i,t.textContent=e,(n||document.head).insertAdjacentElement("beforeend",t),t}return a},o=(e,t)=>a(e,t,document.body),s=(...e)=>{e.forEach((e=>{const t=r(e);dqa(`#${t}`).forEach((e=>e.remove()))}))},l=async(e,t={head:document.head,body:document.body})=>{e.instantStyles?.forEach((async e=>{const n=document.createElement("style");if(n.id=r(e.name),"string"==typeof e.style)n.textContent=e.style;else{const{default:t}=await e.style();n.textContent=t}e.important?t.body.appendChild(n):t.head.appendChild(n)}))},c=lodash.once((async()=>{const{LoadingMode:e}=await Promise.resolve().then(n.bind(n,4327)),{addHook:t}=await Promise.resolve().then(n.bind(n,9263)),{getGeneralSettings:a,settings:o,isComponentEnabled:c,isUserComponent:d,addComponentListener:u,removeComponentListener:p}=await Promise.resolve().then(n.bind(n,7724)),f=async()=>{const{components:e}=await Promise.resolve().then(n.bind(n,6087)),a=document.createDocumentFragment(),f=document.createDocumentFragment();await Promise.all(e.map((e=>{const n=t=>t?l(e):e.instantStyles?.forEach((e=>s(e.name)));if(u(e.name,n),d(e)&&t("userComponents.remove",{after:t=>{t.name===e.name&&p(e.name,n)}}),c(e))return l(e,{head:a,body:f})})));const{UserStyleMode:h}=await Promise.resolve().then(n.bind(n,1773));Object.values(o.userStyles).filter((e=>e.mode===h.Instant)).forEach((e=>{const t=document.createElement("style");t.id=r(e.name),t.textContent=e.style,a.appendChild(t)})),document.head.appendChild(a),(0,i.contentLoaded)((()=>document.body.appendChild(f)))};a().styleLoadingMode===e.Delay?await(0,i.contentLoaded)(f):await f(),(0,i.contentLoaded)((async()=>{const{initColors:e}=await Promise.resolve().then(n.bind(n,8232)),{initMdiStyle:t}=await Promise.resolve().then(n.bind(n,3673));document.head.appendChild(e()),document.head.appendChild(t())}))})),d=async()=>{const{settings:e}=await Promise.resolve().then(n.bind(n,7724)),{UserStyleMode:t}=await Promise.resolve().then(n.bind(n,1773));(0,i.contentLoaded)((()=>{Object.values(e.userStyles).filter((e=>e.mode===t.Important)).forEach((e=>{a(e.style,e.name,document.body)}))})),Object.values(e.userStyles).filter((e=>e.mode===t.Default)).forEach((e=>{a(e.style,e.name,document.head)}))}},4659:function(e,t,n){"use strict";let i;n.r(t),n.d(t,{TextColor:function(){return i}}),function(e){e.Auto="自动",e.White="白色",e.Black="黑色"}(i||(i={}))},8232:function(e,t,n){"use strict";n.r(t),n.d(t,{initColors:function(){return l}});var i=n(6767),r=n.n(i),a=n(7724);const o=(e,t)=>{const n=t.hue()-e.hue(),i=100*((t.saturationv()-e.saturationv())/100+1),r=e=>Math.round(10*e)/10;return`hue-rotate(${r(n)}deg) saturate(${r(i)}%)`};var s=n(4659);const l=()=>{const e=document.createElement("style"),t=new Map,n=(e,n)=>{t.set(e,n)},i=lodash.debounce((()=>{e.textContent=`\n html {\n ${[...t.entries()].map((([e,t])=>`${e}: ${t};`)).join("\n")}\n }\n `.trim()}),100),l=e=>{let t;t=e===s.TextColor.Auto?r()((0,a.getGeneralSettings)().themeColor).isLight()?"black":"white":e===s.TextColor.Black?"black":"white",n("--text-color",t),n("--foreground-color",t),n("--foreground-color-d",r()(t,"keyword").alpha(.875).rgb().string()),n("--foreground-color-b",r()(t,"keyword").alpha(.75).rgb().string()),n("--brightness",("black"===t?"100":"0")+"%"),n("--invert-filter","black"===t?"invert(0)":"invert(1)"),i()};return(0,a.addComponentListener)("settingsPanel.themeColor",(e=>{n("--theme-color",e);for(let t=10;t<=90;t+=10){const i=r()(e,"hex");n(`--theme-color-${t}`,i.alpha(t/100).rgb().string()),n(`--theme-color-lightness-${t}`,i.lightness(t).rgb().toString())}n("--pink-image-filter",o(r()({r:251,g:113,b:152},"rgb"),r()(e,"hex"))),n("--blue-image-filter",o(r()({r:0,g:160,b:213},"rgb"),r()(e,"hex"))),l((0,a.getGeneralSettings)().textColor),i()}),!0),(0,a.addComponentListener)("settingsPanel.textColor",l,!0),e}},3446:function(e,t,n){"use strict";n.r(t),n.d(t,{Toast:function(){return b},ToastType:function(){return m}});var i=n(4742),r=n(3449),a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition-group",{staticClass:"toast-card-container",attrs:{name:"toast-card-container",tag:"div"}},e._l(e.cards,(function(e){return n("ToastCard",{key:e.key,attrs:{"data-key":e.key,card:e}})})),1)};a._withStripped=!0;var o=Vue.extend({components:{ToastCard:()=>Promise.resolve().then(n.bind(n,5971)).then((e=>e.default))},data:()=>({cards:[]})}),s=n(3379),l=n.n(s),c=n(9164),d=n.n(c),u={insert:"head",singleton:!1},p=(l()(d(),u),d().locals,(0,n(1900).Z)(o,a,[],!1,null,null,null));p.options.__file="src/core/toast/ToastCardContainer.vue";var f=p.exports;function h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let m,g;!function(e){e.Default="default",e.Info="info",e.Success="success",e.Error="error"}(m||(m={}));class b{constructor(e="",t="",n=m.Default){this.message=e,this.title=t,this.type=n,h(this,"durationNumber",3e3),h(this,"durationTimeout",0),h(this,"creationTime",Number(new Date)),h(this,"randomKey",Math.floor(Math.random()*(Number.MAX_SAFE_INTEGER+1)))}static get containerVM(){return g||b.createToastContainer(),g}static createToastContainer(){dq(".toast-card-container")||(g=(0,i.mountVueComponent)(f),document.body.insertAdjacentElement("beforeend",g.$el))}get element(){return dq(`.toast-card[data-key='${this.key}']`)}get key(){return`${this.creationTime}[${this.randomKey}]`}get duration(){return this.durationNumber}set duration(e){this.durationNumber=e,this.durationTimeout&&this.clearDuration(),this.setDuration()}show(){b.containerVM.cards.unshift(this),this.setDuration()}dismiss(){b.containerVM.cards.includes(this)&&b.containerVM.cards.splice(b.containerVM.cards.indexOf(this),1),this.clearDuration()}setDuration(){void 0!==this.durationNumber&&(this.durationTimeout=window.setTimeout((()=>this.dismiss()),this.durationNumber))}clearDuration(){window.clearTimeout(this.durationTimeout),this.durationTimeout=0}static internalShow(e,t,n,i){const r=new b(e,t,i);return r.duration=n,r.show(),r}static show(e,t,n){return this.internalShow(e,t,n,m.Default)}static info(e,t,n){return this.internalShow(e,t,n,m.Info)}static success(e,t,n){return this.internalShow(e,t,n,m.Success)}static error(e,t,n){return this.internalShow(e,t,n,m.Error)}static mini(...e){return(0,r.$)(...e)}}},3449:function(e,t,n){"use strict";function i(e){var t=e.getBoundingClientRect();return{width:t.width,height:t.height,top:t.top,right:t.right,bottom:t.bottom,left:t.left,x:t.left,y:t.top}}function r(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function a(e){var t=r(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function o(e){return e instanceof r(e).Element||e instanceof Element}function s(e){return e instanceof r(e).HTMLElement||e instanceof HTMLElement}function l(e){return"undefined"!=typeof ShadowRoot&&(e instanceof r(e).ShadowRoot||e instanceof ShadowRoot)}function c(e){return e?(e.nodeName||"").toLowerCase():null}function d(e){return((o(e)?e.ownerDocument:e.document)||window.document).documentElement}function u(e){return i(d(e)).left+a(e).scrollLeft}function p(e){return r(e).getComputedStyle(e)}function f(e){var t=p(e),n=t.overflow,i=t.overflowX,r=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+r+i)}function h(e,t,n){void 0===n&&(n=!1);var o,l,p=d(t),h=i(e),m=s(t),g={scrollLeft:0,scrollTop:0},b={x:0,y:0};return(m||!m&&!n)&&(("body"!==c(t)||f(p))&&(g=(o=t)!==r(o)&&s(o)?{scrollLeft:(l=o).scrollLeft,scrollTop:l.scrollTop}:a(o)),s(t)?((b=i(t)).x+=t.clientLeft,b.y+=t.clientTop):p&&(b.x=u(p))),{x:h.left+g.scrollLeft-b.x,y:h.top+g.scrollTop-b.y,width:h.width,height:h.height}}function m(e){var t=i(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function g(e){return"html"===c(e)?e:e.assignedSlot||e.parentNode||(l(e)?e.host:null)||d(e)}function b(e){return["html","body","#document"].indexOf(c(e))>=0?e.ownerDocument.body:s(e)&&f(e)?e:b(g(e))}function v(e,t){var n;void 0===t&&(t=[]);var i=b(e),a=i===(null==(n=e.ownerDocument)?void 0:n.body),o=r(i),s=a?[o].concat(o.visualViewport||[],f(i)?i:[]):i,l=t.concat(s);return a?l:l.concat(v(g(s)))}function y(e){return["table","td","th"].indexOf(c(e))>=0}function w(e){return s(e)&&"fixed"!==p(e).position?e.offsetParent:null}function x(e){for(var t=r(e),n=w(e);n&&y(n)&&"static"===p(n).position;)n=w(n);return n&&("html"===c(n)||"body"===c(n)&&"static"===p(n).position)?t:n||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&s(e)&&"fixed"===p(e).position)return null;for(var n=g(e);s(n)&&["html","body"].indexOf(c(n))<0;){var i=p(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}(e)||t}n.d(t,{$:function(){return st}});var _="top",k="bottom",C="right",S="left",E="auto",I=[_,k,C,S],$="start",A="end",T="viewport",O="popper",M=I.reduce((function(e,t){return e.concat([t+"-"+$,t+"-"+A])}),[]),L=[].concat(I,[E]).reduce((function(e,t){return e.concat([t,t+"-"+$,t+"-"+A])}),[]),P=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function z(e){var t=new Map,n=new Set,i=[];function r(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var i=t.get(e);i&&r(i)}})),i.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||r(e)})),i}var D={placement:"bottom",modifiers:[],strategy:"absolute"};function V(){for(var e=arguments.length,t=new Array(e),n=0;n=0?"x":"y"}function U(e){var t,n=e.reference,i=e.element,r=e.placement,a=r?q(r):null,o=r?F(r):null,s=n.x+n.width/2-i.width/2,l=n.y+n.height/2-i.height/2;switch(a){case _:t={x:s,y:n.y-i.height};break;case k:t={x:s,y:n.y+n.height};break;case C:t={x:n.x+n.width,y:l};break;case S:t={x:n.x-i.width,y:l};break;default:t={x:n.x,y:n.y}}var c=a?R(a):null;if(null!=c){var d="y"===c?"height":"width";switch(o){case $:t[c]=t[c]-(n[d]/2-i[d]/2);break;case A:t[c]=t[c]+(n[d]/2-i[d]/2)}}return t}// eslint-disable-next-line import/no-unused-modules diff --git a/dist/bilibili-evolved.user.js b/dist/bilibili-evolved.user.js index 794f91a63..3650db892 100644 --- a/dist/bilibili-evolved.user.js +++ b/dist/bilibili-evolved.user.js @@ -52,7 +52,7 @@ NodeFilter.SHOW_TEXT|NodeFilter.SHOW_ELEMENT);let i=n.nextNode();for(;i;)t(i),i= getPlayerConfig(e){return lodash.get(JSON.parse(localStorage.getItem("bilibili_player_settings")),e,!1)}isAutoPlay(){return this.getPlayerConfig("video_status.autoplay")}}class u extends d{ // eslint-disable-next-line class-methods-use-this get nativeApi(){return unsafeWindow.player}constructor(){super(),s(this,"type","video"),s(this,"query",l({playerWrap:".player-wrap",bilibiliPlayer:".bilibili-player",playerArea:".bilibili-player-area",video:{element:".bilibili-player-video video",wrap:".bilibili-player-video-wrap",top:".bilibili-player-video-top",state:".bilibili-player-video-state",panel:".bilibili-player-video-panel",popup:".bilibili-player-video-popup",subtitle:".bilibili-player-video-subtitle",basDanmaku:".bilibili-player-video-bas-danmaku",advDanmaku:".bilibili-player-video-adv-danmaku",danmaku:".bilibili-player-video-danmaku",container:".bilibili-player-video"},control:{element:".bilibili-player-control",wrap:".bilibili-player-control-wrap",mask:".bilibili-player-control-mask",top:".bilibili-player-control-top",progress:".bilibili-player-video-progress",bottom:".bilibili-player-control-bottom",bottomLeft:".bilibili-player-control-bottom-left",bottomCenter:".bilibili-player-control-bottom-center",bottomRight:".bilibili-player-control-bottom-right",buttons:{start:".bilibili-player-video-btn-start",next:".bilibili-player-video-btn-next",time:".bilibili-player-video-time",quality:".bilibili-player-btn-quality",pageList:".bilibili-player-video-btn-pagelist",speed:".bilibili-player-video-btn-speed",subtitle:".bilibili-player-video-btn-subtitle",volume:".bilibili-player-video-btn-volume .bilibili-player-iconfont-volume",settings:".bilibili-player-video-btn-setting",pip:".bilibili-player-video-btn-pip",widescreen:".bilibili-player-video-btn-widescreen",webFullscreen:".bilibili-player-video-web-fullscreen",fullscreen:".bilibili-player-video-btn-fullscreen"},settings:{wrap:".bilibili-player-video-btn-setting-wrap",lightOff:".bilibili-player-video-btn-setting-right-others-content-lightoff .bui-checkbox-input"}},toastWrap:".bilibili-player-video-toast-wrp",danmakuTipLayer:".bilibili-player-dm-tip-wrap",danmakuSwitch:".bilibili-player-video-danmaku-switch input"}));const e=this.query.video.element.selector,t=".bilibili-player-video bwp-video";this.query.video.element=(()=>{const n=async()=>await(0,r.isBwpVideo)()?(0,i.select)(t):(0,i.select)(e);return n.selector=e,n.sync=()=>dq(e),(0,r.isBwpVideo)().then((e=>{e&&(n.selector=t,n.sync=()=>dq(t))})),n})()}isMute(){return this.nativeApi?this.nativeApi.isMute():null}changeVolume(e){if(!this.nativeApi)return null;const t=this.nativeApi.volume();return this.nativeApi.volume(t+e/100),Math.round(100*this.nativeApi.volume())}seek(e){return this.nativeApi?(this.nativeApi.play(),setTimeout((()=>{this.nativeApi.seek(e);const t=dq(".bilibili-player-video-toast-bottom .bilibili-player-video-toast-item:first-child .bilibili-player-video-toast-item-text span:nth-child(2)");t&&(t.textContent=" 00:00")})),this.nativeApi.getCurrentTime()):null}changeTime(e){if(!this.nativeApi)return null;const t=this.query.video.element.sync();return t?(this.nativeApi.seek(t.currentTime+e,t.paused),this.nativeApi.getCurrentTime()):null}async toggleLight(e){const t=await this.query.control.settings.lightOff();t.checked=!e,(0,r.raiseEvent)(t,"change")}}class p extends d{constructor(){super(),s(this,"type","bangumi"),s(this,"query",l({playerWrap:".player-module",bilibiliPlayer:".bpx-player-container",playerArea:".bpx-player-primary-area",video:{element:".bpx-player-video-wrap video",wrap:".bpx-player-video-area",top:".bpx-player-top-wrap",state:".bpx-player-state-wrap",panel:".bpx-player-ending-panel",popup:".bpx-player-dialog-wrap",subtitle:".bpx-player-subtitle-wrap",basDanmaku:".bpx-player-bas-dm-wrap",advDanmaku:".bpx-player-adv-dm-wrap",danmaku:".bpx-player-row-dm-wrap",container:".bpx-player-video-wrap"},control:{element:".squirtle-controller",wrap:".bpx-player-control-wrap",mask:".bpx-player-control-mask",top:".bpx-player-control-top",progress:".squirtle-progress-wrap",bottom:".squirtle-controller-wrap",bottomLeft:".squirtle-controller-wrap-left",bottomCenter:".squirtle-controller-wrap-center",bottomRight:".squirtle-controller-wrap-right",buttons:{start:".squirtle-video-start",next:".squirtle-video-next",time:".squirtle-time-wrap",quality:".squirtle-video-quality",pageList:".squirtle-video-pagelist",speed:".squirtle-video-speed",subtitle:".squirtle-video-subtitle",volume:".squirtle-video-volume .squirtle-volume-icon",settings:".squirtle-video-setting",pip:".squirtle-video-pip",widescreen:".squirtle-video-widescreen",webFullscreen:".squirtle-video-pagefullscreen",fullscreen:".squirtle-video-fullscreen"},settings:{wrap:".squirtle-setting-wrap",lightOff:".squirtle-lightoff"}},toastWrap:".bpx-player-tooltip-area",danmakuTipLayer:".bpx-player-dialog-wrap",danmakuSwitch:".bpx-player-dm-switch input"})),(0,o.bpxPlayerPolyfill)()}isMute(){return this.query.control.buttons.volume.sync()?.classList.contains("squirtle-volume-mute-state")??!1}changeVolume(e){const t=this.query.video.element.sync();return t?(t.volume=lodash.clamp(t.volume+e/100,0,1),Math.round(100*t.volume)):null}seek(e){const t=this.query.video.element.sync();return t?(t.play(),setTimeout((()=>{t.currentTime=lodash.clamp(e,0,t.duration);const n=dq(".bpx-player-toast-row .bpx-player-toast-item .bpx-player-toast-text");n?.textContent?.startsWith("已为您定位至")&&(n.textContent="已为您定位至00:00")})),t.currentTime):null}changeTime(e){const t=this.query.video.element.sync();return t?(t.currentTime=lodash.clamp(t.currentTime+e,0,t.duration),t.currentTime):null}toggleLight(e){const t=this.query.control.settings.lightOff.sync(),n=!t.classList.contains("active")&&!e,i=t.classList.contains("active")&&e;(n||i)&&t.dispatchEvent(new MouseEvent("click"))}}const f=(0,a.matchCurrentPage)(a.bangumiUrls)?new p:new u},7195:function(e,t,n){"use strict";n.r(t),n.d(t,{getBlob:function(){return s},getBlobWithCredentials:function(){return l},getText:function(){return d},getTextWithCredentials:function(){return u},getJson:function(){return h},getJsonWithCredentials:function(){return m},postText:function(){return g},postTextWithCredentials:function(){return b},postJson:function(){return v},postJsonWithCredentials:function(){return y},monkey:function(){return w},responsiveGetPages:function(){return x},getPages:function(){return _},bilibiliApi:function(){return k}});var i=n(2264);const r=e=>{const t=new XMLHttpRequest,{isText:n=!0,body:i}=e(t);return new Promise(((e,r)=>{t.addEventListener("load",(()=>e(n?t.responseText:t.response))),t.addEventListener("error",(()=>r(t.status))),t.send(i)}))},a=e=>t=>(t.withCredentials=!0,e(t)),o=e=>t=>(t.responseType="blob",t.open("GET",e),{isText:!1}),s=e=>r(o(e)),l=e=>r(a(o(e))),c=e=>t=>(t.responseType="text",t.open("GET",e),{isText:!0}),d=e=>r(c(e)),u=e=>r(a(c(e))),p=e=>t=>(t.responseType="json",t.open("GET",e),{isText:!1}),f=e=>"string"==typeof e?JSON.parse(e):e,h=async e=>{const t=await r(p(e));return f(t)},m=async e=>{const t=await r(a(p(e)));return f(t)},g=(e,t)=>r((n=>(n.open("POST",e),n.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),{isText:!1,body:t}))),b=(e,t)=>r((n=>(n.open("POST",e),n.withCredentials=!0,n.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),{isText:!1,body:t}))),v=(e,t)=>r((n=>(n.open("POST",e),n.setRequestHeader("Content-Type","application/json"),{isText:!1,body:JSON.stringify(t)}))),y=(e,t)=>r((n=>(n.open("POST",e),n.withCredentials=!0,n.setRequestHeader("Content-Type","application/json"),{isText:!1,body:JSON.stringify(t)}))),w=e=>new Promise(((t,n)=>{const i={...e,onload:e=>t(e.response),onerror:e=>{const t={...JSON.parse(JSON.stringify(e)),toString(){return JSON.stringify(this)}};n(t)}};"method"in i||(i.method="GET"),GM_xmlhttpRequest(i)})),x=e=>{let t;const n=new Promise((n=>{t=new Promise((t=>{(async()=>{const{api:i,getList:r,getTotal:a}=e;let o=1,s=1/0;const l=[];for(;l.length{const[,t]=x(e);return await t},k=async(e,t)=>{const n=await e;if(0!==n.code){const e=new Error(`${t}: code = ${n.code}, message = ${n.message||n.msg}`);throw(0,i.logError)(e),e}return n.data||n.result||{}}},2462:function(e,t,n){"use strict";let i;n.r(t),n.d(t,{CdnTypes:function(){return i},cdnRoots:function(){return a}}),function(e){e.jsDelivr="jsDelivr",e.GitHub="GitHub"}(i||(i={}));const r="the1812",a={jsDelivr:(e,t)=>`https://cdn.jsdelivr.net/gh/${t||r}/Bilibili-Evolved@${e}/`,GitHub:(e,t)=>`https://raw.githubusercontent.com/${t||r}/Bilibili-Evolved/${e}/`}},3871:function(e,t,n){"use strict";n.r(t),n.d(t,{coreApis:function(){return ai},externalApis:function(){return oi}});var i={};n.r(i),n.d(i,{enableHorizontalScroll:function(){return T}});var r={};n.r(r),n.d(r,{Reorder:function(){return q},ReorderDecreaseClassName:function(){return D},ReorderEnabledClassName:function(){return N},ReorderIncreaseClassName:function(){return V},ReorderOrientations:function(){return j},ReorderingClassName:function(){return B}});var a={};n.r(a),n.d(a,{getUserInfo:function(){return G}});var o={};n.r(o),n.d(o,{loadDanmakuSettingsPanel:function(){return ie},loadLazyPanel:function(){return te},loadLazyPlayerSettingsPanel:function(){return ne},loadSubtitleSettingsPanel:function(){return re}});var s={};n.r(s),n.d(s,{styledComponentEntry:function(){return fe},toggleStyle:function(){return he}});var l={};n.r(l),n.d(l,{getWatchlaterList:function(){return be},toggleWatchlater:function(){return ve},watchlaterList:function(){return ge}});var c={};n.r(c),n.d(c,{FeedsCardsManager:function(){return Te},FeedsCardsManagerEventType:function(){return Ae},addMenuItem:function(){return Xe},applyContentFilter:function(){return He},bangumiTypeList:function(){return _e},createNodeValidator:function(){return $e},feedsCardCallbacks:function(){return Ee},feedsCardTypes:function(){return we},feedsCardsManager:function(){return je},forEachFeedsCard:function(){return qe},getFeeds:function(){return Ge},getVideoFeeds:function(){return We},getVueData:function(){return Ie},groupVideoFeeds:function(){return Fe},isPreOrderedVideo:function(){return Re},isRepostType:function(){return xe},navbarFeedsTypeList:function(){return ke},withContentFilter:function(){return Ze}});var d={};n.r(d),n.d(d,{DisableProfilePopupClass:function(){return At},disableProfilePopup:function(){return Tt},enableProfilePopup:function(){return Ot}});var u={};n.r(u),n.d(u,{compareID:function(){return Pt},getLatestID:function(){return Lt},getNotifyCount:function(){return Nt},isNewID:function(){return Dt},setLatestID:function(){return zt},updateInterval:function(){return Mt},updateLatestID:function(){return Vt}});var p={};n.r(p),n.d(p,{convertHexColorForDialogue:function(){return jt},convertHexColorForStyle:function(){return qt},convertTimeByDuration:function(){return Rt},convertTimeByEndTime:function(){return Ut},normalizeContent:function(){return Ht}});var f={};n.r(f),n.d(f,{escapeContent:function(){return Xt},normalizeContent:function(){return Kt}});var h={};n.r(h),n.d(h,{lightOff:function(){return en},lightOn:function(){return Qt}});var m={};n.r(m),n.d(m,{forEachVideoDanmaku:function(){return rn}});var g={};n.r(g),n.d(g,{BangumiInfo:function(){return sn},VideoInfo:function(){return on}});var b={};n.r(b),n.d(b,{allQualities:function(){return dn},loginRequiredQualities:function(){return ln},vipRequiredQualities:function(){return cn}});var v={};n.r(v),n.d(v,{addMenuItem:function(){return pn},forEachContextMenu:function(){return un}});var y={};n.r(y),n.d(y,{addControlBarButton:function(){return gn}});var w={};n.r(w),n.d(w,{waitForControlBar:function(){return bn}});var x={};n.r(x),n.d(x,{LiveSocket:function(){return Cn}});var _={};n.r(_),n.d(_,{addMenuItem:function(){return Pn},commentAreas:function(){return Sn},forEachCommentArea:function(){return Mn},forEachCommentItem:function(){return Ln}});var k={};n.r(k),n.d(k,{addCategoryIcons:function(){return Un},categories:function(){return qn},categoryCodes:function(){return Fn},categoryLinks:function(){return Rn},rawData:function(){return Dn}});var C={};n.r(C),n.d(C,{createSwitchOptions:function(){return Qn}});var S=n(7195),E=n(2462),I=n(4114),$=n(7731),A=n(7590);const T=e=>{const t=t=>{t.deltaY&&!t.deltaX&&(t.preventDefault(),requestAnimationFrame((()=>{e.scrollBy(t.deltaY,0)})))};return e.addEventListener("wheel",t),e.style.scrollSnapType="none",()=>{e.removeEventListener("wheel",t),e.style.scrollSnapType=""}};var O=n(7177),M=n(4345),L=n(1836),P=n(3420);function z(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const D="reorder-decrease",V="reorder-increase",N="reorder-enabled",B="reordering",j={horizontal:{name:"horizontal",getMoveTransform:e=>`translateX(${e}px)`,setOtherTransform:lodash.throttle(((e,t,n)=>{if(!t.classList.contains(B))return;const i=e.find((e=>e.element===t));if(!i)return;const r=i.rect,a=e.filter((e=>e.rect.leftt.rect.left-e.rect.left)),o=e.filter((e=>e.rect.left>r.left)).sort(((e,t)=>e.rect.left-t.rect.left));if(n>=0){const[e]=o;a.forEach((e=>{e.element.style.transform="",e.element.classList.remove(V)})),o.forEach((t=>{r.left+n+r.width>=t.rect.left+t.rect.width/2?(t.element.classList.add(D),t.element.style.transform=`translateX(-${e.rect.left-r.left}px)`):(t.element.classList.remove(D),t.element.style.transform="")}))}else{const[e]=a;o.forEach((e=>{e.element.style.transform="",e.element.classList.remove(D)})),a.forEach((t=>{r.left+n<=t.rect.left+t.rect.width/2?(t.element.classList.add(V),t.element.style.transform=`translateX(${r.left+r.width-e.rect.left-e.rect.width}px)`):(t.element.classList.remove(V),t.element.style.transform="")}))}}),50)},vertical:{name:"vertical",getMoveTransform:(e,t)=>`translateY(${t}px)`,setOtherTransform:lodash.throttle(((e,t,n,i)=>{if(!t.classList.contains(B))return;const r=e.find((e=>e.element===t));if(!r)return;const a=r.rect,o=e.filter((e=>e.rect.topt.rect.top-e.rect.top)),s=e.filter((e=>e.rect.top>a.top)).sort(((e,t)=>e.rect.top-t.rect.top));if(i>=0){const[e]=s;o.forEach((e=>{e.element.style.transform="",e.element.classList.remove(V)})),s.forEach((t=>{a.top+i+a.height>=t.rect.top+t.rect.height/2?(t.element.classList.add(D),t.element.style.transform=`translateY(-${e.rect.top-a.top}px)`):(t.element.classList.remove(D),t.element.style.transform="")}))}else{const[e]=o;s.forEach((e=>{e.element.style.transform="",e.element.classList.remove(D)})),o.forEach((t=>{a.top+i<=t.rect.top+t.rect.height/2?(t.element.classList.add(V),t.element.style.transform=`translateY(${a.top+a.height-e.rect.top-e.rect.height}px)`):(t.element.classList.remove(V),t.element.style.transform="")}))}}),50)}};class q extends EventTarget{constructor(e){super(),this.container=e,z(this,"orientation",j.horizontal),z(this,"enabled",!1),z(this,"children",void 0),z(this,"snapshots",new Map),z(this,"attachedEvents",[]),this.children=[...this.container.children],this.children.every((e=>""===e.style.order))&&this.children.forEach(((e,t)=>{e.style.order=(t+1).toString()}))}addEventListener(e,t,n){super.addEventListener(e,t,n)}removeEventListener(e,t,n){super.addEventListener(e,t,n)}getOrderMap(){return new Map(this.children.map((e=>[e,parseInt(e.style.order)])))}toggle(){this.enabled?this.disable():this.enable()}generateSnapshots(){this.children.forEach((e=>{this.snapshots.set(e,{element:e,rect:e.getBoundingClientRect()})}))}enable(){this.children.forEach((e=>{let t=0,n=0,i=!1;e.classList.add(N);(()=>{const r=(r,a)=>{e.classList.add(B),e.style.transition="none",e.style.userSelect="none",this.generateSnapshots(),this.children.filter((t=>t!==e)).forEach((e=>{e.style.transition="transform .2s ease-out"})),t=r,n=a,i=!0},a=e=>{r(e.screenX,e.screenY)};e.addEventListener("mousedown",a),this.attachedEvents.push((()=>e.removeEventListener("mousedown",a)));const o=e=>{if(1!==e.touches.length)return;const[t]=e.touches;r(t.screenX,t.screenY)};e.addEventListener("touchstart",o),this.attachedEvents.push((()=>e.removeEventListener("touchstart",o)))})(),(()=>{const r=(i,r)=>{const a=i-t,o=r-n;e.style.transform=this.orientation.getMoveTransform(a,o),this.orientation.setOtherTransform([...this.snapshots.values()],e,a,o)},a=e=>{i&&(r(e.screenX,e.screenY),e.cancelable&&e.preventDefault())};document.addEventListener("mousemove",a),this.attachedEvents.push((()=>document.removeEventListener("mousemove",a)));const o=e=>{if(!i)return;if(1!==e.touches.length)return;const[t]=e.touches;r(t.screenX,t.screenY),e.cancelable&&e.preventDefault()};e.addEventListener("touchmove",o,{passive:!1}),this.attachedEvents.push((()=>e.removeEventListener("touchmove",o)))})(),(()=>{const t=()=>{if(!i)return;e.classList.remove(B),i=!1;let t=0;const n=this.children.filter((t=>t!==e)),r=[];n.forEach((e=>{e.style.transform="",e.style.transition="",e.classList.contains(V)?(t--,e.style.order=(parseInt(e.style.order)+1).toString(),e.classList.remove(V),r.push(this.snapshots.get(e))):e.classList.contains(D)&&(t++,e.style.order=(parseInt(e.style.order)-1).toString(),e.classList.remove(D),r.push(this.snapshots.get(e)))})),e.style.userSelect="",e.style.order=(parseInt(e.style.order)+t).toString(),e.style.transform="",e.style.transition="",this.dispatchEvent(new CustomEvent("reorder",{detail:this.children.map((e=>({element:e,order:parseInt(e.style.order)})))}))};document.addEventListener("mouseup",t),this.attachedEvents.push((()=>document.removeEventListener("mouseup",t))),e.addEventListener("touchend",t),this.attachedEvents.push((()=>e.removeEventListener("touchend",t)))})()})),this.enabled=!0}disable(){this.attachedEvents.forEach((e=>e())),this.children.forEach((e=>e.classList.remove(N))),this.enabled=!1}}var F=n(391),R=n(5550),U=n(6182),H=n(6314),Z=n(6171);const W={isLogin:!1},G=lodash.once((async()=>{const{getUID:e}=await Promise.resolve().then(n.bind(n,1906));if(!e())return W;const{getJsonWithCredentials:t}=await Promise.resolve().then(n.bind(n,7195)),i=await t("https://api.bilibili.com/x/web-interface/nav");return 0!==i.code&&-101!==i.code?(console.warn("[store.fetchUserInfo] API Error",i.message),W):i.data}));var X=n(8885),K=n(1906),J=n(2121),Y=n(3708),Q=n(53),ee=n(5106);const te=async(e,t={})=>{const{style:n,enterDelay:i=750,leaveDelay:r=1e3}=t,a=await(0,R.select)(e);if(!a)throw new Error(`lazy panel failed! selector = ${e}`);let o;return void 0!==n&&(o=document.createElement("style"),o.textContent=n,document.body.insertAdjacentElement("beforeend",o)),(0,K.raiseEvent)(a,"mouseover"),await(0,K.delay)(i),(0,K.raiseEvent)(a,"mouseout"),setTimeout((()=>o?.remove()),r),a},ne=async(e,t,n={})=>{await te(e,{style:`${t} { display: none !important; }`,...n});const i=(0,K.dq)(t);if(!i)throw new Error(`lazy player settings panel failed! panelSelector = ${t}`);return i},ie=()=>ne(".bilibili-player-video-danmaku-setting",".bilibili-player-video-danmaku-setting-wrap"),re=()=>ne(".bilibili-player-video-btn-subtitle",".bilibili-player-video-subtitle-setting-wrap",{style:".bilibili-player-video-subtitle-setting-wrap, .bilibili-player-video-subtitle { display: none }"});var ae=n(2264),oe=n(5945),se=n(7735),le=n(5683),ce=n(8208),de=n(3923),ue=n(8171),pe=n(7010);const fe=(e,t)=>async i=>{const{default:r}=await e(),{addStyle:a}=await Promise.resolve().then(n.bind(n,6182));return a(r,i.metadata.name),t(i)},he=(e,t,i=K.none)=>{let r=null;const a=async()=>{if(r)return;const{default:i}=await t(),{addStyle:a}=await Promise.resolve().then(n.bind(n,6182));r=a(i,e)};return{name:e,entry:e=>a().then((()=>i(e))),reload:a,unload:()=>{r?.remove(),r=null}}};var me=n(5143);const ge=[];async function be(e=!1){const{getUID:t}=await Promise.resolve().then(n.bind(n,1906));if(!t())return console.warn("[稍后再看列表] 账号未登录"),[];const{getJsonWithCredentials:i}=await Promise.resolve().then(n.bind(n,7195)),r=await i("https://api.bilibili.com/x/v2/history/toview/web");if(0!==r.code)return(0,ae.logError)(new Error(`获取稍后再看列表失败: ${r.message}`)),[];if(!r.data.list)return(0,K.deleteValues)(ge,(()=>!0)),[];const a=r.data.list;(0,K.deleteValues)(ge,(e=>!a.find((t=>t.aid===e))));const o=a.filter((e=>!ge.find((t=>t===e.aid))));return ge.push(...o.map((e=>e.aid))),e?a:a.map((e=>e.aid))}const ve=async(e,t)=>{const i=parseInt(e.toString());if(Number.isNaN(i))return;void 0===t&&(t=!ge.includes(i));const r=t?"https://api.bilibili.com/x/v2/history/toview/add":"https://api.bilibili.com/x/v2/history/toview/del",{getCsrf:a}=await Promise.resolve().then(n.bind(n,1906)),o=a(),{postTextWithCredentials:s}=await Promise.resolve().then(n.bind(n,7195)),l=await s(r,`aid=${e}&csrf=${o}`),c=JSON.parse(l);0===c.code?t?ge.push(i):(0,K.deleteValue)(ge,(e=>e===i)):(0,ae.logError)(new Error(`稍后再看操作失败: ${c.message}`))};requestIdleCallback((async()=>{const{getUID:e}=await Promise.resolve().then(n.bind(n,1906));e()&&be()}));var ye=n(950);const we={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:"分享"},manga:{id:2049,name:"漫画"},film:{id:4098,name:"电影"},tv:{id:4099,name:"TV剧"},chinese:{id:4100,name:"国创"},documentary:{id:4101,name:"纪录片"},mediaList:{id:4300,name:"收藏夹"},liveRecord:{id:2047,name:"开播记录"}},xe=e=>e.type===we.repost,_e="512,4097,4098,4099,4100,4101",ke="8,64,512,4097,4098,4099,4100,4101",Ce="feeds.manager.listAdaptors";function Se(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}(0,ye.addData)(Ce,(e=>{e.push({name:"live",match:[...se.liveUrls],watchCardsList:async e=>{const t=await(0,R.select)(".room-feed");if(!t)return!1;console.log("live watch");let n=null;return(0,P.childList)(t,(async()=>{if(dq(".room-feed-content")){const t=await(0,R.select)(".room-feed-content .content");n?.disconnect(),[n]=e.updateCards(t)}else n?.disconnect(),n=null,await Promise.all(e.cards.map((e=>e.element)).map((t=>e.removeCard(t))))})),!0}},{name:"space",match:["https://space.bilibili.com/"],watchCardsList:async e=>{const t=await(0,R.select)(".s-space");if(!t)return!1;const n={},i=()=>n.listElement&&n.observer?(console.log("space feeds stop"),n.observer?.then((e=>e.disconnect())),delete n.observer,delete n.listElement,Promise.all(e.cards.map((e=>e.element)).map((t=>e.removeCard(t))))):[],r=()=>{if(n.observer)return n.observer;const t=(0,R.select)(".feed-card .content");return n.observer=(async()=>{const a=await t;a!==await n.listElement&&(n.listElement&&await i(),n.listElement=t,r()),console.log("space feeds start");const[o]=e.updateCards(a);return o})(),n.observer};return(0,P.childListSubtree)(t,(async()=>{dq(".feed-card .content")?r():i()})),!0}},{name:"topic",match:["https://t.bilibili.com/topic"],watchCardsList:async e=>{const t=await(0,R.select)(".page-container");if(!t)return!1;let n=null;return(0,P.childList)(t,(async()=>{if(dq(".page-container .feed")){const t=await(0,R.select)(".feed .feed-topic");n?.disconnect(),[n]=e.updateCards(t)}else n?.disconnect(),n=null,await Promise.all(e.cards.map((e=>e.element)).map((t=>e.removeCard(t))))})),!0}},{name:"default",match:["https://t.bilibili.com/"],watchCardsList:async e=>{const t=await(0,R.select)(".feed-card .content, .detail-content .detail-card, .bili-dyn-list__items");return!!t&&(e.updateCards(t),!0)}})}));const Ee=[],Ie=e=>// eslint-disable-next-line no-underscore-dangle -e.__vue__??e.parentElement.__vue__??e.children[0].__vue__,$e=e=>t=>{e.startsWith(".")&&(e=e.substring(1));const n=Boolean(t),i=t&&t.parentNode,r=t instanceof HTMLElement&&t.classList.contains(e);return n&&i&&r};let Ae;!function(e){e.AddCard="addCard",e.RemoveCard="removeCard"}(Ae||(Ae={}));class Te extends EventTarget{constructor(...e){super(...e),Se(this,"watching",!1),Se(this,"cards",[]),Se(this,"managerType",void 0)}addEventListener(e,t,n){super.addEventListener(e,t,n)}removeEventListener(e,t,n){super.removeEventListener(e,t,n)}dispatchCardEvent(e,t){const n=new CustomEvent(e,{detail:t});this.dispatchEvent(n),Ee.forEach((n=>n[e===Ae.AddCard?"added":"removed"](t)))}async startWatching(){if(this.watching)return!0;this.watching=!0;const[e]=(0,ye.registerAndGetData)(Ce,[]),t=e.find((e=>e.match.some((e=>(0,K.matchUrlPattern)(e)))));return t?t.watchCardsList(this):(console.warn("[FeedsCardsManager] No adaptor found",e),!1)}}const Oe=e=>e.querySelector(".repost")?we.repost:e.querySelector(".imagesbox")?we.textWithImages:e.querySelector(".video-container")?we.video:e.querySelector(".bangumi-container")?we.bangumi:e.querySelector(".article-container")?we.column:e.querySelector(".music-container")?we.audio:e.querySelector(".h5share-container")?we.share:e.querySelector(".vc-ctnr")?we.miniVideo:e.querySelector(".live-container")?we.liveRecord:we.text,Me=async e=>{const t=async t=>{const n=await(0,R.sq)((()=>e.querySelector(t)),(t=>null!==t||null===e.parentNode),{queryInterval:100});if(null===e.parentNode)return"";if(null===n)return console.warn(e,t,e.parentNode),"";return n.innerText.trim()},n=e=>{if(void 0===e.card.origin)return{originalText:"",originalDescription:"",originalTitle:""};const t=JSON.parse(e.card.origin);return{originalText:e.originCardData.pureText,originalDescription:lodash.get(t,"item.description",lodash.get(t,"desc","")),originalTitle:t.title}},i=async e=>{const n=parseInt(await t(e));return isNaN(n)?0:n},r={id:e.getAttribute("data-did"),username:await t(".main-content .user-name"),text:"",reposts:await i(".button-bar .single-button:nth-child(1) .text-offset"),comments:await i(".button-bar .single-button:nth-child(2) .text-offset"),likes:await i(".button-bar .single-button:nth-child(3) .text-offset"),element:e,type:Oe(e),get presented(){return null!==e.parentNode},async getText(){return(async t=>{if(t===we.bangumi)return"";const i=await(0,R.sq)((()=>e),(t=>Boolean(Ie(t)||!e.parentNode)),{queryInterval:100});if(null===e.parentNode)return"";if(null===i)return console.warn(i,e,Ie(i),e.parentNode),"";const r=Ie(i);if(t===we.repost){const e=r.card.item.content,t=n(r);return[e,...Object.values(t).filter((e=>""!==e))].filter((e=>Boolean(e))).join("\n")}return[r.originCardData.pureText,r.originCardData.title].filter((e=>Boolean(e))).join("\n")})(this.type)}};if(r.text=await r.getText(),e.setAttribute("data-type",r.type.id.toString()),xe(r)){const t=r.username,i=Ie(r.element),a=lodash.get(i,"card.origin_user.info.uname","");t===a&&e.setAttribute("data-self-repost","true"),r.repostUsername=a,r.repostText=n(i).originalText}return r};class Le extends Te{constructor(...e){var t,n,i;super(...e),i="v1",(n="managerType")in(t=this)?Object.defineProperty(t,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[n]=i}async addCard(e){if(e&&e instanceof HTMLElement&&e.classList.contains("card"))if(null!==e.querySelector(".skeleton")){const[t]=(0,P.childList)(e,(()=>{null===e.querySelector(".skeleton")&&(t.disconnect(),this.addCard(e))}))}else{if(null===e.parentNode)return;const t=await Me(e);if(!t.presented)return;if(this.cards.find((e=>e.id===t.id)))return;this.cards.push(t),this.cards.sort(((e,t)=>e.id===t.id?0:e.id>t.id?-1:1)),this.dispatchCardEvent(Ae.AddCard,t)}}async removeCard(e){if(e&&e instanceof HTMLElement&&e.classList.contains("card")){const t=e.getAttribute("data-did"),n=this.cards.findIndex((e=>e.id===t));if(-1===n)return;const i=this.cards[n];this.cards.splice(n,1),this.dispatchCardEvent(Ae.RemoveCard,i)}}updateCards(e){const t=".card[data-did]",n=e=>{if(e instanceof HTMLElement){if(e.matches(t))return e;const n=e.querySelector(t);if(n)return n}};return[...e.querySelectorAll(t)].forEach((e=>this.addCard(e))),(0,P.childList)(e,(e=>{e.forEach((e=>{e.addedNodes.forEach((e=>this.addCard(n(e)))),e.removedNodes.forEach((e=>this.removeCard(n(e))))}))}))}}const Pe={DynamicTypeForward:we.repost,DynamicTypeAv:we.video,DynamicTypeDraw:we.textWithImages,DynamicTypeWord:we.text,DynamicTypePgc:we.bangumi,DynamicTypeArticle:we.column,DynamicTypeMusic:we.audio,DynamicTypeLiveRcmd:we.liveRecord},ze=(...e)=>e.filter((e=>Boolean(e))).join("\n").trim(),De=(e,t)=>{const{desc:n,major:i}=e,r=n?.text??"";let a="";switch(t){default:break;case we.bangumi:case we.column:case we.video:{const e=i.archive??i.pgc??i.article,{title:t,desc:n}=e;a=ze(t,n);break}}return ze(r,a)},Ve=async e=>{const t=Ie(e),{modules:n,id_str:i,type:r}=t.data,{name:a}=n.module_author,{like:o,forward:s,comment:l}=n.module_stat,c=(d=r,Pe[(0,K.pascalCase)(d)]??Pe.DynamicTypeWord);var d;e.dataset.type=c.id.toString();const u={id:i,username:a,likes:o.count,reposts:s.count,comments:l.count,text:"",type:c,element:e,get presented(){return null!==e.parentNode},getText:async()=>De(n.module_dynamic,c)};if(xe(u)){const i=u.username,{module_author:{name:r},module_dynamic:a}=t.data.orig.modules;u.repostUsername=r,u.repostText=De(a,c),r===i&&e.setAttribute("data-self-repost","true"),u.getText=async()=>ze(De(n.module_dynamic,c),De(a,c))}return u.text=await u.getText(),u},Ne=$e("bili-dyn-list__item");class Be extends Te{constructor(...e){var t,n,i;super(...e),i="v2",(n="managerType")in(t=this)?Object.defineProperty(t,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[n]=i}async addCard(e){if(!Ne(e))return;const t=await Ve(e);t.presented&&(this.cards.push(t),this.cards.sort((0,oe.descendingStringSort)((e=>e.id))),this.dispatchCardEvent(Ae.AddCard,t))}async removeCard(e){if(!Ne(e))return;const t=Ie(e).data?.id_str??"0",n=this.cards.findIndex((e=>e.id===t));if(-1===n)return;const[i]=this.cards.splice(n,1);this.dispatchCardEvent(Ae.RemoveCard,i)}updateCards(e){const t=".bili-dyn-list__item";dqa(e,t).forEach((e=>this.addCard(e)));const n=e=>Ne(e)?e.matches(t)?e:e.querySelector(t):null;return(0,P.childList)(e,(e=>{e.forEach((e=>{e.addedNodes.forEach((e=>this.addCard(n(e)))),e.removedNodes.forEach((e=>this.removeCard(n(e))))}))}))}}const je=parseInt((0,K.getCookieValue)("hit-dyn-v2"))>0?new Be:new Le,qe=async e=>{if(!await je.startWatching())return console.error("feedsCardsManager.startWatching() failed"),null;const{added:t}=e;return t&&je.cards.forEach((e=>t(e))),Ee.push({added:none,removed:none,...e}),je},Fe=e=>{const t=lodash.groupBy(e,(e=>e.aid)),n=e=>({id:e.upID,name:e.upName,faceUrl:e.upFaceUrl});return Object.values(t).map((e=>{if(1===e.length)return e[0];const[t,...i]=e;return t.cooperation=[n(t),...i.map(n)],console.log([...t.cooperation]),t})).sort((0,oe.descendingStringSort)((e=>e.id)))},Re=e=>1===lodash.get(e,"extra.is_reserve_recall",0),Ue="feeds.contentFilters";(0,ye.registerData)(Ue,[]);const He=e=>{const[t]=(0,ye.getData)(Ue);return t.reduce(((e,t)=>t.filter(e)),e)},Ze=e=>(...t)=>e(...t).then((e=>He(e))),We=Ze((async(e="video")=>{if(!(0,K.getUID)())return[];const t=await(0,S.getJsonWithCredentials)(`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=${(0,K.getUID)()}&type_list=${"video"===e?8:512}`);if(0!==t.code)throw new Error(t.message);const n=t.data.cards,i=n.filter((e=>!Re(JSON.parse(e.card))));return"video"===e?Fe(n.map((e=>{const t=JSON.parse(e.card),n=lodash.get(e,"display.topic_info.topic_details",[]).map((e=>({id:e.topic_id,name:e.topic_name})));return{id:e.desc.dynamic_id_str,aid:t.aid,bvid:e.desc.bvid||t.bvid,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(1e3*e.timestamp),topics:n,dynamic:t.dynamic,like:(0,Y.formatCount)(e.desc.like),duration:t.duration,durationText:(0,Y.formatDuration)(t.duration,0),playCount:(0,Y.formatCount)(t.stat.view),danmakuCount:(0,Y.formatCount)(t.stat.danmaku),watchlater:ge.includes(t.aid)}}))):"bangumi"===e?i.map((e=>{const t=JSON.parse(e.card);return{id:e.desc.dynamic_id_str,aid:t.aid,bvid:e.desc.bvid||t.bvid,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(1e3*e.timestamp),like:(0,Y.formatCount)(e.desc.like),durationText:"",playCount:(0,Y.formatCount)(t.play_count),danmakuCount:(0,Y.formatCount)(t.bullet_count),watchlater:!1}})):[]})),Ge=async(e,t)=>{if("string"==typeof e)return(0,S.getJsonWithCredentials)(`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=${(0,K.getUID)()}&type_list=${e}`);const n=e.id.toString();let i=`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=${(0,K.getUID)()}&type_list=${n}`;return t&&(i=`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_history?uid=${(0,K.getUID)()}&offset_dynamic_id=${t}&type=${n}`),(0,S.getJsonWithCredentials)(i)},Xe=(e,t)=>{const n=dq(e.element,".more-panel, .bili-dyn-more__menu"),i=n.classList.contains("bili-dyn-more__menu"),{className:r,text:a,action:o}=t;if(!n||dq(n,`.${r}`))return;const s=document.createElement(i?"div":"p");i?(s.classList.add("bili-dyn-more__menu__item",r),s.style.height="25px",s.style.padding="2px 0",s.style.textAlign="center",s.dataset.module="more",s.dataset.type=lodash.snakeCase(`ThreePoint${(0,K.pascalCase)(r)}`).toUpperCase(),s.dataset.params="{}"):s.classList.add("child-button","c-pointer",r),s.textContent=a;[...new Set([...n.children].map((e=>e.getAttributeNames().filter((e=>e.startsWith("data-v-"))))).flat())].forEach((e=>s.setAttribute(e,""))),s.addEventListener("click",(t=>{o(t),e.element.click()})),n.appendChild(s)};var Ke=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{staticClass:"bangumi-card",class:{new:e.isNew},attrs:{target:"_blank",href:e.data.url}},[n("div",{staticClass:"ep-cover-container"},[n("DpiImage",{staticClass:"ep-cover",attrs:{size:{width:100},src:e.data.epCoverUrl}})],1),e._v(" "),n("h1",{staticClass:"ep-title",attrs:{title:e.data.epTitle}},[e._v(e._s(e.data.epTitle))]),e._v(" "),n("div",{staticClass:"up",attrs:{title:e.data.title}},[n("DpiImage",{staticClass:"cover",attrs:{size:24,src:e.data.coverUrl}}),e._v(" "),n("div",{staticClass:"title"},[e._v(e._s(e.data.title))])],1)])};Ke._withStripped=!0;var Je=Vue.extend({components:{DpiImage:de.DpiImage},props:{data:{type:Object,required:!0},isNew:{type:Boolean,default:!1}}}),Ye=n(3379),Qe=n.n(Ye),et=n(5478),tt=n.n(et),nt={insert:"head",singleton:!1},it=(Qe()(tt(),nt),tt().locals,n(1900)),rt=(0,it.Z)(Je,Ke,[],!1,null,"3bc2da4f",null);rt.options.__file="src/components/feeds/BangumiCard.vue";var at=rt.exports,ot=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{staticClass:"be-up-info",class:{fallback:!e.upFaceUrl},attrs:{href:e.actualHref,title:e.upName,target:"_blank"}},[e.upFaceUrl?n("DpiImage",{staticClass:"be-up-info-cover",attrs:{size:24,src:e.upFaceUrl}}):n("div",{staticClass:"be-up-info-cover-fallback"},[e._t("fallback-icon",[n("VIcon",{attrs:{icon:"up-outline",size:18}})])],2),e._v(" "),n("div",{staticClass:"be-up-info-name"},[e._v("\n "+e._s(e.upName)+"\n ")])],1)};ot._withStripped=!0;var st=Vue.extend({components:{DpiImage:de.DpiImage,VIcon:de.VIcon},props:{href:{type:String,default:""},upId:{type:[String,Number],default:""},upFaceUrl:{type:String,default:""},upName:{type:String,required:!0}},computed:{actualHref(){return this.href?this.href:`https://space.bilibili.com/${this.upId}`}}}),lt=n(3436),ct=n.n(lt),dt={insert:"head",singleton:!1},ut=(Qe()(ct(),dt),ct().locals,(0,it.Z)(st,ot,[],!1,null,null,null));ut.options.__file="src/components/feeds/UpInfo.vue";var pt=ut.exports,ft=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{staticClass:"video-card",class:{vertical:"vertical"===e.orientation,"no-stats":!e.showStats},attrs:{target:"_blank",href:e.epID?"https://www.bilibili.com/bangumi/play/ep"+e.epID:"https://www.bilibili.com/video/"+e.bvid}},[n("div",{staticClass:"cover-container"},[n("DpiImage",{staticClass:"cover",attrs:{src:e.coverUrl,size:{height:120,width:200}}}),e._v(" "),e.isNew?n("div",{staticClass:"new"},[e._v("NEW")]):e._e(),e._v(" "),e.pubTime&&e.pubTimeText?[n("div",{staticClass:"publish-time-summary"},[e._v("\n "+e._s(e.pubTimeText)+"\n ")]),e._v(" "),n("div",{staticClass:"publish-time-detail"},[e._v("\n "+e._s(e.pubTime)+"\n ")])]:e._e(),e._v(" "),e.durationText?n("div",{staticClass:"duration"},[e._v(e._s(e.durationText))]):e._e(),e._v(" "),e.durationText&&null!==e.watchlater&&void 0!==e.watchlater?n("div",{staticClass:"watchlater",on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.toggleWatchlater(e.aid)}}},[n("VIcon",{attrs:{size:15,icon:e.watchlater?"mdi-check-circle":"mdi-clock-outline"}}),e._v("\n "+e._s(e.watchlater?"已添加":"稍后再看")+"\n ")],1):e._e()],2),e._v(" "),n("h1",{staticClass:"title",attrs:{title:e.title}},[e._v(e._s(e.title))]),e._v(" "),e.topics&&e.topics.length?n("div",{staticClass:"topics"},e._l(e.topics.slice(0,3),(function(t){return n("a",{key:t.id,staticClass:"topic",attrs:{target:"_blank",href:"https://t.bilibili.com/topic/name/"+t.name+"/feed"}},[e._v("#"+e._s(t.name)+"#")])})),0):n("p",{staticClass:"description",attrs:{title:e.description}},[e._v(e._s(e.description))]),e._v(" "),0===e.cooperation.length?n("a",{staticClass:"up",class:{"no-face":!e.upFaceUrl},attrs:{target:"_blank",href:e.upID?"https://space.bilibili.com/"+e.upID:null}},[e.upFaceUrl?n("DpiImage",{staticClass:"face",attrs:{src:e.upFaceUrl,size:24}}):n("VIcon",{attrs:{icon:"up"}}),e._v(" "),n("div",{staticClass:"name",attrs:{title:e.upName}},[e._v(e._s(e.upName))])],1):e._e(),e._v(" "),0!==e.cooperation.length?n("div",{staticClass:"cooperation"},[n("div",{staticClass:"cooperation-ups"},e._l(e.reversedCooperation,(function(e){return n("a",{key:e.id,staticClass:"cooperation-up",class:{"no-face":!e.faceUrl},attrs:{target:"_blank",title:e.name,href:e.id?"https://space.bilibili.com/"+e.id:null}},[e.faceUrl?n("DpiImage",{staticClass:"face",attrs:{src:e.faceUrl,size:24}}):n("VIcon",{attrs:{icon:"up"}})],1)})),0),e._v(" "),n("div",{staticClass:"cooperation-note"},[e._v("\n 联合投稿\n ")])]):e._e(),e._v(" "),e.showStats?n("div",{staticClass:"stats"},[e.vertical?[e.playCount?[n("VIcon",{attrs:{icon:"play",size:e.statsIconSize}}),e._v("\n "+e._s(e.playCount)+"\n ")]:e._e(),e._v(" "),e.danmakuCount?[n("VIcon",{attrs:{icon:"danmaku",size:e.statsIconSize}}),e._v("\n "+e._s(e.danmakuCount)+"\n ")]:e._e(),e._v(" "),e.like?[n("VIcon",{attrs:{icon:"like-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.like)+"\n ")]:e._e(),e._v(" "),e.coins?[n("VIcon",{attrs:{icon:"coin-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.coins)+"\n ")]:e._e(),e._v(" "),e.favorites?[n("VIcon",{attrs:{icon:"favorites-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.favorites)+"\n ")]:e._e()]:[e.like?[n("VIcon",{attrs:{icon:"like-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.like)+"\n ")]:e._e(),e._v(" "),e.coins?[n("VIcon",{attrs:{icon:"coin-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.coins)+"\n ")]:e._e(),e._v(" "),e.favorites?[n("VIcon",{attrs:{icon:"favorites-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.favorites)+"\n ")]:e._e(),e._v(" "),e.playCount?[n("VIcon",{attrs:{icon:"play",size:e.statsIconSize}}),e._v("\n "+e._s(e.playCount)+"\n ")]:e._e(),e._v(" "),e.danmakuCount?[n("VIcon",{attrs:{icon:"danmaku",size:e.statsIconSize}}),e._v("\n "+e._s(e.danmakuCount)+"\n ")]:e._e()]],2):e._e()])};ft._withStripped=!0;var ht={components:{DpiImage:de.DpiImage,VIcon:de.VIcon},props:{data:{type:Object,required:!0},orientation:{type:String,default:"horizontal"},showStats:{type:Boolean,default:!0},isNew:{type:Boolean,default:!1}},data(){return{watchlaterList:ge,upFaceUrl:"",danmakuCount:"",like:"",coins:"",favorites:"",dynamic:"",topics:[],upID:0,epID:0,cooperation:[],pubTime:0,pubTimeText:"",...lodash.omit(this.data,"watchlater"),watchlaterInit:this.data.watchlater,statsIconSize:14}},computed:{vertical(){return"vertical"===this.orientation},watchlater(){return(0,K.getUID)()&&null!==this.watchlaterInit?this.watchlaterList.includes(this.aid):null},reversedCooperation(){return[...this.cooperation].reverse().slice(0,3)}},methods:{toggleWatchlater:ve}},mt=n(1745),gt=n.n(mt),bt={insert:"head",singleton:!1},vt=(Qe()(gt(),bt),gt().locals,(0,it.Z)(ht,ft,[],!1,null,"0ffa1cb1",null));vt.options.__file="src/components/feeds/VideoCard.vue";var yt=vt.exports,wt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{staticClass:"column-card",attrs:{target:"_blank",href:"https://www.bilibili.com/read/cv"+e.data.cvID}},[n("div",{staticClass:"covers"},e._l(e.data.covers,(function(e){return n("DpiImage",{key:e,staticClass:"cover",attrs:{size:{height:120},src:e}})})),1),e._v(" "),n("a",{staticClass:"up",attrs:{target:"_blank",href:"https://space.bilibili.com/"+e.data.upID}},[n("DpiImage",{staticClass:"face",attrs:{size:24,src:e.data.upFaceUrl}}),e._v(" "),n("div",{staticClass:"name"},[e._v(e._s(e.data.upName))])],1),e._v(" "),n("h1",{staticClass:"title",attrs:{title:e.data.title}},[e._v(e._s(e.data.title))]),e._v(" "),n("div",{staticClass:"description",attrs:{title:e.data.description}},[e._v(e._s(e.data.description))])])};wt._withStripped=!0;var xt=Vue.extend({components:{DpiImage:de.DpiImage},props:{data:{type:Object,required:!0},isNew:{type:Boolean,default:!1}}}),_t=n(5028),kt=n.n(_t),Ct={insert:"head",singleton:!1},St=(Qe()(kt(),Ct),kt().locals,(0,it.Z)(xt,wt,[],!1,null,"8e8ea920",null));St.options.__file="src/components/feeds/ColumnCard.vue";var Et=St.exports;let It=!1,$t=0;const At="disable-profile-popup",Tt=async()=>{if("https://t.bilibili.com/"!==document.URL.replace(window.location.search,""))return;const e=await(0,R.select)(".live-up-list, .bili-dyn-live-users__body");null!==e&&($t++,It||(e.addEventListener("mouseenter",(e=>{$t>0&&e.stopImmediatePropagation()}),{capture:!0}),It=!0))},Ot=()=>{$t--},Mt=3e5,Lt=()=>(0,K.getCookieValue)(`bp_t_offset_${(0,K.getUID)()}`),Pt=(e,t)=>e===t?0:e.length>t.length?1:t.length>e.length?-1:e>t==!0?1:-1,zt=e=>{if(null==e)return;const t=Lt();Pt(e,t)<0||(document.cookie=`bp_t_offset_${(0,K.getUID)()}=${e};path=/;domain=.bilibili.com;max-age=2592000`)},Dt=e=>Pt(e,Lt())>0,Vt=e=>{const[t]=[...e.map((e=>e.id))].sort(Pt).reverse();zt(t)},Nt=async e=>{const t=`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_num?rsp_type=1&uid=${(0,K.getUID)()}&update_num_dy_id=${Lt()}&type_list=${e||ke}`,n=await(0,S.getJsonWithCredentials)(t);return 0!==n.code?0:lodash.get(n,"data.update_num",0)},Bt=e=>{e.startsWith("#")&&(e=e.substring(1));return{red:e.substring(0,2),green:e.substring(2,4),blue:e.substring(4,6)}},jt=e=>{const{red:t,green:n,blue:i}=Bt(e);return`\\c&H${i}${n}${t}&`.toUpperCase()},qt=(e,t=1)=>{const{red:n,green:i,blue:r}=Bt(e);return`&H${Math.round(255*(1-t)).toString(16).padStart(2,"0")}${r}${i}${n}`.toUpperCase()},Ft=e=>{let t=0,n=0;for(;e>=60;)e-=60,n++;for(;n>=60;)n-=60,t++;return`${t}:${String(n).padStart(2,"0")}:${(e=>{const[t,n="00"]=String(e).split(".");return`${t.padStart(2,"0")}.${n.substring(0,2).padEnd(2,"0")}`})(e)}`},Rt=(e,t)=>[Ft(e),Ft(e+t)],Ut=(e,t)=>[Ft(e),Ft(t)],Ht=e=>{const t={"{":"{","}":"}","&":"&","<":"<",">":">",""":'"',"'":"'","\n":"\\N"};for(const[n,i]of Object.entries(t))e=e.replace(new RegExp(n,"g"),i);return e},Zt={"&":"&","<":"<",">":">",""":'"',"'":"'"},Wt=Object.fromEntries(Object.entries(Zt).map((e=>e.reverse()))),Gt=(e,t)=>{for(const[n,i]of Object.entries(t))e=e.replace(new RegExp(n,"g"),i);return e},Xt=e=>Gt(e,Wt),Kt=e=>Gt(e,Zt);var Jt=n(7412);const Yt=e=>se.playerUrls.some((e=>(0,K.matchUrlPattern)(e)))?async()=>{const t=Jt.playerAgent,{query:{control:{settings:n,buttons:i}}}=t;ne(i.settings.selector,n.wrap.selector),t.toggleLight(e)}:K.none,Qt=Yt(!0),en=Yt(!1);let tn;const nn=[],rn=async e=>{await(0,R.hasVideo)()&&(0,P.videoChange)((async()=>{const t=await Jt.playerAgent.query.video.danmaku();t&&((e,t)=>{tn&&tn.disconnect(),[tn]=(0,P.childListSubtree)(e,(e=>{e.forEach((e=>{e.addedNodes.forEach((e=>{if(e.nodeType===Node.TEXT_NODE){const n=e.parentElement,i=nn.find((e=>e.element===n));if(!i)return;return i.text=e.textContent||"",i.reuse=!0,void(t.added&&t.added(i))}if(!(e instanceof HTMLElement))return;const n={element:i=e,reuse:!1,text:i.textContent||""};var i;nn.push(n),t.added&&t.added(n)})),e.removedNodes.forEach((e=>{if(!(e instanceof HTMLElement))return;const n=nn.findIndex((t=>t.element===e));if(-1!==n){const[e]=nn.splice(n,1);t.removed&&t.removed(e)}}))}))}))})(t,e)}))};function an(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class on{constructor(e){an(this,"aid",void 0),an(this,"cid",void 0),an(this,"pageCount",void 0),an(this,"coverUrl",void 0),an(this,"tagId",void 0),an(this,"tagName",void 0),an(this,"title",void 0),an(this,"description",void 0),an(this,"up",void 0),an(this,"pages",void 0),an(this,"subtitles",void 0),this.aid=e}async fetchInfo(){let e;e=this.cid?`https://api.bilibili.com/x/web-interface/view?aid=${this.aid}&cid=${this.cid}`:`https://api.bilibili.com/x/web-interface/view?aid=${this.aid}`;const t=await(0,S.getJsonWithCredentials)(e);if(0!==t.code)throw new Error(t.message);const{data:n}=t;return this.cid=n.cid,this.pageCount=n.videos,this.coverUrl=n.pic.replace("http:","https:"),this.tagId=n.tid,this.tagName=n.tname,this.title=n.title,this.description=n.desc,this.up={uid:n.owner.mid,name:n.owner.name,faceUrl:n.owner.face.replace("http:","https:")},this.pages=n.pages.map((e=>({cid:e.cid,title:e.part,pageNumber:e.page}))),this.subtitles=n.subtitle.list.map((e=>({id:e.id,languageCode:e.lan,language:e.lan_doc,url:e.subtitle_url.replace("http:","https:")}))),this}}class sn{constructor(e){an(this,"ep",void 0),an(this,"videos",void 0),an(this,"title",void 0),an(this,"cover",void 0),an(this,"squareCover",void 0),an(this,"aid",void 0),an(this,"cid",void 0),this.ep=e,this.videos=[]}async fetchInfo(){const e=await(0,S.getText)(`https://www.bilibili.com/bangumi/play/ep${this.ep}/`),t=JSON.parse(e.match(/window\.__INITIAL_STATE__=(.*);\(function\(\){/)[1]);return this.title=t.mediaInfo.title,this.cover=t.mediaInfo.cover,this.squareCover=t.mediaInfo.square_cover,this.aid=t.epInfo.aid,this.cid=t.epInfo.cid,this.videos=t.epList.map((async e=>({title:e.index_title,aid:e.aid,cid:e.cid,info:await new on(e.aid).fetchInfo()}))),this}}const ln=[{name:"720P",displayName:"高清 720P",value:64},{name:"1080P",displayName:"高清 1080P",value:80}],cn=[{name:"8K",displayName:"超高清 8K",value:127},{name:"DolbyVision",displayName:"杜比视界",value:126},{name:"HDR",displayName:"真彩 HDR",value:125},{name:"4K",displayName:"超清 4K",value:120},{name:"1080P60",displayName:"高清 1080P60",value:116},{name:"1080P+",displayName:"高清 1080P+",value:112},{name:"720P60",displayName:"高清 720P60",value:74}],dn=[...cn,...ln,{name:"480P",displayName:"清晰 480P",value:32},{name:"360P",displayName:"流畅 360P",value:16}].sort((0,oe.descendingSort)((e=>e.value))),un=async e=>{const{open:t,close:n}=e;if(!(0,R.hasVideo)())return;const i=await(0,R.select)(".bilibili-player");if(!i)return;const[r]=(0,P.childList)(i,(()=>{const e=dq(".bilibili-player-context-menu-origin");if(e){r.disconnect();const i=dq(e,"ul"),a={containerElement:e,listElement:i,get itemElements(){return dqa(e,".context-menu-function")},get isOpen(){return e.classList.contains("active")}};(0,P.childList)(i,(()=>{a.isOpen?t?.(a):n?.(a)}))}}))},pn=async(e,t)=>un({open:t=>{if(t.listElement.contains(e))return;const n=document.createElement("li");n.classList.add("context-line","context-menu-function"),n.setAttribute("data-append","1");const i=document.createElement("a");i.classList.add("context-menu-a","js-action"),i.href="javascript:void(0);",i.appendChild(e),n.addEventListener("mouseover",(()=>n.classList.add("hover"))),n.addEventListener("mouseout",(()=>n.classList.remove("hover"))),n.appendChild(i),t.listElement.appendChild(n)},close:e=>t?.(e)});let fn=null;const hn=[],mn=lodash.once((()=>se.playerUrls.some((e=>(0,K.matchUrlPattern)(e)))?new Promise((e=>{(0,P.videoChange)((async()=>{const{playerAgent:t}=await Promise.resolve().then(n.bind(n,7412)),i=await t.query.control.buttons.time(),r=await Promise.resolve().then(n.bind(n,135)).then((e=>e.default));if(null===i||null!==i.parentElement?.querySelector(".be-video-control-bar-extend"))return;const a=new r({propsData:{items:hn}}).$mount();i.insertAdjacentElement("afterend",a.$el),e(a)}))})):Promise.resolve(null))),gn=async e=>{fn||(fn=mn());await fn&&hn.push(e)},bn=async e=>{if(!se.liveUrls.some((e=>(0,K.matchUrlPattern)(e))))return;const t=await(0,R.select)(".bilibili-live-player-video-controller, .web-player-controller-wrap:not(.web-player-controller-bg)");if(!t)return;const{init:n,callback:i}=e;n?.(t),(0,P.childList)(t,(async()=>{const e=dq(t,".control-area");e&&i?.(e)}))};function vn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const yn=0,wn=2,xn={heartBeat:2,heartBeatResponse:3,message:5,enterRoom:7,enterRoomResponse:8};class _n{constructor(){vn(this,"textEncoder",new TextEncoder),vn(this,"textDecoder",new TextDecoder)}static readInt(e,t,n){let i=0;for(let r=n-1;r>=0;r--)i+=256**(n-r-1)*e[t+r];return i}static writeInt(e,t,n,i){let r=0;for(;r{const i={packetLength:_n.readInt(e,0,4),headerLength:_n.readInt(e,4,2),protocolVersion:_n.readInt(e,6,2),operation:_n.readInt(e,8,4),sequenceID:_n.readInt(e,12,4)},r=[i];if(i.packetLengthe.messages[0])))}else i.protocolVersion===yn&&(i.messages=[JSON.parse(this.textDecoder.decode(r))])}else i.operation===xn.heartBeatResponse&&(i.heartBeatResponse={count:_n.readInt(e,16,4)});return r};return new Promise(((n,i)=>{const r=new FileReader;r.onload=async e=>{if(!e.target)return void i(e);const r=new Uint8Array(e.target.result);n(await t(r))},r.readAsArrayBuffer(e)}))}}class kn{constructor(){vn(this,"startTime",0)}getLiveTime(){return new Promise((e=>{if(this.startTime)return void e(this.startTime);const t=(0,K.dq)(".bilibili-live-player-video-controller-duration-btn span"),[n]=(0,P.childList)(t,(t=>{if(t.length>0&&t.some((e=>e.addedNodes.length>0&&[...e.addedNodes].every((e=>e.nodeType===Node.TEXT_NODE))))){n.disconnect();const i=t[0].addedNodes[0].textContent,[r,a,o=0]=i.split(":").reverse().map(lodash.unary(parseInt)),s=Number(new Date);this.startTime=s-1e3*o*3600-60*a*1e3-1e3*r,e(this.startTime)}}))}))}}class Cn extends EventTarget{constructor(e){super(),this.roomID=e,vn(this,"heartBeatTimer",void 0),vn(this,"webSocket",void 0),vn(this,"retryInterval",200),vn(this,"autoRetry",!0),vn(this,"servers",["broadcastlv.chat.bilibili.com"]),vn(this,"selectedServer",""),vn(this,"liveTime",new kn),vn(this,"bufferHelper",new _n),vn(this,"stopRequested",!1),window.addEventListener("unload",(()=>this.stop()))}heartBeat(){this.webSocket.readyState===WebSocket.OPEN?this.webSocket.send(this.bufferHelper.encode("","heartBeat")):(this.stop(),this.restart())}restart(){if(this.dispatchEvent(new CustomEvent("restart")),!this.stopRequested&&this.autoRetry){console.log(`Live Socket: unexpected disconnect, retry in ${this.retryInterval}ms`);const e=this.servers.indexOf(this.selectedServer);ethis.start()),this.retryInterval)}}async start(){const e=await(0,S.getJson)(`https://api.live.bilibili.com/room/v1/Danmu/getConf?room_id=${this.roomID}&platform=pc&player=web`),t=lodash.get(e,"data.host_server_list",[]);this.servers=[...new Set([...this.servers,...t.map((e=>e.host))])],""===this.selectedServer&&([this.selectedServer]=this.servers,console.log("Initial server:",this.selectedServer)),this.webSocket&&[WebSocket.CONNECTING,WebSocket.OPEN].includes(this.webSocket.readyState)&&this.stop(),this.webSocket=new WebSocket(`wss://${this.selectedServer}/sub`),this.stopRequested=!1,this.dispatchEvent(new CustomEvent("start",{detail:this.webSocket})),this.webSocket.addEventListener("open",(()=>{const t={roomid:this.roomID,uid:parseInt((0,K.getUID)()),protover:2,platform:"web",clientVer:"1.10.1",type:"2",key:lodash.get(e,"data.token")};this.webSocket.send(this.bufferHelper.encode(JSON.stringify(t),"enterRoom")),this.dispatchEvent(new CustomEvent("open",{detail:t}))})),this.webSocket.addEventListener("message",(async e=>{const[t]=await this.bufferHelper.decode(e.data);switch(this.dispatchEvent(new CustomEvent("message",{detail:t})),t.operation){case xn.enterRoomResponse:this.heartBeatTimer&&clearInterval(this.heartBeatTimer),this.heartBeatTimer=window.setInterval((()=>{this.heartBeat()}),3e4);break;case xn.heartBeatResponse:if(!t.heartBeatResponse)break;this.dispatchEvent(new CustomEvent("heartBeatResponse",{detail:t.heartBeatResponse.count}));break;case xn.message:{if(!t.messages)break;const e=await this.liveTime.getLiveTime();t.messages.forEach((t=>{if("DANMU_MSG"===t.cmd){const{info:n}=t,i={content:n[1],type:n[0][1],fontSize:n[0][2],color:n[0][3],sendTime:n[0][4],userHash:n[0][7],userID:n[2][0],userName:n[2][1],startTime:e,get time(){return this.sendTime-this.startTime}};this.dispatchEvent(new CustomEvent("danmaku",{detail:i}))}}));break}}})),this.webSocket.addEventListener("close",(e=>{this.stopRequested||(console.error("Live Socket: close",e),this.restart())})),this.webSocket.addEventListener("error",(e=>{console.error("Live Socket: error",e),this.restart()}))}stop(){this.stopRequested=!0,this.heartBeatTimer&&clearInterval(this.heartBeatTimer),this.webSocket&&this.webSocket.readyState===WebSocket.OPEN&&this.webSocket.close()}}const Sn=[],En="bb-comment",In=[],$n=[],An=[],Tn=e=>{const t=e.querySelector(".con .user .name"),n=e=>{const t=e.querySelector(".reply-face"),n=e.querySelector(".reply-con .user .name");return{id:e.getAttribute("data-id"),element:e,userID:t.getAttribute("data-usercard-mid"),userName:n.textContent,content:e.querySelector(".text-con").textContent,timeText:e.querySelector(".info .time").textContent,likes:parseInt(e.querySelector(".info .like span").textContent)}},i={id:e.getAttribute("data-id"),element:e,userID:t.getAttribute("data-usercard-mid"),userName:t.textContent,content:e.querySelector(".con .text").textContent,timeText:e.querySelector(".con .info .time").textContent,likes:parseInt(e.querySelector(".con .like span").textContent),replies:[]};if(dq(e,".reply-box .view-more")){const t=dq(e,".reply-box");(0,P.childList)(t,(t=>{i.replies=(0,K.dqa)(e,".reply-box .reply-item").map(n),0!==t.length&&i.onRepliesUpdate?.(i.replies)}))}else i.replies=(0,K.dqa)(e,".reply-box .reply-item").map(n);return i},On=e=>{if(e instanceof HTMLElement&&e.classList.contains(En)){const t={element:e,items:[]};Sn.push(t),(e=>{e.observer||(e.items=(0,K.dqa)(e.element,".list-item.reply-wrap").map(Tn),e.items.forEach((e=>{In.forEach((t=>t(e)))})),[e.observer]=(0,P.childListSubtree)(e.element,(t=>{t.forEach((t=>{const n=e=>e instanceof HTMLElement&&e.classList.contains("list-item")&&e.classList.contains("reply-wrap");t.addedNodes.forEach((t=>{if(n(t)){const n=Tn(t);e.items.push(n),In.forEach((e=>e(n)))}})),t.removedNodes.forEach((t=>{if(n(t)){const n=t.getAttribute("data-id"),i=e.items.findIndex((e=>e.id===n));if(-1!==i){const[t]=e.items.splice(i,1);$n.forEach((e=>e(t)))}}}))}))})))})(t),An.forEach((e=>e(t)))}};(0,O.contentLoaded)((()=>{(0,P.allMutations)((e=>{e.forEach((e=>{e.addedNodes.forEach((e=>On(e)))}))})),(0,K.dqa)(".bb-comment").forEach(On)}));const Mn=e=>{Sn.forEach((t=>e(t))),An.push(e)},Ln=e=>{const{added:t,removed:n}=e;Mn((e=>{t&&(e.items.forEach((e=>t(e))),In.push(t)),n&&$n.push(n)}))},Pn=(e,t)=>{const n=dq(e.element,".opera-list ul"),{className:i,text:r,action:a}=t;if(!n||dq(n,`.${i}`))return;const o=document.createElement("li");o.classList.add(i),o.textContent=r,o.addEventListener("click",(e=>{a(e)})),n.appendChild(o)};var zn=n(2149);const Dn=JSON.parse('[[{"name":"首页","route":"/","tid":"","locid":23,"sub":[]},{"name":"动画","route":"douga","tid":1,"locid":52,"count":"","subMenuSize":162,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2507,"leftId":2452,"rightId":2453},"sub":[{"name":"MAD·AMV","route":"mad","tid":24,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":151},"desc":"具有一定制作程度的动画或静画的二次创作视频","url":"//www.bilibili.com/video/douga-mad-1.html"},{"name":"MMD·3D","route":"mmd","tid":25,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":152},"desc":"使用MMD(MikuMikuDance)和其他3D建模类软件制作的视频","url":"//www.bilibili.com/video/douga-mmd-1.html"},{"name":"短片·手书·配音","route":"voice","tid":47,"ps":15,"rps":10,"desc":"追求创新并具有强烈特色的短片、手书(绘)及ACG相关配音","url":"//www.bilibili.com/video/douga-voice-1.html"},{"name":"手办·模玩","route":"garage_kit","tid":210,"ps":15,"rps":10,"desc":"手办模玩的测评、改造或其他衍生内容","url":""},{"name":"特摄","route":"tokusatsu","tid":86,"ps":15,"rps":10,"desc":"特摄相关衍生视频","url":"//www.bilibili.com/video/cinephile-tokusatsu.html"},{"name":"综合","route":"other","tid":27,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":153},"desc":"以动画及动画相关内容为素材,包括但不仅限于音频替换、杂谈、排行榜等内容","url":"//www.bilibili.com/video/douga-else-1.html"}]},{"name":"番剧","route":"anime","tid":13,"url":"//www.bilibili.com/anime/","takeOvered":true,"count":"","subMenuSize":172,"combination":true,"sub":[{"name":"连载动画","tid":33,"route":"serial","desc":"当季连载的动画番剧","url":"//www.bilibili.com/video/bangumi-two-1.html"},{"name":"完结动画","tid":32,"route":"finish","desc":"已完结的动画番剧合集","url":"//www.bilibili.com/video/part-twoelement-1.html"},{"name":"资讯","tid":51,"route":"information","desc":"动画番剧相关资讯视频","url":"//www.bilibili.com/video/douga-else-information-1.html"},{"name":"官方延伸","tid":152,"route":"offical","desc":"动画番剧为主题的宣传节目、采访视频,及声优相关视频","url":"//www.bilibili.com/video/bagumi_offical_1.html"},{"name":"新番时间表","url":"//www.bilibili.com/anime/timeline/","desc":""},{"name":"番剧索引","url":"//www.bilibili.com/anime/index/","desc":""}]},{"name":"国创","tid":167,"route":"guochuang","url":"//www.bilibili.com/guochuang/","takeOvered":true,"count":"","subMenuSize":214,"combination":true,"sub":[{"name":"国产动画","tid":153,"route":"chinese","desc":"我国出品的PGC动画","url":"//www.bilibili.com/video/bangumi_chinese_1.html"},{"name":"国产原创相关","tid":168,"route":"original","desc":"","url":"//www.bilibili.com/video/guochuang-fanvid-1.html"},{"name":"布袋戏","tid":169,"route":"puppetry","desc":"","url":"//www.bilibili.com/video/glove-puppetry-1.html"},{"name":"动态漫·广播剧","tid":195,"route":"motioncomic","desc":"","url":""},{"name":"资讯","tid":170,"route":"information","desc":"","url":"//www.bilibili.com/video/guochuang-offical-1.html"},{"name":"新番时间表","url":"//www.bilibili.com/guochuang/timeline/","desc":""},{"name":"国产动画索引","url":"//www.bilibili.com/guochuang/index/","desc":""}]},{"name":"音乐","route":"music","tid":3,"locid":58,"count":"","subMenuSize":268,"slider":{"width":620,"height":220},"viewTag":true,"customComponent":{"name":"Energy","titleId":2511,"leftId":2462,"rightId":3131,"rightType":"slide"},"sub":[{"name":"原创音乐","route":"original","tid":28,"ps":15,"rps":10,"viewHotTag":true,"ad":{"active":true,"dataLocId":243},"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"个人或团队制作以音乐为主要原创因素的歌曲或纯音乐","url":"//www.bilibili.com/video/music-original-1.html"},{"name":"翻唱","route":"cover","tid":31,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":245},"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"一切非官方的人声再演绎歌曲作品","url":"//www.bilibili.com/video/music-Cover-1.html"},{"name":"VOCALOID·UTAU","route":"vocaloid","tid":30,"ps":15,"rps":10,"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"以雅马哈Vocaloid和UTAU引擎为基础,包含其他调教引擎,运用各类音源进行的歌曲创作内容","url":"//www.bilibili.com/video/music-vocaloid-1.html"},{"name":"电音","route":"electronic","tid":194,"ps":15,"rps":10,"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"以电子合成器、音乐软体等产生的电子声响制作的音乐","url":"#"},{"name":"演奏","route":"perform","tid":59,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":247},"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"传统或非传统乐器及器材的演奏作品","url":"//www.bilibili.com/video/music-perform-1.html"},{"name":"MV","route":"mv","tid":193,"ps":15,"rps":10,"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"音乐录影带,为搭配音乐而拍摄或制作的视频","url":"//www.bilibili.com/video/music-coordinate-1.html"},{"name":"音乐现场","route":"live","tid":29,"ps":15,"rps":10,"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"音乐实况表演视频","url":"//www.bilibili.com/video/music-oped-1.html"},{"name":"音乐综合","route":"other","tid":130,"ps":15,"rps":10,"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"收录无法定义到其他音乐子分区的音乐视频","url":"//www.bilibili.com/video/music-collection-1.html"},{"name":"音频","customZone":"Audio","route":"audio","url":"//www.bilibili.com/audio/home?musicType=music"},{"name":"说唱","url":"//www.bilibili.com/v/rap"}]},{"name":"舞蹈","route":"dance","tid":129,"locid":64,"count":"","subMenuSize":172,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2513,"leftId":2472,"rightId":2473},"sub":[{"name":"宅舞","route":"otaku","tid":20,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":249},"desc":"与ACG相关的翻跳、原创舞蹈","url":"//www.bilibili.com/video/dance-1.html"},{"name":"街舞","route":"hiphop","tid":198,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":251},"desc":"收录街舞相关内容,包括赛事现场、舞室作品、个人翻跳、FREESTYLE等","url":""},{"name":"明星舞蹈","route":"star","tid":199,"ps":15,"rps":10,"desc":"国内外明星发布的官方舞蹈及其翻跳内容","url":""},{"name":"中国舞","route":"china","tid":200,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":253},"desc":"传承中国艺术文化的舞蹈内容,包括古典舞、民族民间舞、汉唐舞、古风舞等","url":""},{"name":"舞蹈综合","route":"three_d","tid":154,"ps":15,"rps":10,"desc":"收录无法定义到其他舞蹈子分区的舞蹈视频","url":""},{"name":"舞蹈教程","route":"demo","tid":156,"ps":10,"rps":6,"desc":"镜面慢速,动作分解,基础教程等具有教学意义的舞蹈视频","url":"//www.bilibili.com/video/dance-demo-1.html"}]},{"name":"游戏","route":"game","tid":4,"locid":70,"count":"","subMenuSize":240,"slider":{"width":470,"height":216},"viewTag":true,"customComponent":{"name":"Energy","titleId":3761,"leftId":3765,"rightId":3775,"rightType":"slide"},"recommendCardType":"GameGroomBox","sub":[{"name":"单机游戏","route":"stand_alone","tid":17,"ps":10,"rps":7,"rankshow":1,"viewHotTag":true,"ad":{"active":true,"dataLocId":255},"dpConfig":[{"name":"三日","value":3},{"name":"一日","value":1},{"name":"一周","value":7}],"desc":"以所有平台(PC、主机、移动端)的单机或联机游戏为主的视频内容,包括游戏预告、CG、实况解说及相关的评测、杂谈与视频剪辑等","url":"//www.bilibili.com/video/videogame-1.html"},{"name":"电子竞技","route":"esports","tid":171,"ps":10,"rps":7,"rankshow":1,"viewHotTag":true,"ad":{"active":true,"dataLocId":257},"desc":"具有高对抗性的电子竞技游戏项目,其相关的赛事、实况、攻略、解说、短剧等视频。","url":"//www.bilibili.com/video/esports-1.html"},{"name":"手机游戏","route":"mobile","tid":172,"ps":10,"rps":7,"rankshow":1,"viewHotTag":true,"desc":"以手机及平板设备为主要平台的游戏,其相关的实况、攻略、解说、短剧、演示等视频。","url":"//www.bilibili.com/video/mobilegame-1.html"},{"name":"网络游戏","route":"online","tid":65,"ps":10,"rps":7,"rankshow":1,"viewHotTag":true,"ad":{"active":true,"dataLocId":259},"dpConfig":[{"name":"三日","value":3},{"name":"一日","value":1},{"name":"一周","value":7}],"desc":"由网络运营商运营的多人在线游戏,以及电子竞技的相关游戏内容。包括赛事、攻略、实况、解说等相关视频","url":"//www.bilibili.com/video/onlinegame-1.html"},{"name":"桌游棋牌","route":"board","tid":173,"ps":5,"rps":3,"rankshow":1,"viewHotTag":true,"desc":"桌游、棋牌、卡牌对战等及其相关电子版游戏的实况、攻略、解说、演示等视频。","url":"//www.bilibili.com/video/boardgame-1.html"},{"name":"GMV","route":"gmv","tid":121,"ps":5,"rps":3,"rankshow":1,"viewHotTag":true,"dpConfig":[{"name":"三日","value":3},{"name":"一日","value":1},{"name":"一周","value":7}],"desc":"由游戏素材制作的MV视频。以游戏内容或CG为主制作的,具有一定创作程度的MV类型的视频","url":"//www.bilibili.com/video/gmv-1.html"},{"name":"音游","route":"music","tid":136,"ps":5,"rps":3,"rankshow":1,"viewHotTag":true,"dpConfig":[{"name":"三日","value":3},{"name":"一日","value":1},{"name":"一周","value":7}],"desc":"各个平台上,通过配合音乐与节奏而进行的音乐类游戏视频","url":"//www.bilibili.com/video/music-game-1.html"},{"name":"Mugen","route":"mugen","tid":19,"ps":5,"rps":3,"rankshow":1,"viewHotTag":true,"dpConfig":[{"name":"三日","value":3},{"name":"一日","value":1},{"name":"一周","value":7}],"desc":"以Mugen引擎为平台制作、或与Mugen相关的游戏视频","url":"//www.bilibili.com/video/game-mugen-1.html"},{"name":"游戏赛事","url":"//www.bilibili.com/v/game/match/","newIcon":true}]},{"name":"知识","route":"knowledge","tid":36,"locid":76,"count":"","subMenuSize":172,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2058,"leftId":2047,"rightId":2048},"sub":[{"name":"科学科普","route":"science","tid":201,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":261},"desc":"回答你的十万个为什么"},{"name":"社科·法律·心理","route":"social_science","tid":124,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":263},"desc":"基于社会科学、法学、心理学展开或个人观点输出的知识视频"},{"name":"人文历史","route":"humanity_history","tid":228,"ps":15,"rps":10,"desc":"看看古今人物,聊聊历史过往,品品文学典籍"},{"name":"财经商业","route":"business","tid":207,"ps":15,"rps":10,"desc":"说金融市场,谈宏观经济,一起畅聊商业故事"},{"name":"校园学习","route":"campus","tid":208,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":265},"desc":"老师很有趣,学生也有才,我们一起搞学习"},{"name":"职业职场","route":"career","tid":209,"ps":15,"rps":10,"desc":"职业分享、升级指南,一起成为最有料的职场人"},{"name":"设计·创意","route":"design","tid":229,"ps":15,"rps":10,"desc":"天马行空,创意设计,都在这里"},{"name":"野生技能协会","route":"skill","tid":122,"ps":15,"rps":10,"desc":"技能党集合,是时候展示真正的技术了"}]},{"name":"科技","route":"tech","tid":188,"locid":2977,"count":"","subMenuSize":80,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2980,"leftId":2978,"rightId":2979},"sub":[{"name":"数码","route":"digital","tid":95,"ps":15,"rps":10,"viewHotTag":true,"desc":"科技数码产品大全,一起来做发烧友","url":"#"},{"name":"软件应用","route":"application","tid":230,"ps":15,"rps":10,"viewHotTag":true,"desc":"超全软件应用指南","url":"#"},{"name":"计算机技术","route":"computer_tech","tid":231,"ps":15,"rps":10,"viewHotTag":true,"desc":"研究分析、教学演示、经验分享......有关计算机技术的都在这里","url":"#"},{"name":"工业·工程·机械","route":"industry","tid":232,"ps":15,"rps":10,"viewHotTag":true,"desc":"前方高能,机甲重工即将出没","url":"#"},{"name":"极客DIY","route":"diy","tid":233,"ps":15,"rps":10,"viewHotTag":true,"desc":"炫酷技能,极客文化,硬核技巧,准备好你的惊讶","url":"#"}]},{"name":"运动","route":"sports","tid":234,"locid":4639,"isHide":true,"subMenuSize":164,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","leftId":4646,"rightId":4652,"rightType":"slide"},"sub":[{"name":"篮球·足球","route":"basketballfootball","tid":235,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":4656},"desc":"与篮球、足球相关的视频,包括但不限于篮足球赛事、教学、评述、剪辑、剧情等相关内容","url":"#"},{"name":"健身","route":"aerobics","tid":164,"ps":15,"rps":10,"desc":"与健身相关的视频,包括但不限于瑜伽、CrossFit、健美、力量举、普拉提、街健等相关内容","url":"//www.bilibili.com/video/fashion-body-1.html"},{"name":"竞技体育","route":"athletic","tid":236,"ps":15,"rps":10,"desc":"与竞技体育相关的视频,包括但不限于乒乓、羽毛球、排球、赛车等竞技项目的赛事、评述、剪辑、剧情等相关内容","url":"#"},{"name":"运动文化","route":"culture","tid":237,"ps":15,"rps":10,"desc":"与运动文化相关的视频,包络但不限于球鞋、球衣、球星卡等运动衍生品的分享、解读,体育产业的分析、科普等相关内容","url":"#"},{"name":"运动综合","route":"comprehensive","tid":238,"ps":15,"rps":10,"desc":"与运动综合相关的视频,包括但不限于钓鱼、骑行、滑板等日常运动分享、教学、Vlog等相关内容","url":"#"}]},{"name":"汽车","route":"car","tid":223,"locid":4428,"isHide":true,"subMenuSize":164,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","leftId":4435,"rightId":4441,"rightType":"slide"},"sub":[{"name":"汽车生活","route":"life","tid":176,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":4445},"desc":"分享汽车及出行相关的生活体验类视频","url":"#"},{"name":"汽车文化","route":"culture","tid":224,"ps":15,"rps":10,"desc":"车迷的精神圣地,包括汽车赛事、品牌历史、汽车改装、经典车型和汽车模型等","url":"#"},{"name":"汽车极客","route":"geek","tid":225,"ps":15,"rps":10,"desc":"汽车硬核达人聚集地,包括DIY造车、专业评测和技术知识分享","url":"#"},{"name":"摩托车","route":"motorcycle","tid":240,"ps":15,"rps":10,"desc":"骑士们集合啦","url":"#"},{"name":"智能出行","route":"smart","tid":226,"ps":15,"rps":10,"desc":"探索新能源汽车和未来智能出行的前沿阵地","url":"#"},{"name":"购车攻略","route":"strategy","tid":227,"ps":15,"rps":10,"desc":"丰富详实的购车建议和新车体验","url":"#"}]},{"name":"生活","route":"life","tid":160,"locid":88,"count":"","subMenuSize":164,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2062,"leftId":1674,"rightId":1670},"sub":[{"name":"搞笑","route":"funny","tid":138,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":273},"desc":"各种沙雕有趣的搞笑剪辑,挑战,表演,配音等视频","url":"//www.bilibili.com/video/ent_funny_1.html","locid":4204,"recommendId":4210,"slider":{"width":620,"height":220},"customComponent":{"name":"Energy","leftId":4212,"rightId":4218,"rightType":"slide"}},{"name":"家居房产","route":"home","tid":239,"ps":15,"rps":10,"desc":"与买房、装修、居家生活相关的分享","url":"#"},{"name":"手工","route":"handmake","tid":161,"ps":15,"rps":10,"desc":"手工制品的制作过程或成品展示、教程、测评类视频","url":"//www.bilibili.com/video/ent-handmake-1.html"},{"name":"绘画","route":"painting","tid":162,"ps":15,"rps":10,"desc":"绘画过程或绘画教程,以及绘画相关的所有视频","url":"//www.bilibili.com/video/ent-painting-1.html"},{"name":"日常","route":"daily","tid":21,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":275},"desc":"记录日常生活,分享生活故事","url":"//www.bilibili.com/video/ent-life-1.html"}]},{"name":"美食","route":"food","tid":211,"locid":4243,"count":"","isHide":true,"subMenuSize":164,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","leftId":4258,"rightId":4264},"sub":[{"name":"美食制作","route":"make","tid":76,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":4268},"desc":"学做人间美味,展示精湛厨艺","url":"#"},{"name":"美食侦探","route":"detective","tid":212,"ps":15,"rps":10,"desc":"寻找美味餐厅,发现街头美食","url":"#"},{"name":"美食测评","route":"measurement","tid":213,"ps":15,"rps":10,"desc":"吃货世界,品尝世间美味","url":"#"},{"name":"田园美食","route":"rural","tid":214,"ps":15,"rps":10,"desc":"品味乡野美食,寻找山与海的味道","url":"#"},{"name":"美食记录","route":"record","tid":215,"ps":15,"rps":10,"desc":"记录一日三餐,给生活添一点幸福感","url":"#"}]},{"name":"动物圈","route":"animal","tid":217,"locid":4365,"count":"","isHide":true,"subMenuSize":164,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","leftId":4376,"rightId":4381,"rightType":"slide"},"sub":[{"name":"喵星人","route":"cat","tid":218,"ps":15,"rps":10,"desc":"喵喵喵喵喵","url":"#","ad":{"active":true,"dataLocId":4385}},{"name":"汪星人","route":"dog","tid":219,"ps":15,"rps":10,"desc":"汪汪汪汪汪","url":"#"},{"name":"大熊猫","route":"panda","tid":220,"ps":15,"rps":10,"desc":"芝麻汤圆营业中","url":"#"},{"name":"野生动物","route":"wild_animal","tid":221,"ps":15,"rps":10,"desc":"内有“猛兽”出没","url":"#"},{"name":"爬宠","route":"reptiles","tid":222,"ps":15,"rps":10,"desc":"鳞甲有灵","url":"#"},{"name":"动物综合","route":"animal_composite","tid":75,"ps":15,"rps":10,"desc":"收录除上述子分区外,其余动物相关视频以及非动物主体或多个动物主体的动物相关延伸内容","url":"#"}]},{"name":"鬼畜","route":"kichiku","tid":119,"locid":100,"count":"","subMenuSize":182,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2509,"leftId":2482,"rightId":2483},"sub":[{"name":"鬼畜调教","route":"guide","tid":22,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":285},"desc":"使用素材在音频、画面上做一定处理,达到与BGM一定的同步感","url":"//www.bilibili.com/video/ent-Kichiku-1.html"},{"name":"音MAD","route":"mad","tid":26,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":287},"desc":"使用素材音频进行一定的二次创作来达到还原原曲的非商业性质稿件","url":"//www.bilibili.com/video/douga-kichiku-1.html"},{"name":"人力VOCALOID","route":"manual_vocaloid","tid":126,"ps":15,"rps":10,"desc":"将人物或者角色的无伴奏素材进行人工调音,使其就像VOCALOID一样歌唱的技术","url":"//www.bilibili.com/video/kichiku-manual_vocaloid-1.html"},{"name":"鬼畜剧场","route":"theatre","tid":216,"ps":15,"rps":10,"desc":"使用素材进行人工剪辑编排的有剧情的作品"},{"name":"教程演示","route":"course","tid":127,"ps":10,"rps":6,"rightComponent":{"name":"CmImgList","id":148},"ad":{"active":true,"dataLocId":289},"hideDropdown":false,"desc":"鬼畜相关的教程演示","url":"//www.bilibili.com/video/kichiku-course-1.html"}]},{"name":"时尚","route":"fashion","tid":155,"locid":94,"count":"","subMenuSize":124,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2515,"leftId":2492,"rightId":2493},"sub":[{"name":"美妆护肤","route":"makeup","tid":157,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":279},"desc":"彩妆护肤、美甲美发、仿妆、医美相关内容分享或产品测评","url":"//www.bilibili.com/video/fashion-makeup-fitness-1.html"},{"name":"穿搭","route":"clothing","tid":158,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":281},"desc":"穿搭风格、穿搭技巧的展示分享,涵盖衣服、鞋靴、箱包配件、配饰(帽子、钟表、珠宝首饰)等","url":"//www.bilibili.com/video/fashion-clothing-1.html"},{"name":"时尚潮流","route":"trend","tid":159,"ps":15,"rps":10,"desc":"时尚街拍、时装周、时尚大片,时尚品牌、潮流等行业相关记录及知识科普","url":"#"}]},{"name":"资讯","route":"information","tid":202,"locid":4076,"count":"","subMenuSize":60,"slider":{"width":620,"height":220},"viewTag":false,"sub":[{"name":"热点","route":"hotspot","tid":203,"ps":18,"rps":10,"desc":"全民关注的时政热门资讯"},{"name":"环球","route":"global","tid":204,"ps":18,"rps":10,"desc":"全球范围内发生的具有重大影响力的事件动态"},{"name":"社会","route":"social","tid":205,"ps":18,"rps":10,"desc":"日常生活的社会事件、社会问题、社会风貌的报道"},{"name":"综合","route":"multiple","tid":206,"ps":18,"rps":10,"desc":"除上述领域外其它垂直领域的综合资讯"}]},{"name":"娱乐","route":"ent","tid":5,"locid":82,"count":"","subMenuSize":62,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2067,"leftId":2065,"rightId":2066},"sub":[{"name":"综艺","route":"variety","tid":71,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":267},"desc":"所有综艺相关,全部一手掌握!","url":"//www.bilibili.com/video/ent-variety-1.html"},{"name":"娱乐杂谈","route":"talker","tid":241,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":269},"desc":"娱乐人物解读、娱乐热点点评、娱乐行业分析"},{"name":"粉丝创作","route":"fans","tid":242,"ps":15,"rps":10,"desc":"粉丝向创作视频"},{"name":"明星综合","route":"celebrity","tid":137,"ps":15,"rps":10,"desc":"娱乐圈动态、明星资讯相关"}]},{"name":"影视","route":"cinephile","tid":181,"locid":2211,"count":"","subMenuSize":84,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2309,"leftId":2307,"rightId":2308},"sub":[{"name":"影视杂谈","route":"cinecism","tid":182,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":2212},"desc":"影视评论、解说、吐槽、科普等","url":"//www.bilibili.com/video/cinephile-cinecism.html"},{"name":"影视剪辑","route":"montage","tid":183,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":2213},"desc":"对影视素材进行剪辑再创作的视频","url":"//www.bilibili.com/video/cinephile-montage.html"},{"name":"短片","route":"shortfilm","tid":85,"ps":15,"rps":10,"desc":"追求自我表达且具有特色的短片","url":"//www.bilibili.com/video/cinephile-shortfilm.html"},{"name":"预告·资讯","route":"trailer_info","tid":184,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":2214},"desc":"影视类相关资讯,预告,花絮等视频","url":"//www.bilibili.com/video/cinephile-trailer-info.html"}]},{"name":"纪录片","route":"documentary","tid":177,"url":"//www.bilibili.com/documentary/","count":"","takeOvered":true,"hasParent":true,"combination":true,"sub":[{"name":"人文·历史","tid":37,"route":"history","dise":"","url":"//www.bilibili.com/video/doco-history.html"},{"name":"科学·探索·自然","tid":178,"route":"science","dise":"","url":"//www.bilibili.com/video/doco-science.html"},{"name":"军事","tid":179,"route":"military","dise":"","url":"//www.bilibili.com/video/doco-military.html"},{"name":"社会·美食·旅行","tid":180,"route":"travel","dise":"","url":"//www.bilibili.com/video/doco-travel.html"},{"name":"纪录片索引","url":"//www.bilibili.com/documentary/index/"}]},{"name":"电影","route":"movie","tid":23,"url":"//www.bilibili.com/movie/","count":"","takeOvered":true,"hasParent":true,"combination":true,"sub":[{"name":"华语电影","tid":147,"route":"chinese","desc":"","url":"//www.bilibili.com/video/movie_chinese_1.html"},{"name":"欧美电影","tid":145,"route":"west","desc":"","url":"//www.bilibili.com/video/movie_west_1.html"},{"name":"日本电影","tid":146,"route":"japan","desc":"","url":"//www.bilibili.com/video/movie_japan_1.html"},{"name":"其他国家","tid":83,"route":"movie","desc":"","url":"//www.bilibili.com/video/movie-movie-1.html"},{"name":"电影索引","url":"//www.bilibili.com/movie/index/"}]},{"name":"电视剧","route":"tv","tid":11,"url":"//www.bilibili.com/tv/","count":"","takeOvered":true,"hasParent":true,"combination":true,"sub":[{"name":"国产剧","tid":185,"route":"mainland","desc":"","url":"//www.bilibili.com/video/tv-mainland.html"},{"name":"海外剧","tid":187,"route":"overseas","desc":"","url":"//www.bilibili.com/video/tv-overseas.html"},{"name":"电视剧索引","url":"//www.bilibili.com/tv/index/"}]},{"name":"虚拟UP主","route":"virtual","locid":4735,"count":"","isHide":true,"subMenuSize":60,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":4754,"leftId":4756},"sub":[{"name":"游戏","route":"game","tid":4,"ps":18,"rps":10,"url":"//www.bilibili.com/v/virtual/game"},{"name":"音乐","route":"music","tid":3,"ps":18,"rps":10,"url":"//www.bilibili.com/v/virtual/music"},{"name":"动画","route":"douga","tid":1,"ps":18,"rps":10,"url":"//www.bilibili.com/v/virtual/douga"},{"name":"其他","route":"other","tid":0,"ps":18,"rps":10,"url":"//www.bilibili.com/v/virtual/other"}]}],[{"url":"//live.bilibili.com/all","name":"全部直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=2&areaId=0","name":"网游直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=3&areaId=0","name":"手游直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=6&areaId=0","name":"单机直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=0","name":"娱乐直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=5&areaId=0","name":"电台直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=9&areaId=0","name":"虚拟直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=10&areaId=0","name":"生活直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=11&areaId=0","name":"学习直播"}],[{"name":"会员购","url":"//show.bilibili.com/platform/home.html","icon":"icon-vip-buy"},{"name":"游戏中心","url":"//game.bilibili.com","icon":"icon-game"},{"name":"画友","url":"http://h.bilibili.com","icon":"icon-hy"},{"name":"芒果TV","url":"//www.bilibili.com/mango","icon":"icon-mango"}],[{"name":"专栏","report":"article","url":"//www.bilibili.com/read/home","icon":"read"},{"name":"直播","report":"live","url":"//live.bilibili.com","icon":"live","sub":[{"url":"//live.bilibili.com/all","name":"全部直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=2&areaId=0","name":"网游直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=3&areaId=0","name":"手游直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=6&areaId=0","name":"单机直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=0","name":"娱乐直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=5&areaId=0","name":"电台直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=9&areaId=0","name":"虚拟直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=10&areaId=0","name":"生活直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=11&areaId=0","name":"学习直播"}]},{"name":"活动","report":"activity","url":"//www.bilibili.com/blackboard/activity-list.html","icon":"activit"},{"name":"课堂","report":"cheese","url":"//www.bilibili.com/cheese/","icon":"zhishi"},{"name":"小黑屋","report":"blackroom","url":"//www.bilibili.com/blackroom/","icon":"blackroom"},{"name":"新歌热榜","report":"musicplus","url":"//www.bilibili.com/v/musicplus/","icon":"musicplus"}]]'),Vn=e=>e.startsWith("//")?`https:${e}`:e.replace("http:","https:"),Nn=Dn[0].filter((e=>"string"!=typeof e.tid)),Bn=Dn[3],jn={};Nn.forEach((e=>{const t=Vn(e.url||`https://www.bilibili.com/v/${e.route}/`);jn[e.name]={icon:e.route,route:e.route,code:e.tid,link:t,subCategories:e.sub?Object.fromEntries(e.sub.map((t=>{const n=Vn(t.route?`https://www.bilibili.com/v/${e.route}/${t.route}/`:t.url);return[t.name,n]}))):null}})),Bn.forEach((e=>{jn[e.name]={icon:e.icon,code:null,route:e.route,link:Vn(e.url),subCategories:e.sub?Object.fromEntries(e.sub.map((e=>[e.name,Vn(e.url)]))):null}}));const qn=jn,Fn=Object.fromEntries(Nn.map((e=>[e.route,e.tid]))),Rn=Object.fromEntries(Object.values(jn).map((e=>[e.icon,e.link]))),Un=async()=>{if(document.getElementById("be-category-icons"))return;const{default:e}=await Promise.resolve().then(n.t.bind(n,1060,17));document.body.insertAdjacentHTML("beforeend",e)};var Hn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"translate-container"},[e.working||e.translated?e._e():n("div",{staticClass:"translate",on:{click:function(t){return e.translate()}}},[n("VIcon",{attrs:{size:14,icon:"mdi-earth"}}),e._v("翻译\n ")],1),e._v(" "),e.translated?n("div",{staticClass:"translated"},[n("a",{attrs:{href:e.activeTranslator&&e.activeTranslator.link,target:"_blank"}},[e._v("\n 翻译自\n ")]),e._v(" "),n("VDropdown",{attrs:{items:Object.values(e.translateProviders),value:e.activeTranslator,"key-mapper":function(e){return e.name}},on:{change:function(t){return e.changeTranslator(t)}},scopedSlots:e._u([{key:"item",fn:function(t){var n=t.item;return[e._v("\n "+e._s(n.name)+"\n ")]}}],null,!1,1956376614)})],1):e._e(),e._v(" "),e.working?n("VIcon",{staticClass:"translating mdi-spin",attrs:{size:18,icon:"mdi-loading"}}):e._e(),e._v(" "),!e.working&&e.translated?n("div",{staticClass:"translate-result",domProps:{textContent:e._s(e.result)}}):e._e()],1)};Hn._withStripped=!0;var Zn=n(1993);var Wn=Vue.extend({components:{VDropdown:de.VDropdown,VIcon:de.VIcon},props:{text:{type:String,required:!0}},data:()=>({result:"",working:!1,translateProviders:Zn.WK,activeTranslator:{}}),computed:{translated(){return""!==this.result}},mounted(){document.body.classList.add("machine-translator-enabled")},methods:{changeTranslator(e){(0,Z.getComponentSettings)("i18n").options.translator=e.name,this.translate()},async translate(){try{this.working=!0;const e=this.text.replace(/#(.+?)#/g,"");this.activeTranslator=(0,Zn.Ty)();const t=this.activeTranslator;this.result=await t.translate(e)}catch(e){(0,ae.logError)(e)}finally{this.working=!1}}}}),Gn=n(4618),Xn=n.n(Gn),Kn={insert:"head",singleton:!1},Jn=(Qe()(Xn(),Kn),Xn().locals,(0,it.Z)(Wn,Hn,[],!1,null,null,null));Jn.options.__file="src/components/i18n/machine-translator/MachineTranslator.vue";var Yn=Jn.exports;const Qn=e=>{void 0===e.radio&&(e.radio=!1);const{name:t,switches:i}=e,r={};return Object.entries(i).forEach((([e,{displayName:t,defaultValue:n}])=>{r[`switch-${e}`]={defaultValue:n,displayName:t,hidden:!0}})),i=>{const a=`${i.displayName}选项`,o={componentName:i.name,optionDisplayName:a};Object.assign(e,o),r[t]={defaultValue:e,displayName:a},i.options={...i.options,...r},i.widget||(i.widget={component:()=>Promise.resolve().then(n.bind(n,1299)).then((e=>e.default)),options:e});const s=i.entry;return i.entry=async(...e)=>{s?.(...e);const{name:t}=i,n=(0,Z.getComponentSettings)(t).options;Object.keys(n).forEach((e=>{e.startsWith("switch-")&&(0,Z.addComponentListener)(`${t}.${e}`,(n=>{document.body.classList.toggle(`${t}-${e}`,n)}),!0)}))},i}};const ei={component:ue,userComponent:pe,styledComponent:s,description:me,switchOptions:C,launchBar:{LaunchBar:n(3059).Z},feeds:{api:c,BangumiCard:at,UpInfo:pt,VideoCard:yt,ColumnCard:Et,disableProfilePopup:d,notify:u},video:{assUtils:p,playerLight:h,playerAgent:Jt,videoDanmaku:m,videoInfo:g,videoQuality:b,videoContextMenu:v,videoControlBar:y,watchlater:l,xmlUtils:f},live:{liveControlBar:w,liveSocket:x},utils:{commentApis:_,categories:{updater:zn,data:k}},i18N:{machineTranslator:{MachineTranslator:Yn}}};var ti=n(8900),ni=n(1623),ii=n(9543);const ri={style:ti,plugin:ni,data:ye,hook:ii},ai={ajax:S,cdnTypes:E,download:I,externalInput:$,filePicker:A,horizontalScroll:i,lifeCycle:O,loadingMode:M,meta:L,observer:P,reorder:r,runtimeLibrary:F,spinQuery:R,style:U,textColor:H,userInfo:a,version:X,settings:Z,toast:le,themeColor:ce,utils:{...K,constants:J,formatters:Y,title:Q,i18n:ee,lazyPanel:o,log:ae,sort:oe,urls:se},ui:de,componentApis:ei,pluginApis:ri},oi={ajax:S,...E,...I,...$,...A,...i,lifeCycle:O,...M,...L,observer:P,...r,runtimeLibrary:F,spinQuery:R,...U,...H,...a,...X,settingsApis:Z,get settings(){return Z.settings},...le,utils:{...K,...J,...Y,...Q,...ee,...o,...ae,...oe,...se},ui:de,componentApis:{...ei.component,...ei.userComponent,...ei.styledComponent,...ei.launchBar,...lodash.omit(ei,"component","userComponent","styledComponent","launchBar")},pluginApis:{...ri.style,...ri.plugin,...ri.data,...ri.hook},monkeyApis:{GM_setValue:GM_setValue,GM_getValue:GM_getValue,GM_deleteValue:GM_deleteValue,GM_xmlhttpRequest:GM_xmlhttpRequest,GM_info:GM_info},lodash:lodash,Vue:Vue,sandboxWindow:window,theWorld:e=>{setTimeout((()=>{}),e)}}},5300:function(e,t,n){"use strict";let i;n.d(t,{h:function(){return i}}),function(e){e.Packed="打包下载",e.Individual="单独下载"}(i||(i={}))},4114:function(e,t,n){"use strict";n.r(t),n.d(t,{DownloadPackage:function(){return c}});var i=n(5300),r=n(391),a=n(6171),o=n(3708);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const l=(0,n(2264).useScopedConsole)("文件下载");class c{constructor(e=[]){this.entries=e,s(this,"noEscape",!1)}add(e,t,n={}){null!=t&&this.entries.push({name:this.noEscape?e:(0,o.formatFilename)(e),data:t,options:n})}async blob(){if(0===this.entries.length)return null;if(1===this.entries.length){const{data:e}=this.entries[0];return"string"==typeof e?new Blob([e]):e}const e=new(await r.JSZipLibrary);return this.entries.forEach((({name:t,data:n,options:i})=>{e.file(t,n,i)})),e.generateAsync({type:"blob"})}async emit(e){if(0===this.entries.length)return;e&&1!==this.entries.length||(e=this.entries[0].name);if((0,a.getGeneralSettings)().downloadPackageEmitMode===i.h.Individual&&this.entries.length>1)return void await Promise.all(this.entries.map((e=>c.single(e.name,e.data,e.options))));const t=await this.blob();t&&c.download(e,t)}static download(e,t){const n=document.createElement("a"),i=URL.createObjectURL(t);c.lastPackageUrl&&URL.revokeObjectURL(c.lastPackageUrl),c.lastPackageUrl=i;const r=(0,o.formatFilename)(e);n.setAttribute("href",i),n.setAttribute("download",r),l.log(r),document.body.appendChild(n),n.addEventListener("click",(e=>{e.stopPropagation()}),{capture:!0}),n.click(),n.remove()}static async single(e,t,n={}){const i=new c;return i.add(e,t,n),i.emit()}}s(c,"lastPackageUrl","")},7731:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{parseExternalInput:function(){return parseExternalInput},batchParseCode:function(){return batchParseCode}});var _file_picker__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(7590);const parseExternalInput=async input=>{if(void 0===input){const files=await(0,_file_picker__WEBPACK_IMPORTED_MODULE_0__.pickFile)({accept:"application/json"});if(!(files.length>0))return console.error("[parseExternalInput] No file selected"),null;{const[file]=files,text=await file.text();try{return eval(`(${text})`)}catch(e){return console.error(e),null}}}else{if("string"!=typeof input)return input;try{const exports={},result=eval(input);if(Object.values(exports).length>0){const e=Object.values(exports)[0];return e}return result}catch(e){return console.error(e),null}}},batchParseCode=async inputs=>{try{const exports={},result=inputs.map((input=>eval(input)));if(Object.values(exports).length>0){const{coreApis:e}=await Promise.resolve().then(__webpack_require__.bind(__webpack_require__,3871));return Object.values(exports).map((t=>"function"==typeof t?t(e):t))}return result}catch(e){return console.error(e),null}}},7590:function(e,t,n){"use strict";let i,r;n.r(t),n.d(t,{pickFile:function(){return o}});const a={accept:"*",multiple:!1},o=async(e=a)=>{const{accept:t,multiple:n}={...a,...e};i||(i=document.createElement("input"),i.type="file",i.style.display="none",document.body.appendChild(i),i.addEventListener("change",(()=>{r?.([...i.files]),r=null}))),i.accept=t,i.multiple=n,i.value="",r&&r([]);return await new Promise((e=>{r=e,i.click()}))}},9513:function(e,t,n){"use strict";n.r(t),n.d(t,{tryParseZip:function(){return s},installFeatureFromCode:function(){return l},installFeature:function(){return c}});var i=n(7010),r=n(9543),a=n(1623),o=n(8900);const s=async e=>{const{JSZipLibrary:t}=await Promise.resolve().then(n.bind(n,391)),{monkey:i}=await Promise.resolve().then(n.bind(n,7195)),r=e.endsWith(".zip"),a=r?"blob":"text",o=await i({url:e,method:"GET",responseType:a});if(!r||"string"==typeof o)return o;const s=await t,l=await s.loadAsync(o),c=Object.values(l.files);if(0===c.length)throw new Error("Empty zip file");return c[0].async("text")},l=async(e,t)=>{const{parseExternalInput:s}=await Promise.resolve().then(n.bind(n,7731)),l=await s(e),{type:c,installer:d}=(()=>{if((e=>Boolean(e?.entry))(l))return{type:"component",installer:()=>(0,i.installComponent)(e)};if((e=>Boolean(e?.setup))(l))return{type:"plugin",installer:()=>(0,a.installPlugin)(e)};if((e=>Boolean(e?.style))(l))return{type:"style",installer:()=>(0,o.installStyle)(e)};throw new Error("无效的功能代码")})(),{before:u,after:p}=(0,r.getHook)(`user${lodash.startCase(c)}s.add`,e,t);await u();const f=await d();return await p(f.metadata),f},c=async e=>{const t=await s(e);return l(t,e)}},7177:function(e,t,n){"use strict";n.r(t),n.d(t,{headLoaded:function(){return r},contentLoaded:function(){return a},fullyLoaded:function(){return o},LifeCycleEventTypes:function(){return s},raiseLifeCycleEvent:function(){return l}});var i=n(3420);const r=e=>new Promise((t=>{if(null!==document.head)t(e());else{const[n]=(0,i.childList)(document.documentElement,(()=>{null!==document.head&&(n.disconnect(),t(e()))}))}})),a=e=>new Promise((t=>{"loading"!==document.readyState?t(e()):document.addEventListener("DOMContentLoaded",(()=>t(e())))})),o=e=>new Promise((t=>{"complete"===document.readyState?t(e()):unsafeWindow.addEventListener("load",(()=>t(e())))}));let s;!function(e){e.Start="be:start",e.StyleLoaded="be:style-loaded",e.ComponentsLoaded="be:components-loaded",e.End="be:end"}(s||(s={}));const l=e=>{unsafeWindow.dispatchEvent(new CustomEvent(e))}},4345:function(e,t,n){"use strict";let i;n.r(t),n.d(t,{LoadingMode:function(){return i}}),function(e){e.Delay="延后",e.Race="同时"}(i||(i={}))},1836:function(e,t,n){"use strict";n.r(t),n.d(t,{branches:function(){return a},meta:function(){return s}});var i=JSON.parse('{"version":"2.1.9","author":"Grant Howard, Coulomb-G","copyright":"[year], Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G)","licence":"MIT","match":"*://*.bilibili.com/*","exclude":["*://api.bilibili.com/*","*://api.*.bilibili.com/*","*://*.bilibili.com/api/*","*://member.bilibili.com/studio/bs-editor/*","*://t.bilibili.com/h5/dynamic/specification","*://bbq.bilibili.com/*","*://message.bilibili.com/pages/nav/header_sync","*://s1.hdslb.com/bfs/seed/jinkela/short/cols/iframe.html","*://open-live.bilibili.com/*"],"run-at":"document-start","grant":["unsafeWindow","GM_getValue","GM_setValue","GM_deleteValue","GM_info","GM_xmlhttpRequest"],"connect":["raw.githubusercontent.com","github.com","cdn.jsdelivr.net","cn.bing.com","www.bing.com","translate.google.cn","translate.google.com","localhost","*"],"require":["https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"],"icon":"https://cdn.jsdelivr.net/gh/the1812/Bilibili-Evolved@preview/images/logo-small.png","icon64":"https://cdn.jsdelivr.net/gh/the1812/Bilibili-Evolved@preview/images/logo.png"}'),r=n(2462);i.copyright=i.copyright.replace(/\[year\]/g,(new Date).getFullYear().toString());const a={stable:"master",preview:"preview"},o={commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",branch:"master",version:"2.1.9",nearestTag:"v2.1.9",versionWithTag:"v2.1.9-8-g9c9c5fd27"},s={compilationInfo:o,name:GM_info.script.name,description:GM_info.script.description,get originalFilename(){const{branch:e}=o;return e===a.stable?"bilibili-evolved.user.js":`bilibili-evolved.${a.preview}.user.js`},get updateURL(){return`${r.cdnRoots.jsDelivr(o.branch)}dist/${this.originalFilename}`},get downloadURL(){return this.updateURL},...i}},3420:function(e,t,n){"use strict";n.r(t),n.d(t,{resolveTargets:function(){return o},mutationObserve:function(){return s},childList:function(){return l},childListSubtree:function(){return c},attributes:function(){return d},attributesSubtree:function(){return u},characterData:function(){return p},characterDataSubtree:function(){return f},allMutationsOn:function(){return h},allMutations:function(){return g},intersectionObserve:function(){return b},visible:function(){return v},visibleInside:function(){return y},resizeObserve:function(){return w},sizeChange:function(){return x},urlChange:function(){return k},videoChange:function(){return E}});var i=n(1906),r=n(5550),a=n(7735);const o=e=>"string"==typeof e?(0,i.dqa)(e):Array.isArray(e)?e:[e],s=(e,t,n)=>{const i=new MutationObserver(n);return e.forEach((e=>i.observe(e,t))),n([],i),[i,t]},l=(e,t)=>s(o(e),{childList:!0,subtree:!1,attributes:!1},t),c=(e,t)=>s(o(e),{childList:!0,subtree:!0,attributes:!1},t),d=(e,t)=>s(o(e),{childList:!1,subtree:!1,attributes:!0},t),u=(e,t)=>s(o(e),{childList:!1,subtree:!0,attributes:!0},t),p=(e,t)=>s(o(e),{childList:!1,subtree:!1,attributes:!1,characterData:!0},t),f=(e,t)=>s(o(e),{childList:!1,subtree:!0,attributes:!1,characterData:!0},t),h=(e,t)=>s(o(e),{childList:!0,subtree:!0,attributes:!0,characterData:!0},t),m={observer:null,config:null,callbacks:[]},g=e=>{if(m.observer)m.callbacks.push(e);else{m.callbacks.push(e);const[t,n]=h(document.body,(e=>m.callbacks.forEach((t=>t(e,m.observer)))));m.observer=t,m.config=n}return m},b=(e,t,n)=>{const i=new IntersectionObserver(n,t);return e.forEach((e=>i.observe(e))),[i,t]},v=(e,t)=>b(o(e),{},t),y=(e,t,n,i)=>b(o(e),{root:t,rootMargin:n},i),w=(e,t,n)=>{const i=new ResizeObserver(n);return e.forEach((e=>i.observe(e,t))),[i,t]},x=(e,t)=>w(o(e),{box:"border-box"},t),_=lodash.once((()=>{let e=document.URL;g((()=>{e!==document.URL&&((()=>{const e=new CustomEvent("urlChange",{detail:document.URL});window.dispatchEvent(e)})(),e=document.URL)}))})),k=(e,t)=>{_(),e(document.URL),window.addEventListener("urlChange",(()=>e(document.URL)),t)},C=lodash.once((()=>(0,r.select)((()=>{if(unsafeWindow.cid)return unsafeWindow.cid;if(unsafeWindow.player&&unsafeWindow.player.getVideoMessage){const e=unsafeWindow.player.getVideoMessage();return Number.isNaN(e.cid)?null:(!unsafeWindow.aid&&e.aid&&(unsafeWindow.aid=e.aid.toString()),!unsafeWindow.bvid&&e.bvid&&(unsafeWindow.bvid=e.bvid),!unsafeWindow.cid&&e.cid&&(unsafeWindow.cid=e.cid.toString()),e.cid.toString())}return null}))));let S=!1;const E=async(e,t)=>{if(!(0,a.matchCurrentPage)(a.playerUrls))return!1;const{bpxPlayerPolyfill:i}=await Promise.resolve().then(n.bind(n,6958));i();const r=await C();if(null===r)return!1;const o=()=>({aid:unsafeWindow.aid,cid:unsafeWindow.cid});if(!S){let e=r;g((()=>{const{cid:t}=o();Array.isArray(t)||e===t||lodash.isNil(t)||((()=>{const e=o(),t=new CustomEvent("videoChange",{detail:e});window.dispatchEvent(t)})(),e=t)})),S=!0}return e(o()),window.addEventListener("videoChange",(t=>e(t.detail)),t),!0}},1485:function(e,t,n){"use strict";n.r(t),n.d(t,{componentLoadTime:function(){return i},componentResolveTime:function(){return r},componentLoadTrace:function(){return a}});const i=new Map,r=new Map,a=async e=>{const{getGeneralSettings:t}=await Promise.resolve().then(n.bind(n,6171));if(!t().devMode)return;const a=e.entry;e.entry=async e=>{const{metadata:t}=e,n=performance.now();let o=a(e);const s=performance.now();o instanceof Promise&&(o=await o);const l=performance.now();return i.set(t,s-n),r.set(t,l-n),o}}},8970:function(e,t,n){"use strict";n.r(t),n.d(t,{pluginLoadTime:function(){return i},pluginResolveTime:function(){return r},pluginLoadTrace:function(){return a}});const i=new Map,r=new Map,a=async e=>{const{getGeneralSettings:t}=await Promise.resolve().then(n.bind(n,6171));if(!t().devMode)return;const a=e.setup;e.setup=async t=>{const n=performance.now();let o=a(t);const s=performance.now();o instanceof Promise&&(o=await o);const l=performance.now();return i.set(e,s-n),r.set(e,l-n),o}}},719:function(e,t,n){"use strict";n.r(t),n.d(t,{promiseLoadTime:function(){return i},promiseResolveTime:function(){return r},promiseLoadTrace:function(){return a}});const i=new Map,r=new Map,a=async(e,t)=>{const{getGeneralSettings:a}=await Promise.resolve().then(n.bind(n,6171));if(!a().devMode)return t();const o=performance.now(),s=t(),l=performance.now(),c=await s,d=performance.now();return i.set({name:e},l-o),r.set({name:e},d-o),c}},9476:function(e,t,n){"use strict";n.r(t),n.d(t,{logStats:function(){return i}});const i=(e,t)=>{const n=[...t.entries()],i=n.reduce(((e,t)=>e+t[1]),0);console.groupCollapsed(`${e} time:`,Math.round(100*i)/100+"ms",`for ${n.length} items`),n.forEach((([e,t])=>{console.log(`%c${e.name} %c${Math.round(100*t)/100}ms ${Math.round(t/i*1e4)/100}% %c`,"color: #00A0D8","color: #888","color: unset")})),console.groupEnd()}},391:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{RuntimeLibrary:function(){return RuntimeLibrary},protobufLibrary:function(){return protobufLibrary},JSZipLibrary:function(){return JSZipLibrary},SortableJSLibrary:function(){return SortableJSLibrary}});var _ajax__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(7195);function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class RuntimeLibrary{constructor(e){this.config=e,_defineProperty(this,"modulePromise",void 0)}async then(resolve,reject){try{const{url:url,getModule:getModule}=this.config;this.modulePromise||(this.modulePromise=(async()=>{console.log(`[Runtime Library] Start download from ${url}`);const code=await(0,_ajax__WEBPACK_IMPORTED_MODULE_0__.monkey)({url:url});return console.log(`[Runtime Library] Downloaded from ${url} , length = ${code.length}`),function runEval(){return eval(code);// eslint-disable-next-line no-extra-bind +e.__vue__??e.parentElement.__vue__??e.children[0].__vue__,$e=e=>t=>{e.startsWith(".")&&(e=e.substring(1));const n=Boolean(t),i=t&&t.parentNode,r=t instanceof HTMLElement&&t.classList.contains(e);return n&&i&&r};let Ae;!function(e){e.AddCard="addCard",e.RemoveCard="removeCard"}(Ae||(Ae={}));class Te extends EventTarget{constructor(...e){super(...e),Se(this,"watching",!1),Se(this,"cards",[]),Se(this,"managerType",void 0)}addEventListener(e,t,n){super.addEventListener(e,t,n)}removeEventListener(e,t,n){super.removeEventListener(e,t,n)}dispatchCardEvent(e,t){const n=new CustomEvent(e,{detail:t});this.dispatchEvent(n),Ee.forEach((n=>n[e===Ae.AddCard?"added":"removed"](t)))}async startWatching(){if(this.watching)return!0;this.watching=!0;const[e]=(0,ye.registerAndGetData)(Ce,[]),t=e.find((e=>e.match.some((e=>(0,K.matchUrlPattern)(e)))));return t?t.watchCardsList(this):(console.warn("[FeedsCardsManager] No adaptor found",e),!1)}}const Oe=e=>e.querySelector(".repost")?we.repost:e.querySelector(".imagesbox")?we.textWithImages:e.querySelector(".video-container")?we.video:e.querySelector(".bangumi-container")?we.bangumi:e.querySelector(".article-container")?we.column:e.querySelector(".music-container")?we.audio:e.querySelector(".h5share-container")?we.share:e.querySelector(".vc-ctnr")?we.miniVideo:e.querySelector(".live-container")?we.liveRecord:we.text,Me=async e=>{const t=async t=>{const n=await(0,R.sq)((()=>e.querySelector(t)),(t=>null!==t||null===e.parentNode),{queryInterval:100});if(null===e.parentNode)return"";if(null===n)return console.warn(e,t,e.parentNode),"";return n.innerText.trim()},n=e=>{if(void 0===e.card.origin)return{originalText:"",originalDescription:"",originalTitle:""};const t=JSON.parse(e.card.origin);return{originalText:e.originCardData.pureText,originalDescription:lodash.get(t,"item.description",lodash.get(t,"desc","")),originalTitle:t.title}},i=async e=>{const n=parseInt(await t(e));return isNaN(n)?0:n},r={id:e.getAttribute("data-did"),username:await t(".main-content .user-name"),text:"",reposts:await i(".button-bar .single-button:nth-child(1) .text-offset"),comments:await i(".button-bar .single-button:nth-child(2) .text-offset"),likes:await i(".button-bar .single-button:nth-child(3) .text-offset"),element:e,type:Oe(e),get presented(){return null!==e.parentNode},async getText(){return(async t=>{if(t===we.bangumi)return"";const i=await(0,R.sq)((()=>e),(t=>Boolean(Ie(t)||!e.parentNode)),{queryInterval:100});if(null===e.parentNode)return"";if(null===i)return console.warn(i,e,Ie(i),e.parentNode),"";const r=Ie(i);if(t===we.repost){const e=r.card.item.content,t=n(r);return[e,...Object.values(t).filter((e=>""!==e))].filter((e=>Boolean(e))).join("\n")}return[r.originCardData.pureText,r.originCardData.title].filter((e=>Boolean(e))).join("\n")})(this.type)}};if(r.text=await r.getText(),e.setAttribute("data-type",r.type.id.toString()),xe(r)){const t=r.username,i=Ie(r.element),a=lodash.get(i,"card.origin_user.info.uname","");t===a&&e.setAttribute("data-self-repost","true"),r.repostUsername=a,r.repostText=n(i).originalText}return r};class Le extends Te{constructor(...e){var t,n,i;super(...e),i="v1",(n="managerType")in(t=this)?Object.defineProperty(t,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[n]=i}async addCard(e){if(e&&e instanceof HTMLElement&&e.classList.contains("card"))if(null!==e.querySelector(".skeleton")){const[t]=(0,P.childList)(e,(()=>{null===e.querySelector(".skeleton")&&(t.disconnect(),this.addCard(e))}))}else{if(null===e.parentNode)return;const t=await Me(e);if(!t.presented)return;if(this.cards.find((e=>e.id===t.id)))return;this.cards.push(t),this.cards.sort(((e,t)=>e.id===t.id?0:e.id>t.id?-1:1)),this.dispatchCardEvent(Ae.AddCard,t)}}async removeCard(e){if(e&&e instanceof HTMLElement&&e.classList.contains("card")){const t=e.getAttribute("data-did"),n=this.cards.findIndex((e=>e.id===t));if(-1===n)return;const i=this.cards[n];this.cards.splice(n,1),this.dispatchCardEvent(Ae.RemoveCard,i)}}updateCards(e){const t=".card[data-did]",n=e=>{if(e instanceof HTMLElement){if(e.matches(t))return e;const n=e.querySelector(t);if(n)return n}};return[...e.querySelectorAll(t)].forEach((e=>this.addCard(e))),(0,P.childList)(e,(e=>{e.forEach((e=>{e.addedNodes.forEach((e=>this.addCard(n(e)))),e.removedNodes.forEach((e=>this.removeCard(n(e))))}))}))}}const Pe={DynamicTypeForward:we.repost,DynamicTypeAv:we.video,DynamicTypeDraw:we.textWithImages,DynamicTypeWord:we.text,DynamicTypePgc:we.bangumi,DynamicTypeArticle:we.column,DynamicTypeMusic:we.audio,DynamicTypeLiveRcmd:we.liveRecord},ze=(...e)=>e.filter((e=>Boolean(e))).join("\n").trim(),De=(e,t)=>{const{desc:n,major:i}=e,r=n?.text??"";let a="";switch(t){default:break;case we.bangumi:case we.column:case we.video:{const e=i.archive??i.pgc??i.article,{title:t,desc:n}=e;a=ze(t,n);break}}return ze(r,a)},Ve=async e=>{const t=Ie(e),{modules:n,id_str:i,type:r}=t.data,{name:a}=n.module_author,{like:o,forward:s,comment:l}=n.module_stat,c=(d=r,Pe[(0,K.pascalCase)(d)]??Pe.DynamicTypeWord);var d;e.dataset.type=c.id.toString();const u={id:i,username:a,likes:o.count,reposts:s.count,comments:l.count,text:"",type:c,element:e,get presented(){return null!==e.parentNode},getText:async()=>De(n.module_dynamic,c)};if(xe(u)){const i=u.username,{module_author:{name:r},module_dynamic:a}=t.data.orig.modules;u.repostUsername=r,u.repostText=De(a,c),r===i&&e.setAttribute("data-self-repost","true"),u.getText=async()=>ze(De(n.module_dynamic,c),De(a,c))}return u.text=await u.getText(),u},Ne=$e("bili-dyn-list__item");class Be extends Te{constructor(...e){var t,n,i;super(...e),i="v2",(n="managerType")in(t=this)?Object.defineProperty(t,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[n]=i}async addCard(e){if(!Ne(e))return;const t=await Ve(e);t.presented&&(this.cards.push(t),this.cards.sort((0,oe.descendingStringSort)((e=>e.id))),this.dispatchCardEvent(Ae.AddCard,t))}async removeCard(e){if(!Ne(e))return;const t=Ie(e).data?.id_str??"0",n=this.cards.findIndex((e=>e.id===t));if(-1===n)return;const[i]=this.cards.splice(n,1);this.dispatchCardEvent(Ae.RemoveCard,i)}updateCards(e){const t=".bili-dyn-list__item";dqa(e,t).forEach((e=>this.addCard(e)));const n=e=>Ne(e)?e.matches(t)?e:e.querySelector(t):null;return(0,P.childList)(e,(e=>{e.forEach((e=>{e.addedNodes.forEach((e=>this.addCard(n(e)))),e.removedNodes.forEach((e=>this.removeCard(n(e))))}))}))}}const je=parseInt((0,K.getCookieValue)("hit-dyn-v2"))>0?new Be:new Le,qe=async e=>{if(!await je.startWatching())return console.error("feedsCardsManager.startWatching() failed"),null;const{added:t}=e;return t&&je.cards.forEach((e=>t(e))),Ee.push({added:none,removed:none,...e}),je},Fe=e=>{const t=lodash.groupBy(e,(e=>e.aid)),n=e=>({id:e.upID,name:e.upName,faceUrl:e.upFaceUrl});return Object.values(t).map((e=>{if(1===e.length)return e[0];const[t,...i]=e;return t.cooperation=[n(t),...i.map(n)],console.log([...t.cooperation]),t})).sort((0,oe.descendingStringSort)((e=>e.id)))},Re=e=>1===lodash.get(e,"extra.is_reserve_recall",0),Ue="feeds.contentFilters";(0,ye.registerData)(Ue,[]);const He=e=>{const[t]=(0,ye.getData)(Ue);return t.reduce(((e,t)=>t.filter(e)),e)},Ze=e=>(...t)=>e(...t).then((e=>He(e))),We=Ze((async(e="video")=>{if(!(0,K.getUID)())return[];const t=await(0,S.getJsonWithCredentials)(`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=${(0,K.getUID)()}&type_list=${"video"===e?8:512}`);if(0!==t.code)throw new Error(t.message);const n=t.data.cards,i=n.filter((e=>!Re(JSON.parse(e.card))));return"video"===e?Fe(n.map((e=>{const t=JSON.parse(e.card),n=lodash.get(e,"display.topic_info.topic_details",[]).map((e=>({id:e.topic_id,name:e.topic_name})));return{id:e.desc.dynamic_id_str,aid:t.aid,bvid:e.desc.bvid||t.bvid,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(1e3*e.timestamp),topics:n,dynamic:t.dynamic,like:(0,Y.formatCount)(e.desc.like),duration:t.duration,durationText:(0,Y.formatDuration)(t.duration,0),playCount:(0,Y.formatCount)(t.stat.view),danmakuCount:(0,Y.formatCount)(t.stat.danmaku),watchlater:ge.includes(t.aid)}}))):"bangumi"===e?i.map((e=>{const t=JSON.parse(e.card);return{id:e.desc.dynamic_id_str,aid:t.aid,bvid:e.desc.bvid||t.bvid,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(1e3*e.timestamp),like:(0,Y.formatCount)(e.desc.like),durationText:"",playCount:(0,Y.formatCount)(t.play_count),danmakuCount:(0,Y.formatCount)(t.bullet_count),watchlater:!1}})):[]})),Ge=async(e,t)=>{if("string"==typeof e)return(0,S.getJsonWithCredentials)(`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=${(0,K.getUID)()}&type_list=${e}`);const n=e.id.toString();let i=`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=${(0,K.getUID)()}&type_list=${n}`;return t&&(i=`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_history?uid=${(0,K.getUID)()}&offset_dynamic_id=${t}&type=${n}`),(0,S.getJsonWithCredentials)(i)},Xe=(e,t)=>{const n=dq(e.element,".more-panel, .bili-dyn-more__menu"),i=n.classList.contains("bili-dyn-more__menu"),{className:r,text:a,action:o}=t;if(!n||dq(n,`.${r}`))return;const s=document.createElement(i?"div":"p");i?(s.classList.add("bili-dyn-more__menu__item",r),s.style.height="25px",s.style.padding="2px 0",s.style.textAlign="center",s.dataset.module="more",s.dataset.type=lodash.snakeCase(`ThreePoint${(0,K.pascalCase)(r)}`).toUpperCase(),s.dataset.params="{}"):s.classList.add("child-button","c-pointer",r),s.textContent=a;[...new Set([...n.children].map((e=>e.getAttributeNames().filter((e=>e.startsWith("data-v-"))))).flat())].forEach((e=>s.setAttribute(e,""))),s.addEventListener("click",(t=>{o(t),e.element.click()})),n.appendChild(s)};var Ke=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{staticClass:"bangumi-card",class:{new:e.isNew},attrs:{target:"_blank",href:e.data.url}},[n("div",{staticClass:"ep-cover-container"},[n("DpiImage",{staticClass:"ep-cover",attrs:{size:{width:100},src:e.data.epCoverUrl}})],1),e._v(" "),n("h1",{staticClass:"ep-title",attrs:{title:e.data.epTitle}},[e._v(e._s(e.data.epTitle))]),e._v(" "),n("div",{staticClass:"up",attrs:{title:e.data.title}},[n("DpiImage",{staticClass:"cover",attrs:{size:24,src:e.data.coverUrl}}),e._v(" "),n("div",{staticClass:"title"},[e._v(e._s(e.data.title))])],1)])};Ke._withStripped=!0;var Je=Vue.extend({components:{DpiImage:de.DpiImage},props:{data:{type:Object,required:!0},isNew:{type:Boolean,default:!1}}}),Ye=n(3379),Qe=n.n(Ye),et=n(5478),tt=n.n(et),nt={insert:"head",singleton:!1},it=(Qe()(tt(),nt),tt().locals,n(1900)),rt=(0,it.Z)(Je,Ke,[],!1,null,"3bc2da4f",null);rt.options.__file="src/components/feeds/BangumiCard.vue";var at=rt.exports,ot=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{staticClass:"be-up-info",class:{fallback:!e.upFaceUrl},attrs:{href:e.actualHref,title:e.upName,target:"_blank"}},[e.upFaceUrl?n("DpiImage",{staticClass:"be-up-info-cover",attrs:{size:24,src:e.upFaceUrl}}):n("div",{staticClass:"be-up-info-cover-fallback"},[e._t("fallback-icon",[n("VIcon",{attrs:{icon:"up-outline",size:18}})])],2),e._v(" "),n("div",{staticClass:"be-up-info-name"},[e._v("\n "+e._s(e.upName)+"\n ")])],1)};ot._withStripped=!0;var st=Vue.extend({components:{DpiImage:de.DpiImage,VIcon:de.VIcon},props:{href:{type:String,default:""},upId:{type:[String,Number],default:""},upFaceUrl:{type:String,default:""},upName:{type:String,required:!0}},computed:{actualHref(){return this.href?this.href:`https://space.bilibili.com/${this.upId}`}}}),lt=n(3436),ct=n.n(lt),dt={insert:"head",singleton:!1},ut=(Qe()(ct(),dt),ct().locals,(0,it.Z)(st,ot,[],!1,null,null,null));ut.options.__file="src/components/feeds/UpInfo.vue";var pt=ut.exports,ft=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{staticClass:"video-card",class:{vertical:"vertical"===e.orientation,"no-stats":!e.showStats},attrs:{target:"_blank",href:e.epID?"https://www.bilibili.com/bangumi/play/ep"+e.epID:"https://www.bilibili.com/video/"+e.bvid}},[n("div",{staticClass:"cover-container"},[n("DpiImage",{staticClass:"cover",attrs:{src:e.coverUrl,size:{height:120,width:200}}}),e._v(" "),e.isNew?n("div",{staticClass:"new"},[e._v("NEW")]):e._e(),e._v(" "),e.pubTime&&e.pubTimeText?[n("div",{staticClass:"publish-time-summary"},[e._v("\n "+e._s(e.pubTimeText)+"\n ")]),e._v(" "),n("div",{staticClass:"publish-time-detail"},[e._v("\n "+e._s(e.pubTime)+"\n ")])]:e._e(),e._v(" "),e.durationText?n("div",{staticClass:"duration"},[e._v(e._s(e.durationText))]):e._e(),e._v(" "),e.durationText&&null!==e.watchlater&&void 0!==e.watchlater?n("div",{staticClass:"watchlater",on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.toggleWatchlater(e.aid)}}},[n("VIcon",{attrs:{size:15,icon:e.watchlater?"mdi-check-circle":"mdi-clock-outline"}}),e._v("\n "+e._s(e.watchlater?"已添加":"稍后再看")+"\n ")],1):e._e()],2),e._v(" "),n("h1",{staticClass:"title",attrs:{title:e.title}},[e._v(e._s(e.title))]),e._v(" "),e.topics&&e.topics.length?n("div",{staticClass:"topics"},e._l(e.topics.slice(0,3),(function(t){return n("a",{key:t.id,staticClass:"topic",attrs:{target:"_blank",href:"https://t.bilibili.com/topic/name/"+t.name+"/feed"}},[e._v("#"+e._s(t.name)+"#")])})),0):n("p",{staticClass:"description",attrs:{title:e.description}},[e._v(e._s(e.description))]),e._v(" "),0===e.cooperation.length?n("a",{staticClass:"up",class:{"no-face":!e.upFaceUrl},attrs:{target:"_blank",href:e.upID?"https://space.bilibili.com/"+e.upID:null}},[e.upFaceUrl?n("DpiImage",{staticClass:"face",attrs:{src:e.upFaceUrl,size:24}}):n("VIcon",{attrs:{icon:"up"}}),e._v(" "),n("div",{staticClass:"name",attrs:{title:e.upName}},[e._v(e._s(e.upName))])],1):e._e(),e._v(" "),0!==e.cooperation.length?n("div",{staticClass:"cooperation"},[n("div",{staticClass:"cooperation-ups"},e._l(e.reversedCooperation,(function(e){return n("a",{key:e.id,staticClass:"cooperation-up",class:{"no-face":!e.faceUrl},attrs:{target:"_blank",title:e.name,href:e.id?"https://space.bilibili.com/"+e.id:null}},[e.faceUrl?n("DpiImage",{staticClass:"face",attrs:{src:e.faceUrl,size:24}}):n("VIcon",{attrs:{icon:"up"}})],1)})),0),e._v(" "),n("div",{staticClass:"cooperation-note"},[e._v("\n 联合投稿\n ")])]):e._e(),e._v(" "),e.showStats?n("div",{staticClass:"stats"},[e.vertical?[e.playCount?[n("VIcon",{attrs:{icon:"play",size:e.statsIconSize}}),e._v("\n "+e._s(e.playCount)+"\n ")]:e._e(),e._v(" "),e.danmakuCount?[n("VIcon",{attrs:{icon:"danmaku",size:e.statsIconSize}}),e._v("\n "+e._s(e.danmakuCount)+"\n ")]:e._e(),e._v(" "),e.like?[n("VIcon",{attrs:{icon:"like-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.like)+"\n ")]:e._e(),e._v(" "),e.coins?[n("VIcon",{attrs:{icon:"coin-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.coins)+"\n ")]:e._e(),e._v(" "),e.favorites?[n("VIcon",{attrs:{icon:"favorites-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.favorites)+"\n ")]:e._e()]:[e.like?[n("VIcon",{attrs:{icon:"like-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.like)+"\n ")]:e._e(),e._v(" "),e.coins?[n("VIcon",{attrs:{icon:"coin-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.coins)+"\n ")]:e._e(),e._v(" "),e.favorites?[n("VIcon",{attrs:{icon:"favorites-outline",size:e.statsIconSize}}),e._v("\n "+e._s(e.favorites)+"\n ")]:e._e(),e._v(" "),e.playCount?[n("VIcon",{attrs:{icon:"play",size:e.statsIconSize}}),e._v("\n "+e._s(e.playCount)+"\n ")]:e._e(),e._v(" "),e.danmakuCount?[n("VIcon",{attrs:{icon:"danmaku",size:e.statsIconSize}}),e._v("\n "+e._s(e.danmakuCount)+"\n ")]:e._e()]],2):e._e()])};ft._withStripped=!0;var ht={components:{DpiImage:de.DpiImage,VIcon:de.VIcon},props:{data:{type:Object,required:!0},orientation:{type:String,default:"horizontal"},showStats:{type:Boolean,default:!0},isNew:{type:Boolean,default:!1}},data(){return{watchlaterList:ge,upFaceUrl:"",danmakuCount:"",like:"",coins:"",favorites:"",dynamic:"",topics:[],upID:0,epID:0,cooperation:[],pubTime:0,pubTimeText:"",...lodash.omit(this.data,"watchlater"),watchlaterInit:this.data.watchlater,statsIconSize:14}},computed:{vertical(){return"vertical"===this.orientation},watchlater(){return(0,K.getUID)()&&null!==this.watchlaterInit?this.watchlaterList.includes(this.aid):null},reversedCooperation(){return[...this.cooperation].reverse().slice(0,3)}},methods:{toggleWatchlater:ve}},mt=n(1745),gt=n.n(mt),bt={insert:"head",singleton:!1},vt=(Qe()(gt(),bt),gt().locals,(0,it.Z)(ht,ft,[],!1,null,"0ffa1cb1",null));vt.options.__file="src/components/feeds/VideoCard.vue";var yt=vt.exports,wt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{staticClass:"column-card",attrs:{target:"_blank",href:"https://www.bilibili.com/read/cv"+e.data.cvID}},[n("div",{staticClass:"covers"},e._l(e.data.covers,(function(e){return n("DpiImage",{key:e,staticClass:"cover",attrs:{size:{height:120},src:e}})})),1),e._v(" "),n("a",{staticClass:"up",attrs:{target:"_blank",href:"https://space.bilibili.com/"+e.data.upID}},[n("DpiImage",{staticClass:"face",attrs:{size:24,src:e.data.upFaceUrl}}),e._v(" "),n("div",{staticClass:"name"},[e._v(e._s(e.data.upName))])],1),e._v(" "),n("h1",{staticClass:"title",attrs:{title:e.data.title}},[e._v(e._s(e.data.title))]),e._v(" "),n("div",{staticClass:"description",attrs:{title:e.data.description}},[e._v(e._s(e.data.description))])])};wt._withStripped=!0;var xt=Vue.extend({components:{DpiImage:de.DpiImage},props:{data:{type:Object,required:!0},isNew:{type:Boolean,default:!1}}}),_t=n(5028),kt=n.n(_t),Ct={insert:"head",singleton:!1},St=(Qe()(kt(),Ct),kt().locals,(0,it.Z)(xt,wt,[],!1,null,"8e8ea920",null));St.options.__file="src/components/feeds/ColumnCard.vue";var Et=St.exports;let It=!1,$t=0;const At="disable-profile-popup",Tt=async()=>{if("https://t.bilibili.com/"!==document.URL.replace(window.location.search,""))return;const e=await(0,R.select)(".live-up-list, .bili-dyn-live-users__body");null!==e&&($t++,It||(e.addEventListener("mouseenter",(e=>{$t>0&&e.stopImmediatePropagation()}),{capture:!0}),It=!0))},Ot=()=>{$t--},Mt=3e5,Lt=()=>(0,K.getCookieValue)(`bp_t_offset_${(0,K.getUID)()}`),Pt=(e,t)=>e===t?0:e.length>t.length?1:t.length>e.length?-1:e>t==!0?1:-1,zt=e=>{if(null==e)return;const t=Lt();Pt(e,t)<0||(document.cookie=`bp_t_offset_${(0,K.getUID)()}=${e};path=/;domain=.bilibili.com;max-age=2592000`)},Dt=e=>Pt(e,Lt())>0,Vt=e=>{const[t]=[...e.map((e=>e.id))].sort(Pt).reverse();zt(t)},Nt=async e=>{const t=`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_num?rsp_type=1&uid=${(0,K.getUID)()}&update_num_dy_id=${Lt()}&type_list=${e||ke}`,n=await(0,S.getJsonWithCredentials)(t);return 0!==n.code?0:lodash.get(n,"data.update_num",0)},Bt=e=>{e.startsWith("#")&&(e=e.substring(1));return{red:e.substring(0,2),green:e.substring(2,4),blue:e.substring(4,6)}},jt=e=>{const{red:t,green:n,blue:i}=Bt(e);return`\\c&H${i}${n}${t}&`.toUpperCase()},qt=(e,t=1)=>{const{red:n,green:i,blue:r}=Bt(e);return`&H${Math.round(255*(1-t)).toString(16).padStart(2,"0")}${r}${i}${n}`.toUpperCase()},Ft=e=>{let t=0,n=0;for(;e>=60;)e-=60,n++;for(;n>=60;)n-=60,t++;return`${t}:${String(n).padStart(2,"0")}:${(e=>{const[t,n="00"]=String(e).split(".");return`${t.padStart(2,"0")}.${n.substring(0,2).padEnd(2,"0")}`})(e)}`},Rt=(e,t)=>[Ft(e),Ft(e+t)],Ut=(e,t)=>[Ft(e),Ft(t)],Ht=e=>{const t={"{":"{","}":"}","&":"&","<":"<",">":">",""":'"',"'":"'","\n":"\\N"};for(const[n,i]of Object.entries(t))e=e.replace(new RegExp(n,"g"),i);return e},Zt={"&":"&","<":"<",">":">",""":'"',"'":"'"},Wt=Object.fromEntries(Object.entries(Zt).map((e=>e.reverse()))),Gt=(e,t)=>{for(const[n,i]of Object.entries(t))e=e.replace(new RegExp(n,"g"),i);return e},Xt=e=>Gt(e,Wt),Kt=e=>Gt(e,Zt);var Jt=n(7412);const Yt=e=>se.playerUrls.some((e=>(0,K.matchUrlPattern)(e)))?async()=>{const t=Jt.playerAgent,{query:{control:{settings:n,buttons:i}}}=t;ne(i.settings.selector,n.wrap.selector),t.toggleLight(e)}:K.none,Qt=Yt(!0),en=Yt(!1);let tn;const nn=[],rn=async e=>{await(0,R.hasVideo)()&&(0,P.videoChange)((async()=>{const t=await Jt.playerAgent.query.video.danmaku();t&&((e,t)=>{tn&&tn.disconnect(),[tn]=(0,P.childListSubtree)(e,(e=>{e.forEach((e=>{e.addedNodes.forEach((e=>{if(e.nodeType===Node.TEXT_NODE){const n=e.parentElement,i=nn.find((e=>e.element===n));if(!i)return;return i.text=e.textContent||"",i.reuse=!0,void(t.added&&t.added(i))}if(!(e instanceof HTMLElement))return;const n={element:i=e,reuse:!1,text:i.textContent||""};var i;nn.push(n),t.added&&t.added(n)})),e.removedNodes.forEach((e=>{if(!(e instanceof HTMLElement))return;const n=nn.findIndex((t=>t.element===e));if(-1!==n){const[e]=nn.splice(n,1);t.removed&&t.removed(e)}}))}))}))})(t,e)}))};function an(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class on{constructor(e){an(this,"aid",void 0),an(this,"cid",void 0),an(this,"pageCount",void 0),an(this,"coverUrl",void 0),an(this,"tagId",void 0),an(this,"tagName",void 0),an(this,"title",void 0),an(this,"description",void 0),an(this,"up",void 0),an(this,"pages",void 0),an(this,"subtitles",void 0),this.aid=e}async fetchInfo(){let e;e=this.cid?`https://api.bilibili.com/x/web-interface/view?aid=${this.aid}&cid=${this.cid}`:`https://api.bilibili.com/x/web-interface/view?aid=${this.aid}`;const t=await(0,S.getJsonWithCredentials)(e);if(0!==t.code)throw new Error(t.message);const{data:n}=t;return this.cid=n.cid,this.pageCount=n.videos,this.coverUrl=n.pic.replace("http:","https:"),this.tagId=n.tid,this.tagName=n.tname,this.title=n.title,this.description=n.desc,this.up={uid:n.owner.mid,name:n.owner.name,faceUrl:n.owner.face.replace("http:","https:")},this.pages=n.pages.map((e=>({cid:e.cid,title:e.part,pageNumber:e.page}))),this.subtitles=n.subtitle.list.map((e=>({id:e.id,languageCode:e.lan,language:e.lan_doc,url:e.subtitle_url.replace("http:","https:")}))),this}}class sn{constructor(e){an(this,"ep",void 0),an(this,"videos",void 0),an(this,"title",void 0),an(this,"cover",void 0),an(this,"squareCover",void 0),an(this,"aid",void 0),an(this,"cid",void 0),this.ep=e,this.videos=[]}async fetchInfo(){const e=await(0,S.getText)(`https://www.bilibili.com/bangumi/play/ep${this.ep}/`),t=JSON.parse(e.match(/window\.__INITIAL_STATE__=(.*);\(function\(\){/)[1]);return this.title=t.mediaInfo.title,this.cover=t.mediaInfo.cover,this.squareCover=t.mediaInfo.square_cover,this.aid=t.epInfo.aid,this.cid=t.epInfo.cid,this.videos=t.epList.map((async e=>({title:e.index_title,aid:e.aid,cid:e.cid,info:await new on(e.aid).fetchInfo()}))),this}}const ln=[{name:"720P",displayName:"高清 720P",value:64},{name:"1080P",displayName:"高清 1080P",value:80}],cn=[{name:"8K",displayName:"超高清 8K",value:127},{name:"DolbyVision",displayName:"杜比视界",value:126},{name:"HDR",displayName:"真彩 HDR",value:125},{name:"4K",displayName:"超清 4K",value:120},{name:"1080P60",displayName:"高清 1080P60",value:116},{name:"1080P+",displayName:"高清 1080P+",value:112},{name:"720P60",displayName:"高清 720P60",value:74}],dn=[...cn,...ln,{name:"480P",displayName:"清晰 480P",value:32},{name:"360P",displayName:"流畅 360P",value:16}].sort((0,oe.descendingSort)((e=>e.value))),un=async e=>{const{open:t,close:n}=e;if(!(0,R.hasVideo)())return;const i=await(0,R.select)(".bilibili-player");if(!i)return;const[r]=(0,P.childList)(i,(()=>{const e=dq(".bilibili-player-context-menu-origin");if(e){r.disconnect();const i=dq(e,"ul"),a={containerElement:e,listElement:i,get itemElements(){return dqa(e,".context-menu-function")},get isOpen(){return e.classList.contains("active")}};(0,P.childList)(i,(()=>{a.isOpen?t?.(a):n?.(a)}))}}))},pn=async(e,t)=>un({open:t=>{if(t.listElement.contains(e))return;const n=document.createElement("li");n.classList.add("context-line","context-menu-function"),n.setAttribute("data-append","1");const i=document.createElement("a");i.classList.add("context-menu-a","js-action"),i.href="javascript:void(0);",i.appendChild(e),n.addEventListener("mouseover",(()=>n.classList.add("hover"))),n.addEventListener("mouseout",(()=>n.classList.remove("hover"))),n.appendChild(i),t.listElement.appendChild(n)},close:e=>t?.(e)});let fn=null;const hn=[],mn=lodash.once((()=>se.playerUrls.some((e=>(0,K.matchUrlPattern)(e)))?new Promise((e=>{(0,P.videoChange)((async()=>{const{playerAgent:t}=await Promise.resolve().then(n.bind(n,7412)),i=await t.query.control.buttons.time(),r=await Promise.resolve().then(n.bind(n,135)).then((e=>e.default));if(null===i||null!==i.parentElement?.querySelector(".be-video-control-bar-extend"))return;const a=new r({propsData:{items:hn}}).$mount();i.insertAdjacentElement("afterend",a.$el),e(a)}))})):Promise.resolve(null))),gn=async e=>{fn||(fn=mn());await fn&&hn.push(e)},bn=async e=>{if(!se.liveUrls.some((e=>(0,K.matchUrlPattern)(e))))return;const t=await(0,R.select)(".bilibili-live-player-video-controller, .web-player-controller-wrap:not(.web-player-controller-bg)");if(!t)return;const{init:n,callback:i}=e;n?.(t),(0,P.childList)(t,(async()=>{const e=dq(t,".control-area");e&&i?.(e)}))};function vn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const yn=0,wn=2,xn={heartBeat:2,heartBeatResponse:3,message:5,enterRoom:7,enterRoomResponse:8};class _n{constructor(){vn(this,"textEncoder",new TextEncoder),vn(this,"textDecoder",new TextDecoder)}static readInt(e,t,n){let i=0;for(let r=n-1;r>=0;r--)i+=256**(n-r-1)*e[t+r];return i}static writeInt(e,t,n,i){let r=0;for(;r{const i={packetLength:_n.readInt(e,0,4),headerLength:_n.readInt(e,4,2),protocolVersion:_n.readInt(e,6,2),operation:_n.readInt(e,8,4),sequenceID:_n.readInt(e,12,4)},r=[i];if(i.packetLengthe.messages[0])))}else i.protocolVersion===yn&&(i.messages=[JSON.parse(this.textDecoder.decode(r))])}else i.operation===xn.heartBeatResponse&&(i.heartBeatResponse={count:_n.readInt(e,16,4)});return r};return new Promise(((n,i)=>{const r=new FileReader;r.onload=async e=>{if(!e.target)return void i(e);const r=new Uint8Array(e.target.result);n(await t(r))},r.readAsArrayBuffer(e)}))}}class kn{constructor(){vn(this,"startTime",0)}getLiveTime(){return new Promise((e=>{if(this.startTime)return void e(this.startTime);const t=(0,K.dq)(".bilibili-live-player-video-controller-duration-btn span"),[n]=(0,P.childList)(t,(t=>{if(t.length>0&&t.some((e=>e.addedNodes.length>0&&[...e.addedNodes].every((e=>e.nodeType===Node.TEXT_NODE))))){n.disconnect();const i=t[0].addedNodes[0].textContent,[r,a,o=0]=i.split(":").reverse().map(lodash.unary(parseInt)),s=Number(new Date);this.startTime=s-1e3*o*3600-60*a*1e3-1e3*r,e(this.startTime)}}))}))}}class Cn extends EventTarget{constructor(e){super(),this.roomID=e,vn(this,"heartBeatTimer",void 0),vn(this,"webSocket",void 0),vn(this,"retryInterval",200),vn(this,"autoRetry",!0),vn(this,"servers",["broadcastlv.chat.bilibili.com"]),vn(this,"selectedServer",""),vn(this,"liveTime",new kn),vn(this,"bufferHelper",new _n),vn(this,"stopRequested",!1),window.addEventListener("unload",(()=>this.stop()))}heartBeat(){this.webSocket.readyState===WebSocket.OPEN?this.webSocket.send(this.bufferHelper.encode("","heartBeat")):(this.stop(),this.restart())}restart(){if(this.dispatchEvent(new CustomEvent("restart")),!this.stopRequested&&this.autoRetry){console.log(`Live Socket: unexpected disconnect, retry in ${this.retryInterval}ms`);const e=this.servers.indexOf(this.selectedServer);ethis.start()),this.retryInterval)}}async start(){const e=await(0,S.getJson)(`https://api.live.bilibili.com/room/v1/Danmu/getConf?room_id=${this.roomID}&platform=pc&player=web`),t=lodash.get(e,"data.host_server_list",[]);this.servers=[...new Set([...this.servers,...t.map((e=>e.host))])],""===this.selectedServer&&([this.selectedServer]=this.servers,console.log("Initial server:",this.selectedServer)),this.webSocket&&[WebSocket.CONNECTING,WebSocket.OPEN].includes(this.webSocket.readyState)&&this.stop(),this.webSocket=new WebSocket(`wss://${this.selectedServer}/sub`),this.stopRequested=!1,this.dispatchEvent(new CustomEvent("start",{detail:this.webSocket})),this.webSocket.addEventListener("open",(()=>{const t={roomid:this.roomID,uid:parseInt((0,K.getUID)()),protover:2,platform:"web",clientVer:"1.10.1",type:"2",key:lodash.get(e,"data.token")};this.webSocket.send(this.bufferHelper.encode(JSON.stringify(t),"enterRoom")),this.dispatchEvent(new CustomEvent("open",{detail:t}))})),this.webSocket.addEventListener("message",(async e=>{const[t]=await this.bufferHelper.decode(e.data);switch(this.dispatchEvent(new CustomEvent("message",{detail:t})),t.operation){case xn.enterRoomResponse:this.heartBeatTimer&&clearInterval(this.heartBeatTimer),this.heartBeatTimer=window.setInterval((()=>{this.heartBeat()}),3e4);break;case xn.heartBeatResponse:if(!t.heartBeatResponse)break;this.dispatchEvent(new CustomEvent("heartBeatResponse",{detail:t.heartBeatResponse.count}));break;case xn.message:{if(!t.messages)break;const e=await this.liveTime.getLiveTime();t.messages.forEach((t=>{if("DANMU_MSG"===t.cmd){const{info:n}=t,i={content:n[1],type:n[0][1],fontSize:n[0][2],color:n[0][3],sendTime:n[0][4],userHash:n[0][7],userID:n[2][0],userName:n[2][1],startTime:e,get time(){return this.sendTime-this.startTime}};this.dispatchEvent(new CustomEvent("danmaku",{detail:i}))}}));break}}})),this.webSocket.addEventListener("close",(e=>{this.stopRequested||(console.error("Live Socket: close",e),this.restart())})),this.webSocket.addEventListener("error",(e=>{console.error("Live Socket: error",e),this.restart()}))}stop(){this.stopRequested=!0,this.heartBeatTimer&&clearInterval(this.heartBeatTimer),this.webSocket&&this.webSocket.readyState===WebSocket.OPEN&&this.webSocket.close()}}const Sn=[],En="bb-comment",In=[],$n=[],An=[],Tn=e=>{const t=e.querySelector(".con .user .name"),n=e=>{const t=e.querySelector(".reply-face"),n=e.querySelector(".reply-con .user .name");return{id:e.getAttribute("data-id"),element:e,userID:t.getAttribute("data-usercard-mid"),userName:n.textContent,content:e.querySelector(".text-con").textContent,timeText:e.querySelector(".info .time").textContent,likes:parseInt(e.querySelector(".info .like span").textContent)}},i={id:e.getAttribute("data-id"),element:e,userID:t.getAttribute("data-usercard-mid"),userName:t.textContent,content:e.querySelector(".con .text").textContent,timeText:e.querySelector(".con .info .time").textContent,likes:parseInt(e.querySelector(".con .like span").textContent),replies:[]};if(dq(e,".reply-box .view-more")){const t=dq(e,".reply-box");(0,P.childList)(t,(t=>{i.replies=(0,K.dqa)(e,".reply-box .reply-item").map(n),0!==t.length&&i.onRepliesUpdate?.(i.replies)}))}else i.replies=(0,K.dqa)(e,".reply-box .reply-item").map(n);return i},On=e=>{if(e instanceof HTMLElement&&e.classList.contains(En)){const t={element:e,items:[]};Sn.push(t),(e=>{e.observer||(e.items=(0,K.dqa)(e.element,".list-item.reply-wrap").map(Tn),e.items.forEach((e=>{In.forEach((t=>t(e)))})),[e.observer]=(0,P.childListSubtree)(e.element,(t=>{t.forEach((t=>{const n=e=>e instanceof HTMLElement&&e.classList.contains("list-item")&&e.classList.contains("reply-wrap");t.addedNodes.forEach((t=>{if(n(t)){const n=Tn(t);e.items.push(n),In.forEach((e=>e(n)))}})),t.removedNodes.forEach((t=>{if(n(t)){const n=t.getAttribute("data-id"),i=e.items.findIndex((e=>e.id===n));if(-1!==i){const[t]=e.items.splice(i,1);$n.forEach((e=>e(t)))}}}))}))})))})(t),An.forEach((e=>e(t)))}};(0,O.contentLoaded)((()=>{(0,P.allMutations)((e=>{e.forEach((e=>{e.addedNodes.forEach((e=>On(e)))}))})),(0,K.dqa)(".bb-comment").forEach(On)}));const Mn=e=>{Sn.forEach((t=>e(t))),An.push(e)},Ln=e=>{const{added:t,removed:n}=e;Mn((e=>{t&&(e.items.forEach((e=>t(e))),In.push(t)),n&&$n.push(n)}))},Pn=(e,t)=>{const n=dq(e.element,".opera-list ul"),{className:i,text:r,action:a}=t;if(!n||dq(n,`.${i}`))return;const o=document.createElement("li");o.classList.add(i),o.textContent=r,o.addEventListener("click",(e=>{a(e)})),n.appendChild(o)};var zn=n(2149);const Dn=JSON.parse('[[{"name":"首页","route":"/","tid":"","locid":23,"sub":[]},{"name":"动画","route":"douga","tid":1,"locid":52,"count":"","subMenuSize":162,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2507,"leftId":2452,"rightId":2453},"sub":[{"name":"MAD·AMV","route":"mad","tid":24,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":151},"desc":"具有一定制作程度的动画或静画的二次创作视频","url":"//www.bilibili.com/video/douga-mad-1.html"},{"name":"MMD·3D","route":"mmd","tid":25,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":152},"desc":"使用MMD(MikuMikuDance)和其他3D建模类软件制作的视频","url":"//www.bilibili.com/video/douga-mmd-1.html"},{"name":"短片·手书·配音","route":"voice","tid":47,"ps":15,"rps":10,"desc":"追求创新并具有强烈特色的短片、手书(绘)及ACG相关配音","url":"//www.bilibili.com/video/douga-voice-1.html"},{"name":"手办·模玩","route":"garage_kit","tid":210,"ps":15,"rps":10,"desc":"手办模玩的测评、改造或其他衍生内容","url":""},{"name":"特摄","route":"tokusatsu","tid":86,"ps":15,"rps":10,"desc":"特摄相关衍生视频","url":"//www.bilibili.com/video/cinephile-tokusatsu.html"},{"name":"综合","route":"other","tid":27,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":153},"desc":"以动画及动画相关内容为素材,包括但不仅限于音频替换、杂谈、排行榜等内容","url":"//www.bilibili.com/video/douga-else-1.html"}]},{"name":"番剧","route":"anime","tid":13,"url":"//www.bilibili.com/anime/","takeOvered":true,"count":"","subMenuSize":172,"combination":true,"sub":[{"name":"连载动画","tid":33,"route":"serial","desc":"当季连载的动画番剧","url":"//www.bilibili.com/video/bangumi-two-1.html"},{"name":"完结动画","tid":32,"route":"finish","desc":"已完结的动画番剧合集","url":"//www.bilibili.com/video/part-twoelement-1.html"},{"name":"资讯","tid":51,"route":"information","desc":"动画番剧相关资讯视频","url":"//www.bilibili.com/video/douga-else-information-1.html"},{"name":"官方延伸","tid":152,"route":"offical","desc":"动画番剧为主题的宣传节目、采访视频,及声优相关视频","url":"//www.bilibili.com/video/bagumi_offical_1.html"},{"name":"新番时间表","url":"//www.bilibili.com/anime/timeline/","desc":""},{"name":"番剧索引","url":"//www.bilibili.com/anime/index/","desc":""}]},{"name":"国创","tid":167,"route":"guochuang","url":"//www.bilibili.com/guochuang/","takeOvered":true,"count":"","subMenuSize":214,"combination":true,"sub":[{"name":"国产动画","tid":153,"route":"chinese","desc":"我国出品的PGC动画","url":"//www.bilibili.com/video/bangumi_chinese_1.html"},{"name":"国产原创相关","tid":168,"route":"original","desc":"","url":"//www.bilibili.com/video/guochuang-fanvid-1.html"},{"name":"布袋戏","tid":169,"route":"puppetry","desc":"","url":"//www.bilibili.com/video/glove-puppetry-1.html"},{"name":"动态漫·广播剧","tid":195,"route":"motioncomic","desc":"","url":""},{"name":"资讯","tid":170,"route":"information","desc":"","url":"//www.bilibili.com/video/guochuang-offical-1.html"},{"name":"新番时间表","url":"//www.bilibili.com/guochuang/timeline/","desc":""},{"name":"国产动画索引","url":"//www.bilibili.com/guochuang/index/","desc":""}]},{"name":"音乐","route":"music","tid":3,"locid":58,"count":"","subMenuSize":268,"slider":{"width":620,"height":220},"viewTag":true,"customComponent":{"name":"Energy","titleId":2511,"leftId":2462,"rightId":3131,"rightType":"slide"},"sub":[{"name":"原创音乐","route":"original","tid":28,"ps":15,"rps":10,"viewHotTag":true,"ad":{"active":true,"dataLocId":243},"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"个人或团队制作以音乐为主要原创因素的歌曲或纯音乐","url":"//www.bilibili.com/video/music-original-1.html"},{"name":"翻唱","route":"cover","tid":31,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":245},"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"一切非官方的人声再演绎歌曲作品","url":"//www.bilibili.com/video/music-Cover-1.html"},{"name":"VOCALOID·UTAU","route":"vocaloid","tid":30,"ps":15,"rps":10,"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"以雅马哈Vocaloid和UTAU引擎为基础,包含其他调教引擎,运用各类音源进行的歌曲创作内容","url":"//www.bilibili.com/video/music-vocaloid-1.html"},{"name":"电音","route":"electronic","tid":194,"ps":15,"rps":10,"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"以电子合成器、音乐软体等产生的电子声响制作的音乐","url":"#"},{"name":"演奏","route":"perform","tid":59,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":247},"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"传统或非传统乐器及器材的演奏作品","url":"//www.bilibili.com/video/music-perform-1.html"},{"name":"MV","route":"mv","tid":193,"ps":15,"rps":10,"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"音乐录影带,为搭配音乐而拍摄或制作的视频","url":"//www.bilibili.com/video/music-coordinate-1.html"},{"name":"音乐现场","route":"live","tid":29,"ps":15,"rps":10,"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"音乐实况表演视频","url":"//www.bilibili.com/video/music-oped-1.html"},{"name":"音乐综合","route":"other","tid":130,"ps":15,"rps":10,"viewHotTag":true,"dpConfig":[{"name":"一日","value":1},{"name":"三日","value":3}],"desc":"收录无法定义到其他音乐子分区的音乐视频","url":"//www.bilibili.com/video/music-collection-1.html"},{"name":"音频","customZone":"Audio","route":"audio","url":"//www.bilibili.com/audio/home?musicType=music"},{"name":"说唱","url":"//www.bilibili.com/v/rap"}]},{"name":"舞蹈","route":"dance","tid":129,"locid":64,"count":"","subMenuSize":172,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2513,"leftId":2472,"rightId":2473},"sub":[{"name":"宅舞","route":"otaku","tid":20,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":249},"desc":"与ACG相关的翻跳、原创舞蹈","url":"//www.bilibili.com/video/dance-1.html"},{"name":"街舞","route":"hiphop","tid":198,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":251},"desc":"收录街舞相关内容,包括赛事现场、舞室作品、个人翻跳、FREESTYLE等","url":""},{"name":"明星舞蹈","route":"star","tid":199,"ps":15,"rps":10,"desc":"国内外明星发布的官方舞蹈及其翻跳内容","url":""},{"name":"中国舞","route":"china","tid":200,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":253},"desc":"传承中国艺术文化的舞蹈内容,包括古典舞、民族民间舞、汉唐舞、古风舞等","url":""},{"name":"舞蹈综合","route":"three_d","tid":154,"ps":15,"rps":10,"desc":"收录无法定义到其他舞蹈子分区的舞蹈视频","url":""},{"name":"舞蹈教程","route":"demo","tid":156,"ps":10,"rps":6,"desc":"镜面慢速,动作分解,基础教程等具有教学意义的舞蹈视频","url":"//www.bilibili.com/video/dance-demo-1.html"}]},{"name":"游戏","route":"game","tid":4,"locid":70,"count":"","subMenuSize":240,"slider":{"width":470,"height":216},"viewTag":true,"customComponent":{"name":"Energy","titleId":3761,"leftId":3765,"rightId":3775,"rightType":"slide"},"recommendCardType":"GameGroomBox","sub":[{"name":"单机游戏","route":"stand_alone","tid":17,"ps":10,"rps":7,"rankshow":1,"viewHotTag":true,"ad":{"active":true,"dataLocId":255},"dpConfig":[{"name":"三日","value":3},{"name":"一日","value":1},{"name":"一周","value":7}],"desc":"以所有平台(PC、主机、移动端)的单机或联机游戏为主的视频内容,包括游戏预告、CG、实况解说及相关的评测、杂谈与视频剪辑等","url":"//www.bilibili.com/video/videogame-1.html"},{"name":"电子竞技","route":"esports","tid":171,"ps":10,"rps":7,"rankshow":1,"viewHotTag":true,"ad":{"active":true,"dataLocId":257},"desc":"具有高对抗性的电子竞技游戏项目,其相关的赛事、实况、攻略、解说、短剧等视频。","url":"//www.bilibili.com/video/esports-1.html"},{"name":"手机游戏","route":"mobile","tid":172,"ps":10,"rps":7,"rankshow":1,"viewHotTag":true,"desc":"以手机及平板设备为主要平台的游戏,其相关的实况、攻略、解说、短剧、演示等视频。","url":"//www.bilibili.com/video/mobilegame-1.html"},{"name":"网络游戏","route":"online","tid":65,"ps":10,"rps":7,"rankshow":1,"viewHotTag":true,"ad":{"active":true,"dataLocId":259},"dpConfig":[{"name":"三日","value":3},{"name":"一日","value":1},{"name":"一周","value":7}],"desc":"由网络运营商运营的多人在线游戏,以及电子竞技的相关游戏内容。包括赛事、攻略、实况、解说等相关视频","url":"//www.bilibili.com/video/onlinegame-1.html"},{"name":"桌游棋牌","route":"board","tid":173,"ps":5,"rps":3,"rankshow":1,"viewHotTag":true,"desc":"桌游、棋牌、卡牌对战等及其相关电子版游戏的实况、攻略、解说、演示等视频。","url":"//www.bilibili.com/video/boardgame-1.html"},{"name":"GMV","route":"gmv","tid":121,"ps":5,"rps":3,"rankshow":1,"viewHotTag":true,"dpConfig":[{"name":"三日","value":3},{"name":"一日","value":1},{"name":"一周","value":7}],"desc":"由游戏素材制作的MV视频。以游戏内容或CG为主制作的,具有一定创作程度的MV类型的视频","url":"//www.bilibili.com/video/gmv-1.html"},{"name":"音游","route":"music","tid":136,"ps":5,"rps":3,"rankshow":1,"viewHotTag":true,"dpConfig":[{"name":"三日","value":3},{"name":"一日","value":1},{"name":"一周","value":7}],"desc":"各个平台上,通过配合音乐与节奏而进行的音乐类游戏视频","url":"//www.bilibili.com/video/music-game-1.html"},{"name":"Mugen","route":"mugen","tid":19,"ps":5,"rps":3,"rankshow":1,"viewHotTag":true,"dpConfig":[{"name":"三日","value":3},{"name":"一日","value":1},{"name":"一周","value":7}],"desc":"以Mugen引擎为平台制作、或与Mugen相关的游戏视频","url":"//www.bilibili.com/video/game-mugen-1.html"},{"name":"游戏赛事","url":"//www.bilibili.com/v/game/match/","newIcon":true}]},{"name":"知识","route":"knowledge","tid":36,"locid":76,"count":"","subMenuSize":172,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2058,"leftId":2047,"rightId":2048},"sub":[{"name":"科学科普","route":"science","tid":201,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":261},"desc":"回答你的十万个为什么"},{"name":"社科·法律·心理","route":"social_science","tid":124,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":263},"desc":"基于社会科学、法学、心理学展开或个人观点输出的知识视频"},{"name":"人文历史","route":"humanity_history","tid":228,"ps":15,"rps":10,"desc":"看看古今人物,聊聊历史过往,品品文学典籍"},{"name":"财经商业","route":"business","tid":207,"ps":15,"rps":10,"desc":"说金融市场,谈宏观经济,一起畅聊商业故事"},{"name":"校园学习","route":"campus","tid":208,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":265},"desc":"老师很有趣,学生也有才,我们一起搞学习"},{"name":"职业职场","route":"career","tid":209,"ps":15,"rps":10,"desc":"职业分享、升级指南,一起成为最有料的职场人"},{"name":"设计·创意","route":"design","tid":229,"ps":15,"rps":10,"desc":"天马行空,创意设计,都在这里"},{"name":"野生技能协会","route":"skill","tid":122,"ps":15,"rps":10,"desc":"技能党集合,是时候展示真正的技术了"}]},{"name":"科技","route":"tech","tid":188,"locid":2977,"count":"","subMenuSize":80,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2980,"leftId":2978,"rightId":2979},"sub":[{"name":"数码","route":"digital","tid":95,"ps":15,"rps":10,"viewHotTag":true,"desc":"科技数码产品大全,一起来做发烧友","url":"#"},{"name":"软件应用","route":"application","tid":230,"ps":15,"rps":10,"viewHotTag":true,"desc":"超全软件应用指南","url":"#"},{"name":"计算机技术","route":"computer_tech","tid":231,"ps":15,"rps":10,"viewHotTag":true,"desc":"研究分析、教学演示、经验分享......有关计算机技术的都在这里","url":"#"},{"name":"工业·工程·机械","route":"industry","tid":232,"ps":15,"rps":10,"viewHotTag":true,"desc":"前方高能,机甲重工即将出没","url":"#"},{"name":"极客DIY","route":"diy","tid":233,"ps":15,"rps":10,"viewHotTag":true,"desc":"炫酷技能,极客文化,硬核技巧,准备好你的惊讶","url":"#"}]},{"name":"运动","route":"sports","tid":234,"locid":4639,"isHide":true,"subMenuSize":164,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","leftId":4646,"rightId":4652,"rightType":"slide"},"sub":[{"name":"篮球·足球","route":"basketballfootball","tid":235,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":4656},"desc":"与篮球、足球相关的视频,包括但不限于篮足球赛事、教学、评述、剪辑、剧情等相关内容","url":"#"},{"name":"健身","route":"aerobics","tid":164,"ps":15,"rps":10,"desc":"与健身相关的视频,包括但不限于瑜伽、CrossFit、健美、力量举、普拉提、街健等相关内容","url":"//www.bilibili.com/video/fashion-body-1.html"},{"name":"竞技体育","route":"athletic","tid":236,"ps":15,"rps":10,"desc":"与竞技体育相关的视频,包括但不限于乒乓、羽毛球、排球、赛车等竞技项目的赛事、评述、剪辑、剧情等相关内容","url":"#"},{"name":"运动文化","route":"culture","tid":237,"ps":15,"rps":10,"desc":"与运动文化相关的视频,包络但不限于球鞋、球衣、球星卡等运动衍生品的分享、解读,体育产业的分析、科普等相关内容","url":"#"},{"name":"运动综合","route":"comprehensive","tid":238,"ps":15,"rps":10,"desc":"与运动综合相关的视频,包括但不限于钓鱼、骑行、滑板等日常运动分享、教学、Vlog等相关内容","url":"#"}]},{"name":"汽车","route":"car","tid":223,"locid":4428,"isHide":true,"subMenuSize":164,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","leftId":4435,"rightId":4441,"rightType":"slide"},"sub":[{"name":"汽车生活","route":"life","tid":176,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":4445},"desc":"分享汽车及出行相关的生活体验类视频","url":"#"},{"name":"汽车文化","route":"culture","tid":224,"ps":15,"rps":10,"desc":"车迷的精神圣地,包括汽车赛事、品牌历史、汽车改装、经典车型和汽车模型等","url":"#"},{"name":"汽车极客","route":"geek","tid":225,"ps":15,"rps":10,"desc":"汽车硬核达人聚集地,包括DIY造车、专业评测和技术知识分享","url":"#"},{"name":"摩托车","route":"motorcycle","tid":240,"ps":15,"rps":10,"desc":"骑士们集合啦","url":"#"},{"name":"智能出行","route":"smart","tid":226,"ps":15,"rps":10,"desc":"探索新能源汽车和未来智能出行的前沿阵地","url":"#"},{"name":"购车攻略","route":"strategy","tid":227,"ps":15,"rps":10,"desc":"丰富详实的购车建议和新车体验","url":"#"}]},{"name":"生活","route":"life","tid":160,"locid":88,"count":"","subMenuSize":164,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2062,"leftId":1674,"rightId":1670},"sub":[{"name":"搞笑","route":"funny","tid":138,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":273},"desc":"各种沙雕有趣的搞笑剪辑,挑战,表演,配音等视频","url":"//www.bilibili.com/video/ent_funny_1.html","locid":4204,"recommendId":4210,"slider":{"width":620,"height":220},"customComponent":{"name":"Energy","leftId":4212,"rightId":4218,"rightType":"slide"}},{"name":"家居房产","route":"home","tid":239,"ps":15,"rps":10,"desc":"与买房、装修、居家生活相关的分享","url":"#"},{"name":"手工","route":"handmake","tid":161,"ps":15,"rps":10,"desc":"手工制品的制作过程或成品展示、教程、测评类视频","url":"//www.bilibili.com/video/ent-handmake-1.html"},{"name":"绘画","route":"painting","tid":162,"ps":15,"rps":10,"desc":"绘画过程或绘画教程,以及绘画相关的所有视频","url":"//www.bilibili.com/video/ent-painting-1.html"},{"name":"日常","route":"daily","tid":21,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":275},"desc":"记录日常生活,分享生活故事","url":"//www.bilibili.com/video/ent-life-1.html"}]},{"name":"美食","route":"food","tid":211,"locid":4243,"count":"","isHide":true,"subMenuSize":164,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","leftId":4258,"rightId":4264},"sub":[{"name":"美食制作","route":"make","tid":76,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":4268},"desc":"学做人间美味,展示精湛厨艺","url":"#"},{"name":"美食侦探","route":"detective","tid":212,"ps":15,"rps":10,"desc":"寻找美味餐厅,发现街头美食","url":"#"},{"name":"美食测评","route":"measurement","tid":213,"ps":15,"rps":10,"desc":"吃货世界,品尝世间美味","url":"#"},{"name":"田园美食","route":"rural","tid":214,"ps":15,"rps":10,"desc":"品味乡野美食,寻找山与海的味道","url":"#"},{"name":"美食记录","route":"record","tid":215,"ps":15,"rps":10,"desc":"记录一日三餐,给生活添一点幸福感","url":"#"}]},{"name":"动物圈","route":"animal","tid":217,"locid":4365,"count":"","isHide":true,"subMenuSize":164,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","leftId":4376,"rightId":4381,"rightType":"slide"},"sub":[{"name":"喵星人","route":"cat","tid":218,"ps":15,"rps":10,"desc":"喵喵喵喵喵","url":"#","ad":{"active":true,"dataLocId":4385}},{"name":"汪星人","route":"dog","tid":219,"ps":15,"rps":10,"desc":"汪汪汪汪汪","url":"#"},{"name":"大熊猫","route":"panda","tid":220,"ps":15,"rps":10,"desc":"芝麻汤圆营业中","url":"#"},{"name":"野生动物","route":"wild_animal","tid":221,"ps":15,"rps":10,"desc":"内有“猛兽”出没","url":"#"},{"name":"爬宠","route":"reptiles","tid":222,"ps":15,"rps":10,"desc":"鳞甲有灵","url":"#"},{"name":"动物综合","route":"animal_composite","tid":75,"ps":15,"rps":10,"desc":"收录除上述子分区外,其余动物相关视频以及非动物主体或多个动物主体的动物相关延伸内容","url":"#"}]},{"name":"鬼畜","route":"kichiku","tid":119,"locid":100,"count":"","subMenuSize":182,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2509,"leftId":2482,"rightId":2483},"sub":[{"name":"鬼畜调教","route":"guide","tid":22,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":285},"desc":"使用素材在音频、画面上做一定处理,达到与BGM一定的同步感","url":"//www.bilibili.com/video/ent-Kichiku-1.html"},{"name":"音MAD","route":"mad","tid":26,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":287},"desc":"使用素材音频进行一定的二次创作来达到还原原曲的非商业性质稿件","url":"//www.bilibili.com/video/douga-kichiku-1.html"},{"name":"人力VOCALOID","route":"manual_vocaloid","tid":126,"ps":15,"rps":10,"desc":"将人物或者角色的无伴奏素材进行人工调音,使其就像VOCALOID一样歌唱的技术","url":"//www.bilibili.com/video/kichiku-manual_vocaloid-1.html"},{"name":"鬼畜剧场","route":"theatre","tid":216,"ps":15,"rps":10,"desc":"使用素材进行人工剪辑编排的有剧情的作品"},{"name":"教程演示","route":"course","tid":127,"ps":10,"rps":6,"rightComponent":{"name":"CmImgList","id":148},"ad":{"active":true,"dataLocId":289},"hideDropdown":false,"desc":"鬼畜相关的教程演示","url":"//www.bilibili.com/video/kichiku-course-1.html"}]},{"name":"时尚","route":"fashion","tid":155,"locid":94,"count":"","subMenuSize":124,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2515,"leftId":2492,"rightId":2493},"sub":[{"name":"美妆护肤","route":"makeup","tid":157,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":279},"desc":"彩妆护肤、美甲美发、仿妆、医美相关内容分享或产品测评","url":"//www.bilibili.com/video/fashion-makeup-fitness-1.html"},{"name":"穿搭","route":"clothing","tid":158,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":281},"desc":"穿搭风格、穿搭技巧的展示分享,涵盖衣服、鞋靴、箱包配件、配饰(帽子、钟表、珠宝首饰)等","url":"//www.bilibili.com/video/fashion-clothing-1.html"},{"name":"时尚潮流","route":"trend","tid":159,"ps":15,"rps":10,"desc":"时尚街拍、时装周、时尚大片,时尚品牌、潮流等行业相关记录及知识科普","url":"#"}]},{"name":"资讯","route":"information","tid":202,"locid":4076,"count":"","subMenuSize":60,"slider":{"width":620,"height":220},"viewTag":false,"sub":[{"name":"热点","route":"hotspot","tid":203,"ps":18,"rps":10,"desc":"全民关注的时政热门资讯"},{"name":"环球","route":"global","tid":204,"ps":18,"rps":10,"desc":"全球范围内发生的具有重大影响力的事件动态"},{"name":"社会","route":"social","tid":205,"ps":18,"rps":10,"desc":"日常生活的社会事件、社会问题、社会风貌的报道"},{"name":"综合","route":"multiple","tid":206,"ps":18,"rps":10,"desc":"除上述领域外其它垂直领域的综合资讯"}]},{"name":"娱乐","route":"ent","tid":5,"locid":82,"count":"","subMenuSize":62,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2067,"leftId":2065,"rightId":2066},"sub":[{"name":"综艺","route":"variety","tid":71,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":267},"desc":"所有综艺相关,全部一手掌握!","url":"//www.bilibili.com/video/ent-variety-1.html"},{"name":"娱乐杂谈","route":"talker","tid":241,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":269},"desc":"娱乐人物解读、娱乐热点点评、娱乐行业分析"},{"name":"粉丝创作","route":"fans","tid":242,"ps":15,"rps":10,"desc":"粉丝向创作视频"},{"name":"明星综合","route":"celebrity","tid":137,"ps":15,"rps":10,"desc":"娱乐圈动态、明星资讯相关"}]},{"name":"影视","route":"cinephile","tid":181,"locid":2211,"count":"","subMenuSize":84,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":2309,"leftId":2307,"rightId":2308},"sub":[{"name":"影视杂谈","route":"cinecism","tid":182,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":2212},"desc":"影视评论、解说、吐槽、科普等","url":"//www.bilibili.com/video/cinephile-cinecism.html"},{"name":"影视剪辑","route":"montage","tid":183,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":2213},"desc":"对影视素材进行剪辑再创作的视频","url":"//www.bilibili.com/video/cinephile-montage.html"},{"name":"短片","route":"shortfilm","tid":85,"ps":15,"rps":10,"desc":"追求自我表达且具有特色的短片","url":"//www.bilibili.com/video/cinephile-shortfilm.html"},{"name":"预告·资讯","route":"trailer_info","tid":184,"ps":15,"rps":10,"ad":{"active":true,"dataLocId":2214},"desc":"影视类相关资讯,预告,花絮等视频","url":"//www.bilibili.com/video/cinephile-trailer-info.html"}]},{"name":"纪录片","route":"documentary","tid":177,"url":"//www.bilibili.com/documentary/","count":"","takeOvered":true,"hasParent":true,"combination":true,"sub":[{"name":"人文·历史","tid":37,"route":"history","dise":"","url":"//www.bilibili.com/video/doco-history.html"},{"name":"科学·探索·自然","tid":178,"route":"science","dise":"","url":"//www.bilibili.com/video/doco-science.html"},{"name":"军事","tid":179,"route":"military","dise":"","url":"//www.bilibili.com/video/doco-military.html"},{"name":"社会·美食·旅行","tid":180,"route":"travel","dise":"","url":"//www.bilibili.com/video/doco-travel.html"},{"name":"纪录片索引","url":"//www.bilibili.com/documentary/index/"}]},{"name":"电影","route":"movie","tid":23,"url":"//www.bilibili.com/movie/","count":"","takeOvered":true,"hasParent":true,"combination":true,"sub":[{"name":"华语电影","tid":147,"route":"chinese","desc":"","url":"//www.bilibili.com/video/movie_chinese_1.html"},{"name":"欧美电影","tid":145,"route":"west","desc":"","url":"//www.bilibili.com/video/movie_west_1.html"},{"name":"日本电影","tid":146,"route":"japan","desc":"","url":"//www.bilibili.com/video/movie_japan_1.html"},{"name":"其他国家","tid":83,"route":"movie","desc":"","url":"//www.bilibili.com/video/movie-movie-1.html"},{"name":"电影索引","url":"//www.bilibili.com/movie/index/"}]},{"name":"电视剧","route":"tv","tid":11,"url":"//www.bilibili.com/tv/","count":"","takeOvered":true,"hasParent":true,"combination":true,"sub":[{"name":"国产剧","tid":185,"route":"mainland","desc":"","url":"//www.bilibili.com/video/tv-mainland.html"},{"name":"海外剧","tid":187,"route":"overseas","desc":"","url":"//www.bilibili.com/video/tv-overseas.html"},{"name":"电视剧索引","url":"//www.bilibili.com/tv/index/"}]},{"name":"虚拟UP主","route":"virtual","locid":4735,"count":"","isHide":true,"subMenuSize":60,"slider":{"width":620,"height":220},"viewTag":false,"customComponent":{"name":"Energy","titleId":4754,"leftId":4756},"sub":[{"name":"游戏","route":"game","tid":4,"ps":18,"rps":10,"url":"//www.bilibili.com/v/virtual/game"},{"name":"音乐","route":"music","tid":3,"ps":18,"rps":10,"url":"//www.bilibili.com/v/virtual/music"},{"name":"动画","route":"douga","tid":1,"ps":18,"rps":10,"url":"//www.bilibili.com/v/virtual/douga"},{"name":"其他","route":"other","tid":0,"ps":18,"rps":10,"url":"//www.bilibili.com/v/virtual/other"}]}],[{"url":"//live.bilibili.com/all","name":"全部直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=2&areaId=0","name":"网游直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=3&areaId=0","name":"手游直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=6&areaId=0","name":"单机直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=0","name":"娱乐直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=5&areaId=0","name":"电台直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=9&areaId=0","name":"虚拟直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=10&areaId=0","name":"生活直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=11&areaId=0","name":"学习直播"}],[{"name":"会员购","url":"//show.bilibili.com/platform/home.html","icon":"icon-vip-buy"},{"name":"游戏中心","url":"//game.bilibili.com","icon":"icon-game"},{"name":"画友","url":"http://h.bilibili.com","icon":"icon-hy"},{"name":"芒果TV","url":"//www.bilibili.com/mango","icon":"icon-mango"}],[{"name":"专栏","report":"article","url":"//www.bilibili.com/read/home","icon":"read"},{"name":"直播","report":"live","url":"//live.bilibili.com","icon":"live","sub":[{"url":"//live.bilibili.com/all","name":"全部直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=2&areaId=0","name":"网游直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=3&areaId=0","name":"手游直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=6&areaId=0","name":"单机直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=0","name":"娱乐直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=5&areaId=0","name":"电台直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=9&areaId=0","name":"虚拟直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=10&areaId=0","name":"生活直播"},{"url":"//live.bilibili.com/p/eden/area-tags?parentAreaId=11&areaId=0","name":"学习直播"}]},{"name":"活动","report":"activity","url":"//www.bilibili.com/blackboard/activity-list.html","icon":"activit"},{"name":"课堂","report":"cheese","url":"//www.bilibili.com/cheese/","icon":"zhishi"},{"name":"小黑屋","report":"blackroom","url":"//www.bilibili.com/blackroom/","icon":"blackroom"},{"name":"新歌热榜","report":"musicplus","url":"//www.bilibili.com/v/musicplus/","icon":"musicplus"}]]'),Vn=e=>e.startsWith("//")?`https:${e}`:e.replace("http:","https:"),Nn=Dn[0].filter((e=>"string"!=typeof e.tid)),Bn=Dn[3],jn={};Nn.forEach((e=>{const t=Vn(e.url||`https://www.bilibili.com/v/${e.route}/`);jn[e.name]={icon:e.route,route:e.route,code:e.tid,link:t,subCategories:e.sub?Object.fromEntries(e.sub.map((t=>{const n=Vn(t.route?`https://www.bilibili.com/v/${e.route}/${t.route}/`:t.url);return[t.name,n]}))):null}})),Bn.forEach((e=>{jn[e.name]={icon:e.icon,code:null,route:e.route,link:Vn(e.url),subCategories:e.sub?Object.fromEntries(e.sub.map((e=>[e.name,Vn(e.url)]))):null}}));const qn=jn,Fn=Object.fromEntries(Nn.map((e=>[e.route,e.tid]))),Rn=Object.fromEntries(Object.values(jn).map((e=>[e.icon,e.link]))),Un=async()=>{if(document.getElementById("be-category-icons"))return;const{default:e}=await Promise.resolve().then(n.t.bind(n,1060,17));document.body.insertAdjacentHTML("beforeend",e)};var Hn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"translate-container"},[e.working||e.translated?e._e():n("div",{staticClass:"translate",on:{click:function(t){return e.translate()}}},[n("VIcon",{attrs:{size:14,icon:"mdi-earth"}}),e._v("翻译\n ")],1),e._v(" "),e.translated?n("div",{staticClass:"translated"},[n("a",{attrs:{href:e.activeTranslator&&e.activeTranslator.link,target:"_blank"}},[e._v("\n 翻译自\n ")]),e._v(" "),n("VDropdown",{attrs:{items:Object.values(e.translateProviders),value:e.activeTranslator,"key-mapper":function(e){return e.name}},on:{change:function(t){return e.changeTranslator(t)}},scopedSlots:e._u([{key:"item",fn:function(t){var n=t.item;return[e._v("\n "+e._s(n.name)+"\n ")]}}],null,!1,1956376614)})],1):e._e(),e._v(" "),e.working?n("VIcon",{staticClass:"translating mdi-spin",attrs:{size:18,icon:"mdi-loading"}}):e._e(),e._v(" "),!e.working&&e.translated?n("div",{staticClass:"translate-result",domProps:{textContent:e._s(e.result)}}):e._e()],1)};Hn._withStripped=!0;var Zn=n(1993);var Wn=Vue.extend({components:{VDropdown:de.VDropdown,VIcon:de.VIcon},props:{text:{type:String,required:!0}},data:()=>({result:"",working:!1,translateProviders:Zn.WK,activeTranslator:{}}),computed:{translated(){return""!==this.result}},mounted(){document.body.classList.add("machine-translator-enabled")},methods:{changeTranslator(e){(0,Z.getComponentSettings)("i18n").options.translator=e.name,this.translate()},async translate(){try{this.working=!0;const e=this.text.replace(/#(.+?)#/g,"");this.activeTranslator=(0,Zn.Ty)();const t=this.activeTranslator;this.result=await t.translate(e)}catch(e){(0,ae.logError)(e)}finally{this.working=!1}}}}),Gn=n(4618),Xn=n.n(Gn),Kn={insert:"head",singleton:!1},Jn=(Qe()(Xn(),Kn),Xn().locals,(0,it.Z)(Wn,Hn,[],!1,null,null,null));Jn.options.__file="src/components/i18n/machine-translator/MachineTranslator.vue";var Yn=Jn.exports;const Qn=e=>{void 0===e.radio&&(e.radio=!1);const{name:t,switches:i}=e,r={};return Object.entries(i).forEach((([e,{displayName:t,defaultValue:n}])=>{r[`switch-${e}`]={defaultValue:n,displayName:t,hidden:!0}})),i=>{const a=`${i.displayName}选项`,o={componentName:i.name,optionDisplayName:a};Object.assign(e,o),r[t]={defaultValue:e,displayName:a},i.options={...i.options,...r},i.widget||(i.widget={component:()=>Promise.resolve().then(n.bind(n,1299)).then((e=>e.default)),options:e});const s=i.entry;return i.entry=async(...e)=>{s?.(...e);const{name:t}=i,n=(0,Z.getComponentSettings)(t).options;Object.keys(n).forEach((e=>{e.startsWith("switch-")&&(0,Z.addComponentListener)(`${t}.${e}`,(n=>{document.body.classList.toggle(`${t}-${e}`,n)}),!0)}))},i}};const ei={component:ue,userComponent:pe,styledComponent:s,description:me,switchOptions:C,launchBar:{LaunchBar:n(3059).Z},feeds:{api:c,BangumiCard:at,UpInfo:pt,VideoCard:yt,ColumnCard:Et,disableProfilePopup:d,notify:u},video:{assUtils:p,playerLight:h,playerAgent:Jt,videoDanmaku:m,videoInfo:g,videoQuality:b,videoContextMenu:v,videoControlBar:y,watchlater:l,xmlUtils:f},live:{liveControlBar:w,liveSocket:x},utils:{commentApis:_,categories:{updater:zn,data:k}},i18N:{machineTranslator:{MachineTranslator:Yn}}};var ti=n(8900),ni=n(1623),ii=n(9543);const ri={style:ti,plugin:ni,data:ye,hook:ii},ai={ajax:S,cdnTypes:E,download:I,externalInput:$,filePicker:A,horizontalScroll:i,lifeCycle:O,loadingMode:M,meta:L,observer:P,reorder:r,runtimeLibrary:F,spinQuery:R,style:U,textColor:H,userInfo:a,version:X,settings:Z,toast:le,themeColor:ce,utils:{...K,constants:J,formatters:Y,title:Q,i18n:ee,lazyPanel:o,log:ae,sort:oe,urls:se},ui:de,componentApis:ei,pluginApis:ri},oi={ajax:S,...E,...I,...$,...A,...i,lifeCycle:O,...M,...L,observer:P,...r,runtimeLibrary:F,spinQuery:R,...U,...H,...a,...X,settingsApis:Z,get settings(){return Z.settings},...le,utils:{...K,...J,...Y,...Q,...ee,...o,...ae,...oe,...se},ui:de,componentApis:{...ei.component,...ei.userComponent,...ei.styledComponent,...ei.launchBar,...lodash.omit(ei,"component","userComponent","styledComponent","launchBar")},pluginApis:{...ri.style,...ri.plugin,...ri.data,...ri.hook},monkeyApis:{GM_setValue:GM_setValue,GM_getValue:GM_getValue,GM_deleteValue:GM_deleteValue,GM_xmlhttpRequest:GM_xmlhttpRequest,GM_info:GM_info},lodash:lodash,Vue:Vue,sandboxWindow:window,theWorld:e=>{setTimeout((()=>{}),e)}}},5300:function(e,t,n){"use strict";let i;n.d(t,{h:function(){return i}}),function(e){e.Packed="打包下载",e.Individual="单独下载"}(i||(i={}))},4114:function(e,t,n){"use strict";n.r(t),n.d(t,{DownloadPackage:function(){return c}});var i=n(5300),r=n(391),a=n(6171),o=n(3708);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const l=(0,n(2264).useScopedConsole)("文件下载");class c{constructor(e=[]){this.entries=e,s(this,"noEscape",!1)}add(e,t,n={}){null!=t&&this.entries.push({name:this.noEscape?e:(0,o.formatFilename)(e),data:t,options:n})}async blob(){if(0===this.entries.length)return null;if(1===this.entries.length){const{data:e}=this.entries[0];return"string"==typeof e?new Blob([e]):e}const e=new(await r.JSZipLibrary);return this.entries.forEach((({name:t,data:n,options:i})=>{e.file(t,n,i)})),e.generateAsync({type:"blob"})}async emit(e){if(0===this.entries.length)return;e&&1!==this.entries.length||(e=this.entries[0].name);if((0,a.getGeneralSettings)().downloadPackageEmitMode===i.h.Individual&&this.entries.length>1)return void await Promise.all(this.entries.map((e=>c.single(e.name,e.data,e.options))));const t=await this.blob();t&&c.download(e,t)}static download(e,t){const n=document.createElement("a"),i=URL.createObjectURL(t);c.lastPackageUrl&&URL.revokeObjectURL(c.lastPackageUrl),c.lastPackageUrl=i;const r=(0,o.formatFilename)(e);n.setAttribute("href",i),n.setAttribute("download",r),l.log(r),document.body.appendChild(n),n.addEventListener("click",(e=>{e.stopPropagation()}),{capture:!0}),n.click(),n.remove()}static async single(e,t,n={}){const i=new c;return i.add(e,t,n),i.emit()}}s(c,"lastPackageUrl","")},7731:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{parseExternalInput:function(){return parseExternalInput},batchParseCode:function(){return batchParseCode}});var _file_picker__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(7590);const parseExternalInput=async input=>{if(void 0===input){const files=await(0,_file_picker__WEBPACK_IMPORTED_MODULE_0__.pickFile)({accept:"application/json"});if(!(files.length>0))return console.error("[parseExternalInput] No file selected"),null;{const[file]=files,text=await file.text();try{return eval(`(${text})`)}catch(e){return console.error(e),null}}}else{if("string"!=typeof input)return input;try{const exports={},result=eval(input);if(Object.values(exports).length>0){const e=Object.values(exports)[0];return e}return result}catch(e){return console.error(e),null}}},batchParseCode=async inputs=>{try{const exports={},result=inputs.map((input=>eval(input)));if(Object.values(exports).length>0){const{coreApis:e}=await Promise.resolve().then(__webpack_require__.bind(__webpack_require__,3871));return Object.values(exports).map((t=>"function"==typeof t?t(e):t))}return result}catch(e){return console.error(e),null}}},7590:function(e,t,n){"use strict";let i,r;n.r(t),n.d(t,{pickFile:function(){return o}});const a={accept:"*",multiple:!1},o=async(e=a)=>{const{accept:t,multiple:n}={...a,...e};i||(i=document.createElement("input"),i.type="file",i.style.display="none",document.body.appendChild(i),i.addEventListener("change",(()=>{r?.([...i.files]),r=null}))),i.accept=t,i.multiple=n,i.value="",r&&r([]);return await new Promise((e=>{r=e,i.click()}))}},9513:function(e,t,n){"use strict";n.r(t),n.d(t,{tryParseZip:function(){return s},installFeatureFromCode:function(){return l},installFeature:function(){return c}});var i=n(7010),r=n(9543),a=n(1623),o=n(8900);const s=async e=>{const{JSZipLibrary:t}=await Promise.resolve().then(n.bind(n,391)),{monkey:i}=await Promise.resolve().then(n.bind(n,7195)),r=e.endsWith(".zip"),a=r?"blob":"text",o=await i({url:e,method:"GET",responseType:a});if(!r||"string"==typeof o)return o;const s=await t,l=await s.loadAsync(o),c=Object.values(l.files);if(0===c.length)throw new Error("Empty zip file");return c[0].async("text")},l=async(e,t)=>{const{parseExternalInput:s}=await Promise.resolve().then(n.bind(n,7731)),l=await s(e),{type:c,installer:d}=(()=>{if((e=>Boolean(e?.entry))(l))return{type:"component",installer:()=>(0,i.installComponent)(e)};if((e=>Boolean(e?.setup))(l))return{type:"plugin",installer:()=>(0,a.installPlugin)(e)};if((e=>Boolean(e?.style))(l))return{type:"style",installer:()=>(0,o.installStyle)(e)};throw new Error("无效的功能代码")})(),{before:u,after:p}=(0,r.getHook)(`user${lodash.startCase(c)}s.add`,e,t);await u();const f=await d();return await p(f.metadata),f},c=async e=>{const t=await s(e);return l(t,e)}},7177:function(e,t,n){"use strict";n.r(t),n.d(t,{headLoaded:function(){return r},contentLoaded:function(){return a},fullyLoaded:function(){return o},LifeCycleEventTypes:function(){return s},raiseLifeCycleEvent:function(){return l}});var i=n(3420);const r=e=>new Promise((t=>{if(null!==document.head)t(e());else{const[n]=(0,i.childList)(document.documentElement,(()=>{null!==document.head&&(n.disconnect(),t(e()))}))}})),a=e=>new Promise((t=>{"loading"!==document.readyState?t(e()):document.addEventListener("DOMContentLoaded",(()=>t(e())))})),o=e=>new Promise((t=>{"complete"===document.readyState?t(e()):unsafeWindow.addEventListener("load",(()=>t(e())))}));let s;!function(e){e.Start="be:start",e.StyleLoaded="be:style-loaded",e.ComponentsLoaded="be:components-loaded",e.End="be:end"}(s||(s={}));const l=e=>{unsafeWindow.dispatchEvent(new CustomEvent(e))}},4345:function(e,t,n){"use strict";let i;n.r(t),n.d(t,{LoadingMode:function(){return i}}),function(e){e.Delay="延后",e.Race="同时"}(i||(i={}))},1836:function(e,t,n){"use strict";n.r(t),n.d(t,{branches:function(){return a},meta:function(){return s}});var i=JSON.parse('{"version":"2.1.9","author":"Grant Howard, Coulomb-G","copyright":"[year], Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G)","licence":"MIT","match":"*://*.bilibili.com/*","exclude":["*://api.bilibili.com/*","*://api.*.bilibili.com/*","*://*.bilibili.com/api/*","*://member.bilibili.com/studio/bs-editor/*","*://t.bilibili.com/h5/dynamic/specification","*://bbq.bilibili.com/*","*://message.bilibili.com/pages/nav/header_sync","*://s1.hdslb.com/bfs/seed/jinkela/short/cols/iframe.html","*://open-live.bilibili.com/*"],"run-at":"document-start","grant":["unsafeWindow","GM_getValue","GM_setValue","GM_deleteValue","GM_info","GM_xmlhttpRequest"],"connect":["raw.githubusercontent.com","github.com","cdn.jsdelivr.net","cn.bing.com","www.bing.com","translate.google.cn","translate.google.com","localhost","*"],"require":["https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"],"icon":"https://cdn.jsdelivr.net/gh/the1812/Bilibili-Evolved@preview/images/logo-small.png","icon64":"https://cdn.jsdelivr.net/gh/the1812/Bilibili-Evolved@preview/images/logo.png"}'),r=n(2462);i.copyright=i.copyright.replace(/\[year\]/g,(new Date).getFullYear().toString());const a={stable:"master",preview:"preview"},o={commitHash:"757a595fd6822f725aaff6043359ce284fafa284",branch:"master",version:"2.1.9",nearestTag:"v2.1.9",versionWithTag:"v2.1.9-10-g757a595fd"},s={compilationInfo:o,name:GM_info.script.name,description:GM_info.script.description,get originalFilename(){const{branch:e}=o;return e===a.stable?"bilibili-evolved.user.js":`bilibili-evolved.${a.preview}.user.js`},get updateURL(){return`${r.cdnRoots.jsDelivr(o.branch)}dist/${this.originalFilename}`},get downloadURL(){return this.updateURL},...i}},3420:function(e,t,n){"use strict";n.r(t),n.d(t,{resolveTargets:function(){return o},mutationObserve:function(){return s},childList:function(){return l},childListSubtree:function(){return c},attributes:function(){return d},attributesSubtree:function(){return u},characterData:function(){return p},characterDataSubtree:function(){return f},allMutationsOn:function(){return h},allMutations:function(){return g},intersectionObserve:function(){return b},visible:function(){return v},visibleInside:function(){return y},resizeObserve:function(){return w},sizeChange:function(){return x},urlChange:function(){return k},videoChange:function(){return E}});var i=n(1906),r=n(5550),a=n(7735);const o=e=>"string"==typeof e?(0,i.dqa)(e):Array.isArray(e)?e:[e],s=(e,t,n)=>{const i=new MutationObserver(n);return e.forEach((e=>i.observe(e,t))),n([],i),[i,t]},l=(e,t)=>s(o(e),{childList:!0,subtree:!1,attributes:!1},t),c=(e,t)=>s(o(e),{childList:!0,subtree:!0,attributes:!1},t),d=(e,t)=>s(o(e),{childList:!1,subtree:!1,attributes:!0},t),u=(e,t)=>s(o(e),{childList:!1,subtree:!0,attributes:!0},t),p=(e,t)=>s(o(e),{childList:!1,subtree:!1,attributes:!1,characterData:!0},t),f=(e,t)=>s(o(e),{childList:!1,subtree:!0,attributes:!1,characterData:!0},t),h=(e,t)=>s(o(e),{childList:!0,subtree:!0,attributes:!0,characterData:!0},t),m={observer:null,config:null,callbacks:[]},g=e=>{if(m.observer)m.callbacks.push(e);else{m.callbacks.push(e);const[t,n]=h(document.body,(e=>m.callbacks.forEach((t=>t(e,m.observer)))));m.observer=t,m.config=n}return m},b=(e,t,n)=>{const i=new IntersectionObserver(n,t);return e.forEach((e=>i.observe(e))),[i,t]},v=(e,t)=>b(o(e),{},t),y=(e,t,n,i)=>b(o(e),{root:t,rootMargin:n},i),w=(e,t,n)=>{const i=new ResizeObserver(n);return e.forEach((e=>i.observe(e,t))),[i,t]},x=(e,t)=>w(o(e),{box:"border-box"},t),_=lodash.once((()=>{let e=document.URL;g((()=>{e!==document.URL&&((()=>{const e=new CustomEvent("urlChange",{detail:document.URL});window.dispatchEvent(e)})(),e=document.URL)}))})),k=(e,t)=>{_(),e(document.URL),window.addEventListener("urlChange",(()=>e(document.URL)),t)},C=lodash.once((()=>(0,r.select)((()=>{if(unsafeWindow.cid)return unsafeWindow.cid;if(unsafeWindow.player&&unsafeWindow.player.getVideoMessage){const e=unsafeWindow.player.getVideoMessage();return Number.isNaN(e.cid)?null:(!unsafeWindow.aid&&e.aid&&(unsafeWindow.aid=e.aid.toString()),!unsafeWindow.bvid&&e.bvid&&(unsafeWindow.bvid=e.bvid),!unsafeWindow.cid&&e.cid&&(unsafeWindow.cid=e.cid.toString()),e.cid.toString())}return null}))));let S=!1;const E=async(e,t)=>{if(!(0,a.matchCurrentPage)(a.playerUrls))return!1;const{bpxPlayerPolyfill:i}=await Promise.resolve().then(n.bind(n,6958));i();const r=await C();if(null===r)return!1;const o=()=>({aid:unsafeWindow.aid,cid:unsafeWindow.cid});if(!S){let e=r;g((()=>{const{cid:t}=o();Array.isArray(t)||e===t||lodash.isNil(t)||((()=>{const e=o(),t=new CustomEvent("videoChange",{detail:e});window.dispatchEvent(t)})(),e=t)})),S=!0}return e(o()),window.addEventListener("videoChange",(t=>e(t.detail)),t),!0}},1485:function(e,t,n){"use strict";n.r(t),n.d(t,{componentLoadTime:function(){return i},componentResolveTime:function(){return r},componentLoadTrace:function(){return a}});const i=new Map,r=new Map,a=async e=>{const{getGeneralSettings:t}=await Promise.resolve().then(n.bind(n,6171));if(!t().devMode)return;const a=e.entry;e.entry=async e=>{const{metadata:t}=e,n=performance.now();let o=a(e);const s=performance.now();o instanceof Promise&&(o=await o);const l=performance.now();return i.set(t,s-n),r.set(t,l-n),o}}},8970:function(e,t,n){"use strict";n.r(t),n.d(t,{pluginLoadTime:function(){return i},pluginResolveTime:function(){return r},pluginLoadTrace:function(){return a}});const i=new Map,r=new Map,a=async e=>{const{getGeneralSettings:t}=await Promise.resolve().then(n.bind(n,6171));if(!t().devMode)return;const a=e.setup;e.setup=async t=>{const n=performance.now();let o=a(t);const s=performance.now();o instanceof Promise&&(o=await o);const l=performance.now();return i.set(e,s-n),r.set(e,l-n),o}}},719:function(e,t,n){"use strict";n.r(t),n.d(t,{promiseLoadTime:function(){return i},promiseResolveTime:function(){return r},promiseLoadTrace:function(){return a}});const i=new Map,r=new Map,a=async(e,t)=>{const{getGeneralSettings:a}=await Promise.resolve().then(n.bind(n,6171));if(!a().devMode)return t();const o=performance.now(),s=t(),l=performance.now(),c=await s,d=performance.now();return i.set({name:e},l-o),r.set({name:e},d-o),c}},9476:function(e,t,n){"use strict";n.r(t),n.d(t,{logStats:function(){return i}});const i=(e,t)=>{const n=[...t.entries()],i=n.reduce(((e,t)=>e+t[1]),0);console.groupCollapsed(`${e} time:`,Math.round(100*i)/100+"ms",`for ${n.length} items`),n.forEach((([e,t])=>{console.log(`%c${e.name} %c${Math.round(100*t)/100}ms ${Math.round(t/i*1e4)/100}% %c`,"color: #00A0D8","color: #888","color: unset")})),console.groupEnd()}},391:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{RuntimeLibrary:function(){return RuntimeLibrary},protobufLibrary:function(){return protobufLibrary},JSZipLibrary:function(){return JSZipLibrary},SortableJSLibrary:function(){return SortableJSLibrary}});var _ajax__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(7195);function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class RuntimeLibrary{constructor(e){this.config=e,_defineProperty(this,"modulePromise",void 0)}async then(resolve,reject){try{const{url:url,getModule:getModule}=this.config;this.modulePromise||(this.modulePromise=(async()=>{console.log(`[Runtime Library] Start download from ${url}`);const code=await(0,_ajax__WEBPACK_IMPORTED_MODULE_0__.monkey)({url:url});return console.log(`[Runtime Library] Downloaded from ${url} , length = ${code.length}`),function runEval(){return eval(code);// eslint-disable-next-line no-extra-bind }.bind(window)(),getModule(window)})());const library=await this.modulePromise;return resolve(library)}catch(e){throw reject(e),e}}}const protobufLibrary=new RuntimeLibrary({url:"https://cdn.jsdelivr.net/npm/protobufjs@6.10.1/dist/light/protobuf.min.js",getModule:e=>e.protobuf}),JSZipLibrary=new RuntimeLibrary({url:"https://cdn.jsdelivr.net/npm/jszip@3.7.1/dist/jszip.min.js",getModule:e=>e.JSZip}),SortableJSLibrary=new RuntimeLibrary({url:"https://cdn.jsdelivr.net/npm/sortablejs@1.14.0/Sortable.min.js",getModule:e=>e.Sortable})},5605:function(e,t,n){"use strict";n.r(t),n.d(t,{componentOptionsToSettings:function(){return o},componentToSettings:function(){return s},isUserComponent:function(){return l},isUserPlugin:function(){return c},getComponentSettings:function(){return u},getGeneralSettings:function(){return p},isComponentEnabled:function(){return f}});var i=n(8171),r=n(6171),a=n(1906);const o=e=>lodash.fromPairs(Object.entries(e).map((([e,t])=>[e,t.defaultValue]))),s=e=>({enabled:e.enabledByDefault??!0,options:e.options?o(e.options):{}}),l=e=>{const t="string"==typeof e?e:e.name;return Boolean(r.settings.userComponents[t])},c=e=>{const t="string"==typeof e?e:e.name;return Boolean(r.settings.userPlugins[t])},d={enabled:!1,options:new Proxy({},{get:()=>!1})},u=e=>{if("string"==typeof e){const t=i.componentsMap[e];if(void 0===t)return r.settings.components.settingsPanel.options.devMode&&console.warn("No settings found for component:",e),d;e=t}if(l(e)){const{name:t}=e;return r.settings.userComponents[t]?.settings??d}return r.settings.components[e.name]},p=()=>u("settingsPanel").options,f=e=>("string"==typeof e&&(e=i.componentsMap[e]),!!e&&((!e.urlExclude||!e.urlExclude.some(a.matchUrlPattern))&&((!e.urlInclude||!e.urlInclude.every(lodash.negate(a.matchUrlPattern)))&&(!1===e.configurable?e.enabledByDefault??!0:u(e).enabled))))},6171:function(e,t,n){"use strict";n.r(t),n.d(t,{isProxy:function(){return c},createProxy:function(){return d},defaultSettings:function(){return u},addSettingsChangeListener:function(){return p},removeSettingsChangeListener:function(){return f},addComponentListener:function(){return m},removeComponentListener:function(){return g},settings:function(){return b},componentOptionsToSettings:function(){return a.componentOptionsToSettings},componentToSettings:function(){return a.componentToSettings},getComponentSettings:function(){return a.getComponentSettings},getGeneralSettings:function(){return a.getGeneralSettings},isComponentEnabled:function(){return a.isComponentEnabled},isUserComponent:function(){return a.isUserComponent},isUserPlugin:function(){return a.isUserPlugin}});var i=n(8171),r=n(1623),a=n(5605);let o={userStyles:{},userPlugins:{},userComponents:{},components:{},plugins:{}},s=!1;const l=new Map,c=Symbol("isProxy"),d=(e,t)=>{const n=(e,i,r=[])=>{for(const[t,a]of Object.entries(e))"object"!=typeof a||a instanceof RegExp||(e[t]=n(a,i||t,[...r,t]));return new Proxy(e,{get:(e,t)=>t===c||e[t],set(e,a,o){const s=e[a],l=!Object.prototype.hasOwnProperty.call(e,a)&&void 0!==s;unsafeWindow.proxyDebug&&console.log({isImplicitProp:l,prop:a,value:o});return!("object"!=typeof o||o instanceof RegExp||!0===o[c]||l)&&(o=n(o,i||a,[...r,a])),e[a]=o,l||t?.(o,s,i||a,[...r,a]),!0},deleteProperty(e,n){const a=e[n];return delete e[n],t?.(void 0,a,i||n,[...r,n]),!0}})};return n(e)};r.plugins.forEach((e=>{o.plugins[e.name]=!0})),i.components.forEach((e=>{o.components[e.name]=(0,a.componentToSettings)(e)}));const u=lodash.cloneDeep(o);o=d((e=>{for(const[t,n]of Object.entries(e)){let i;const r=GM_getValue(t,n);i="object"==typeof r?lodash.defaultsDeep(r,n):r,e[t]=i}return e})(o),((e,t,n,i=[])=>{if(s){GM_setValue(n.toString(),o[n.toString()]);const r=i.join(".");if(i.length>1){const e=i.slice(0,i.length-1).join("."),t=lodash.get(o,e);if(Array.isArray(t)||lodash.isPlainObject(t)){l.get(e)?.forEach((e=>e(t,null,n,i)))}}l.get(r)?.forEach((r=>r(e,t,n,i)))}}));for(const[e,t]of Object.entries(o))GM_setValue(e,t);const p=(e,t,n=!1)=>{const i=l.get(e);if(i?i.push(t):l.set(e,[t]),n){const n=lodash.get(o,e);t(n,n,"",[])}},f=(e,t)=>{const n=l.get(e);if(!n)return;const i=n.indexOf(t);-1!==i&&n.splice(i,1)},h=e=>{const[t,n]=e.split(".");return(0,a.isUserComponent)(t)?void 0===n?`userComponents.${t}.settings.enabled`:`userComponents.${t}.settings.options.${n}`:void 0===n?`components.${t}.enabled`:`components.${t}.options.${n}`},m=(e,t,n=!1)=>{p(h(e),t,n)},g=(e,t)=>{f(h(e),t)};s=!0;const b=o},5550:function(e,t,n){"use strict";n.r(t),n.d(t,{sq:function(){return o},select:function(){return c},selectLazy:function(){return d},selectAll:function(){return f},selectAllLazy:function(){return h},count:function(){return m},hasVideo:function(){return b}});var i=n(3420),r=n(1906);const a={maxRetry:15,queryInterval:1e3},o=(e,t=(e=>Boolean(e)),n=a)=>{const i={...a,...n};return new Promise((n=>{let a=null,o=0;const s=()=>{n(a)},l=()=>{o>i.maxRetry?n(null):(a=e(),!0===t(a,s)?n(a):setTimeout((()=>{"undefined"!=typeof document?(0,r.waitForForeground)((()=>{o++,l()})):l()}),i.queryInterval))};l()}))},s=new Map,l=(e,t)=>{let n;if("string"==typeof e){if(s.has(e))return s.get(e);n=()=>document.querySelector((0,r.bwpVideoFilter)(e))}else n=e;const i=t(n);if("string"==typeof e){const t=i.then((t=>(s.delete(e),t)));return s.set(e,t),t}return i},c=(e,t)=>l(e,(e=>o(e,(e=>null!=e),t))),d=e=>l(e,(e=>new Promise((t=>{(0,i.allMutations)((()=>{const n=e();null!=n&&t(n)}))})))),u=new Map,p=(e,t)=>{let n;if("string"==typeof e){if(u.has(e))return u.get(e);n=()=>Array.from(document.querySelectorAll((0,r.bwpVideoFilter)(e)))}else n=e;const i=e=>null===e?[]:e,a=t(n);if("string"==typeof e){const t=a.then((t=>(u.delete(e),i(t))));return u.set(e,t),t}return a.then((e=>i(e)))},f=(e,t)=>p(e,(e=>o(e,(e=>e.length>0),t))),h=e=>p(e,(e=>new Promise((t=>{(0,i.allMutations)((()=>{const n=e();null!=n&&t(n)}))})))),m=(e,t,n)=>o(e,(e=>e.length===t),n);let g;const b=async()=>{g||(g=new Promise((e=>(0,i.videoChange)((()=>e(unsafeWindow.cid))))));const e=await g;return Boolean(e)}},6182:function(e,t,n){"use strict";n.r(t),n.d(t,{getDefaultStyleID:function(){return r},addStyle:function(){return a},addImportantStyle:function(){return o},removeStyle:function(){return s},loadInstantStyle:function(){return l},preloadStyles:function(){return c},loadAllCustomStyles:function(){return d}});var i=n(7177);const r=e=>e.replace(/([a-z][A-Z])/g,(e=>`${e[0]}-${e[1].toLowerCase()}`)),a=(e,t,n)=>{const i=t?r(t):null,a=dq(`#${i}`);if(!a||!t){const t=document.createElement("style");return t.id=i,t.textContent=e,(n||document.head).insertAdjacentElement("beforeend",t),t}return a},o=(e,t)=>a(e,t,document.body),s=(...e)=>{e.forEach((e=>{const t=r(e);dqa(`#${t}`).forEach((e=>e.remove()))}))},l=async(e,t={head:document.head,body:document.body})=>{e.instantStyles?.forEach((async e=>{const n=document.createElement("style");if(n.id=r(e.name),"string"==typeof e.style)n.textContent=e.style;else{const{default:t}=await e.style();n.textContent=t}e.important?t.body.appendChild(n):t.head.appendChild(n)}))},c=lodash.once((async()=>{const{LoadingMode:e}=await Promise.resolve().then(n.bind(n,4345)),{addHook:t}=await Promise.resolve().then(n.bind(n,9543)),{getGeneralSettings:a,settings:o,isComponentEnabled:c,isUserComponent:d,addComponentListener:u,removeComponentListener:p}=await Promise.resolve().then(n.bind(n,6171)),f=async()=>{const{components:e}=await Promise.resolve().then(n.bind(n,8171)),a=document.createDocumentFragment(),f=document.createDocumentFragment();await Promise.all(e.map((e=>{const n=t=>t?l(e):e.instantStyles?.forEach((e=>s(e.name)));if(u(e.name,n),d(e)&&t("userComponents.remove",{after:t=>{t.name===e.name&&p(e.name,n)}}),c(e))return l(e,{head:a,body:f})})));const{UserStyleMode:h}=await Promise.resolve().then(n.bind(n,8900));Object.values(o.userStyles).filter((e=>e.mode===h.Instant)).forEach((e=>{const t=document.createElement("style");t.id=r(e.name),t.textContent=e.style,a.appendChild(t)})),document.head.appendChild(a),(0,i.contentLoaded)((()=>document.body.appendChild(f)))};a().styleLoadingMode===e.Delay?await(0,i.contentLoaded)(f):await f(),(0,i.contentLoaded)((async()=>{const{initColors:e}=await Promise.resolve().then(n.bind(n,8208)),{initMdiStyle:t}=await Promise.resolve().then(n.bind(n,3007));document.head.appendChild(e()),document.head.appendChild(t())}))})),d=async()=>{const{settings:e}=await Promise.resolve().then(n.bind(n,6171)),{UserStyleMode:t}=await Promise.resolve().then(n.bind(n,8900));(0,i.contentLoaded)((()=>{Object.values(e.userStyles).filter((e=>e.mode===t.Important)).forEach((e=>{a(e.style,e.name,document.body)}))})),Object.values(e.userStyles).filter((e=>e.mode===t.Default)).forEach((e=>{a(e.style,e.name,document.head)}))}},6314:function(e,t,n){"use strict";let i;n.r(t),n.d(t,{TextColor:function(){return i}}),function(e){e.Auto="自动",e.White="白色",e.Black="黑色"}(i||(i={}))},8208:function(e,t,n){"use strict";n.r(t),n.d(t,{initColors:function(){return l}});var i=n(6767),r=n.n(i),a=n(6171);const o=(e,t)=>{const n=t.hue()-e.hue(),i=100*((t.saturationv()-e.saturationv())/100+1),r=e=>Math.round(10*e)/10;return`hue-rotate(${r(n)}deg) saturate(${r(i)}%)`};var s=n(6314);const l=()=>{const e=document.createElement("style"),t=new Map,n=(e,n)=>{t.set(e,n)},i=lodash.debounce((()=>{e.textContent=`\n html {\n ${[...t.entries()].map((([e,t])=>`${e}: ${t};`)).join("\n")}\n }\n `.trim()}),100),l=e=>{let t;t=e===s.TextColor.Auto?r()((0,a.getGeneralSettings)().themeColor).isLight()?"black":"white":e===s.TextColor.Black?"black":"white",n("--text-color",t),n("--foreground-color",t),n("--foreground-color-d",r()(t,"keyword").alpha(.875).rgb().string()),n("--foreground-color-b",r()(t,"keyword").alpha(.75).rgb().string()),n("--brightness",("black"===t?"100":"0")+"%"),n("--invert-filter","black"===t?"invert(0)":"invert(1)"),i()};return(0,a.addComponentListener)("settingsPanel.themeColor",(e=>{n("--theme-color",e);for(let t=10;t<=90;t+=10){const i=r()(e,"hex");n(`--theme-color-${t}`,i.alpha(t/100).rgb().string()),n(`--theme-color-lightness-${t}`,i.lightness(t).rgb().toString())}n("--pink-image-filter",o(r()({r:251,g:113,b:152},"rgb"),r()(e,"hex"))),n("--blue-image-filter",o(r()({r:0,g:160,b:213},"rgb"),r()(e,"hex"))),l((0,a.getGeneralSettings)().textColor),i()}),!0),(0,a.addComponentListener)("settingsPanel.textColor",l,!0),e}},5683:function(e,t,n){"use strict";n.r(t),n.d(t,{Toast:function(){return b},ToastType:function(){return m}});var i=n(1906),r=n(8333),a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition-group",{staticClass:"toast-card-container",attrs:{name:"toast-card-container",tag:"div"}},e._l(e.cards,(function(e){return n("ToastCard",{key:e.key,attrs:{"data-key":e.key,card:e}})})),1)};a._withStripped=!0;var o=Vue.extend({components:{ToastCard:()=>Promise.resolve().then(n.bind(n,7300)).then((e=>e.default))},data:()=>({cards:[]})}),s=n(3379),l=n.n(s),c=n(848),d=n.n(c),u={insert:"head",singleton:!1},p=(l()(d(),u),d().locals,(0,n(1900).Z)(o,a,[],!1,null,null,null));p.options.__file="src/core/toast/ToastCardContainer.vue";var f=p.exports;function h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let m,g;!function(e){e.Default="default",e.Info="info",e.Success="success",e.Error="error"}(m||(m={}));class b{constructor(e="",t="",n=m.Default){this.message=e,this.title=t,this.type=n,h(this,"durationNumber",3e3),h(this,"durationTimeout",0),h(this,"creationTime",Number(new Date)),h(this,"randomKey",Math.floor(Math.random()*(Number.MAX_SAFE_INTEGER+1)))}static get containerVM(){return g||b.createToastContainer(),g}static createToastContainer(){dq(".toast-card-container")||(g=(0,i.mountVueComponent)(f),document.body.insertAdjacentElement("beforeend",g.$el))}get element(){return dq(`.toast-card[data-key='${this.key}']`)}get key(){return`${this.creationTime}[${this.randomKey}]`}get duration(){return this.durationNumber}set duration(e){this.durationNumber=e,this.durationTimeout&&this.clearDuration(),this.setDuration()}show(){b.containerVM.cards.unshift(this),this.setDuration()}dismiss(){b.containerVM.cards.includes(this)&&b.containerVM.cards.splice(b.containerVM.cards.indexOf(this),1),this.clearDuration()}setDuration(){void 0!==this.durationNumber&&(this.durationTimeout=window.setTimeout((()=>this.dismiss()),this.durationNumber))}clearDuration(){window.clearTimeout(this.durationTimeout),this.durationTimeout=0}static internalShow(e,t,n,i){const r=new b(e,t,i);return r.duration=n,r.show(),r}static show(e,t,n){return this.internalShow(e,t,n,m.Default)}static info(e,t,n){return this.internalShow(e,t,n,m.Info)}static success(e,t,n){return this.internalShow(e,t,n,m.Success)}static error(e,t,n){return this.internalShow(e,t,n,m.Error)}static mini(...e){return(0,r.$)(...e)}}},8333:function(e,t,n){"use strict";function i(e){var t=e.getBoundingClientRect();return{width:t.width,height:t.height,top:t.top,right:t.right,bottom:t.bottom,left:t.left,x:t.left,y:t.top}}function r(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function a(e){var t=r(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function o(e){return e instanceof r(e).Element||e instanceof Element}function s(e){return e instanceof r(e).HTMLElement||e instanceof HTMLElement}function l(e){return"undefined"!=typeof ShadowRoot&&(e instanceof r(e).ShadowRoot||e instanceof ShadowRoot)}function c(e){return e?(e.nodeName||"").toLowerCase():null}function d(e){return((o(e)?e.ownerDocument:e.document)||window.document).documentElement}function u(e){return i(d(e)).left+a(e).scrollLeft}function p(e){return r(e).getComputedStyle(e)}function f(e){var t=p(e),n=t.overflow,i=t.overflowX,r=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+r+i)}function h(e,t,n){void 0===n&&(n=!1);var o,l,p=d(t),h=i(e),m=s(t),g={scrollLeft:0,scrollTop:0},b={x:0,y:0};return(m||!m&&!n)&&(("body"!==c(t)||f(p))&&(g=(o=t)!==r(o)&&s(o)?{scrollLeft:(l=o).scrollLeft,scrollTop:l.scrollTop}:a(o)),s(t)?((b=i(t)).x+=t.clientLeft,b.y+=t.clientTop):p&&(b.x=u(p))),{x:h.left+g.scrollLeft-b.x,y:h.top+g.scrollTop-b.y,width:h.width,height:h.height}}function m(e){var t=i(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function g(e){return"html"===c(e)?e:e.assignedSlot||e.parentNode||(l(e)?e.host:null)||d(e)}function b(e){return["html","body","#document"].indexOf(c(e))>=0?e.ownerDocument.body:s(e)&&f(e)?e:b(g(e))}function v(e,t){var n;void 0===t&&(t=[]);var i=b(e),a=i===(null==(n=e.ownerDocument)?void 0:n.body),o=r(i),s=a?[o].concat(o.visualViewport||[],f(i)?i:[]):i,l=t.concat(s);return a?l:l.concat(v(g(s)))}function y(e){return["table","td","th"].indexOf(c(e))>=0}function w(e){return s(e)&&"fixed"!==p(e).position?e.offsetParent:null}function x(e){for(var t=r(e),n=w(e);n&&y(n)&&"static"===p(n).position;)n=w(n);return n&&("html"===c(n)||"body"===c(n)&&"static"===p(n).position)?t:n||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&s(e)&&"fixed"===p(e).position)return null;for(var n=g(e);s(n)&&["html","body"].indexOf(c(n))<0;){var i=p(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}(e)||t}n.d(t,{$:function(){return st}});var _="top",k="bottom",C="right",S="left",E="auto",I=[_,k,C,S],$="start",A="end",T="viewport",O="popper",M=I.reduce((function(e,t){return e.concat([t+"-"+$,t+"-"+A])}),[]),L=[].concat(I,[E]).reduce((function(e,t){return e.concat([t,t+"-"+$,t+"-"+A])}),[]),P=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function z(e){var t=new Map,n=new Set,i=[];function r(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var i=t.get(e);i&&r(i)}})),i.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||r(e)})),i}var D={placement:"bottom",modifiers:[],strategy:"absolute"};function V(){for(var e=arguments.length,t=new Array(e),n=0;n=0?"x":"y"}function U(e){var t,n=e.reference,i=e.element,r=e.placement,a=r?q(r):null,o=r?F(r):null,s=n.x+n.width/2-i.width/2,l=n.y+n.height/2-i.height/2;switch(a){case _:t={x:s,y:n.y-i.height};break;case k:t={x:s,y:n.y+n.height};break;case C:t={x:n.x+n.width,y:l};break;case S:t={x:n.x-i.width,y:l};break;default:t={x:n.x,y:n.y}}var c=a?R(a):null;if(null!=c){var d="y"===c?"height":"width";switch(o){case $:t[c]=t[c]-(n[d]/2-i[d]/2);break;case A:t[c]=t[c]+(n[d]/2-i[d]/2)}}return t}// eslint-disable-next-line import/no-unused-modules diff --git a/registry/dist/components/feeds/copy-link.js b/registry/dist/components/feeds/copy-link.js index d9721f882..ef2c25802 100644 --- a/registry/dist/components/feeds/copy-link.js +++ b/registry/dist/components/feeds/copy-link.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["feeds/copy-link"]=t():e["feeds/copy-link"]=t()}(self,(function(){return function(){"use strict";var e,t,o={23:function(e){e.exports=coreApis.componentApis.feeds.api}},n={};function r(e){var t=n[e];if(void 0!==t)return t.exports;var i=n[e]={exports:{}};return o[e](i,i.exports,r),i.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(o,n){if(1&n&&(o=this(o)),8&n)return o;if("object"==typeof o&&o){if(4&n&&o.__esModule)return o;if(16&n&&"function"==typeof o.then)return o}var i=Object.create(null);r.r(i);var c={};e=e||[null,t({}),t([]),t(t)];for(var f=2&n&&o;"object"==typeof f&&!~e.indexOf(f);f=t(f))Object.getOwnPropertyNames(f).forEach((function(e){c[e]=function(){return o[e]}}));return c.default=function(){return o},r.d(i,c),i},r.d=function(e,t){for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){r.d(i,{component:function(){return e}});const e={name:"copyFeedsLink",displayName:"复制动态链接",description:{"zh-CN":"开启后, 可在每条动态的菜单中选择复制链接."},entry:async()=>{const{forEachFeedsCard:e,addMenuItem:t}=await Promise.resolve().then(r.t.bind(r,23,23));e({added:e=>{t(e,{className:"copy-link",text:"复制链接",action:async()=>{await navigator.clipboard.writeText(`https://t.bilibili.com/${e.id}`)}})}})},urlInclude:coreApis.utils.urls.feedsUrls,tags:[componentsTags.feeds,componentsTags.utils],commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["feeds/copy-link"]=t():e["feeds/copy-link"]=t()}(self,(function(){return function(){"use strict";var e,t,o={23:function(e){e.exports=coreApis.componentApis.feeds.api}},n={};function r(e){var t=n[e];if(void 0!==t)return t.exports;var i=n[e]={exports:{}};return o[e](i,i.exports,r),i.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(o,n){if(1&n&&(o=this(o)),8&n)return o;if("object"==typeof o&&o){if(4&n&&o.__esModule)return o;if(16&n&&"function"==typeof o.then)return o}var i=Object.create(null);r.r(i);var c={};e=e||[null,t({}),t([]),t(t)];for(var f=2&n&&o;"object"==typeof f&&!~e.indexOf(f);f=t(f))Object.getOwnPropertyNames(f).forEach((function(e){c[e]=function(){return o[e]}}));return c.default=function(){return o},r.d(i,c),i},r.d=function(e,t){for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){r.d(i,{component:function(){return e}});const e={name:"copyFeedsLink",displayName:"复制动态链接",description:{"zh-CN":"开启后, 可在每条动态的菜单中选择复制链接."},entry:async()=>{const{forEachFeedsCard:e,addMenuItem:t}=await Promise.resolve().then(r.t.bind(r,23,23));e({added:e=>{t(e,{className:"copy-link",text:"复制链接",action:async()=>{await navigator.clipboard.writeText(`https://t.bilibili.com/${e.id}`)}})}})},urlInclude:coreApis.utils.urls.feedsUrls,tags:[componentsTags.feeds,componentsTags.utils],commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/feeds/disable-details.js b/registry/dist/components/feeds/disable-details.js index 14034cbc9..85f2c7ce4 100644 --- a/registry/dist/components/feeds/disable-details.js +++ b/registry/dist/components/feeds/disable-details.js @@ -6,4 +6,4 @@ e.i=function(t,n,o){"string"==typeof t&&( // eslint-disable-next-line no-param-reassign t=[[null,t,""]]);var r={};if(o)for(var i=0;i{const{addImportantStyle:t}=await Promise.resolve().then(r.t.bind(r,163,23)),{default:e}=await Promise.resolve().then(r.t.bind(r,94,23));t(e,o)},d={name:"disableFeedsDetails",displayName:"禁止跳转动态详情",tags:[componentsTags.feeds],urlInclude:e.feedsUrls,description:{"zh-CN":"禁止动态点击后跳转详情页, 方便选择其中的文字."},entry:async()=>{const{addImportantStyle:e}=await Promise.resolve().then(r.t.bind(r,163,23)),{forEachFeedsCard:o}=await Promise.resolve().then(r.t.bind(r,23,23)),{default:i}=await Promise.resolve().then(r.t.bind(r,377,23));e(i,"disable-feeds-details-init-style"),a();o({added:e=>{const{element:o}=e;o.addEventListener("click",(t=>{if(t.ctrlKey||!n)return;const e=dqa(o,'.content, .bili-dyn-content [data-module="desc"] .bili-rich-text'),r=t.target;if(r.hasAttribute("click-title"))return;dqa(o,".im-popup").some((t=>t.contains(r)))||e.some((t=>t===r||t.contains(r)))&&t.stopImmediatePropagation()}),{capture:!0});const r=dq(o,".post-content, .bili-dyn-content");if(!r)return;if(![".video-container",".bangumi-container",".media-list",".article-container"].some((t=>dq(r,t)))&&!dq(r,".details")&&(r.classList.contains("repost")||e.type===t.feedsCardTypes.repost)){const t=dq(r,".content, .bili-dyn-content__orig__desc");if(!t)return;const e=document.createElement("div");e.classList.add("details"),e.setAttribute("click-title","详情"),e.innerHTML='\n 详情\n ',t.insertAdjacentElement("beforeend",e)}}})},unload:()=>{document.getElementById(o)?.remove(),n=!1},reload:()=>{a(),n=!0},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var a=this[i][0];null!=a&&(r[a]=!0)}for(var s=0;s{const{addImportantStyle:t}=await Promise.resolve().then(r.t.bind(r,163,23)),{default:e}=await Promise.resolve().then(r.t.bind(r,94,23));t(e,o)},s={name:"disableFeedsDetails",displayName:"禁止跳转动态详情",tags:[componentsTags.feeds],urlInclude:e.feedsUrls,description:{"zh-CN":"禁止动态点击后跳转详情页, 方便选择其中的文字."},entry:async()=>{const{addImportantStyle:e}=await Promise.resolve().then(r.t.bind(r,163,23)),{forEachFeedsCard:o}=await Promise.resolve().then(r.t.bind(r,23,23)),{default:i}=await Promise.resolve().then(r.t.bind(r,377,23));e(i,"disable-feeds-details-init-style"),a();o({added:e=>{const{element:o}=e;o.addEventListener("click",(t=>{if(t.ctrlKey||!n)return;const e=dqa(o,'.content, .bili-dyn-content [data-module="desc"] .bili-rich-text'),r=t.target;if(r.hasAttribute("click-title"))return;dqa(o,".im-popup").some((t=>t.contains(r)))||e.some((t=>t===r||t.contains(r)))&&t.stopImmediatePropagation()}),{capture:!0});const r=dq(o,".post-content, .bili-dyn-content");if(!r)return;if(![".video-container",".bangumi-container",".media-list",".article-container"].some((t=>dq(r,t)))&&!dq(r,".details")&&(r.classList.contains("repost")||e.type===t.feedsCardTypes.repost)){const t=dq(r,".content, .bili-dyn-content__orig__desc");if(!t)return;const e=document.createElement("div");e.classList.add("details"),e.setAttribute("click-title","详情"),e.innerHTML='\n 详情\n ',t.insertAdjacentElement("beforeend",e)}}})},unload:()=>{document.getElementById(o)?.remove(),n=!1},reload:()=>{a(),n=!0},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/feeds/extend-live.js b/registry/dist/components/feeds/extend-live.js index b857fc155..0d89d78cd 100644 --- a/registry/dist/components/feeds/extend-live.js +++ b/registry/dist/components/feeds/extend-live.js @@ -6,4 +6,4 @@ t.i=function(e,n,i){"string"==typeof e&&( // eslint-disable-next-line no-param-reassign e=[[null,e,""]]);var o={};if(i)for(var r=0;rPromise.resolve().then(o.t.bind(o,134,23))),(async()=>{const{select:e}=await Promise.resolve().then(o.t.bind(o,569,23)),t=await e(".live-up-list, .bili-dyn-live-users__body");if(null===t)return;const{getPages:n,getJsonWithCredentials:i}=await Promise.resolve().then(o.t.bind(o,663,23)),r=await n({api:e=>i(`https://api.live.bilibili.com/relation/v1/feed/feed_list?page=${e}&pagesize=24`),getList:e=>lodash.get(e,"data.list",[]),getTotal:e=>lodash.get(e,"data.results",0)}),l=".up-name, .bili-dyn-live-users__item__uname",a=dqa(t,l).map((e=>e.innerText.trim())),s=r.filter((e=>a.includes(e.uname))),c=r.filter((e=>!a.includes(e.uname))),d=t.children[0];c.forEach((e=>{if(dqa(t,l).some((t=>t.innerText.trim()===e.uname)))return;const n=(()=>{const t=d.cloneNode(!0),n=`https://live.bilibili.com/${e.roomid}`;dqa(t,"a[href]").forEach((e=>e.setAttribute("href",n))),t.matches(".bili-dyn-live-users__item")&&t.addEventListener("click",(()=>{window.open(n,"_blank")}));dq(t,".live-up-img, .bili-dyn-live-users__item__face .bili-awesome-img").style.backgroundImage=`url(${e.face})`;const i=dq(t,".live-name, .bili-dyn-live-users__item__title");i.innerHTML=e.title,i.title=e.title;const o=dq(t,l);return o.innerHTML=e.uname,o.title=e.uname,t})();t.insertAdjacentElement("beforeend",n)}));const{disableProfilePopup:u}=await Promise.resolve().then(o.t.bind(o,30,23));u(),console.log(s,c)})),tags:[componentsTags.feeds,componentsTags.live],urlInclude:[/^https:\/\/t\.bilibili\.com\/$/],commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file +var l=this[r][0];null!=l&&(o[l]=!0)}for(var a=0;aPromise.resolve().then(o.t.bind(o,134,23))),(async()=>{const{select:e}=await Promise.resolve().then(o.t.bind(o,569,23)),t=await e(".live-up-list, .bili-dyn-live-users__body");if(null===t)return;const{getPages:n,getJsonWithCredentials:i}=await Promise.resolve().then(o.t.bind(o,663,23)),r=await n({api:e=>i(`https://api.live.bilibili.com/relation/v1/feed/feed_list?page=${e}&pagesize=24`),getList:e=>lodash.get(e,"data.list",[]),getTotal:e=>lodash.get(e,"data.results",0)}),l=".up-name, .bili-dyn-live-users__item__uname",a=dqa(t,l).map((e=>e.innerText.trim())),s=r.filter((e=>a.includes(e.uname))),c=r.filter((e=>!a.includes(e.uname))),d=t.children[0];c.forEach((e=>{if(dqa(t,l).some((t=>t.innerText.trim()===e.uname)))return;const n=(()=>{const t=d.cloneNode(!0),n=`https://live.bilibili.com/${e.roomid}`;dqa(t,"a[href]").forEach((e=>e.setAttribute("href",n))),t.matches(".bili-dyn-live-users__item")&&t.addEventListener("click",(()=>{window.open(n,"_blank")}));dq(t,".live-up-img, .bili-dyn-live-users__item__face .bili-awesome-img").style.backgroundImage=`url(${e.face})`;const i=dq(t,".live-name, .bili-dyn-live-users__item__title");i.innerHTML=e.title,i.title=e.title;const o=dq(t,l);return o.innerHTML=e.uname,o.title=e.uname,t})();t.insertAdjacentElement("beforeend",n)}));const{disableProfilePopup:u}=await Promise.resolve().then(o.t.bind(o,30,23));u(),console.log(s,c)})),tags:[componentsTags.feeds,componentsTags.live],urlInclude:[/^https:\/\/t\.bilibili\.com\/$/],commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file diff --git a/registry/dist/components/feeds/filter.js b/registry/dist/components/feeds/filter.js index eb64b5548..99c3e0fb1 100644 --- a/registry/dist/components/feeds/filter.js +++ b/registry/dist/components/feeds/filter.js @@ -9,4 +9,4 @@ e=[[null,e,""]]);var s={};if(i)for(var r=0;rPromise.resolve().then(n.bind(n,179)),VIcon:a.VIcon,TextBox:a.TextBox,VButton:a.VButton},data:()=>({allTypes:[],patterns:[...d.patterns],newPattern:"",allSideCards:f,blockSideCards:[...d.sideCards],collapse:!0}),watch:{patterns(){d.patterns=this.patterns,c&&c.cards.forEach((e=>this.updateCard(lodash.clone(e))))}},async mounted(){this.updateBlockSide();const e=await(0,r.select)(".feed-card .tab-bar, .bili-dyn-list-tabs__list");if(!e)return void console.error("tabBar not found");const{forEachFeedsCard:t,feedsCardTypes:i}=await Promise.resolve().then(n.t.bind(n,23,23));document.body.classList.add("enable-feeds-filter");if(this.allTypes=Object.entries(i).concat(Object.entries({"self-repost":{id:-1,name:"自转发"}})).filter((([,e])=>e.id<=2048)).map((([e,t])=>[e,lodash.clone(t)])),c=await t({added:e=>{this.updateCard(lodash.clone(e))}}),"v1"===c.managerType){const t=e.querySelector(".tab:nth-child(1) .tab-text");(0,l.attributes)(t,(()=>{document.body.classList.toggle("by-type",!t.classList.contains("selected"))}))}if("v2"===c.managerType){const t=e.children[0];if(!t)return;(0,l.attributes)(t,(()=>{document.body.classList.toggle("by-type",!t.classList.contains("active"))}))}},methods:{updateCard(e){d.patterns.some((t=>(0,o.hasBlockedPattern)(t,e)))?e.element.classList.add("pattern-block"):e.element.classList.remove("pattern-block")},deletePattern(e){const t=d.patterns.indexOf(e);-1!==t&&this.patterns.splice(t,1)},addPattern(e){e&&!this.patterns.includes(e)&&this.patterns.push(e),this.newPattern=""},updateBlockSide(){Object.entries(f).forEach((([e,t])=>{const n=p+t.className;document.body.classList[this.blockSideCards.includes(e)?"add":"remove"](n)}))},toggleBlockSide(e){const t=this.blockSideCards.indexOf(e),n=f[e];-1!==t?(this.blockSideCards.splice(t,1),document.body.classList.remove(p+n.className)):(this.blockSideCards.push(e),document.body.classList.add(p+n.className)),d.sideCards=this.blockSideCards},sideDisabled(e){return this.blockSideCards.includes(e)}}}),u=n(379),y=n.n(u),m=n(420),h=n.n(m),v={insert:"head",singleton:!1},g=(y()(h(),v),h().locals,(0,n(900).Z)(b,i,[],!1,null,null,null));g.options.__file="registry/lib/components/feeds/filter/FeedsFilterCard.vue";var x=g.exports},179:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return u}});var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"filter-type-switch feeds-filter-switch"},[n("label",{class:{disabled:e.disabled}},[n("span",{staticClass:"name",class:{disabled:e.disabled}},[e._v(e._s(e.type.name))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.disabled,expression:"disabled"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.disabled)?e._i(e.disabled,null)>-1:e.disabled},on:{change:function(t){var n=e.disabled,i=t.target,s=!!i.checked;if(Array.isArray(n)){var r=e._i(n,null);i.checked?r<0&&(e.disabled=n.concat([null])):r>-1&&(e.disabled=n.slice(0,r).concat(n.slice(r+1)))}else e.disabled=s}}}),e._v(" "),e.disabled?n("VIcon",{staticClass:"disabled",attrs:{size:16,icon:"mdi-cancel"}}):n("VIcon",{attrs:{size:16,icon:"mdi-check"}})],1)])};i._withStripped=!0;var s=n(407),r=n(643);const{options:l}=(0,s.getComponentSettings)("feedsFilter");var a=Vue.extend({components:{VIcon:r.VIcon},props:{name:{type:String,required:!0},type:{type:Object,required:!0}},data(){const e=this.type.id>=0?"types":"specialTypes";return{disabled:l[e].includes(this.type.id),optionKey:e}},watch:{disabled(e){this.setFilter(e)}},created(){this.setFilter(this.disabled,!1)},methods:{setFilter(e,t=!0){if(document.body.classList[e?"add":"remove"](`feeds-filter-block-${this.name}`),t)if(e)l[this.optionKey].push(this.type.id);else{const e=l[this.optionKey].indexOf(this.type.id);-1!==e&&l[this.optionKey].splice(e,1)}}}}),o=n(379),d=n.n(o),f=n(866),c=n.n(f),p={insert:"head",singleton:!1},b=(d()(c(),p),c().locals,(0,n(900).Z)(a,i,[],!1,null,null,null));b.options.__file="registry/lib/components/feeds/filter/FilterTypeSwitch.vue";var u=b.exports},900:function(e,t,n){"use strict";function i(e,t,n,i,s,r,l,a){var o,d="function"==typeof e?e.options:e;if(t&&(d.render=t,d.staticRenderFns=n,d._compiled=!0),i&&(d.functional=!0),r&&(d._scopeId="data-v-"+r),l?(o=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),s&&s.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(l)},d._ssrRegister=o):s&&(o=a?function(){s.call(this,(d.functional?this.parent:this).$root.$options.shadowRoot)}:s),o)if(d.functional){d._injectStyles=o;var f=d.render;d.render=function(e,t){return o.call(t),f(e,t)}}else{var c=d.beforeCreate;d.beforeCreate=c?[].concat(c,o):[o]}return{exports:e,options:d}}n.d(t,{Z:function(){return i}})},23:function(e){"use strict";e.exports=coreApis.componentApis.feeds.api},407:function(e){"use strict";e.exports=coreApis.settings},569:function(e){"use strict";e.exports=coreApis.spinQuery},643:function(e){"use strict";e.exports=coreApis.ui},109:function(e){"use strict";e.exports=coreApis.utils}},i={};function s(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={id:e,exports:{}};return n[e](r,r.exports,s),r.exports}s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,{a:t}),t},t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},s.t=function(n,i){if(1&i&&(n=this(n)),8&i)return n;if("object"==typeof n&&n){if(4&i&&n.__esModule)return n;if(16&i&&"function"==typeof n.then)return n}var r=Object.create(null);s.r(r);var l={};e=e||[null,t({}),t([]),t(t)];for(var a=2&i&&n;"object"==typeof a&&!~e.indexOf(a);a=t(a))Object.getOwnPropertyNames(a).forEach((function(e){l[e]=function(){return n[e]}}));return l.default=function(){return n},s.d(r,l),r},s.d=function(e,t){for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return function(){"use strict";s.d(r,{component:function(){return i}});var e=s(23);const t=[{username:"title",text:"epTitle"},{username:"upName",text:["title","dynamic"]},{username:["username","repostUsername"],text:["text","repostText"]}],n={name:"feeds.contentFilters.patterns",displayName:"动态关键词过滤",setup:({addData:e})=>{e("feeds.contentFilters",(async e=>{const{getComponentSettings:n}=await Promise.resolve().then(s.t.bind(s,407,23)),{hasBlockedPattern:i}=await Promise.resolve().then(s.bind(s,151));e.push({filter:e=>{const{patterns:s}=n("feedsFilter").options;return e.filter((e=>{const n=t.find((t=>Object.values(t).every((t=>Array.isArray(t)?t.some((t=>t in e)):t in e)))),r=Object.fromEntries(Object.entries(n).map((([t,n])=>Array.isArray(n)?[t,n.map((t=>e[t]??"")).join("\n").trim()]:[t,e[n].trim()])));return s.every((e=>!i(e,r)))}))}})}))}},i={name:"feedsFilter",displayName:"动态过滤器",description:{"zh-CN":"按照类型或者关键词过滤动态首页的内容, 也可以移除动态页的一些侧边卡片."},entry:async()=>{const{select:t}=await Promise.resolve().then(s.t.bind(s,569,23));let n;if("v2"===e.feedsCardsManager.managerType){const e=await t(".bili-dyn-home--member aside.left"),i=document.createElement("section");i.classList.add("feeds-filter-section"),e.insertAdjacentElement("afterbegin",i),n=i}else n=await t(".home-container .left-panel");if(null===n)return;const i=await Promise.resolve().then(s.bind(s,135)),{mountVueComponent:r}=await Promise.resolve().then(s.t.bind(s,109,23));n.insertAdjacentElement("afterbegin",r(i).$el)},tags:[componentsTags.feeds],options:{types:{defaultValue:[],displayName:"过滤动态类型",hidden:!0},patterns:{defaultValue:[],displayName:"过滤关键词",hidden:!0},sideCards:{defaultValue:[],displayName:"过滤侧边栏",hidden:!0},specialTypes:{defaultValue:[],displayName:"过滤特殊动态类型",hidden:!0}},reload:()=>document.body.classList.remove("disable-feeds-filter"),unload:()=>document.body.classList.add("disable-feeds-filter"),urlInclude:[/^https:\/\/t\.bilibili\.com\/$/],plugin:n,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file +i=Boolean(window&&document&&document.all&&!window.atob)),i},r=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),l=[];function a(e){for(var t=-1,n=0;nPromise.resolve().then(n.bind(n,179)),VIcon:a.VIcon,TextBox:a.TextBox,VButton:a.VButton},data:()=>({allTypes:[],patterns:[...d.patterns],newPattern:"",allSideCards:f,blockSideCards:[...d.sideCards],collapse:!0}),watch:{patterns(){d.patterns=this.patterns,c&&c.cards.forEach((e=>this.updateCard(lodash.clone(e))))}},async mounted(){this.updateBlockSide();const e=await(0,r.select)(".feed-card .tab-bar, .bili-dyn-list-tabs__list");if(!e)return void console.error("tabBar not found");const{forEachFeedsCard:t,feedsCardTypes:i}=await Promise.resolve().then(n.t.bind(n,23,23));document.body.classList.add("enable-feeds-filter");if(this.allTypes=Object.entries(i).concat(Object.entries({"self-repost":{id:-1,name:"自转发"}})).filter((([,e])=>e.id<=2048)).map((([e,t])=>[e,lodash.clone(t)])),c=await t({added:e=>{this.updateCard(lodash.clone(e))}}),"v1"===c.managerType){const t=e.querySelector(".tab:nth-child(1) .tab-text");(0,l.attributes)(t,(()=>{document.body.classList.toggle("by-type",!t.classList.contains("selected"))}))}if("v2"===c.managerType){const t=e.children[0];if(!t)return;(0,l.attributes)(t,(()=>{document.body.classList.toggle("by-type",!t.classList.contains("active"))}))}},methods:{updateCard(e){d.patterns.some((t=>(0,o.hasBlockedPattern)(t,e)))?e.element.classList.add("pattern-block"):e.element.classList.remove("pattern-block")},deletePattern(e){const t=d.patterns.indexOf(e);-1!==t&&this.patterns.splice(t,1)},addPattern(e){e&&!this.patterns.includes(e)&&this.patterns.push(e),this.newPattern=""},updateBlockSide(){Object.entries(f).forEach((([e,t])=>{const n=p+t.className;document.body.classList[this.blockSideCards.includes(e)?"add":"remove"](n)}))},toggleBlockSide(e){const t=this.blockSideCards.indexOf(e),n=f[e];-1!==t?(this.blockSideCards.splice(t,1),document.body.classList.remove(p+n.className)):(this.blockSideCards.push(e),document.body.classList.add(p+n.className)),d.sideCards=this.blockSideCards},sideDisabled(e){return this.blockSideCards.includes(e)}}}),u=n(379),y=n.n(u),m=n(420),h=n.n(m),v={insert:"head",singleton:!1},g=(y()(h(),v),h().locals,(0,n(900).Z)(b,i,[],!1,null,null,null));g.options.__file="registry/lib/components/feeds/filter/FeedsFilterCard.vue";var x=g.exports},179:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return u}});var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"filter-type-switch feeds-filter-switch"},[n("label",{class:{disabled:e.disabled}},[n("span",{staticClass:"name",class:{disabled:e.disabled}},[e._v(e._s(e.type.name))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.disabled,expression:"disabled"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.disabled)?e._i(e.disabled,null)>-1:e.disabled},on:{change:function(t){var n=e.disabled,i=t.target,s=!!i.checked;if(Array.isArray(n)){var r=e._i(n,null);i.checked?r<0&&(e.disabled=n.concat([null])):r>-1&&(e.disabled=n.slice(0,r).concat(n.slice(r+1)))}else e.disabled=s}}}),e._v(" "),e.disabled?n("VIcon",{staticClass:"disabled",attrs:{size:16,icon:"mdi-cancel"}}):n("VIcon",{attrs:{size:16,icon:"mdi-check"}})],1)])};i._withStripped=!0;var s=n(407),r=n(643);const{options:l}=(0,s.getComponentSettings)("feedsFilter");var a=Vue.extend({components:{VIcon:r.VIcon},props:{name:{type:String,required:!0},type:{type:Object,required:!0}},data(){const e=this.type.id>=0?"types":"specialTypes";return{disabled:l[e].includes(this.type.id),optionKey:e}},watch:{disabled(e){this.setFilter(e)}},created(){this.setFilter(this.disabled,!1)},methods:{setFilter(e,t=!0){if(document.body.classList[e?"add":"remove"](`feeds-filter-block-${this.name}`),t)if(e)l[this.optionKey].push(this.type.id);else{const e=l[this.optionKey].indexOf(this.type.id);-1!==e&&l[this.optionKey].splice(e,1)}}}}),o=n(379),d=n.n(o),f=n(866),c=n.n(f),p={insert:"head",singleton:!1},b=(d()(c(),p),c().locals,(0,n(900).Z)(a,i,[],!1,null,null,null));b.options.__file="registry/lib/components/feeds/filter/FilterTypeSwitch.vue";var u=b.exports},900:function(e,t,n){"use strict";function i(e,t,n,i,s,r,l,a){var o,d="function"==typeof e?e.options:e;if(t&&(d.render=t,d.staticRenderFns=n,d._compiled=!0),i&&(d.functional=!0),r&&(d._scopeId="data-v-"+r),l?(o=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),s&&s.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(l)},d._ssrRegister=o):s&&(o=a?function(){s.call(this,(d.functional?this.parent:this).$root.$options.shadowRoot)}:s),o)if(d.functional){d._injectStyles=o;var f=d.render;d.render=function(e,t){return o.call(t),f(e,t)}}else{var c=d.beforeCreate;d.beforeCreate=c?[].concat(c,o):[o]}return{exports:e,options:d}}n.d(t,{Z:function(){return i}})},23:function(e){"use strict";e.exports=coreApis.componentApis.feeds.api},407:function(e){"use strict";e.exports=coreApis.settings},569:function(e){"use strict";e.exports=coreApis.spinQuery},643:function(e){"use strict";e.exports=coreApis.ui},109:function(e){"use strict";e.exports=coreApis.utils}},i={};function s(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={id:e,exports:{}};return n[e](r,r.exports,s),r.exports}s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,{a:t}),t},t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},s.t=function(n,i){if(1&i&&(n=this(n)),8&i)return n;if("object"==typeof n&&n){if(4&i&&n.__esModule)return n;if(16&i&&"function"==typeof n.then)return n}var r=Object.create(null);s.r(r);var l={};e=e||[null,t({}),t([]),t(t)];for(var a=2&i&&n;"object"==typeof a&&!~e.indexOf(a);a=t(a))Object.getOwnPropertyNames(a).forEach((function(e){l[e]=function(){return n[e]}}));return l.default=function(){return n},s.d(r,l),r},s.d=function(e,t){for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return function(){"use strict";s.d(r,{component:function(){return i}});var e=s(23);const t=[{username:"title",text:"epTitle"},{username:"upName",text:["title","dynamic"]},{username:["username","repostUsername"],text:["text","repostText"]}],n={name:"feeds.contentFilters.patterns",displayName:"动态关键词过滤",setup:({addData:e})=>{e("feeds.contentFilters",(async e=>{const{getComponentSettings:n}=await Promise.resolve().then(s.t.bind(s,407,23)),{hasBlockedPattern:i}=await Promise.resolve().then(s.bind(s,151));e.push({filter:e=>{const{patterns:s}=n("feedsFilter").options;return e.filter((e=>{const n=t.find((t=>Object.values(t).every((t=>Array.isArray(t)?t.some((t=>t in e)):t in e)))),r=Object.fromEntries(Object.entries(n).map((([t,n])=>Array.isArray(n)?[t,n.map((t=>e[t]??"")).join("\n").trim()]:[t,e[n].trim()])));return s.every((e=>!i(e,r)))}))}})}))}},i={name:"feedsFilter",displayName:"动态过滤器",description:{"zh-CN":"按照类型或者关键词过滤动态首页的内容, 也可以移除动态页的一些侧边卡片."},entry:async()=>{const{select:t}=await Promise.resolve().then(s.t.bind(s,569,23));let n;if("v2"===e.feedsCardsManager.managerType){const e=await t(".bili-dyn-home--member aside.left"),i=document.createElement("section");i.classList.add("feeds-filter-section"),e.insertAdjacentElement("afterbegin",i),n=i}else n=await t(".home-container .left-panel");if(null===n)return;const i=await Promise.resolve().then(s.bind(s,135)),{mountVueComponent:r}=await Promise.resolve().then(s.t.bind(s,109,23));n.insertAdjacentElement("afterbegin",r(i).$el)},tags:[componentsTags.feeds],options:{types:{defaultValue:[],displayName:"过滤动态类型",hidden:!0},patterns:{defaultValue:[],displayName:"过滤关键词",hidden:!0},sideCards:{defaultValue:[],displayName:"过滤侧边栏",hidden:!0},specialTypes:{defaultValue:[],displayName:"过滤特殊动态类型",hidden:!0}},reload:()=>document.body.classList.remove("disable-feeds-filter"),unload:()=>document.body.classList.add("disable-feeds-filter"),urlInclude:[/^https:\/\/t\.bilibili\.com\/$/],plugin:n,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file diff --git a/registry/dist/components/feeds/fixed-sidebars.js b/registry/dist/components/feeds/fixed-sidebars.js index b3273802d..56b485f44 100644 --- a/registry/dist/components/feeds/fixed-sidebars.js +++ b/registry/dist/components/feeds/fixed-sidebars.js @@ -6,4 +6,4 @@ e.i=function(n,t,i){"string"==typeof n&&( // eslint-disable-next-line no-param-reassign n=[[null,n,""]]);var o={};if(i)for(var r=0;rPromise.resolve().then(o.t.bind(o,871,23)),important:!0}],displayName:"强制固定动态侧栏",description:{"zh-CN":"强制固定动态主页的顶栏和所有侧栏."},tags:[componentsTags.feeds],entry:async()=>{const{disableProfilePopup:n}=await Promise.resolve().then(o.t.bind(o,30,23));n()},urlInclude:[/^https:\/\/t\.bilibili\.com\/$/],commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file +var a=this[r][0];null!=a&&(o[a]=!0)}for(var p=0;pPromise.resolve().then(o.t.bind(o,871,23)),important:!0}],displayName:"强制固定动态侧栏",description:{"zh-CN":"强制固定动态主页的顶栏和所有侧栏."},tags:[componentsTags.feeds],entry:async()=>{const{disableProfilePopup:n}=await Promise.resolve().then(o.t.bind(o,30,23));n()},urlInclude:[/^https:\/\/t\.bilibili\.com\/$/],commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file diff --git a/registry/dist/components/feeds/fold-comments.js b/registry/dist/components/feeds/fold-comments.js index b637f9e22..1af4c699c 100644 --- a/registry/dist/components/feeds/fold-comments.js +++ b/registry/dist/components/feeds/fold-comments.js @@ -6,4 +6,4 @@ n.i=function(e,t,o){"string"==typeof e&&( // eslint-disable-next-line no-param-reassign e=[[null,e,""]]);var r={};if(o)for(var c=0;cPromise.resolve().then(r.t.bind(r,895,23))),(async()=>{const{forEachFeedsCard:e}=await Promise.resolve().then(r.t.bind(r,23,23)),{childList:n}=await Promise.resolve().then(r.t.bind(r,156,23)),c=".bb-comment";e({added:e=>(e=>{const r=async(n,t)=>{const r=await(0,o.select)((()=>dq(n,c)));if(null!==r.querySelector(".fold-comment"))return;if(null===r)return void console.error("未找到评论区");const i=document.createElement("div");i.classList.add("fold-comment"),i.innerHTML="收起评论",i.addEventListener("click",(()=>{t(),e.scrollIntoView()})),r.insertAdjacentElement("beforeend",i)};if("v2"!==t.feedsCardsManager.managerType)if("v1"!==t.feedsCardsManager.managerType)console.warn("unrecognized card type",e);else{const t=e.querySelector(".panel-area");if(null===t)return void console.warn("panelArea not found",e);const o=()=>{e.querySelector(".button-bar").children[1]?.click()};if(0===t.childElementCount){const[e]=n(t,(n=>{n.length>0&&(r(t,o),e.disconnect())}))}else r(t,o)}else{const n=dq(e,c),t=()=>{dq(e,".bili-dyn-action.comment")?.click()};if(n)r(n,t);else{const[n]=(0,i.childListSubtree)(e,(()=>{dq(e,c)&&(r(e,t),n.disconnect())}))}}})(e.element)})})),commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),c=c.component}()})); \ No newline at end of file +var i=this[c][0];null!=i&&(r[i]=!0)}for(var s=0;sPromise.resolve().then(r.t.bind(r,895,23))),(async()=>{const{forEachFeedsCard:e}=await Promise.resolve().then(r.t.bind(r,23,23)),{childList:n}=await Promise.resolve().then(r.t.bind(r,156,23)),c=".bb-comment";e({added:e=>(e=>{const r=async(n,t)=>{const r=await(0,o.select)((()=>dq(n,c)));if(null!==r.querySelector(".fold-comment"))return;if(null===r)return void console.error("未找到评论区");const i=document.createElement("div");i.classList.add("fold-comment"),i.innerHTML="收起评论",i.addEventListener("click",(()=>{t(),e.scrollIntoView()})),r.insertAdjacentElement("beforeend",i)};if("v2"!==t.feedsCardsManager.managerType)if("v1"!==t.feedsCardsManager.managerType)console.warn("unrecognized card type",e);else{const t=e.querySelector(".panel-area");if(null===t)return void console.warn("panelArea not found",e);const o=()=>{e.querySelector(".button-bar").children[1]?.click()};if(0===t.childElementCount){const[e]=n(t,(n=>{n.length>0&&(r(t,o),e.disconnect())}))}else r(t,o)}else{const n=dq(e,c),t=()=>{dq(e,".bili-dyn-action.comment")?.click()};if(n)r(n,t);else{const[n]=(0,i.childListSubtree)(e,(()=>{dq(e,c)&&(r(e,t),n.disconnect())}))}}})(e.element)})})),commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),c=c.component}()})); \ No newline at end of file diff --git a/registry/dist/components/feeds/full-content.js b/registry/dist/components/feeds/full-content.js index 68bd67832..6b9403718 100644 --- a/registry/dist/components/feeds/full-content.js +++ b/registry/dist/components/feeds/full-content.js @@ -6,4 +6,4 @@ n.i=function(t,e,o){"string"==typeof t&&( // eslint-disable-next-line no-param-reassign t=[[null,t,""]]);var r={};if(o)for(var i=0;iPromise.resolve().then(r.t.bind(r,223,23)))),displayName:"展开动态内容",description:{"zh-CN":"不管内容多长, 总是完全展开动态的内容."},tags:[componentsTags.style,componentsTags.feeds],urlInclude:n.feedsUrlsWithoutDetail,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var c=this[i][0];null!=c&&(r[c]=!0)}for(var u=0;uPromise.resolve().then(r.t.bind(r,223,23)))),displayName:"展开动态内容",description:{"zh-CN":"不管内容多长, 总是完全展开动态的内容."},tags:[componentsTags.style,componentsTags.feeds],urlInclude:n.feedsUrlsWithoutDetail,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/feeds/full-title.js b/registry/dist/components/feeds/full-title.js index 6f725354c..103331012 100644 --- a/registry/dist/components/feeds/full-title.js +++ b/registry/dist/components/feeds/full-title.js @@ -6,4 +6,4 @@ e.i=function(t,n,o){"string"==typeof t&&( // eslint-disable-next-line no-param-reassign t=[[null,t,""]]);var r={};if(o)for(var i=0;iPromise.resolve().then(r.t.bind(r,856,23)))),displayName:"展开动态标题",description:{"zh-CN":"在顶栏的视频动态中, 无论标题多长总是完全展开."},tags:[componentsTags.feeds,componentsTags.style],commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var f=this[i][0];null!=f&&(r[f]=!0)}for(var u=0;uPromise.resolve().then(r.t.bind(r,856,23)))),displayName:"展开动态标题",description:{"zh-CN":"在顶栏的视频动态中, 无论标题多长总是完全展开."},tags:[componentsTags.feeds,componentsTags.style],commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/feeds/unfold.js b/registry/dist/components/feeds/unfold.js index 75b3a1208..f700cf3d2 100644 --- a/registry/dist/components/feeds/unfold.js +++ b/registry/dist/components/feeds/unfold.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["feeds/unfold"]=t():e["feeds/unfold"]=t()}(self,(function(){return function(){"use strict";var e,t,n={23:function(e){e.exports=coreApis.componentApis.feeds.api}},o={};function r(e){var t=o[e];if(void 0!==t)return t.exports;var f=o[e]={exports:{}};return n[e](f,f.exports,r),f.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var f=Object.create(null);r.r(f);var i={};e=e||[null,t({}),t([]),t(t)];for(var c=2&o&&n;"object"==typeof c&&!~e.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach((function(e){i[e]=function(){return n[e]}}));return i.default=function(){return n},r.d(f,i),f},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var f={};return function(){r.d(f,{component:function(){return t}});var e=coreApis.utils.urls;const t={name:"unfoldFeeds",displayName:"动态反折叠",tags:[componentsTags.feeds],description:{"zh-CN":"\n自动展开被折叠的动态.\n\n动态被折叠可能是因为:\n- 短时间内大量更新作品\n- 多人转发同一个作品\n- 被审核折叠\n"},urlInclude:e.feedsUrlsWithoutDetail,entry:async()=>{const{forEachFeedsCard:e}=await Promise.resolve().then(r.t.bind(r,23,23));e({added:e=>{dq(e.element,".fold-hoverable, .bili-dyn-item-fold")?.click()}})},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),f=f.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["feeds/unfold"]=t():e["feeds/unfold"]=t()}(self,(function(){return function(){"use strict";var e,t,n={23:function(e){e.exports=coreApis.componentApis.feeds.api}},o={};function r(e){var t=o[e];if(void 0!==t)return t.exports;var f=o[e]={exports:{}};return n[e](f,f.exports,r),f.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var f=Object.create(null);r.r(f);var i={};e=e||[null,t({}),t([]),t(t)];for(var u=2&o&&n;"object"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach((function(e){i[e]=function(){return n[e]}}));return i.default=function(){return n},r.d(f,i),f},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var f={};return function(){r.d(f,{component:function(){return t}});var e=coreApis.utils.urls;const t={name:"unfoldFeeds",displayName:"动态反折叠",tags:[componentsTags.feeds],description:{"zh-CN":"\n自动展开被折叠的动态.\n\n动态被折叠可能是因为:\n- 短时间内大量更新作品\n- 多人转发同一个作品\n- 被审核折叠\n"},urlInclude:e.feedsUrlsWithoutDetail,entry:async()=>{const{forEachFeedsCard:e}=await Promise.resolve().then(r.t.bind(r,23,23));e({added:e=>{dq(e.element,".fold-hoverable, .bili-dyn-item-fold")?.click()}})},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),f=f.component}()})); \ No newline at end of file diff --git a/registry/dist/components/live/auto-draw.js b/registry/dist/components/live/auto-draw.js index 651a0cdfe..4fc931eef 100644 --- a/registry/dist/components/live/auto-draw.js +++ b/registry/dist/components/live/auto-draw.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["live/auto-draw"]=t():e["live/auto-draw"]=t()}(self,(function(){return function(){"use strict";var e,t,n={156:function(e){e.exports=coreApis.observer},569:function(e){e.exports=coreApis.spinQuery}},o={};function r(e){var t=o[e];if(void 0!==t)return t.exports;var c=o[e]={exports:{}};return n[e](c,c.exports,r),c.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var c=Object.create(null);r.r(c);var i={};e=e||[null,t({}),t([]),t(t)];for(var u=2&o&&n;"object"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach((function(e){i[e]=function(){return n[e]}}));return i.default=function(){return n},r.d(c,i),c},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var c={};return function(){r.d(c,{component:function(){return t}});var e=coreApis.utils.urls;const t={name:"liveAutoDraw",displayName:"直播间自动抽奖",description:{"zh-CN":"在当前直播间有抽奖活动时, 自动点击抽奖按钮. 注意只适用于少量抽奖, 那种99+限量抽奖可能跟不上其他人的手速("},tags:[componentsTags.live],entry:async()=>{const{sq:e}=await Promise.resolve().then(r.t.bind(r,569,23)),{childListSubtree:t,attributes:n}=await Promise.resolve().then(r.t.bind(r,156,23)),o=await e((()=>dq(".chat-popups-section")),(e=>null!==e&&null===e.querySelector("chat-draw-area")));o?t(o,(()=>{console.log("draw button = ",dq(".chat-popups-section .draw>span:nth-child(3)"));const e=dq(".chat-popups-section .draw>span:nth-child(3)");if(null===e){const e=dq(".chat-popups-section .function-bar>span:nth-child(3)");if(null!==e){const[t]=n(e,(()=>{"none"!==e.style.display&&(t.disconnect(),e.click())}))}}null!==e&&e.click()})):console.warn("[自动领奖] 未能找到弹窗容器")},urlInclude:e.liveUrls,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),c=c.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["live/auto-draw"]=t():e["live/auto-draw"]=t()}(self,(function(){return function(){"use strict";var e,t,n={156:function(e){e.exports=coreApis.observer},569:function(e){e.exports=coreApis.spinQuery}},o={};function r(e){var t=o[e];if(void 0!==t)return t.exports;var i=o[e]={exports:{}};return n[e](i,i.exports,r),i.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var i=Object.create(null);r.r(i);var c={};e=e||[null,t({}),t([]),t(t)];for(var u=2&o&&n;"object"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach((function(e){c[e]=function(){return n[e]}}));return c.default=function(){return n},r.d(i,c),i},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){r.d(i,{component:function(){return t}});var e=coreApis.utils.urls;const t={name:"liveAutoDraw",displayName:"直播间自动抽奖",description:{"zh-CN":"在当前直播间有抽奖活动时, 自动点击抽奖按钮. 注意只适用于少量抽奖, 那种99+限量抽奖可能跟不上其他人的手速("},tags:[componentsTags.live],entry:async()=>{const{sq:e}=await Promise.resolve().then(r.t.bind(r,569,23)),{childListSubtree:t,attributes:n}=await Promise.resolve().then(r.t.bind(r,156,23)),o=await e((()=>dq(".chat-popups-section")),(e=>null!==e&&null===e.querySelector("chat-draw-area")));o?t(o,(()=>{console.log("draw button = ",dq(".chat-popups-section .draw>span:nth-child(3)"));const e=dq(".chat-popups-section .draw>span:nth-child(3)");if(null===e){const e=dq(".chat-popups-section .function-bar>span:nth-child(3)");if(null!==e){const[t]=n(e,(()=>{"none"!==e.style.display&&(t.disconnect(),e.click())}))}}null!==e&&e.click()})):console.warn("[自动领奖] 未能找到弹窗容器")},urlInclude:e.liveUrls,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/live/badge-helper.js b/registry/dist/components/live/badge-helper.js index ddd7c9fc2..8d4bf27da 100644 --- a/registry/dist/components/live/badge-helper.js +++ b/registry/dist/components/live/badge-helper.js @@ -9,4 +9,4 @@ e=[[null,e,""]]);var l={};if(o)for(var a=0;a({medalList:[],titleList:[],medalOpen:!1,titleOpen:!1}),async mounted(){await(async()=>{const e=this.loadMedalList();await r.Dx.getImageMap();const n=this.loadTitleList();return Promise.all([e,n])})(),this.updateColumnsCount()},methods:{updateColumnsCount(){const e=this.$el,n=Math.min(Math.ceil(this.medalList.length/12),6);e.style.setProperty("--medal-columns",n.toString());const t=Math.min(Math.ceil(this.titleList.length/12),6);e.style.setProperty("--title-columns",t.toString())},async loadMedalList(){this.medalList=(await(0,r.KK)()).sort((0,a.descendingSort)((e=>e.level))).slice(0,c.maxBadgeCount)},async loadTitleList(){this.titleList=(await(0,r.eB)()).slice(0,c.maxBadgeCount)},async toggleBadge(e,n){if(console.log(e),e.isActive)e.isActive=!1,await e.deactivate();else{const t=n.find((e=>e.isActive));t&&(t.isActive=!1),e.isActive=!0,await e.activate(),e instanceof r.j9&&(c.defaultMedalID=e.id)}e instanceof r.j9?await this.loadMedalList():e instanceof r.Dx&&await this.loadTitleList()}}}),d=t(379),p=t.n(d),u=t(256),b=t.n(u),f={insert:"head",singleton:!1};p()(b(),f),b().locals;var g=function(e,n,t,o,l,a,i,r){var c,s="function"==typeof e?e.options:e;if(n&&(s.render=n,s.staticRenderFns=t,s._compiled=!0),o&&(s.functional=!0),a&&(s._scopeId="data-v-"+a),i?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),l&&l.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},s._ssrRegister=c):l&&(c=r?function(){l.call(this,(s.functional?this.parent:this).$root.$options.shadowRoot)}:l),c)if(s.functional){s._injectStyles=c;var d=s.render;s.render=function(e,n){return c.call(n),d(e,n)}}else{var p=s.beforeCreate;s.beforeCreate=p?[].concat(p,c):[c]}return{exports:e,options:s}}(s,o,[],!1,null,null,null);g.options.__file="registry/lib/components/live/badge-helper/BadgeHelper.vue";var v=g.exports},663:function(e){"use strict";e.exports=coreApis.ajax},407:function(e){"use strict";e.exports=coreApis.settings},109:function(e){"use strict";e.exports=coreApis.utils}},o={};function l(e){var n=o[e];if(void 0!==n)return n.exports;var a=o[e]={id:e,exports:{}};return t[e](a,a.exports,l),a.exports}l.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(n,{a:n}),n},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},l.t=function(t,o){if(1&o&&(t=this(t)),8&o)return t;if("object"==typeof t&&t){if(4&o&&t.__esModule)return t;if(16&o&&"function"==typeof t.then)return t}var a=Object.create(null);l.r(a);var i={};e=e||[null,n({}),n([]),n(n)];for(var r=2&o&&t;"object"==typeof r&&!~e.indexOf(r);r=n(r))Object.getOwnPropertyNames(r).forEach((function(e){i[e]=function(){return t[e]}}));return i.default=function(){return t},l.d(a,i),a},l.d=function(e,n){for(var t in n)l.o(n,t)&&!l.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},l.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};return function(){"use strict";l.d(a,{component:function(){return t}});var e=l(109),n=l(930);const t={name:"badgeHelper",displayName:"直播勋章快速更换",description:{"zh-CN":"在直播区中, 可从功能面板中直接切换勋章和头衔. 默认加载 256 个 (同时也是上限), 可在选项中修改."},entry:()=>(async()=>{const{getUID:e}=await Promise.resolve().then(l.t.bind(l,109,23));if(!e())return;const{getComponentSettings:t}=await Promise.resolve().then(l.t.bind(l,407,23)),{options:o}=t("badgeHelper");if(!o.autoMatchMedal)return;const a=document.URL.match(/^https:\/\/live\.bilibili\.com\/(blanc\/)?([\d]+)/);if(!a)return;const i=parseInt(a[2]);if(Number.isNaN(i))return void console.warn("roomID not found");const r=await(0,n.KK)();if(!o.defaultMedalID){const e=r.find((e=>e.isActive));e&&(o.defaultMedalID=e.id,console.log(`set defaultMedalID to activeMedal (${e.id})`))}const c=o.defaultMedalID?r.find((e=>e.id===o.defaultMedalID)):r.find((e=>e.isActive)),s=r.find((e=>e.roomID===i));s?(await s.activate(),console.log(`activated matchMedal (${s.id})`)):c&&(await c.activate(),console.log(`no matchMedal, fallback to defaultMedal (${c.id})`))})(),reload:e.none,unload:e.none,tags:[componentsTags.live],widget:{component:()=>Promise.resolve().then(l.bind(l,995)).then((e=>e.default)),condition:()=>Boolean((0,e.getUID)())},options:{autoMatchMedal:{defaultValue:!0,displayName:"自动佩戴当前直播间勋章"},maxBadgeCount:{defaultValue:256,displayName:"最大加载数量",validator:(0,e.getNumberValidator)(1,256)},defaultMedalID:{displayName:"默认勋章ID",hidden:!0,defaultValue:0}},urlInclude:["//live.bilibili.com"],commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),a=a.component}()})); \ No newline at end of file +o=Boolean(window&&document&&document.all&&!window.atob)),o},a=function(){var e={};return function(n){if(void 0===e[n]){var t=document.querySelector(n);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}e[n]=t}return e[n]}}(),i=[];function r(e){for(var n=-1,t=0;t({medalList:[],titleList:[],medalOpen:!1,titleOpen:!1}),async mounted(){await(async()=>{const e=this.loadMedalList();await r.Dx.getImageMap();const n=this.loadTitleList();return Promise.all([e,n])})(),this.updateColumnsCount()},methods:{updateColumnsCount(){const e=this.$el,n=Math.min(Math.ceil(this.medalList.length/12),6);e.style.setProperty("--medal-columns",n.toString());const t=Math.min(Math.ceil(this.titleList.length/12),6);e.style.setProperty("--title-columns",t.toString())},async loadMedalList(){this.medalList=(await(0,r.KK)()).sort((0,a.descendingSort)((e=>e.level))).slice(0,c.maxBadgeCount)},async loadTitleList(){this.titleList=(await(0,r.eB)()).slice(0,c.maxBadgeCount)},async toggleBadge(e,n){if(console.log(e),e.isActive)e.isActive=!1,await e.deactivate();else{const t=n.find((e=>e.isActive));t&&(t.isActive=!1),e.isActive=!0,await e.activate(),e instanceof r.j9&&(c.defaultMedalID=e.id)}e instanceof r.j9?await this.loadMedalList():e instanceof r.Dx&&await this.loadTitleList()}}}),d=t(379),p=t.n(d),u=t(256),b=t.n(u),f={insert:"head",singleton:!1};p()(b(),f),b().locals;var g=function(e,n,t,o,l,a,i,r){var c,s="function"==typeof e?e.options:e;if(n&&(s.render=n,s.staticRenderFns=t,s._compiled=!0),o&&(s.functional=!0),a&&(s._scopeId="data-v-"+a),i?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),l&&l.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},s._ssrRegister=c):l&&(c=r?function(){l.call(this,(s.functional?this.parent:this).$root.$options.shadowRoot)}:l),c)if(s.functional){s._injectStyles=c;var d=s.render;s.render=function(e,n){return c.call(n),d(e,n)}}else{var p=s.beforeCreate;s.beforeCreate=p?[].concat(p,c):[c]}return{exports:e,options:s}}(s,o,[],!1,null,null,null);g.options.__file="registry/lib/components/live/badge-helper/BadgeHelper.vue";var v=g.exports},663:function(e){"use strict";e.exports=coreApis.ajax},407:function(e){"use strict";e.exports=coreApis.settings},109:function(e){"use strict";e.exports=coreApis.utils}},o={};function l(e){var n=o[e];if(void 0!==n)return n.exports;var a=o[e]={id:e,exports:{}};return t[e](a,a.exports,l),a.exports}l.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(n,{a:n}),n},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},l.t=function(t,o){if(1&o&&(t=this(t)),8&o)return t;if("object"==typeof t&&t){if(4&o&&t.__esModule)return t;if(16&o&&"function"==typeof t.then)return t}var a=Object.create(null);l.r(a);var i={};e=e||[null,n({}),n([]),n(n)];for(var r=2&o&&t;"object"==typeof r&&!~e.indexOf(r);r=n(r))Object.getOwnPropertyNames(r).forEach((function(e){i[e]=function(){return t[e]}}));return i.default=function(){return t},l.d(a,i),a},l.d=function(e,n){for(var t in n)l.o(n,t)&&!l.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},l.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};return function(){"use strict";l.d(a,{component:function(){return t}});var e=l(109),n=l(930);const t={name:"badgeHelper",displayName:"直播勋章快速更换",description:{"zh-CN":"在直播区中, 可从功能面板中直接切换勋章和头衔. 默认加载 256 个 (同时也是上限), 可在选项中修改."},entry:()=>(async()=>{const{getUID:e}=await Promise.resolve().then(l.t.bind(l,109,23));if(!e())return;const{getComponentSettings:t}=await Promise.resolve().then(l.t.bind(l,407,23)),{options:o}=t("badgeHelper");if(!o.autoMatchMedal)return;const a=document.URL.match(/^https:\/\/live\.bilibili\.com\/(blanc\/)?([\d]+)/);if(!a)return;const i=parseInt(a[2]);if(Number.isNaN(i))return void console.warn("roomID not found");const r=await(0,n.KK)();if(!o.defaultMedalID){const e=r.find((e=>e.isActive));e&&(o.defaultMedalID=e.id,console.log(`set defaultMedalID to activeMedal (${e.id})`))}const c=o.defaultMedalID?r.find((e=>e.id===o.defaultMedalID)):r.find((e=>e.isActive)),s=r.find((e=>e.roomID===i));s?(await s.activate(),console.log(`activated matchMedal (${s.id})`)):c&&(await c.activate(),console.log(`no matchMedal, fallback to defaultMedal (${c.id})`))})(),reload:e.none,unload:e.none,tags:[componentsTags.live],widget:{component:()=>Promise.resolve().then(l.bind(l,995)).then((e=>e.default)),condition:()=>Boolean((0,e.getUID)())},options:{autoMatchMedal:{defaultValue:!0,displayName:"自动佩戴当前直播间勋章"},maxBadgeCount:{defaultValue:256,displayName:"最大加载数量",validator:(0,e.getNumberValidator)(1,256)},defaultMedalID:{displayName:"默认勋章ID",hidden:!0,defaultValue:0}},urlInclude:["//live.bilibili.com"],commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),a=a.component}()})); \ No newline at end of file diff --git a/registry/dist/components/live/danmaku-sendbar.js b/registry/dist/components/live/danmaku-sendbar.js index 289321cc3..3ad42bdd7 100644 --- a/registry/dist/components/live/danmaku-sendbar.js +++ b/registry/dist/components/live/danmaku-sendbar.js @@ -9,4 +9,4 @@ e=[[null,e,""]]);var o={};if(r)for(var a=0;a({originalTextArea:null,sendButton:null,value:""}),async mounted(){const e=await(0,o.select)(i.M6),n=await(0,o.select)(i.Jd);if(!e||!n)throw new Error(`[danmakuSendBar] ref elements not found. originalTextArea = ${null===e} sendButton = ${null===n}`);if(this.originalTextArea=e,this.sendButton=n,this.value=e.value,e.addEventListener("input",this.listenChange),e.addEventListener("change",this.listenChange),!l){const n=Object.getOwnPropertyDescriptors(HTMLTextAreaElement.prototype).value;Object.defineProperty(e,"value",{...n,set(t){n.set?.call(this,t),(0,a.raiseEvent)(e,"input")}}),l=!0}},beforeDestroy(){this.originalTextArea.removeEventListener("input",this.listenChange),this.originalTextArea.removeEventListener("change",this.listenChange)},methods:{updateValue(e){this.originalTextArea.value=e,(0,a.raiseEvent)(this.originalTextArea,"input")},send(){this.sendButton.disabled||(this.value="",this.sendButton.click())},listenChange(e){this.value=e.target.value}}}),s=t(379),c=t.n(s),d=t(667),f=t.n(d),p={insert:"head",singleton:!1};c()(f(),p),f().locals;var v=function(e,n,t,r,o,a,i,l){var u,s="function"==typeof e?e.options:e;if(n&&(s.render=n,s.staticRenderFns=t,s._compiled=!0),r&&(s.functional=!0),a&&(s._scopeId="data-v-"+a),i?(u=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},s._ssrRegister=u):o&&(u=l?function(){o.call(this,(s.functional?this.parent:this).$root.$options.shadowRoot)}:o),u)if(s.functional){s._injectStyles=u;var c=s.render;s.render=function(e,n){return u.call(n),c(e,n)}}else{var d=s.beforeCreate;s.beforeCreate=d?[].concat(d,u):[u]}return{exports:e,options:s}}(u,r,[],!1,null,null,null);v.options.__file="registry/lib/components/live/danmaku-sendbar/DanmakuSendbar.vue";var m=v.exports},109:function(e){"use strict";e.exports=coreApis.utils}},r={};function o(e){var n=r[e];if(void 0!==n)return n.exports;var a=r[e]={id:e,exports:{}};return t[e](a,a.exports,o),a.exports}o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,{a:n}),n},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},o.t=function(t,r){if(1&r&&(t=this(t)),8&r)return t;if("object"==typeof t&&t){if(4&r&&t.__esModule)return t;if(16&r&&"function"==typeof t.then)return t}var a=Object.create(null);o.r(a);var i={};e=e||[null,n({}),n([]),n(n)];for(var l=2&r&&t;"object"==typeof l&&!~e.indexOf(l);l=n(l))Object.getOwnPropertyNames(l).forEach((function(e){i[e]=function(){return t[e]}}));return i.default=function(){return t},o.d(a,i),a},o.d=function(e,n){for(var t in n)o.o(n,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};return function(){"use strict";o.d(a,{component:function(){return i}});var e=coreApis.componentApis.live.liveControlBar,n=o(109),t=coreApis.utils.urls,r=o(281);const i={name:"liveDanmakuSendbar",displayName:"直播弹幕发送栏",tags:[componentsTags.live],description:{"zh-CN":"在直播的网页全屏和全屏模式状态下, 在底部显示弹幕栏."},entry:async()=>{if(!(0,n.getUID)())return;let t;(0,e.waitForControlBar)({callback:async e=>{const n=dq(e,r.xO);if(!n)throw new Error("[danmakuSendBar] leftController not found");if(!dq(e,".danmaku-send-bar")){if(!t){const{mountVueComponent:e}=await Promise.resolve().then(o.t.bind(o,109,23)),n=await Promise.resolve().then(o.bind(o,83));t=e(n).$el}n.insertAdjacentElement("afterend",t)}}})},reload:()=>document.body.classList.remove("danmaku-send-bar-unloaded"),unload:()=>document.body.classList.add("danmaku-send-bar-unloaded"),urlInclude:t.liveUrls,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),a=a.component}()})); \ No newline at end of file +r=Boolean(window&&document&&document.all&&!window.atob)),r},a=function(){var e={};return function(n){if(void 0===e[n]){var t=document.querySelector(n);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}e[n]=t}return e[n]}}(),i=[];function l(e){for(var n=-1,t=0;t({originalTextArea:null,sendButton:null,value:""}),async mounted(){const e=await(0,o.select)(i.M6),n=await(0,o.select)(i.Jd);if(!e||!n)throw new Error(`[danmakuSendBar] ref elements not found. originalTextArea = ${null===e} sendButton = ${null===n}`);if(this.originalTextArea=e,this.sendButton=n,this.value=e.value,e.addEventListener("input",this.listenChange),e.addEventListener("change",this.listenChange),!l){const n=Object.getOwnPropertyDescriptors(HTMLTextAreaElement.prototype).value;Object.defineProperty(e,"value",{...n,set(t){n.set?.call(this,t),(0,a.raiseEvent)(e,"input")}}),l=!0}},beforeDestroy(){this.originalTextArea.removeEventListener("input",this.listenChange),this.originalTextArea.removeEventListener("change",this.listenChange)},methods:{updateValue(e){this.originalTextArea.value=e,(0,a.raiseEvent)(this.originalTextArea,"input")},send(){this.sendButton.disabled||(this.value="",this.sendButton.click())},listenChange(e){this.value=e.target.value}}}),s=t(379),c=t.n(s),d=t(667),f=t.n(d),p={insert:"head",singleton:!1};c()(f(),p),f().locals;var v=function(e,n,t,r,o,a,i,l){var u,s="function"==typeof e?e.options:e;if(n&&(s.render=n,s.staticRenderFns=t,s._compiled=!0),r&&(s.functional=!0),a&&(s._scopeId="data-v-"+a),i?(u=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},s._ssrRegister=u):o&&(u=l?function(){o.call(this,(s.functional?this.parent:this).$root.$options.shadowRoot)}:o),u)if(s.functional){s._injectStyles=u;var c=s.render;s.render=function(e,n){return u.call(n),c(e,n)}}else{var d=s.beforeCreate;s.beforeCreate=d?[].concat(d,u):[u]}return{exports:e,options:s}}(u,r,[],!1,null,null,null);v.options.__file="registry/lib/components/live/danmaku-sendbar/DanmakuSendbar.vue";var m=v.exports},109:function(e){"use strict";e.exports=coreApis.utils}},r={};function o(e){var n=r[e];if(void 0!==n)return n.exports;var a=r[e]={id:e,exports:{}};return t[e](a,a.exports,o),a.exports}o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,{a:n}),n},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},o.t=function(t,r){if(1&r&&(t=this(t)),8&r)return t;if("object"==typeof t&&t){if(4&r&&t.__esModule)return t;if(16&r&&"function"==typeof t.then)return t}var a=Object.create(null);o.r(a);var i={};e=e||[null,n({}),n([]),n(n)];for(var l=2&r&&t;"object"==typeof l&&!~e.indexOf(l);l=n(l))Object.getOwnPropertyNames(l).forEach((function(e){i[e]=function(){return t[e]}}));return i.default=function(){return t},o.d(a,i),a},o.d=function(e,n){for(var t in n)o.o(n,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};return function(){"use strict";o.d(a,{component:function(){return i}});var e=coreApis.componentApis.live.liveControlBar,n=o(109),t=coreApis.utils.urls,r=o(281);const i={name:"liveDanmakuSendbar",displayName:"直播弹幕发送栏",tags:[componentsTags.live],description:{"zh-CN":"在直播的网页全屏和全屏模式状态下, 在底部显示弹幕栏."},entry:async()=>{if(!(0,n.getUID)())return;let t;(0,e.waitForControlBar)({callback:async e=>{const n=dq(e,r.xO);if(!n)throw new Error("[danmakuSendBar] leftController not found");if(!dq(e,".danmaku-send-bar")){if(!t){const{mountVueComponent:e}=await Promise.resolve().then(o.t.bind(o,109,23)),n=await Promise.resolve().then(o.bind(o,83));t=e(n).$el}n.insertAdjacentElement("afterend",t)}}})},reload:()=>document.body.classList.remove("danmaku-send-bar-unloaded"),unload:()=>document.body.classList.add("danmaku-send-bar-unloaded"),urlInclude:t.liveUrls,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),a=a.component}()})); \ No newline at end of file diff --git a/registry/dist/components/live/download-records.js b/registry/dist/components/live/download-records.js index 969fda7ae..bb9e3ff39 100644 --- a/registry/dist/components/live/download-records.js +++ b/registry/dist/components/live/download-records.js @@ -1 +1 @@ -!function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports["live/download-records"]=o():e["live/download-records"]=o()}(self,(function(){return function(){"use strict";var e={420:function(e,o,t){t.r(o),t.d(o,{default:function(){return l}});var n=function(){var e=this,o=e.$createElement;return(e._self._c||o)("DefaultWidget",{staticClass:"download-live-records",attrs:{disabled:e.disabled,name:"下载录像",icon:"mdi-download"},on:{click:function(o){return e.download()}}})};n._withStripped=!0;var r=coreApis.ui,i=coreApis.ajax,s=coreApis.toast,d=coreApis.utils.log;var a=function(e,o,t,n,r,i,s,d){var a,l="function"==typeof e?e.options:e;if(o&&(l.render=o,l.staticRenderFns=t,l._compiled=!0),n&&(l.functional=!0),i&&(l._scopeId="data-v-"+i),s?(a=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=a):r&&(a=d?function(){r.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:r),a)if(l.functional){l._injectStyles=a;var c=l.render;l.render=function(e,o){return a.call(o),c(e,o)}}else{var u=l.beforeCreate;l.beforeCreate=u?[].concat(u,a):[a]}return{exports:e,options:l}}(Vue.extend({components:{DefaultWidget:r.DefaultWidget},data:()=>({disabled:!1}),methods:{async download(){try{this.disabled=!0;const e=document.URL.replace(window.location.search,"").match(/^https:\/\/live\.bilibili\.com\/record\/(.+)/);if(!e)return void(0,d.logError)(new Error(`获取录像ID失败: ${document.URL}`));const o=e[1],t=await(0,i.getJson)(`https://api.live.bilibili.com/xlive/web-room/v1/record/getLiveRecordUrl?rid=${o}&platform=html5`);if(0!==t.code)return void(0,d.logError)(new Error(`获取录像链接失败: ${t.message}`));const n=t.data.list.map((e=>e.url));s.Toast.success(n.map((e=>`${e}`)).join("\n"),"下载录像")}finally{this.disabled=!1}}}}),n,[],!1,null,null,null);a.options.__file="registry/lib/components/live/download-records/DownloadRecords.vue";var l=a.exports}},o={};function t(n){var r=o[n];if(void 0!==r)return r.exports;var i=o[n]={exports:{}};return e[n](i,i.exports,t),i.exports}t.d=function(e,o){for(var n in o)t.o(o,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:o[n]})},t.o=function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return function(){t.d(n,{component:function(){return e}});const e={name:"downloadLiveRecords",displayName:"直播录像下载",description:{"zh-CN":"在直播录像页面 `live.bilibili.com/record/` 中添加下载支持."},tags:[componentsTags.live],entry:none,widget:{component:()=>Promise.resolve().then(t.bind(t,420)).then((e=>e.default))},urlInclude:[/^https:\/\/live\.bilibili\.com\/record\/(.+)/],commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),n=n.component}()})); \ No newline at end of file +!function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports["live/download-records"]=o():e["live/download-records"]=o()}(self,(function(){return function(){"use strict";var e={420:function(e,o,t){t.r(o),t.d(o,{default:function(){return l}});var n=function(){var e=this,o=e.$createElement;return(e._self._c||o)("DefaultWidget",{staticClass:"download-live-records",attrs:{disabled:e.disabled,name:"下载录像",icon:"mdi-download"},on:{click:function(o){return e.download()}}})};n._withStripped=!0;var r=coreApis.ui,i=coreApis.ajax,s=coreApis.toast,a=coreApis.utils.log;var d=function(e,o,t,n,r,i,s,a){var d,l="function"==typeof e?e.options:e;if(o&&(l.render=o,l.staticRenderFns=t,l._compiled=!0),n&&(l.functional=!0),i&&(l._scopeId="data-v-"+i),s?(d=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=d):r&&(d=a?function(){r.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:r),d)if(l.functional){l._injectStyles=d;var c=l.render;l.render=function(e,o){return d.call(o),c(e,o)}}else{var u=l.beforeCreate;l.beforeCreate=u?[].concat(u,d):[d]}return{exports:e,options:l}}(Vue.extend({components:{DefaultWidget:r.DefaultWidget},data:()=>({disabled:!1}),methods:{async download(){try{this.disabled=!0;const e=document.URL.replace(window.location.search,"").match(/^https:\/\/live\.bilibili\.com\/record\/(.+)/);if(!e)return void(0,a.logError)(new Error(`获取录像ID失败: ${document.URL}`));const o=e[1],t=await(0,i.getJson)(`https://api.live.bilibili.com/xlive/web-room/v1/record/getLiveRecordUrl?rid=${o}&platform=html5`);if(0!==t.code)return void(0,a.logError)(new Error(`获取录像链接失败: ${t.message}`));const n=t.data.list.map((e=>e.url));s.Toast.success(n.map((e=>`${e}`)).join("\n"),"下载录像")}finally{this.disabled=!1}}}}),n,[],!1,null,null,null);d.options.__file="registry/lib/components/live/download-records/DownloadRecords.vue";var l=d.exports}},o={};function t(n){var r=o[n];if(void 0!==r)return r.exports;var i=o[n]={exports:{}};return e[n](i,i.exports,t),i.exports}t.d=function(e,o){for(var n in o)t.o(o,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:o[n]})},t.o=function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return function(){t.d(n,{component:function(){return e}});const e={name:"downloadLiveRecords",displayName:"直播录像下载",description:{"zh-CN":"在直播录像页面 `live.bilibili.com/record/` 中添加下载支持."},tags:[componentsTags.live],entry:none,widget:{component:()=>Promise.resolve().then(t.bind(t,420)).then((e=>e.default))},urlInclude:[/^https:\/\/live\.bilibili\.com\/record\/(.+)/],commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),n=n.component}()})); \ No newline at end of file diff --git a/registry/dist/components/live/gift-box.js b/registry/dist/components/live/gift-box.js index db5ecbcb5..f427c666e 100644 --- a/registry/dist/components/live/gift-box.js +++ b/registry/dist/components/live/gift-box.js @@ -6,4 +6,4 @@ t.i=function(n,e,r){"string"==typeof n&&( // eslint-disable-next-line no-param-reassign n=[[null,n,""]]);var i={};if(r)for(var o=0;o{for(const r of e){const e=t(r);null!==e&&n(e)}}));return e?.observe(document.body,{attributes:!0,attributeFilter:["class"],attributeOldValue:!0}),()=>e.disconnect()}((e=>{e?function(n){const t=dq(".control-area");t&&w(t,n)}(n):function(n,t){t.appendChild(n)}(n,t)}))}async function v(){(0,i.addStyle)(a(),f);const n=await async function(){const n=await(0,t.select)(".z-gift-package",{maxRetry:15,queryInterval:200});return n||console.warn("[liveGiftBox] the parent element of gift button not found"),n}();p=n?.children[0],n&&p&&(s=b(p,n),d=function(n){const t=dq("#live-player");if(!t)return console.warn("[liveGiftBox] live player not found"),null;function e(){dq(".full-win-gift-btn-wrapper .wrap")&&n.click()}return t.addEventListener("mouseleave",e),()=>t.removeEventListener("mouseleave",e)}(p))}const h={name:f,displayName:"直播全屏包裹",description:{"zh-CN":"在直播的网页全屏(不能是全屏)模式下往控制栏添加包裹按钮."},urlInclude:o.liveUrls,tags:[componentsTags.live],entry:function(){(0,n.waitForControlBar)({callback:function(n){const t=g();p&&t&&w(n,p)}}),v()},reload:v,unload:function(){d?.call(null),d=null,s?.call(null),s=null,p=null,(0,i.removeStyle)(f)},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file +var l=this[o][0];null!=l&&(i[l]=!0)}for(var a=0;a{for(const r of e){const e=t(r);null!==e&&n(e)}}));return e?.observe(document.body,{attributes:!0,attributeFilter:["class"],attributeOldValue:!0}),()=>e.disconnect()}((e=>{e?function(n){const t=dq(".control-area");t&&w(t,n)}(n):function(n,t){t.appendChild(n)}(n,t)}))}async function v(){(0,i.addStyle)(a(),c);const n=await async function(){const n=await(0,t.select)(".z-gift-package",{maxRetry:15,queryInterval:200});return n||console.warn("[liveGiftBox] the parent element of gift button not found"),n}();p=n?.children[0],n&&p&&(s=b(p,n),d=function(n){const t=dq("#live-player");if(!t)return console.warn("[liveGiftBox] live player not found"),null;function e(){dq(".full-win-gift-btn-wrapper .wrap")&&n.click()}return t.addEventListener("mouseleave",e),()=>t.removeEventListener("mouseleave",e)}(p))}const h={name:c,displayName:"直播全屏包裹",description:{"zh-CN":"在直播的网页全屏(不能是全屏)模式下往控制栏添加包裹按钮."},urlInclude:o.liveUrls,tags:[componentsTags.live],entry:function(){(0,n.waitForControlBar)({callback:function(n){const t=g();p&&t&&w(n,p)}}),v()},reload:v,unload:function(){d?.call(null),d=null,s?.call(null),s=null,p=null,(0,i.removeStyle)(c)},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file diff --git a/registry/dist/components/live/home-mute.js b/registry/dist/components/live/home-mute.js index 7d2f5c092..6b6106eff 100644 --- a/registry/dist/components/live/home-mute.js +++ b/registry/dist/components/live/home-mute.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["live/home-mute"]=t():e["live/home-mute"]=t()}(self,(function(){return function(){"use strict";var e,t,n={569:function(e){e.exports=coreApis.spinQuery},109:function(e){e.exports=coreApis.utils}},o={};function r(e){var t=o[e];if(void 0!==t)return t.exports;var i=o[e]={exports:{}};return n[e](i,i.exports,r),i.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var i=Object.create(null);r.r(i);var c={};e=e||[null,t({}),t([]),t(t)];for(var u=2&o&&n;"object"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach((function(e){c[e]=function(){return n[e]}}));return c.default=function(){return n},r.d(i,c),i},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){r.d(i,{component:function(){return o}});var e=coreApis.settings,t=coreApis.style;const n=/^https:\/\/live\.bilibili\.com\/(index\.html)?$/,o={name:"liveHomeMute",displayName:"直播首页静音",tags:[componentsTags.live],description:{"zh-CN":"禁止直播首页的推荐直播间自动开始播放."},entry:async({metadata:n})=>{const o="hide-home-live";(0,e.addComponentListener)(`${n.name}.hide`,(e=>{e?(0,t.addStyle)(".player-area-ctnr,#player-header { display: none !important }",o):(0,t.removeStyle)(o)}),!0)},options:{hide:{displayName:"隐藏首页直播板块",defaultValue:!1}},urlInclude:[n],plugin:{displayName:"直播首页静音 - 提前执行",description:{"zh-CN":"提前执行代码以尽快静音."},async setup(){const{matchUrlPattern:e}=await Promise.resolve().then(r.t.bind(r,109,23));if(!e(n))return;const{select:t}=await Promise.resolve().then(r.t.bind(r,569,23));t("video").then((e=>{e.muted=!0}))}},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["live/home-mute"]=t():e["live/home-mute"]=t()}(self,(function(){return function(){"use strict";var e,t,n={569:function(e){e.exports=coreApis.spinQuery},109:function(e){e.exports=coreApis.utils}},o={};function r(e){var t=o[e];if(void 0!==t)return t.exports;var i=o[e]={exports:{}};return n[e](i,i.exports,r),i.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var i=Object.create(null);r.r(i);var a={};e=e||[null,t({}),t([]),t(t)];for(var c=2&o&&n;"object"==typeof c&&!~e.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach((function(e){a[e]=function(){return n[e]}}));return a.default=function(){return n},r.d(i,a),i},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){r.d(i,{component:function(){return o}});var e=coreApis.settings,t=coreApis.style;const n=/^https:\/\/live\.bilibili\.com\/(index\.html)?$/,o={name:"liveHomeMute",displayName:"直播首页静音",tags:[componentsTags.live],description:{"zh-CN":"禁止直播首页的推荐直播间自动开始播放."},entry:async({metadata:n})=>{const o="hide-home-live";(0,e.addComponentListener)(`${n.name}.hide`,(e=>{e?(0,t.addStyle)(".player-area-ctnr,#player-header { display: none !important }",o):(0,t.removeStyle)(o)}),!0)},options:{hide:{displayName:"隐藏首页直播板块",defaultValue:!1}},urlInclude:[n],plugin:{displayName:"直播首页静音 - 提前执行",description:{"zh-CN":"提前执行代码以尽快静音."},async setup(){const{matchUrlPattern:e}=await Promise.resolve().then(r.t.bind(r,109,23));if(!e(n))return;const{select:t}=await Promise.resolve().then(r.t.bind(r,569,23));t("video").then((e=>{e.muted=!0}))}},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/live/pip.js b/registry/dist/components/live/pip.js index 84418b969..11532eccb 100644 --- a/registry/dist/components/live/pip.js +++ b/registry/dist/components/live/pip.js @@ -9,4 +9,4 @@ e=[[null,e,""]]);var o={};if(r)for(var i=0;iPromise.resolve().then(n.bind(n,573)).then((e=>e.default)),condition:()=>"requestPictureInPicture"in HTMLVideoElement.prototype},urlInclude:e.liveUrls,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file +r=Boolean(window&&document&&document.all&&!window.atob)),r},i=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),c=[];function a(e){for(var t=-1,n=0;nPromise.resolve().then(n.bind(n,573)).then((e=>e.default)),condition:()=>"requestPictureInPicture"in HTMLVideoElement.prototype},urlInclude:e.liveUrls,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file diff --git a/registry/dist/components/live/remove-watermark.js b/registry/dist/components/live/remove-watermark.js index cf163cdf9..d61350520 100644 --- a/registry/dist/components/live/remove-watermark.js +++ b/registry/dist/components/live/remove-watermark.js @@ -6,4 +6,4 @@ t.i=function(e,n,o){"string"==typeof e&&( // eslint-disable-next-line no-param-reassign e=[[null,e,""]]);var r={};if(o)for(var i=0;iPromise.resolve().then(r.t.bind(r,980,23)))),displayName:"删除直播水印",tags:[componentsTags.live,componentsTags.style],description:{"zh-CN":"删除观看直播时角落的水印."},urlInclude:t.liveUrls,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var c=this[i][0];null!=c&&(r[c]=!0)}for(var u=0;uPromise.resolve().then(r.t.bind(r,980,23)))),displayName:"删除直播水印",tags:[componentsTags.live,componentsTags.style],description:{"zh-CN":"删除观看直播时角落的水印."},urlInclude:t.liveUrls,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/live/showgirl.js b/registry/dist/components/live/showgirl.js index c6aef6947..3ee540b95 100644 --- a/registry/dist/components/live/showgirl.js +++ b/registry/dist/components/live/showgirl.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["live/showgirl"]=t():e["live/showgirl"]=t()}(self,(function(){return function(){"use strict";var e,t,n={163:function(e){e.exports=coreApis.style}},o={};function r(e){var t=o[e];if(void 0!==t)return t.exports;var i=o[e]={exports:{}};return n[e](i,i.exports,r),i.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var i=Object.create(null);r.r(i);var c={};e=e||[null,t({}),t([]),t(t)];for(var u=2&o&&n;"object"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach((function(e){c[e]=function(){return n[e]}}));return c.default=function(){return n},r.d(i,c),i},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){r.d(i,{component:function(){return o}});var e=coreApis.utils.urls;const t="dpi-live-showgirl",n=async()=>{const{addStyle:e}=await Promise.resolve().then(r.t.bind(r,163,23));null===document.getElementById(t)&&e(`\n .haruna-ctnr,\n .avatar-btn\n {\n transform: scale(${1/window.devicePixelRatio}) !important;\n }\n `,t)},o={name:"dpiLiveShowgirl",displayName:"直播看板娘高 DPI 适配",enabledByDefault:window.devicePixelRatio>1,description:{"zh-CN":"根据屏幕 DPI 缩放直播看板娘的大小, 避免像素锯齿."},tags:[componentsTags.live,componentsTags.style],entry:n,reload:n,unload:()=>{document.getElementById(t)?.remove()},urlInclude:e.liveUrls,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["live/showgirl"]=t():e["live/showgirl"]=t()}(self,(function(){return function(){"use strict";var e,t,n={163:function(e){e.exports=coreApis.style}},o={};function r(e){var t=o[e];if(void 0!==t)return t.exports;var i=o[e]={exports:{}};return n[e](i,i.exports,r),i.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var i=Object.create(null);r.r(i);var c={};e=e||[null,t({}),t([]),t(t)];for(var u=2&o&&n;"object"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach((function(e){c[e]=function(){return n[e]}}));return c.default=function(){return n},r.d(i,c),i},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){r.d(i,{component:function(){return o}});var e=coreApis.utils.urls;const t="dpi-live-showgirl",n=async()=>{const{addStyle:e}=await Promise.resolve().then(r.t.bind(r,163,23));null===document.getElementById(t)&&e(`\n .haruna-ctnr,\n .avatar-btn\n {\n transform: scale(${1/window.devicePixelRatio}) !important;\n }\n `,t)},o={name:"dpiLiveShowgirl",displayName:"直播看板娘高 DPI 适配",enabledByDefault:window.devicePixelRatio>1,description:{"zh-CN":"根据屏幕 DPI 缩放直播看板娘的大小, 避免像素锯齿."},tags:[componentsTags.live,componentsTags.style],entry:n,reload:n,unload:()=>{document.getElementById(t)?.remove()},urlInclude:e.liveUrls,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/live/side-bar.js b/registry/dist/components/live/side-bar.js index 5e437bb13..f5042600e 100644 --- a/registry/dist/components/live/side-bar.js +++ b/registry/dist/components/live/side-bar.js @@ -4,6 +4,6 @@ r.exports=function(r){var n=[];return n.toString=function(){return this.map((fun // eslint-disable-next-line func-names n.i=function(r,t,e){"string"==typeof r&&( // eslint-disable-next-line no-param-reassign -r=[[null,r,""]]);var o={};if(e)for(var i=0;iPromise.resolve().then(o.t.bind(o,984,23))}],displayName:"自动收起直播侧栏",description:'自动收起直播间右边偏下的侧栏. (上面有个 "关注" 的面板)',tags:[componentsTags.live,componentsTags.style],urlInclude:r.liveUrls,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var i=this[a][0];null!=i&&(o[i]=!0)}for(var c=0;cPromise.resolve().then(o.t.bind(o,984,23))}],displayName:"自动收起直播侧栏",description:'自动收起直播间右边偏下的侧栏. (上面有个 "关注" 的面板)',tags:[componentsTags.live,componentsTags.style],urlInclude:r.liveUrls,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),a=a.component}()})); \ No newline at end of file diff --git a/registry/dist/components/style/always-show-duration.js b/registry/dist/components/style/always-show-duration.js index 84e35690b..ea28ae87b 100644 --- a/registry/dist/components/style/always-show-duration.js +++ b/registry/dist/components/style/always-show-duration.js @@ -6,4 +6,4 @@ e.i=function(t,n,o){"string"==typeof t&&( // eslint-disable-next-line no-param-reassign t=[[null,t,""]]);var r={};if(o)for(var i=0;iPromise.resolve().then(r.t.bind(r,539,23)))),displayName:"总是显示视频时长",description:{"zh-CN":"使脚本展示的各种视频卡片中的时长无需鼠标经过也能一直显示."},tags:[componentsTags.video,componentsTags.style],commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var u=this[i][0];null!=u&&(r[u]=!0)}for(var a=0;aPromise.resolve().then(r.t.bind(r,539,23)))),displayName:"总是显示视频时长",description:{"zh-CN":"使脚本展示的各种视频卡片中的时长无需鼠标经过也能一直显示."},tags:[componentsTags.video,componentsTags.style],commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/style/auto-hide-sidebar.js b/registry/dist/components/style/auto-hide-sidebar.js index 2b7745aac..04744836c 100644 --- a/registry/dist/components/style/auto-hide-sidebar.js +++ b/registry/dist/components/style/auto-hide-sidebar.js @@ -6,4 +6,4 @@ e.i=function(t,n,o){"string"==typeof t&&( // eslint-disable-next-line no-param-reassign t=[[null,t,""]]);var r={};if(o)for(var i=0;i{(0,t.addComponentListener)("autoHideSidebar.triggerWidth",(t=>{document.documentElement.style.setProperty("--auto-hide-sidebar-width",`${t}px`)}),!0)},displayName:"自动隐藏侧栏",instantStyles:[{name:"autoHideSidebar",style:()=>Promise.resolve().then(r.t.bind(r,879,23)),important:!0}],tags:[componentsTags.style,componentsTags.general],options:{triggerWidth:{defaultValue:8,displayName:"触发区域宽度 (px)",validator:(0,e.getNumberValidator)(1,1e3)}},description:{"zh-CN":"自动隐藏脚本的侧栏 (功能和设置图标). 设置面板停靠在右侧时不建议使用, 因为网页的滚动条会占用右边缘的触发区域."},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var a=this[i][0];null!=a&&(r[a]=!0)}for(var s=0;s{(0,t.addComponentListener)("autoHideSidebar.triggerWidth",(t=>{document.documentElement.style.setProperty("--auto-hide-sidebar-width",`${t}px`)}),!0)},displayName:"自动隐藏侧栏",instantStyles:[{name:"autoHideSidebar",style:()=>Promise.resolve().then(r.t.bind(r,879,23)),important:!0}],tags:[componentsTags.style,componentsTags.general],options:{triggerWidth:{defaultValue:8,displayName:"触发区域宽度 (px)",validator:(0,e.getNumberValidator)(1,1e3)}},description:{"zh-CN":"自动隐藏脚本的侧栏 (功能和设置图标). 设置面板停靠在右侧时不建议使用, 因为网页的滚动条会占用右边缘的触发区域."},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/style/custom-navbar.js b/registry/dist/components/style/custom-navbar.js index fce465a11..40ea76c77 100644 --- a/registry/dist/components/style/custom-navbar.js +++ b/registry/dist/components/style/custom-navbar.js @@ -25,4 +25,4 @@ t=[[null,t,""]]);var a={};if(i)for(var r=0;rPromise.resolve().then(n.bind(n,2542)).then((t=>t.default)),lazy:!1},l="https://www.bilibili.com/v/popular/rank/",p={name:"ranking",displayName:"排行",content:"排行",href:`${l}all`,active:document.URL.startsWith(l),touch:!0,popupContent:()=>Promise.resolve().then(n.bind(n,2632)).then((t=>t.default))},d={name:"userInfo",displayName:"个人信息",content:()=>Promise.resolve().then(n.bind(n,399)).then((t=>t.default)),href:(0,a.getUID)()?"https://space.bilibili.com":null,touch:!0,popupContent:()=>Promise.resolve().then(n.bind(n,7437)).then((t=>t.default)),lazy:!1,noPopupPadding:!0,boundingWidth:240},u={name:"logo",displayName:"Logo",content:()=>Promise.resolve().then(n.bind(n,969)).then((t=>t.default)),href:"https://www.bilibili.com/"},m={name:"home",displayName:"主站",content:"主站",href:"https://www.bilibili.com/",touch:!0,boundingWidth:366,popupContent:()=>Promise.resolve().then(n.bind(n,1742)).then((t=>t.default))},f=t=>({...t,name:`${t.iframeName}Iframe`,content:t.displayName,touch:!0,popupContent:()=>Promise.resolve().then(n.bind(n,4666)).then((t=>t.default)),boundingWidth:t.width,noPopupPadding:!0,transparentPopup:!0}),h=f({src:"https://www.bilibili.com/page-proxy/game-nav.html",href:"https://game.bilibili.com/",width:680,height:260,lazy:!0,displayName:"游戏中心",iframeName:"games"}),v=f({src:"https://live.bilibili.com/blackboard/dropdown-menu.html",href:"https://live.bilibili.com",width:528,height:266,lazy:!0,displayName:"直播",iframeName:"lives"}),b=f({src:"https://manga.bilibili.com/eden/bilibili-nav-panel.html",href:"https://manga.bilibili.com",width:720,height:266,lazy:!0,displayName:"漫画",iframeName:"manga"}),g=new Array(4).fill(0).map(((t,e)=>({name:`blank${e+1}`,displayName:`弹性空白${e+1}`,content:"",disabled:!0,flexStyle:"1 0 auto"}))),x=t=>({...t,content:t.displayName,active:document.URL.startsWith(t.href)}),y=(x({name:"ranking",displayName:"排行",href:"https://www.bilibili.com/v/popular/rank/all"}),x({name:"bangumi",displayName:"番剧",href:"https://www.bilibili.com/anime/"})),w=x({name:"drawing",displayName:"相簿",href:"https://h.bilibili.com"}),_=x({name:"music",displayName:"音频",href:"https://www.bilibili.com/audio/home/"}),C=x({name:"shop",displayName:"会员购",href:"https://show.bilibili.com"}),k=x({name:"match",displayName:"赛事",href:"https://www.bilibili.com/v/game/match/"}),S={name:"upload",displayName:"投稿",content:()=>Promise.resolve().then(n.bind(n,6426)).then((t=>t.default)),touch:!0,href:"https://member.bilibili.com/platform/upload/video/frame",popupContent:()=>Promise.resolve().then(n.bind(n,4037)).then((t=>t.default))},V={name:"search",displayName:"搜索",content:()=>Promise.resolve().then(n.bind(n,5700)).then((t=>t.default)),disabled:!0},N={name:"feeds",displayName:"动态",content:"动态",href:"https://t.bilibili.com/",touch:!0,active:"https://t.bilibili.com/"===document.URL.replace(window.location.search,""),contentMounted:async t=>{const{getNotifyCount:e}=await Promise.resolve().then(n.t.bind(n,3864,23));await(async()=>{const n=await e();t.notifyCount=n})()},loginRequired:!0,popupContent:()=>Promise.resolve().then(n.bind(n,4196)).then((t=>t.default)),boundingWidth:300,noPopupPadding:!0};var I=n(2194);const P={name:"watchlater",displayName:"稍后再看",content:"稍后再看",href:"https://www.bilibili.com/watchlater/#/list",touch:!0,active:document.URL.startsWith("https://www.bilibili.com/watchlater/"),loginRequired:!0,boundingWidth:380,noPopupPadding:!0,popupContent:()=>Promise.resolve().then(n.bind(n,5878)).then((t=>t.default))},L=`https://space.bilibili.com/${(0,a.getUID)()}/favlist`,O={name:"favorites",displayName:"收藏",content:"收藏",href:L,touch:!0,active:document.URL.replace(/\?.*$/,"")===L,loginRequired:!0,boundingWidth:380,noPopupPadding:!0,popupContent:()=>Promise.resolve().then(n.bind(n,3995)).then((t=>t.default))},z="https://www.bilibili.com/account/history",j={name:"history",displayName:"历史",content:"历史",href:z,touch:!0,active:document.URL.replace(/\?.*$/,"")===z,loginRequired:!0,boundingWidth:350,noPopupPadding:!0,popupContent:()=>Promise.resolve().then(n.bind(n,712)).then((t=>t.default))},[$,E,T,D]=g;var M=n(12),A=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{directives:[{name:"show",rawName:"v-show",value:!t.item.hidden,expression:"!item.hidden"}],staticClass:"custom-navbar-item",class:{disabled:t.item.disabled,active:t.item.active},style:{flex:t.item.flexStyle,order:t.item.order},attrs:{role:"listitem","data-name":t.item.name}},[t.item.href?n("CustomNavbarLink",{staticClass:"main-content",attrs:{"new-tab":t.newTab,href:!t.item.active&&!t.item.touch&&t.item.href},on:{mouseover:function(e){return e.target!==e.currentTarget?null:t.requestPopup()}}},["string"==typeof t.item.content?[t._v("\n "+t._s(t.item.content)+"\n ")]:n(t.item.content,{tag:"component",attrs:{item:t.item}})],2):n("div",{staticClass:"main-content",on:{click:function(e){!t.item.active&&!t.item.touch&&t.item.clickAction&&t.item.clickAction(e)}}},["string"==typeof t.item.content?[t._v("\n "+t._s(t.item.content)+"\n ")]:n(t.item.content,{tag:"component",attrs:{item:t.item}})],2),t._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:!t.item.active,expression:"!item.active"}],staticClass:"notify-count"},[t.item.notifyCount>0?[t._v("\n "+t._s(t.item.notifyCount)+"\n ")]:t._e()],2),t._v(" "),n("div",{ref:"popupContainer",staticClass:"popup-container"},[t.item.popupContent?n("div",{staticClass:"popup",class:t.popupClasses(t.item)},[t.item.requestedPopup?n(t.item.popupContent,{ref:"popup",tag:"component",attrs:{container:t.$refs.popupContainer,item:t.item}}):t._e()],1):t._e()]),t._v(" "),n("div",{staticClass:"active-bar"})],1)};A._withStripped=!0;var B=n(407),U=function(){var t=this,e=t.$createElement;return(t._self._c||e)("a",t._g(t._b({attrs:{target:t.newTab?"_blank":null}},"a",t.$attrs,!1),t.$listeners),[t._t("default")],2)};U._withStripped=!0;var F=Vue.extend({props:{newTab:{type:Boolean,default:!0}}}),R=n(1900),W=(0,R.Z)(F,U,[],!1,null,null,null);W.options.__file="registry/lib/components/style/custom-navbar/CustomNavbarLink.vue";var q=W.exports;const Z=t=>{const{name:e}=t,n=M.kO.navbarOptions;return e in n.openInNewTabOverrides?n.openInNewTabOverrides[e]:n.openInNewTab};var H=Vue.extend({components:{CustomNavbarLink:q},props:{item:{type:M.kO,required:!0}},data(){return{newTab:Z(this.item),cancelListeners:none}},mounted(){const t=this.item;t.contentMounted?.(t);const e=()=>{this.updateLinkOption()};(0,B.addComponentListener)("customNavbar.openInNewTabOverrides",e),(0,B.addComponentListener)("customNavbar.openInNewTab",e),this.cancelListeners=()=>{(0,B.removeComponentListener)("customNavbar.openInNewTabOverrides",e),(0,B.removeComponentListener)("customNavbar.openInNewTab",e)}},beforeDestroy(){this.cancelListeners?.()},methods:{updateLinkOption(){this.newTab=Z(this.item)},popupClasses:t=>({transparent:t.transparentPopup,"no-padding":t.noPopupPadding,"iframe-container":t.iframeName}),triggerPopupShow:lodash.debounce((function(t){const{popup:e}=this.$refs;if(!e)return;const n=M.kO.navbarOptions.refreshOnPopup&&e.popupRefresh&&"function"==typeof e.popupRefresh;!t&&n&&e.popupRefresh(),e.popupShow&&"function"==typeof e.popupShow&&e.popupShow()}),300),async requestPopup(){const{item:t}=this;if(!t.disabled){if(!t.requestedPopup)return t.requestedPopup=!0,console.log("requestedPopup",!0),void this.triggerPopupShow(!0);console.log("requestedPopup",!1),this.triggerPopupShow(!1)}}}}),J=n(3379),Y=n.n(J),X=n(9065),G=n.n(X),Q={insert:"head",singleton:!1},K=(Y()(G(),Q),G().locals,(0,R.Z)(H,A,[],!1,null,null,null));K.options.__file="registry/lib/components/style/custom-navbar/CustomNavbarItem.vue";var tt=K.exports,et=coreApis.spinQuery,nt=coreApis.utils.urls;const[it]=(0,o.registerAndGetData)(M.rm,[$,u,m,y,p,w,_,h,v,C,k,b,E,V,T,d,c,N,I.V,P,O,j,S,D]),[at]=(0,o.registerAndGetData)(M.Je,{items:[]}),rt=()=>{const t=Boolean((0,a.getUID)()),e=it.filter((e=>!(e.loginRequired&&!t))).map((t=>new M.kO(t))).sort((0,r.ascendingSort)((t=>t.order)));return at.items=e,e};var ot=Vue.extend({components:{NavbarItem:tt},data:()=>({initItems:it,items:rt(),styles:[]}),watch:{initItems(){this.items=rt()}},async mounted(){await(async t=>{(0,nt.matchCurrentPage)(nt.mainSiteUrls)&&(0,et.sq)((()=>dqa(".animated-banner video, .banner-img img, #banner_link, .international-header .bili-banner, .bili-header__banner")),(t=>0!==t.length&&!!t.some((t=>!!t.style.backgroundImage||!!t.src)))).then((()=>{(0,B.addComponentListener)("customNavbar.transparent",(e=>{(0,B.getComponentSettings)("hideBanner").enabled||t.toggleStyle(e,"transparent")}),!0),(0,B.addComponentListener)("hideBanner",(e=>{(0,B.getComponentSettings)("customNavbar").options.transparent&&t.toggleStyle(!e,"transparent")}))}))})(this)},methods:{toggleStyle(t,e){t&&!this.styles.includes(e)?this.styles.push(e):!t&&this.styles.includes(e)&&this.styles.splice(this.styles.indexOf(e),1)}}}),st=n(5173),ct=n.n(st),lt={insert:"head",singleton:!1},pt=(Y()(ct(),lt),ct().locals,(0,R.Z)(ot,i,[],!1,null,null,null));pt.options.__file="registry/lib/components/style/custom-navbar/CustomNavbar.vue";var dt=pt.exports},3995:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return I}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"favorites-list"},[n("div",{staticClass:"header"},[n("FavoritesFolderSelect",{model:{value:t.folder,callback:function(e){t.folder=e},expression:"folder"}}),t._v(" "),n("div",{staticClass:"search"},[n("TextBox",{attrs:{linear:"",placeholder:"搜索"},model:{value:t.search,callback:function(e){t.search=e},expression:"search"}})],1),t._v(" "),n("a",{staticClass:"operation",attrs:{href:t.playLink,title:"播放全部",target:"_blank"}},[n("VButton",{staticClass:"play-all",attrs:{round:""}},[n("VIcon",{attrs:{icon:"mdi-play",size:18}})],1)],1),t._v(" "),n("a",{staticClass:"operation",attrs:{href:t.moreLink,title:"查看更多",target:"_blank"}},[n("VButton",{staticClass:"more-info",attrs:{round:""}},[n("VIcon",{attrs:{icon:"mdi-dots-horizontal",size:18}})],1)],1)],1),t._v(" "),n("div",{staticClass:"content"},[t.loading&&!t.searching?n("VLoading"):t.loading||t.canLoadMore||0!==t.filteredCards.length?n("transition-group",{staticClass:"cards",attrs:{name:"cards",tag:"div"}},[t._l(t.filteredCards,(function(e){return n("div",{key:e.id,staticClass:"favorite-card"},[n("a",{staticClass:"cover-container",attrs:{target:"_blank",href:"https://www.bilibili.com/video/"+e.bvid}},[n("DpiImage",{staticClass:"cover",attrs:{src:e.coverUrl,size:{width:130,height:85}}}),t._v(" "),n("div",{staticClass:"floating duration"},[t._v(t._s(e.durationText))]),t._v(" "),n("div",{staticClass:"floating favorite-time"},[t._v(t._s(e.favoriteTime))])],1),t._v(" "),n("a",{staticClass:"title",attrs:{target:"_blank",href:"https://www.bilibili.com/video/"+e.bvid,title:e.title}},[t._v(t._s(e.title))]),t._v(" "),e.upID?n("a",{staticClass:"up",attrs:{target:"_blank",href:"https://space.bilibili.com/"+e.upID,title:e.upName}},[n("DpiImage",{staticClass:"face",attrs:{"placeholder-image":"",src:e.upFaceUrl,size:20}}),t._v(" "),n("div",{staticClass:"name"},[t._v(t._s(e.upName))])],1):n("div",{staticClass:"description"},[t._v("\n "+t._s(e.description)+"\n ")])])})),t._v(" "),t.canLoadMore?n("ScrollTrigger",{key:"scroll-trigger",on:{trigger:function(e){return t.scrollTrigger()}}}):t._e()],2):n("VEmpty")],1)])};i._withStripped=!0;var a=n(8643),r=n(8117),o=n(3109),s=n(3663),c=n(5729),l=n(407);const p={id:0,name:"加载中...",count:0};var d=function(){var t=this,e=t.$createElement;return(t._self._c||e)("VDropdown",{staticClass:"favorites-folder-select",attrs:{round:"",items:t.folders,"key-mapper":function(t){return t.id},value:t.folder},on:{change:function(e){return t.change(e)}},scopedSlots:t._u([{key:"item",fn:function(e){var n=e.item;return[t._v("\n "+t._s(n.name)+"\n ")]}}])})};d._withStripped=!0;const u=(0,l.getComponentSettings)("customNavbar").options;var m=Vue.extend({components:{VDropdown:a.VDropdown},model:{prop:"folder",event:"change"},props:{folder:{type:Object,required:!0}},data:()=>({folders:[]}),async created(){const t=(0,o.getUID)();if(!t)return;const e=`https://api.bilibili.com/medialist/gateway/base/created?pn=1&ps=100&up_mid=${t}&is_space=0`,n=await(0,s.getJsonWithCredentials)(e);if(0!==n.code)throw new Error(`获取收藏夹列表失败: ${n.message}`);if(this.folders=lodash.get(n,"data.list",[]).map((t=>({id:t.id,name:t.title,count:t.media_count}))),this.folders.length>0&&this.folder.id===p.id){const{lastFavoriteFolder:t}=u,e=this.folders.find((e=>e.id===t));e?this.$emit("change",e):this.$emit("change",this.folders[0])}},methods:{change(t){u.lastFavoriteFolder=t.id,this.$emit("change",t)}}}),f=n(1900),h=(0,f.Z)(m,d,[],!1,null,null,null);h.options.__file="registry/lib/components/style/custom-navbar/favorites/FavoritesFolderSelect.vue";var v=h.exports,b=n(3037);const g=(0,l.getComponentSettings)("customNavbar").options,x=t=>!!g.showDeadVideos||9!==t.attr&&1!==t.attr,y=t=>({id:t.id,aid:t.id,bvid:t.bvid,coverUrl:t.cover.replace("http:","https:"),favoriteTimestamp:1e3*t.fav_time,favoriteTime:(0,r.formatDate)(new Date(1e3*t.fav_time)),title:t.title,description:t.intro,duration:t.duration,durationText:(0,r.formatDuration)(t.duration),playCount:t.cnt_info.play,danmakuCount:t.cnt_info.danmaku,upName:t.upper.name,upFaceUrl:t.upper.face.replace("http:","https:"),upID:t.upper.mid});var w=Vue.extend({components:{FavoritesFolderSelect:v,VLoading:a.VLoading,VEmpty:a.VEmpty,VIcon:a.VIcon,VButton:a.VButton,TextBox:a.TextBox,DpiImage:a.DpiImage,ScrollTrigger:a.ScrollTrigger},mixins:[b.u],data:()=>({loading:!0,cards:[],filteredCards:[],page:1,hasMorePage:!0,searchPage:1,hasMoreSearchPage:!0,search:"",folder:p}),computed:{searching(){return""!==this.search},moreLink(){const{id:t}=this.folder;return 0===t?`https://space.bilibili.com/${(0,o.getUID)()}/favlist`:`https://space.bilibili.com/${(0,o.getUID)()}/favlist?fid=${t}`},playLink(){const{id:t}=this.folder;if(0!==t)return`https://www.bilibili.com/medialist/play/ml${t}`},canLoadMore(){return this.searching?this.hasMoreSearchPage:this.hasMorePage}},watch:{folder(){this.changeList()},search(t){""!==t?(t=t.toLowerCase(),this.hasMoreSearchPage=!0,this.searchPage=1,this.filteredCards=this.cards.filter((e=>e.title.toLowerCase().includes(t)||e.upName.toLowerCase().includes(t)))):this.filteredCards=this.cards}},methods:{async getCards(){const t=`https://api.bilibili.com/x/v3/fav/resource/list?media_id=${this.folder.id}&pn=${this.page}&ps=20&keyword=&order=mtime&type=0&tid=0&platform=web`,e=await(0,s.getJsonWithCredentials)(t);if(0!==e.code)throw new Error(`加载收藏夹内容失败: ${e.message}`);return e.data.medias?e.data.medias.filter(x).map(y):[]},async changeList(){if(0!==this.folder.id)try{this.search="",this.cards=[],this.loading=!0,this.searchPage=1,this.hasMoreSearchPage=!0,this.page=1,this.hasMorePage=!0,this.cards=await this.getCards(),this.filteredCards=this.cards}catch(t){(0,c.logError)(t)}finally{this.loading=!1}},async loadNextPage(){try{this.page++;const t=await this.getCards();this.cards.push(...t),this.hasMorePage=0===t.length||this.cards.lengtht.id));this.filteredCards=a;const r=n.length+i.length===0,o=i.length<20;if(r||o)return void(this.hasMoreSearchPage=!1)}catch(t){console.error(t)}finally{this.loading=!1}}),200),scrollTrigger(){this.searching?this.debounceSearchAllList():this.loadNextPage()}}}),_=n(3379),C=n.n(_),k=n(6410),S=n.n(k),V={insert:"head",singleton:!1},N=(C()(S(),V),S().locals,(0,f.Z)(w,i,[],!1,null,null,null));N.options.__file="registry/lib/components/style/custom-navbar/favorites/NavbarFavorites.vue";var I=N.exports},4196:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return v}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"navbar-feeds"},[n("TabControl",{ref:"tabControl",attrs:{tabs:t.tabs,"more-link":"https://t.bilibili.com/"},scopedSlots:t._u([{key:"more-link",fn:function(){return[t._v("\n 所有动态\n "),n("VIcon",{attrs:{icon:"feeds",size:18}})]},proxy:!0}])})],1)};i._withStripped=!0;var a=n(8643),r=n(2023),o=n(3864),s=n(3037);const c=[{name:"video",displayName:"视频",component:()=>Promise.resolve().then(n.bind(n,7747)).then((t=>t.default)),activeLink:"https://t.bilibili.com/?tab=8",count:0},{name:"bangumi",displayName:"番剧",component:()=>Promise.resolve().then(n.bind(n,9312)).then((t=>t.default)),activeLink:"https://t.bilibili.com/?tab=512,4097,4098,4099,4100,4101",count:0},{name:"column",displayName:"专栏",component:()=>Promise.resolve().then(n.bind(n,1728)).then((t=>t.default)),activeLink:"https://t.bilibili.com/?tab=64",count:0},{name:"live",displayName:"直播",component:()=>Promise.resolve().then(n.bind(n,1141)).then((t=>t.default)),activeLink:"https://link.bilibili.com/p/center/index#/user-center/follow/1",count:0}];var l=Vue.extend({components:{TabControl:a.TabControl,VIcon:a.VIcon},mixins:[s.u],data:()=>({tabs:c}),mounted(){this.refreshNotifyCount()},methods:{popupShow(){this.item.notifyCount=0},async refreshNotifyCount(){const{tabControl:t}=this.$refs;c.forEach((async e=>{if(t.selectedTab===e)return;if("live"===e.name)return;const n=await(0,o.getNotifyCount)(r.feedsCardTypes[e.name].id.toString());e.count=n,console.log(e)}))}}}),p=n(3379),d=n.n(p),u=n(3030),m=n.n(u),f={insert:"head",singleton:!1},h=(d()(m(),f),m().locals,(0,n(1900).Z)(l,i,[],!1,null,null,null));h.options.__file="registry/lib/components/style/custom-navbar/feeds/NavbarFeeds.vue";var v=h.exports},9312:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return v}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"bangumi-feeds"},[t.loading?n("VLoading"):t.loading||0!==t.cards.length?[n("div",{staticClass:"bangumi-feeds-content"},t._l(t.cards,(function(t){return n("BangumiCard",{key:t.id,attrs:{"is-new":t.new,data:t}})})),1),t._v(" "),t.hasMorePage?n("ScrollTrigger",{on:{trigger:function(e){return t.nextPage()}}}):t._e()]:n("VEmpty")],2)};i._withStripped=!0;var a=n(2023),r=n(3864),o=coreApis.componentApis.feeds.BangumiCard,s=n.n(o),c=n(8281),l=Vue.extend({components:{BangumiCard:s()},mixins:[(0,c.I)(a.feedsCardTypes.bangumi,(t=>{const e=JSON.parse(t.card);return{id:t.desc.dynamic_id_str,title:e.apiSeasonInfo.title,coverUrl:e.apiSeasonInfo.cover,epCoverUrl:e.cover,epTitle:e.new_desc,url:e.url,get new(){return(0,r.isNewID)(this.id)}}}))]}),p=n(3379),d=n.n(p),u=n(4728),m=n.n(u),f={insert:"head",singleton:!1},h=(d()(m(),f),m().locals,(0,n(1900).Z)(l,i,[],!1,null,null,null));h.options.__file="registry/lib/components/style/custom-navbar/feeds/tabs/BangumiFeeds.vue";var v=h.exports},1728:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return v}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"column-feeds"},[t.loading?n("VLoading"):t.loading||0!==t.cards.length?[n("div",{staticClass:"columns-feeds-content"},t._l(t.cards,(function(t){return n("ColumnCard",{key:t.id,attrs:{"is-new":t.new,data:t}})})),1),t._v(" "),t.hasMorePage?n("ScrollTrigger",{on:{trigger:function(e){return t.nextPage()}}}):t._e()]:n("VEmpty")],2)};i._withStripped=!0;var a=n(2023),r=n(3864),o=coreApis.componentApis.feeds.ColumnCard,s=n.n(o),c=n(8281),l=Vue.extend({components:{ColumnCard:s()},mixins:[(0,c.I)(a.feedsCardTypes.column,(t=>{const e=JSON.parse(t.card);return{id:t.desc.dynamic_id_str,cvID:e.id,title:e.title,upName:e.author.name,upFaceUrl:e.author.face,upID:e.author.mid,description:e.summary,covers:e.image_urls,originalCovers:e.origin_image_urls,get new(){return(0,r.isNewID)(this.id)}}}))]}),p=n(3379),d=n.n(p),u=n(8994),m=n.n(u),f={insert:"head",singleton:!1},h=(d()(m(),f),m().locals,(0,n(1900).Z)(l,i,[],!1,null,null,null));h.options.__file="registry/lib/components/style/custom-navbar/feeds/tabs/ColumnFeeds.vue";var v=h.exports},1141:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return m}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"live-feeds"},[t.loading?n("VLoading"):t.loading||0!==t.cards.length?t._e():n("VEmpty"),t._v(" "),n("transition-group",{staticClass:"live-feeds-content",attrs:{name:"cards",tag:"div"}},t._l(t.cards,(function(e){return n("a",{key:e.id,staticClass:"live-card",attrs:{target:"_blank",href:e.url}},[n("div",{staticClass:"face-container"},[n("DpiImage",{staticClass:"face",attrs:{size:48,src:e.upFaceUrl}})],1),t._v(" "),n("div",{staticClass:"live-info"},[n("div",{staticClass:"live-title",attrs:{title:e.title}},[t._v(t._s(e.title))]),t._v(" "),n("div",{staticClass:"live-name",attrs:{title:e.name}},[t._v(t._s(e.upName))])])])})),0)],1)};i._withStripped=!0;var a=n(8643),r=n(3663),o=Vue.extend({components:{VLoading:a.VLoading,VEmpty:a.VEmpty,DpiImage:a.DpiImage},data:()=>({loading:!0,rawItems:[],hasMorePage:!0}),computed:{cards(){return this.rawItems.map((t=>({id:t.roomid,title:t.title,upFaceUrl:t.face,upName:t.uname,url:t.link})))}},async created(){const[t]=(0,r.responsiveGetPages)({api:t=>(0,r.getJsonWithCredentials)(`https://api.live.bilibili.com/relation/v1/feed/feed_list?page=${t}&pagesize=24`),getList:t=>lodash.get(t,"data.list",[]),getTotal:t=>lodash.get(t,"data.results",0)});this.rawItems=await t,this.loading=!1}}),s=n(3379),c=n.n(s),l=n(2422),p=n.n(l),d={insert:"head",singleton:!1},u=(c()(p(),d),p().locals,(0,n(1900).Z)(o,i,[],!1,null,null,null));u.options.__file="registry/lib/components/style/custom-navbar/feeds/tabs/LiveFeeds.vue";var m=u.exports},7747:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return x}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"video-feeds"},[t.loading?n("VLoading"):t.loading||0!==t.cards.length?[n("div",{staticClass:"video-feeds-content"},[n("transition-group",{staticClass:"left-column",attrs:{name:"cards",tag:"div"}},t._l(t.columnedCards.left,(function(t){return n("VideoCard",{key:t.id,attrs:{orientation:"vertical","is-new":t.new,"show-stats":!1,data:t}})})),1),t._v(" "),n("transition-group",{staticClass:"right-column",attrs:{name:"cards",tag:"div"}},t._l(t.columnedCards.right,(function(t){return n("VideoCard",{key:t.id,attrs:{orientation:"vertical","is-new":t.new,"show-stats":!1,data:t}})})),1)],1),t._v(" "),t.hasMorePage?n("ScrollTrigger",{on:{trigger:function(e){return t.nextPage()}}}):t._e()]:n("VEmpty")],2)};i._withStripped=!0;var a=n(8117),r=n(3864),o=n(2023),s=coreApis.componentApis.feeds.VideoCard,c=n.n(s),l=n(8281);const p=t=>{const e=Number(new Date),n=new Date(t),i=[n.getHours(),n.getMinutes(),n.getSeconds()].map((t=>t.toString().padStart(2,"0"))).join(":");let a;return a=new Date(e).getFullYear()!==n.getFullYear()?[n.getFullYear(),n.getMonth()+1,n.getDate()]:[n.getMonth()+1,n.getDate()],`${a.map((t=>t.toString().padStart(2,"0"))).join("-")} ${i}`},d=t=>{const e=Number(new Date);if(e-864e5t.toString().padStart(2,"0"))).join("-")}`};var u=Vue.extend({components:{VideoCard:c()},mixins:[(0,l.I)(o.feedsCardTypes.video,(t=>{const e=JSON.parse(t.card);return{id:t.desc.dynamic_id_str,aid:e.aid,bvid:t.desc.bvid,videoUrl:`https://www.bilibili.com/${t.desc.bvid}`,coverUrl:e.pic,title:e.title,duration:e.duration,durationText:(0,a.formatDuration)(e.duration),description:e.desc,pubTime:p(1e3*e.pubdate),pubTimeText:d(1e3*e.pubdate),upFaceUrl:t.desc.user_profile.info.face,upName:t.desc.user_profile.info.uname,upID:t.desc.user_profile.info.uid,watchlater:!0,playCount:(0,a.formatCount)(e.stat.view),get new(){return(0,r.isNewID)(this.id)}}}))],computed:{columnedCards(){const{cards:t}=this;return{left:t.filter(((t,e)=>e%2==0)),right:t.filter(((t,e)=>e%2!=0))}}},methods:{onCardsUpdate:t=>(0,o.groupVideoFeeds)(t)}}),m=n(3379),f=n.n(m),h=n(4812),v=n.n(h),b={insert:"head",singleton:!1},g=(f()(v(),b),v().locals,(0,n(1900).Z)(u,i,[],!1,null,"6e663916",null));g.options.__file="registry/lib/components/style/custom-navbar/feeds/tabs/VideoFeeds.vue";var x=g.exports},712:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return _}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"custom-navbar-history-list"},[n("div",{staticClass:"header"},[n("div",{staticClass:"header-row"},[n("div",{staticClass:"search"},[n("TextBox",{attrs:{placeholder:"搜索",linear:""},model:{value:t.search,callback:function(e){t.search=e},expression:"search"}})],1),t._v(" "),n("div",{staticClass:"operations"},[n("a",{staticClass:"operation",attrs:{target:"_blank",href:"https://www.bilibili.com/account/history"}},[n("VButton",{attrs:{title:"查看更多",round:""}},[n("VIcon",{attrs:{icon:"mdi-dots-horizontal",size:18}})],1)],1)])]),t._v(" "),n("div",{staticClass:"header-row"},[n("div",{staticClass:"row-title"},[t._v("\n 过滤:\n ")]),t._v(" "),n("div",{staticClass:"type-filters"},t._l(t.types,(function(e){return n("div",{key:e.name,staticClass:"type-filter"},[n("VButton",{class:{checked:e.checked},attrs:{round:"",title:(e.checked?"不显示":"显示")+e.displayName},on:{click:function(n){return t.toggleTypeFilter(e)}}},[n("VIcon",{attrs:{icon:e.icon,size:18}}),t._v("\n "+t._s(e.displayName)+"\n ")],1)],1)})),0)])]),t._v(" "),n("div",{staticClass:"content"},[t.loading?n("VLoading"):t.loading||0!==t.groups.length?n("transition-group",{staticClass:"cards",attrs:{name:"cards",tag:"div"}},[t._l(t.groups,(function(e){return n("div",{key:e.name,staticClass:"time-group"},[n("div",{staticClass:"time-group-name"},[t._v("\n "+t._s(e.name)+"\n ")]),t._v(" "),n("transition-group",{staticClass:"time-group-items",attrs:{name:"time-group",tag:"div"}},t._l(e.items,(function(e){return n("div",{key:e.id,staticClass:"time-group-item"},[n("a",{staticClass:"cover-container",attrs:{target:"_blank",href:e.url}},[n("DpiImage",{staticClass:"cover",attrs:{src:e.cover,size:{width:160,height:110},"placeholder-image":""}}),t._v(" "),e.progress?n("div",{staticClass:"progress",style:{width:100*e.progress+"%"}}):t._e(),t._v(" "),e.progressText?n("div",{staticClass:"floating progress-number"},[t._v(t._s(e.progress>=1?"已看完":e.progressText))]):t._e(),t._v(" "),void 0!==e.liveStatus?n("div",{staticClass:"floating duration live-status",class:{on:1===e.liveStatus}},[t._v(t._s(1===e.liveStatus?"直播中":"未开播"))]):t._e(),t._v(" "),e.durationText?n("div",{staticClass:"floating duration"},[t._v(t._s(e.durationText))]):t._e()],1),t._v(" "),n("a",{staticClass:"title",attrs:{target:"_blank",href:e.url,title:e.title}},[t._v(t._s(e.title||e.upName+"的直播间"))]),t._v(" "),n("a",{staticClass:"up",attrs:{target:"_blank",href:"pgc"===e.type?e.url:"https://space.bilibili.com/"+e.upID,title:e.upName}},[e.upFaceUrl?n("DpiImage",{staticClass:"up-face",attrs:{size:18,src:e.upFaceUrl}}):t._e(),t._v(" "),n("div",{staticClass:"up-name"},[t._v(t._s(e.upName))])],1),t._v(" "),e.timeText?n("div",{staticClass:"time",attrs:{title:new Date(e.viewAt).toLocaleString()}},[t._v("\n "+t._s(e.timeText)+"\n ")]):t._e()])})),0)],1)})),t._v(" "),t.canNextPage?n("ScrollTrigger",{key:"scroll-trigger",on:{trigger:function(e){return t.nextPage()}}}):t._e()],2):n("VEmpty")],1)])};i._withStripped=!0;var a=n(4522),r=n(8643),o=n(3037),s=n(3663),c=n(3109),l=n(8117);let p;!function(t){t.Video="archive",t.Live="live",t.Article="article",t.Bangumi="pgc"}(p||(p={}));const d=[{name:p.Video,displayName:"视频",icon:"mdi-play-circle-outline",checked:!0},{name:p.Bangumi,displayName:"番剧",icon:"mdi-television-classic",checked:!0},{name:p.Live,displayName:"直播",icon:"mdi-video-wireless-outline",checked:!0},{name:p.Article,displayName:"专栏",icon:"mdi-newspaper-variant-outline",checked:!0}],u=()=>{const t=new Date,e=Number(new Date(t.getFullYear(),t.getMonth(),t.getDate())),n=864e5;return{now:t,today:e,oneDay:n,yesterday:e-n,lastWeek:e-7*n}},m=t=>{const{yesterday:e}=u();return Number(t)>=e?`${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`:`${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")} ${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`},f=t=>{"article"===t.history.business&&(t.history.cid=t.history.oid);const{epid:e,bvid:n,cid:i,oid:a}=t.history,r=t.progress>0?`t=${t.progress}`:"t=0",o=-1===t.progress?1:t.progress/t.duration,s=t=>t.replace("http:","https:"),d=new Date(1e3*t.view_at),u=t.cover?s(t.cover):t.covers?s(t.covers[0]):"",f={title:t.title,viewAt:1e3*t.view_at,time:d,timeText:m(d),cover:u,covers:t.covers?.map(s)??[],progress:o,progressText:Number.isNaN(o)?null:`${(0,c.fixed)(100*o,1)}%`,duration:t.duration,durationText:t.duration?(0,l.formatDuration)(t.duration):null,upName:t.author_name,upFaceUrl:s(t.author_face),upID:t.author_mid};if(e)return{...f,id:e,url:`https://www.bilibili.com/bangumi/play/ep${e}?${r}`,title:t.show_title||t.title,upName:t.title,type:p.Bangumi};if(n)return{...f,id:n,url:`https://www.bilibili.com/video/${n}?p=${t.history.page}&${r}`,type:p.Video};if(i)return{...f,id:i,url:`https://www.bilibili.com/read/cv${i}`,type:p.Article};if(a)return{...f,id:a,url:`https://live.bilibili.com/${a}`,liveStatus:t.live_status,type:p.Live};throw console.error("unknown history item type",t),new Error("未知的历史项目类型")};var h=Vue.extend({components:{VButton:r.VButton,VIcon:r.VIcon,TextBox:r.TextBox,VLoading:r.VLoading,VEmpty:r.VEmpty,ScrollTrigger:r.ScrollTrigger,DpiImage:r.DpiImage},mixins:[o.u],data:()=>({types:d,search:"",viewTime:0,cards:[],groups:[],loading:!0,hasMorePage:!0}),computed:{canNextPage(){return""===this.search&&!this.loading&&this.hasMorePage&&this.types.every((t=>t.checked))}},watch:{search:lodash.debounce((function(){this.updateGroups()}),200)},async created(){try{await this.nextPage()}finally{this.loading=!1}},methods:{toggleTypeFilter(t){t.checked=!t.checked,this.updateGroups()},filterFunc(t){return!d.some((e=>e.name===t.type&&!e.checked))&&!(!t.title.toLowerCase().includes(this.search.toLowerCase())&&!t.upName.toLowerCase().includes(this.search.toLowerCase()))},updateGroups(){this.groups=(t=>{if(0===t.length)return[];const{today:e,yesterday:n,lastWeek:i}=u(),a=lodash.groupBy(t,(t=>t.viewAt>=e?"今天":t.viewAt>=n?"昨天":t.viewAt>=i?"本周":"更早"));return Object.entries(a).map((([t,e])=>({name:t,items:e})))})(this.cards.filter(this.filterFunc))},async nextPage(){const t=await(async t=>{let e="https://api.bilibili.com/x/web-interface/history/cursor";t&&(e+=`?view_at=${Math.round(t/1e3)}`);const{list:n}=await(0,s.bilibiliApi)((0,s.getJsonWithCredentials)(e),"获取历史记录失败");return Array.isArray(n)?n.map(f):[]})(this.viewTime),e=lodash.uniqBy(this.cards.concat(t).sort((0,a.descendingSort)((t=>t.viewAt))),(t=>t.id));this.cards=e,this.updateGroups(),e.length>0&&(this.viewTime=lodash.last(e).viewAt),this.hasMorePage=0!==e.length}}}),v=n(3379),b=n.n(v),g=n(7337),x=n.n(g),y={insert:"head",singleton:!1},w=(b()(x(),y),x().locals,(0,n(1900).Z)(h,i,[],!1,null,null,null));w.options.__file="registry/lib/components/style/custom-navbar/history/NavbarHistory.vue";var _=w.exports},1742:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return h}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"home-popup",attrs:{role:"list"}},t._l(Object.entries(t.categories),(function(e){var i=e[0],a=e[1];return n("div",{key:i,staticClass:"category-item",class:{main:null!==a.code},attrs:{role:"listitem"}},[n("a",{attrs:{href:a.link,target:"_blank"}},[n("svg",{attrs:{"aria-hidden":"true"}},[n("use",{attrs:{href:"#header-icon-"+a.icon,"xlink:href":"#header-icon-"+a.icon}})]),t._v(" "),n("div",{staticClass:"name"},[t._v(t._s(i))]),t._v(" "),n("span",{staticClass:"count"},[null!==a.count?[t._v(t._s(a.count))]:t._e()],2)]),t._v(" "),a.subCategories?n("div",{staticClass:"sub-regions-popup popup"},t._l(Object.entries(a.subCategories),(function(e){var i=e[0],a=e[1];return n("a",{key:i,staticClass:"sub-region",attrs:{href:a,target:"_blank"}},[t._v(t._s(i))])})),0):t._e()])})),0)};i._withStripped=!0;var a=n(1212),r=n(3037);const o=lodash.cloneDeep(a.categories);Object.values(o).forEach((t=>{t.count=null}));let s=!1;var c=Vue.extend({mixins:[r.u],data:()=>({categories:o}),async created(){if(s)return;s=!0;const{bilibiliApi:t,getJson:e}=await Promise.resolve().then(n.t.bind(n,3663,23)),{addCategoryIcons:i}=await Promise.resolve().then(n.t.bind(n,1212,23));i();const{region_count:a={}}=await t(e("https://api.bilibili.com/x/web-interface/online"),"[自定义顶栏] 分区投稿信息获取失败");Object.values(this.categories).forEach((t=>{t.code&&(Array.isArray(t.code)?t.count=lodash.sum(t.code.map((t=>a[t]))):t.count=a[t.code])}))},mounted(){this.$el.style.maxHeight="inherit",this.$nextTick((()=>{this.$el.style.maxHeight=""}))}}),l=n(3379),p=n.n(l),d=n(4374),u=n.n(d),m={insert:"head",singleton:!1},f=(p()(u(),m),u().locals,(0,n(1900).Z)(c,i,[],!1,null,null,null));f.options.__file="registry/lib/components/style/custom-navbar/home/NavbarHome.vue";var h=f.exports},4666:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return s}});var i=function(){var t=this,e=t.$createElement;return(t._self._c||e)("iframe",{attrs:{src:t.item.src,frameborder:"0",width:t.item.width,height:t.item.height}})};i._withStripped=!0;var a=n(3037),r=Vue.extend({name:"IframePopup",mixins:[a.u]}),o=(0,n(1900).Z)(r,i,[],!1,null,null,null);o.options.__file="registry/lib/components/style/custom-navbar/iframe/IframePopup.vue";var s=o.exports},969:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return f}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.seasonLogoUrl?n("img",{staticClass:"custom-navbar-logo season",attrs:{height:"38",src:t.seasonLogoUrl}}):n("VIcon",{staticClass:"custom-navbar-logo",attrs:{icon:"logo"}})};i._withStripped=!0;var a=n(407),r=n(3663),o=n(8643),s=Vue.extend({name:"NavbarLogo",components:{VIcon:o.VIcon},data:()=>({seasonLogoUrl:""}),watch:{seasonLogoUrl(){document.body.classList.toggle("season-logo-enabled",Boolean(this.seasonLogoUrl))}},async created(){(0,a.addComponentListener)("customNavbar.seasonLogo",(async t=>{if(!t)return void(this.seasonLogoUrl="");const e=await(0,r.getJson)("https://api.bilibili.com/x/web-show/page/header?resource_id=1");0===e.code?this.seasonLogoUrl=lodash.get(e,"data.litpic","").replace("http:","https:"):this.seasonLogoUrl=""}),!0)}}),c=n(3379),l=n.n(c),p=n(3324),d=n.n(p),u={insert:"head",singleton:!1},m=(l()(d(),u),d().locals,(0,n(1900).Z)(s,i,[],!1,null,null,null));m.options.__file="registry/lib/components/style/custom-navbar/logo/NavbarLogo.vue";var f=m.exports},2542:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return f}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"messages-popup",attrs:{role:"list"}},t._l(t.entries,(function(e){return n("div",{key:e.name,staticClass:"message-entry",attrs:{role:"listitem"}},[n("a",{attrs:{"data-prop":e.prop,target:"_blank",href:e.href,"data-count":e.count||null},on:{click:function(n){return t.clearCount(e)}}},[t._v(t._s(e.name))])])})),0)};i._withStripped=!0;var a=n(3663),r=n(3037);const o=[{prop:"reply",href:"https://message.bilibili.com/#/reply",name:"回复我的"},{prop:"at",href:"https://message.bilibili.com/#/at",name:"@我的"},{prop:"like",href:"https://message.bilibili.com/#/love",name:"收到的赞"},{prop:"sys_msg",href:"https://message.bilibili.com/#/system",name:"系统通知"},{prop:"user_msg",href:"https://message.bilibili.com/#/whisper",name:"我的消息"},{href:"https://message.bilibili.com/#/archive",name:"私信存档"},{href:"https://message.bilibili.com/#/config",name:"消息设置"}];var s=Vue.extend({name:"MessagesPopup",mixins:[r.u],data:()=>({entries:o.map((t=>(t.count=0,t))),settings:{notify:!0,hideNotFollowedCount:!1,json:{}}}),async created(){await this.fetchSettings(),this.notify()},methods:{popupRefresh(){this.notify()},async fetchSettings(){const t=await(0,a.getJsonWithCredentials)("https://api.vc.bilibili.com/link_setting/v1/link_setting/get?msg_notify=1&show_unfollowed_msg=1");0===t.code&&(this.settings={notify:3!==t.data.msg_notify,hideNotFollowedCount:1===t.data.show_unfollowed_msg,json:t.data})},async notify(){if(!this.settings.notify)return;const[t,e]=await Promise.all([(0,a.getJsonWithCredentials)("https://api.bilibili.com/x/msgfeed/unread"),(0,a.getJsonWithCredentials)("https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread")]);t.data.user_msg=e.data.follow_unread||0,this.settings.hideNotFollowedCount||(t.data.user_msg+=e.data.unfollow_unread||0),this.item.notifyCount=o.reduce(((e,n)=>e+(n.prop?t.data[n.prop]:0)),0),this.item.notifyCount&&(console.log(o),o.forEach((e=>{if(!e.prop)return;const n=t.data[e.prop];console.log(e.prop,e.count,n),n>0&&(e.count=n)})))},clearCount(t){this.item.notifyCount-=t.count,t.count=0}}}),c=n(3379),l=n.n(c),p=n(6617),d=n.n(p),u={insert:"head",singleton:!1},m=(l()(d(),u),d().locals,(0,n(1900).Z)(s,i,[],!1,null,"589ce0fa",null));m.options.__file="registry/lib/components/style/custom-navbar/messages/NavbarMessages.vue";var f=m.exports},2632:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return m}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"ranking-popup",attrs:{role:"list"}},t._l(t.entries,(function(e){return n("div",{key:e.name,staticClass:"ranking-entry",attrs:{role:"listitem"}},[n("a",{attrs:{target:"_blank",href:e.href}},[t._v(t._s(e.name))])])})),0)};i._withStripped=!0;var a=n(3037);const r=[{href:"https://www.bilibili.com/v/popular/all",name:"综合热门"},{href:"https://www.bilibili.com/v/popular/weekly",name:"每周必看"},{href:"https://www.bilibili.com/v/popular/history",name:"入站必刷"},{href:"https://www.bilibili.com/v/popular/rank/all",name:"排行榜"}];var o=Vue.extend({name:"RankingPopup",mixins:[a.u],data:()=>({entries:r})}),s=n(3379),c=n.n(s),l=n(3369),p=n.n(l),d={insert:"head",singleton:!1},u=(c()(p(),d),p().locals,(0,n(1900).Z)(o,i,[],!1,null,"6678d691",null));u.options.__file="registry/lib/components/style/custom-navbar/ranking/NavbarRanking.vue";var m=u.exports},5700:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return m}});var i=function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"custom-navbar-search"},[e("LaunchBar")],1)};i._withStripped=!0;var a=coreApis.componentApis.launchBar.LaunchBar,r=n.n(a),o=Vue.extend({components:{LaunchBar:r()}}),s=n(3379),c=n.n(s),l=n(2438),p=n.n(l),d={insert:"head",singleton:!1},u=(c()(p(),d),p().locals,(0,n(1900).Z)(o,i,[],!1,null,null,null));u.options.__file="registry/lib/components/style/custom-navbar/search/NavbarSearch.vue";var m=u.exports},359:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return f}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"custom-navbar-extra-options"},[t.login?n("VButton",{ref:"button",on:{mouseover:function(e){return t.loadNavbarSettings()},click:function(e){return t.toggleNavbarSettings()}}},[t._v("\n 布局设置"),n("VIcon",{attrs:{icon:"right-arrow",size:16}})],1):t._e()],1)};i._withStripped=!0;var a=n(3109),r=n(8643),o=n(5220),s=Vue.extend({components:{VIcon:r.VIcon,VButton:r.VButton},data:()=>({login:Boolean((0,a.getUID)())}),methods:{async loadNavbarSettings(){if(await(0,o.loadNavbarSettings)()){const t=this.$refs.button.$el;(0,o.setTriggerElement)(t)}},toggleNavbarSettings:o.toggleNavbarSettings}}),c=n(3379),l=n.n(c),p=n(8306),d=n.n(p),u={insert:"head",singleton:!1},m=(l()(d(),u),d().locals,(0,n(1900).Z)(s,i,[],!1,null,null,null));m.options.__file="registry/lib/components/style/custom-navbar/settings/ExtraOptions.vue";var f=m.exports},4040:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return y}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("VPopup",{ref:"popup",staticClass:"custom-navbar-settings be-settings-extra-options",attrs:{fixed:"",lazy:!1,"trigger-element":t.triggerElement},model:{value:t.open,callback:function(e){t.open=e},expression:"open"}},[n("div",{staticClass:"navbar-settings-header"},[n("VIcon",{staticClass:"title-icon",attrs:{icon:"mdi-sort",size:24}}),t._v(" "),n("div",{staticClass:"title"},[t._v("\n 顶栏布局设置\n ")]),t._v(" "),n("div",{staticClass:"grow"}),t._v(" "),n("div",{staticClass:"close",on:{click:function(e){t.open=!1}}},[n("VIcon",{attrs:{icon:"close",size:18}})],1)],1),t._v(" "),n("div",{staticClass:"navbar-settings-content"},[n("div",{staticClass:"navbar-settings-section"},[n("div",{staticClass:"navbar-settings-section-title"},[t._v("\n 边缘间距\n ")]),t._v(" "),n("div",{staticClass:"navbar-settings-section-description"},[t._v("\n 设定两侧边缘处的间距, 单位为百分比, 100%为整个顶栏的宽度.\n "),n("br"),t._v("空间不足时, 实际呈现的间距会自动缩小.\n ")]),t._v(" "),n("div",{staticClass:"navbar-settings-section-content",on:{mouseover:function(e){return t.peekPadding(!0)},mouseout:function(e){return t.peekPadding(!1)}}},[n("VSlider",{attrs:{min:0,max:40,step:.5},model:{value:t.padding,callback:function(e){t.padding=e},expression:"padding"}}),t._v(" "),n("div",{staticClass:"padding-value"},[t._v("\n "+t._s(t.padding.toFixed(1))+"%\n ")])],1)]),t._v(" "),n("div",{staticClass:"navbar-settings-section"},[n("div",{staticClass:"navbar-settings-section-title"},[t._v("\n 元素呈现\n ")]),t._v(" "),n("div",{staticClass:"navbar-settings-section-description"},[t._v("\n 按住并拖动可以调整顺序, 点击眼睛图标可以切换隐藏/显示.\n ")]),t._v(" "),t.loaded?t._e():n("VLoading"),t._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:t.loaded,expression:"loaded"}],ref:"navbarSortList",staticClass:"navbar-settings-section-content navbar-sort-list"},t._l(t.rendered.items,(function(e){return n("div",{key:e.name,staticClass:"navbar-sort-item",class:{"navbar-hidden":e.hidden},attrs:{"data-name":e.name},on:{mouseover:function(n){return t.peekItem(e,!0)},mouseout:function(n){return t.peekItem(e,!1)}}},[n("div",{staticClass:"item-name"},[t._v("\n "+t._s(e.displayName)+"\n ")]),t._v(" "),n("div",{staticClass:"toggle-visible"},[n("VIcon",{attrs:{size:18,icon:e.hidden?"mdi-eye-off-outline":"mdi-eye-outline"},on:{click:function(n){return t.toggleVisible(e)}}})],1)])})),0)],1)])])};i._withStripped=!0;var a=n(8643),r=n(407),o=n(3109),s=coreApis.runtimeLibrary,c=n(8269),l=n(12);const p=t=>{t.forEach(((t,e)=>{t.order!==e&&(t.order=e)}));const e=Object.fromEntries(t.map((t=>[t.name,t.order])));l.kO.navbarOptions.order=e},{navbarOptions:d}=l.kO,[u]=(0,c.getData)(l.Je);var m=Vue.extend({components:{VPopup:a.VPopup,VIcon:a.VIcon,VSlider:a.VSlider,VLoading:a.VLoading},props:{triggerElement:{type:HTMLElement,default:null}},data:()=>({open:!1,padding:d.padding,rendered:u,hidden:d.hidden,loaded:!1}),watch:{padding:lodash.debounce((t=>{d.padding=t}),200)},async mounted(){(0,r.addComponentListener)("customNavbar.padding",(t=>{this.padding!==t&&(this.padding=t)}));const t=this.$refs.navbarSortList;var e;(await s.SortableJSLibrary).create(t,{delay:100,forceFallback:!0,onEnd:t=>{this.onSort(t)}}),(e=u.items).every(((t,e)=>t.order===e))||p(e),this.loaded=!0},methods:{toggle(){this.$refs.popup.toggle()},peekPadding(t){(0,o.dqa)(".custom-navbar .padding").forEach((e=>e.classList.toggle("peek",t)))},peekItem(t,e){t.element?.classList.toggle("peek",e)},onSort(t){const e=this.$refs.navbarSortList,n=t.item;console.log(`${n.getAttribute("data-name")} ${t.oldIndex}->${t.newIndex}`);const i=Object.fromEntries([...e.children].map(((t,e)=>[t.getAttribute("data-name"),e])));this.rendered.items=((t,e)=>{const n=lodash.sortBy(t,(t=>e[t.name]));return p(n),n})(u.items,i)},toggleVisible(t){d.hidden.includes(t.name)?(lodash.pull(d.hidden,t.name),t.hidden=!1,console.log("delete",t.name)):(d.hidden.push(t.name),t.hidden=!0,console.log("add",t.name))}}}),f=n(3379),h=n.n(f),v=n(4754),b=n.n(v),g={insert:"head",singleton:!1},x=(h()(b(),g),b().locals,(0,n(1900).Z)(m,i,[],!1,null,null,null));x.options.__file="registry/lib/components/style/custom-navbar/settings/NavbarSettings.vue";var y=x.exports},7898:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return s}});var i=function(){var t=this.$createElement;return(this._self._c||t)("SubscriptionsList",{attrs:{type:"bangumi"}})};i._withStripped=!0;var a=n(806),r=Vue.extend({components:{SubscriptionsList:a.Z}}),o=(0,n(1900).Z)(r,i,[],!1,null,null,null);o.options.__file="registry/lib/components/style/custom-navbar/subscriptions/BangumiSubscriptions.vue";var s=o.exports},8324:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return s}});var i=function(){var t=this.$createElement;return(this._self._c||t)("SubscriptionsList",{attrs:{type:"cinema"}})};i._withStripped=!0;var a=n(806),r=Vue.extend({components:{SubscriptionsList:a.Z}}),o=(0,n(1900).Z)(r,i,[],!1,null,null,null);o.options.__file="registry/lib/components/style/custom-navbar/subscriptions/CinemaSubscriptions.vue";var s=o.exports},8834:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return h}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"navbar-subscriptions"},[n("TabControl",{ref:"tabControl",attrs:{tabs:t.tabs,"more-link":t.moreLink}})],1)};i._withStripped=!0;var a=n(8643),r=n(3109),o=n(3037),s=n(2194),c=Vue.extend({components:{TabControl:a.TabControl},mixins:[o.u],data(){const t=(0,r.getUID)();return{moreLink:e=>`https://space.bilibili.com/${t}/${e.name}`,tabs:[{name:s.N.Bangumi,displayName:"追番",activeLink:`https://space.bilibili.com/${t}/bangumi`,component:()=>Promise.resolve().then(n.bind(n,7898)).then((t=>t.default))},{name:s.N.Cinema,displayName:"追剧",activeLink:`https://space.bilibili.com/${t}/cinema`,component:()=>Promise.resolve().then(n.bind(n,8324)).then((t=>t.default))}]}}}),l=n(3379),p=n.n(l),d=n(8734),u=n.n(d),m={insert:"head",singleton:!1},f=(p()(u(),m),u().locals,(0,n(1900).Z)(c,i,[],!1,null,null,null));f.options.__file="registry/lib/components/style/custom-navbar/subscriptions/NavbarSubscriptions.vue";var h=f.exports},806:function(t,e,n){"use strict";n.d(e,{Z:function(){return x}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"subscription-list"},[t.loading?n("VLoading"):t.loading||0!==t.cards.length?[n("div",{staticClass:"subscription-content"},t._l(t.cards,(function(e){return n("a",{key:e.id,staticClass:"subscription-card",attrs:{href:e.playUrl,target:"_blank"}},[n("div",{staticClass:"cover-container"},[n("DpiImage",{staticClass:"cover",attrs:{src:e.coverUrl,size:64}})],1),t._v(" "),n("div",{staticClass:"card-info"},[n("h1",{staticClass:"title",attrs:{title:e.title}},[t._v(t._s(e.title))]),t._v(" "),n("div",{staticClass:"progress-row"},[e.status?n("div",{staticClass:"status",class:"status-"+e.status},[t._v(t._s(e.statusText))]):t._e(),t._v(" "),e.progress?n("div",{staticClass:"progress",attrs:{title:e.progress+" | "+e.latest}},[t._v(t._s(e.progress)+" | "+t._s(e.latest))]):n("div",{staticClass:"progress",attrs:{title:e.latest}},[t._v(t._s(e.latest))]),t._v(" "),n("a",{staticClass:"info",attrs:{href:e.mediaUrl,target:"_blank",title:"详细信息"}},[n("VIcon",{attrs:{icon:"mdi-information-outline",size:16}})],1)])])])})),0),t._v(" "),t.hasMorePage?n("ScrollTrigger",{on:{trigger:function(e){return t.nextPage()}}}):t._e()]:n("VEmpty")],2)};i._withStripped=!0;var a,r=n(3109),o=n(5729),s=n(8643),c=n(3663),l=n(2194);!function(t){t[t.ToView=1]="ToView",t[t.Viewing=2]="Viewing",t[t.Viewed=3]="Viewed"}(a||(a={}));const p=t=>{switch(t){case a.ToView:return"想看";case a.Viewing:default:return"在看";case a.Viewed:return"看过"}},d=(t,e)=>{let n=t.status;n!==a.Viewed&&(n=a.Viewed-n);let i=e.status;return i!==a.Viewed&&(i=a.Viewed-i),n-i};var u=Vue.extend({components:{DpiImage:s.DpiImage,VLoading:s.VLoading,VEmpty:s.VEmpty,VIcon:s.VIcon,ScrollTrigger:s.ScrollTrigger},props:{type:{type:String,default:l.N.Bangumi}},data:()=>({loading:!0,hasMorePage:!0,cards:[],page:1}),async created(){this.nextPage()},methods:{async nextPage(){try{const t=await(0,c.getJsonWithCredentials)(`https://api.bilibili.com/x/space/bangumi/follow/list?type=${this.type!==l.N.Bangumi?"2":"1"}&pn=${this.page}&ps=16&vmid=${(0,r.getUID)()}`);if(0!==t.code)return void(0,o.logError)(`加载订阅信息失败: ${t.message}`);const e=lodash.uniqBy(this.cards.concat(lodash.get(t,"data.list").map((t=>({title:t.title,coverUrl:t.square_cover.replace("http:","https:"),latest:t.new_ep.index_show,progress:t.progress,id:t.season_id,status:t.follow_status,statusText:p(t.follow_status),playUrl:`https://www.bilibili.com/bangumi/play/ss${t.season_id}`,mediaUrl:`https://www.bilibili.com/bangumi/media/md${t.media_id}`})))),(t=>t.id)).sort(d);this.page++,this.cards=e,this.hasMorePage=lodash.get(t,"data.total",0)>this.cards.length}finally{this.loading=!1}}}}),m=n(3379),f=n.n(m),h=n(7104),v=n.n(h),b={insert:"head",singleton:!1},g=(f()(v(),b),v().locals,(0,n(1900).Z)(u,i,[],!1,null,null,null));g.options.__file="registry/lib/components/style/custom-navbar/subscriptions/SubscriptionsList.vue";var x=g.exports},6426:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return u}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"navbar-upload"},[n("VIcon",{attrs:{icon:"upload",size:18}}),t._v(" "),n("div",{staticClass:"navbar-upload-name"},[t._v("\n 投稿\n ")])],1)};i._withStripped=!0;var a=n(8643),r=Vue.extend({components:{VIcon:a.VIcon}}),o=n(3379),s=n.n(o),c=n(8961),l=n.n(c),p={insert:"head",singleton:!1},d=(s()(l(),p),l().locals,(0,n(1900).Z)(r,i,[],!1,null,"1a272463",null));d.options.__file="registry/lib/components/style/custom-navbar/upload/NavbarUpload.vue";var u=d.exports},4037:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return u}});var i=function(){var t=this,e=t.$createElement;t._self._c;return t._m(0)};i._withStripped=!0;var a=n(3037),r=Vue.extend({mixins:[a.u]}),o=n(3379),s=n.n(o),c=n(2360),l=n.n(c),p={insert:"head",singleton:!1},d=(s()(l(),p),l().locals,(0,n(1900).Z)(r,i,[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"upload-popup",attrs:{role:"list"}},[n("div",{attrs:{role:"listitem"}},[n("a",{attrs:{target:"_blank",href:"https://member.bilibili.com/platform/upload/text/apply"}},[t._v("专栏投稿")])]),t._v(" "),n("div",{attrs:{role:"listitem"}},[n("a",{attrs:{target:"_blank",href:"https://member.bilibili.com/platform/upload/audio/frame"}},[t._v("音频投稿")])]),t._v(" "),n("div",{attrs:{role:"listitem"}},[n("a",{attrs:{target:"_blank",href:"https://member.bilibili.com/platform/upload/sticker"}},[t._v("贴纸投稿")])]),t._v(" "),n("div",{attrs:{role:"listitem"}},[n("a",{attrs:{target:"_blank",href:"https://member.bilibili.com/platform/upload/video/frame"}},[t._v("视频投稿")])]),t._v(" "),n("div",{attrs:{role:"listitem"}},[n("a",{attrs:{target:"_blank",href:"https://member.bilibili.com/platform/upload-manager/article"}},[t._v("投稿管理")])]),t._v(" "),n("div",{attrs:{role:"listitem"}},[n("a",{attrs:{target:"_blank",href:"https://member.bilibili.com/platform/home"}},[t._v("创作中心")])])])}],!1,null,"a07cc62e",null));d.options.__file="registry/lib/components/style/custom-navbar/upload/UploadPopup.vue";var u=d.exports},399:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return h}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"user-face-container"},[n("img",{staticClass:"user-face",attrs:{src:t.faceSrc,srcset:t.faceSrcset}}),t._v(" "),n("img",{staticClass:"user-pendant",attrs:{src:t.pendantSrc,srcset:t.pendantSrcset}})])};i._withStripped=!0;var a=n(3278),r=n(3109),o=coreApis.utils.constants;const s="//static.hdslb.com/images/member/noface.gif";var c=Vue.extend({name:"UserFace",data:()=>({faceSrc:o.EmptyImageUrl,pendantSrc:o.EmptyImageUrl,faceSrcset:null,pendantSrcset:null}),async created(){const t=await(0,a.getUserInfo)();if(t.isLogin){if(t.face){const e=t.face.replace("http","https");if(e.includes(s))this.faceSrc=s;else{const t=68;this.faceSrc=e,this.faceSrcset=(0,r.getDpiSourceSet)(e,t)}}if(t.pendant?.image){const e=t.pendant.image.replace("http","https"),n=116;this.pendantSrcset=(0,r.getDpiSourceSet)(e,n,"png")}}else this.faceSrc="https://static.hdslb.com/images/akari.jpg"}}),l=n(3379),p=n.n(l),d=n(464),u=n.n(d),m={insert:"head",singleton:!1},f=(p()(u(),m),u().locals,(0,n(1900).Z)(c,i,[],!1,null,null,null));f.options.__file="registry/lib/components/style/custom-navbar/user-info/UserFace.vue";var h=f.exports},7437:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return b}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"user-info-panel"},[t.isLogin&&!0===t.userInfo.isLogin?n("div",{staticClass:"logged-in"},[n("a",{staticClass:"name",attrs:{target:"_blank",href:"https://space.bilibili.com/"}},[t._v(t._s(t.userInfo.uname))]),t._v(" "),n("a",{staticClass:"type",attrs:{target:"_blank",href:"https://account.bilibili.com/account/big"}},[t._v(t._s(t.userType))]),t._v(" "),1===t.userInfo.vipStatus&&2===t.userInfo.vipType?n("div",{staticClass:"privileges row"},[n("div",{staticClass:"b-coin",class:{received:t.privileges.bCoin.received},attrs:{title:"有效期限: "+t.privileges.bCoin.expire},on:{click:function(e){return t.privilegeReceive(1)}}},[t._v("\n "+t._s(t.privileges.bCoin.received?"已领取B币":"领取B币")+"\n ")]),t._v(" "),n("div",{staticClass:"coupons",class:{received:t.privileges.coupons.received},attrs:{title:"有效期限: "+t.privileges.coupons.expire},on:{click:function(e){return t.privilegeReceive(2)}}},[t._v("\n "+t._s(t.privileges.coupons.received?"已领取优惠券":"领取优惠券")+"\n ")])]):t._e(),t._v(" "),n("div",{staticClass:"level-info row"},[n("a",{staticClass:"level",attrs:{target:"_blank",title:"等级",href:"https://account.bilibili.com/account/record"}},[n("VIcon",{staticClass:"level-icon",attrs:{icon:"lv"+t.userInfo.level_info.current_level}})],1),t._v(" "),n("span",{staticClass:"level-progress-label"},[t._v(t._s(t.userInfo.level_info.current_exp)+" / "+t._s(t.userInfo.level_info.next_exp))])]),t._v(" "),n("div",{staticClass:"level-progress separator"},[n("div",{staticClass:"level-progress-thumb",style:t.levelProgressStyle})]),t._v(" "),n("div",{staticClass:"items"},[n("a",{staticClass:"item",attrs:{target:"_blank",title:"手机验证",href:"https://passport.bilibili.com/account/security#/bindphone"}},[n("VIcon",{attrs:{icon:"bind-phone",size:20}}),t._v(" "),t.userInfo.mobile_verified?n("VIcon",{attrs:{icon:"ok",size:18}}):n("VIcon",{attrs:{icon:"cancel",size:18}})],1),t._v(" "),n("a",{staticClass:"item",attrs:{target:"_blank",title:"邮箱验证",href:"https://passport.bilibili.com/account/security#/bindmail"}},[n("VIcon",{attrs:{icon:"bind-email",size:20}}),t._v(" "),t.userInfo.email_verified?n("VIcon",{attrs:{icon:"ok",size:18}}):n("VIcon",{attrs:{icon:"cancel",size:18}})],1),t._v(" "),n("a",{staticClass:"item",attrs:{target:"_blank",href:"https://account.bilibili.com/site/coin",title:"硬币"}},[n("VIcon",{attrs:{icon:"coin-outline",size:20}}),t._v(" "),n("span",[t._v(t._s(t.userInfo.money))])],1),t._v(" "),n("a",{staticClass:"item",attrs:{target:"_blank",href:"https://pay.bilibili.com/bb_balance.html",title:"B币"}},[n("VIcon",{attrs:{icon:"b-coin-outline",size:20}}),t._v(" "),n("span",[t._v(t._s(t.userInfo.wallet.bcoin_balance))])],1)]),t._v(" "),n("div",{staticClass:"separator"}),t._v(" "),n("div",{staticClass:"stats"},[n("a",{staticClass:"stats-item",attrs:{href:"https://space.bilibili.com/"+t.userInfo.mid+"/fans/follow",target:"_blank"}},[n("div",{staticClass:"stats-number"},[t._v(t._s(t._f("count")(t.stat.following)))]),t._v("关注\n ")]),t._v(" "),n("a",{staticClass:"stats-item",attrs:{href:"https://space.bilibili.com/"+t.userInfo.mid+"/fans/fans",target:"_blank"}},[n("div",{staticClass:"stats-number"},[t._v(t._s(t._f("count")(t.stat.follower)))]),t._v("粉丝\n ")]),t._v(" "),n("a",{staticClass:"stats-item",attrs:{href:"https://space.bilibili.com/"+t.userInfo.mid+"/dynamic",target:"_blank"}},[n("div",{staticClass:"stats-number"},[t._v(t._s(t._f("count")(t.stat.dynamic_count)))]),t._v("动态\n ")])]),t._v(" "),n("div",{staticClass:"separator"}),t._v(" "),n("a",{staticClass:"bv-custom-navbar-operation",attrs:{target:"_blank",href:"https://account.bilibili.com/account/home"}},[n("VIcon",{attrs:{icon:"profile"}}),t._v("个人中心\n ")],1),t._v(" "),n("a",{staticClass:"bv-custom-navbar-operation",attrs:{target:"_blank",href:"https://member.bilibili.com/platform/upload-manager/article"}},[n("VIcon",{attrs:{icon:"posts"}}),t._v("投稿管理\n ")],1),t._v(" "),n("a",{staticClass:"bv-custom-navbar-operation",attrs:{target:"_blank",href:"https://pay.bilibili.com/"}},[n("VIcon",{attrs:{icon:"wallet"}}),t._v("B币钱包\n ")],1),t._v(" "),n("a",{staticClass:"bv-custom-navbar-operation",attrs:{target:"_blank",href:"https://link.bilibili.com/p/center/index"}},[n("VIcon",{attrs:{icon:"live-center"}}),t._v("直播中心\n ")],1),t._v(" "),n("a",{staticClass:"bv-custom-navbar-operation",attrs:{target:"_blank",href:"https://show.bilibili.com/orderlist"}},[n("VIcon",{attrs:{icon:"order-center"}}),t._v("订单中心\n ")],1),t._v(" "),n("a",{staticClass:"bv-custom-navbar-operation",attrs:{target:"_blank",href:"https://www.bilibili.com/v/cheese/mine"}},[n("VIcon",{attrs:{icon:"course"}}),t._v("我的课程\n ")],1),t._v(" "),n("div",{staticClass:"logout grey-button",on:{click:function(e){return t.logout()}}},[t._v("\n 退出登录\n ")])]):t._e(),t._v(" "),t.isLogin?t._e():n("div",{staticClass:"not-logged-in"},[n("h1",{staticClass:"welcome"},[t._v("\n 欢迎来到 bilibili\n ")]),t._v(" "),n("a",{staticClass:"signup grey-button",attrs:{href:"https://passport.bilibili.com/register/phone.html"}},[t._v("注册")]),t._v(" "),n("a",{staticClass:"login theme-button",attrs:{href:"https://passport.bilibili.com/login"}},[t._v("登录")])])])};i._withStripped=!0;var a=n(3109),r=n(8117),o=n(5729),s=n(3663),c=n(3278),l=n(3037),p=Vue.extend({components:{VIcon:coreApis.ui.VIcon},filters:{count:r.formatCount},mixins:[l.u],data:()=>({userInfo:{},stat:{},isLogin:Boolean((0,a.getUID)()),privileges:{bCoin:{received:!1,expire:""},coupons:{received:!1,expire:""}}}),computed:{userType(){if(!this.userInfo.isLogin)return"未登录";if(0===this.userInfo.level_info.current_level)return"注册会员";if(1===this.userInfo.vipStatus){if(1===this.userInfo.vipType)return this.userInfo.vip_theme_type?"小会员":"大会员";if(2===this.userInfo.vipType)return this.userInfo.vip_theme_type?"年度小会员":"年度大会员"}return"正式会员"},levelProgressStyle(){if(!this.userInfo.isLogin)return{};const{current_exp:t,current_min:e,next_exp:n}=this.userInfo.level_info;return{transform:`scaleX(${(t-e)/(n-e)})`}}},async created(){const t=await(0,c.getUserInfo)();this.userInfo=t;const e=await(0,s.getJsonWithCredentials)("https://api.bilibili.com/x/web-interface/nav/stat");if(this.stat=e.data||{},this.isLogin&&2===this.userInfo.vipType){const t=await(0,s.getJsonWithCredentials)("https://api.bilibili.com/x/vip/privilege/my");if(0===t.code){const e=t.data.list.find((t=>1===t.type));this.privileges.bCoin.received=1===e.state,this.privileges.bCoin.expire=new Date(1e3*e.expire_time).toLocaleDateString();const n=t.data.list.find((t=>2===t.type));this.privileges.coupons.received=1===n.state,this.privileges.coupons.expire=new Date(1e3*n.expire_time).toLocaleDateString()}}},methods:{async privilegeReceive(t){const e={1:"bCoin",2:"coupons"};if(this.privileges[e[t]].received)return;this.privileges[e[t]].received=!0;const n=(0,a.getCsrf)(),i=await(await fetch("https://api.bilibili.com/x/vip/privilege/receive",{credentials:"include",headers:{"content-type":"application/x-www-form-urlencoded"},body:`type=${t}&csrf=${n}`,method:"POST"})).json();console.log(i),0===i.code?"bCoin"===e[t]&&(this.userInfo.wallet.bcoin_balance+=5):69801===i.code||(this.privileges[e[t]].received=!1,(0,o.logError)(i.message))},async logout(){const t=await(0,s.postTextWithCredentials)("https://passport.bilibili.com/login/exit/v2",(0,a.formData)({biliCSRF:(0,a.getCsrf)()})),e=lodash.get(JSON.parse(t),"data.redirectUrl","");e&&window.location.assign(e)}}}),d=n(3379),u=n.n(d),m=n(9692),f=n.n(m),h={insert:"head",singleton:!1},v=(u()(f(),h),f().locals,(0,n(1900).Z)(p,i,[],!1,null,null,null));v.options.__file="registry/lib/components/style/custom-navbar/user-info/UserInfoPopup.vue";var b=v.exports},5878:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return v}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"watchlater-list"},[n("div",{staticClass:"header"},[n("div",{staticClass:"search"},[n("TextBox",{attrs:{linear:"",placeholder:"搜索"},model:{value:t.search,callback:function(e){t.search=e},expression:"search"}})],1),t._v(" "),n("a",{staticClass:"operation",attrs:{target:"_blank",href:"https://www.bilibili.com/medialist/play/watchlater"}},[n("VButton",{staticClass:"round-button",attrs:{title:"播放全部",round:""}},[n("VIcon",{attrs:{icon:"mdi-play",size:18}})],1)],1),t._v(" "),n("a",{staticClass:"operation",attrs:{target:"_blank",href:"https://www.bilibili.com/watchlater/#/list"}},[n("VButton",{staticClass:"round-button",attrs:{title:"查看更多",round:""}},[n("VIcon",{attrs:{icon:"mdi-dots-horizontal",size:18}})],1)],1)]),t._v(" "),t.loading?n("VLoading"):t.loading||0!==t.cards.length?n("transition-group",{staticClass:"watchlater-list-content",attrs:{name:"cards",tag:"div"}},t._l(t.filteredCards,(function(e,i){return n("div",{key:e.aid,staticClass:"watchlater-card"},[n("a",{staticClass:"cover-container",attrs:{target:"_blank",href:e.href}},[n("DpiImage",{staticClass:"cover",attrs:{src:e.coverUrl,size:{width:130,height:85}}}),t._v(" "),n("div",{staticClass:"floating remove",attrs:{title:"移除"},on:{click:function(n){return n.preventDefault(),t.remove(e.aid,i)}}},[n("VIcon",{attrs:{icon:"mdi-close",size:16}})],1),t._v(" "),n("div",{staticClass:"floating duration"},[t._v(t._s(e.durationText))]),t._v(" "),e.complete?n("div",{staticClass:"floating viewed"},[t._v("已观看")]):t._e()],1),t._v(" "),n("a",{staticClass:"title",attrs:{target:"_blank",href:e.href,title:e.title}},[t._v(t._s(e.title))]),t._v(" "),n("a",{staticClass:"up",attrs:{target:"_blank",href:"https://space.bilibili.com/"+e.upID,title:e.upName}},[n("DpiImage",{staticClass:"face",attrs:{src:e.upFaceUrl,size:20}}),t._v(" "),n("div",{staticClass:"name"},[t._v(t._s(e.upName))])],1)])})),0):n("VEmpty")],1)};i._withStripped=!0;var a=n(407),r=n(8117),o=coreApis.componentApis.video.watchlater,s=n(8643),c=n(3037),l=Vue.extend({components:{VLoading:s.VLoading,VEmpty:s.VEmpty,TextBox:s.TextBox,VButton:s.VButton,VIcon:s.VIcon,DpiImage:s.DpiImage},mixins:[c.u],data(){const t=(0,a.getComponentSettings)("watchlaterRedirect");return{watchlaterList:o.watchlaterList,loading:!0,cards:[],filteredCards:[],search:"",redirect:t.enabled&&t.options.navbar}},watch:{search(){this.updateFilteredCards()}},async created(){try{await this.updateList()}finally{this.loading=!1}},methods:{toggleWatchlater:o.toggleWatchlater,popupRefresh(){this.updateList()},async updateList(){const t=await(0,o.getWatchlaterList)(!0);if(!t)return void(this.cards=[]);const e=t=>this.redirect?`https://www.bilibili.com/video/${t.bvid}`:`https://www.bilibili.com/medialist/play/watchlater/${t.bvid}`,n=t.map((t=>{const n=(()=>{if(void 0===t.pages||!this.redirect)return e(t);const n=t.pages.map((t=>t.cid)),i=0===t.cid?1:n.indexOf(t.cid)+1;return i<=1?e(t):`${e(t)}?p=${i}`})(),i=Math.round(1e3*t.progress/t.duration)/1e3;return{aid:t.aid,href:n,coverUrl:t.pic.replace("http:","https:"),durationText:(0,r.formatDuration)(t.duration),duration:t.duration,complete:t.progress<0||i>.95,title:t.title,upName:t.owner.name,upFaceUrl:t.owner.face.replace("http:","https:"),upID:t.owner.mid}}));this.cards=n,this.search?this.updateFilteredCards():this.filteredCards=n},async remove(t,e){this.cards.splice(e,1),await this.toggleWatchlater(t),this.lastRemovedAid=t},async undo(){const t=this.lastRemovedAid;0!==t&&await this.toggleWatchlater(t)},updateFilteredCards:lodash.debounce((function(){const t=this.search.toLowerCase();this.$el.querySelector(".watchlater-list-content").scrollTo(0,0),this.filteredCards=this.cards.filter((e=>e.title.toLowerCase().includes(t)||e.upName.toLowerCase().includes(t)))}),100)}}),p=n(3379),d=n.n(p),u=n(8120),m=n.n(u),f={insert:"head",singleton:!1},h=(d()(m(),f),m().locals,(0,n(1900).Z)(l,i,[],!1,null,null,null));h.options.__file="registry/lib/components/style/custom-navbar/watchlater/NavbarWatchlater.vue";var v=h.exports},1900:function(t,e,n){"use strict";function i(t,e,n,i,a,r,o,s){var c,l="function"==typeof t?t.options:t;if(e&&(l.render=e,l.staticRenderFns=n,l._compiled=!0),i&&(l.functional=!0),r&&(l._scopeId="data-v-"+r),o?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):a&&(c=s?function(){a.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:a),c)if(l.functional){l._injectStyles=c;var p=l.render;l.render=function(t,e){return c.call(e),p(t,e)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:t,options:l}}n.d(e,{Z:function(){return i}})},3663:function(t){"use strict";t.exports=coreApis.ajax},2023:function(t){"use strict";t.exports=coreApis.componentApis.feeds.api},3864:function(t){"use strict";t.exports=coreApis.componentApis.feeds.notify},1212:function(t){"use strict";t.exports=coreApis.componentApis.utils.categories.data},8269:function(t){"use strict";t.exports=coreApis.pluginApis.data},407:function(t){"use strict";t.exports=coreApis.settings},8643:function(t){"use strict";t.exports=coreApis.ui},3278:function(t){"use strict";t.exports=coreApis.userInfo},8117:function(t){"use strict";t.exports=coreApis.utils.formatters},5729:function(t){"use strict";t.exports=coreApis.utils.log},4522:function(t){"use strict";t.exports=coreApis.utils.sort},3109:function(t){"use strict";t.exports=coreApis.utils}},i={};function a(t){var e=i[t];if(void 0!==e)return e.exports;var r=i[t]={id:t,exports:{}};return n[t](r,r.exports,a),r.exports}a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,{a:e}),e},e=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__},a.t=function(n,i){if(1&i&&(n=this(n)),8&i)return n;if("object"==typeof n&&n){if(4&i&&n.__esModule)return n;if(16&i&&"function"==typeof n.then)return n}var r=Object.create(null);a.r(r);var o={};t=t||[null,e({}),e([]),e(e)];for(var s=2&i&&n;"object"==typeof s&&!~t.indexOf(s);s=e(s))Object.getOwnPropertyNames(s).forEach((function(t){o[t]=function(){return n[t]}}));return o.default=function(){return n},a.d(r,o),r},a.d=function(t,e){for(var n in e)a.o(e,n)&&!a.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};return function(){"use strict";a.d(r,{component:function(){return n}});var t=a(407),e=a(3109);const n={name:"customNavbar",displayName:"自定义顶栏",description:"\n使用脚本提供的顶栏替换原版的主站顶栏 (非主站不替换), 启用后还可以在反广告插件 (例如 ABP) 中配置禁止原版顶栏的消息 iframe 以提升性能:\n- *://message.bilibili.com/pages/nav/index_new_pc_sync\n- *://message.bilibili.com/pages/nav/index_new_sync\n ".trim(),entry:async({metadata:{name:n}})=>{if((0,e.isIframe)()||(0,e.isNotHtml)())return;(0,t.addComponentListener)(`${n}.padding`,(t=>{document.documentElement.style.setProperty("--navbar-bounds-padding",`${t}%`)}),!0);["https://space.bilibili.com","https://www.bilibili.com/read","https://www.bilibili.com/account/history"].some((t=>(0,e.matchUrlPattern)(t)))||(0,t.addComponentListener)(`${n}.globalFixed`,(t=>{document.body.classList.toggle("fixed-navbar",t)}),!0);const i=await Promise.resolve().then(a.bind(a,2631)),r=(0,e.mountVueComponent)(i);document.body.insertAdjacentElement("beforeend",r.$el),["fill","shadow","blur"].forEach((e=>{(0,t.addComponentListener)(`${n}.${e}`,(t=>r.toggleStyle(t,e)),!0)}))},tags:[componentsTags.style,componentsTags.general],options:{hidden:{hidden:!0,defaultValue:["blank1","blank4","drawing","music","gamesIframe","bangumi","match"],displayName:"隐藏的元素"},order:{hidden:!0,defaultValue:{},displayName:"元素顺序"},padding:{hidden:!0,defaultValue:10,displayName:"边缘间距(%)"},globalFixed:{defaultValue:!1,displayName:"全局固定"},fill:{defaultValue:!1,displayName:"主题色填充"},transparent:{defaultValue:!0,displayName:"透明填充"},blur:{defaultValue:!1,displayName:"背景模糊"},shadow:{defaultValue:!0,displayName:"投影"},seasonLogo:{defaultValue:!1,displayName:"使用季节Logo"},touch:{defaultValue:!1,displayName:"触摸模式"},openInNewTab:{defaultValue:!0,displayName:"新标签页打开"},refreshOnPopup:{defaultValue:!0,displayName:"自动刷新数据"},openInNewTabOverrides:{defaultValue:{logo:!1},displayName:"新标签页打开设置覆盖",hidden:!0},showDeadVideos:{defaultValue:!1,displayName:"显示已失效视频",hidden:!0}},urlInclude:["//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","//live.bilibili.com/blackboard/"],urlExclude:["//t.bilibili.com/vote/h5/index/#/result","//t.bilibili.com/lottery/h5/index/#/result","//member.bilibili.com/video/upload","//member.bilibili.com/platform","//space.bilibili.com/ajax/","//www.bilibili.com/h5/comment/","//member.bilibili.com/v2","//game.bilibili.com/"],instantStyles:[{name:"custom-navbar-style",style:()=>Promise.resolve().then(a.t.bind(a,6064,23)),important:!0}],unload:async()=>{document.querySelectorAll(".custom-navbar,.custom-navbar-settings").forEach((t=>t.style.display="none"))},reload:async()=>{document.querySelectorAll(".custom-navbar,.custom-navbar-settings").forEach((t=>t.style.display="flex"))},extraOptions:()=>Promise.resolve().then(a.bind(a,359)).then((t=>t.default)),plugin:{displayName:"自定义顶栏 - 功能扩展",setup:({addData:t})=>{t("launchBar.actions",(t=>{t.push({name:"navbarSettings",getActions:async()=>[{name:"自定义顶栏设置",description:"Custom Navbar Settings",icon:"mdi-sort",action:async()=>{const{toggleNavbarSettings:t}=await Promise.resolve().then(a.bind(a,5220));t()}}]})}))}},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file +i=Boolean(window&&document&&document.all&&!window.atob)),i},r=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),o=[];function s(t){for(var e=-1,n=0;nPromise.resolve().then(n.bind(n,2542)).then((t=>t.default)),lazy:!1},l="https://www.bilibili.com/v/popular/rank/",p={name:"ranking",displayName:"排行",content:"排行",href:`${l}all`,active:document.URL.startsWith(l),touch:!0,popupContent:()=>Promise.resolve().then(n.bind(n,2632)).then((t=>t.default))},d={name:"userInfo",displayName:"个人信息",content:()=>Promise.resolve().then(n.bind(n,399)).then((t=>t.default)),href:(0,a.getUID)()?"https://space.bilibili.com":null,touch:!0,popupContent:()=>Promise.resolve().then(n.bind(n,7437)).then((t=>t.default)),lazy:!1,noPopupPadding:!0,boundingWidth:240},u={name:"logo",displayName:"Logo",content:()=>Promise.resolve().then(n.bind(n,969)).then((t=>t.default)),href:"https://www.bilibili.com/"},m={name:"home",displayName:"主站",content:"主站",href:"https://www.bilibili.com/",touch:!0,boundingWidth:366,popupContent:()=>Promise.resolve().then(n.bind(n,1742)).then((t=>t.default))},f=t=>({...t,name:`${t.iframeName}Iframe`,content:t.displayName,touch:!0,popupContent:()=>Promise.resolve().then(n.bind(n,4666)).then((t=>t.default)),boundingWidth:t.width,noPopupPadding:!0,transparentPopup:!0}),h=f({src:"https://www.bilibili.com/page-proxy/game-nav.html",href:"https://game.bilibili.com/",width:680,height:260,lazy:!0,displayName:"游戏中心",iframeName:"games"}),v=f({src:"https://live.bilibili.com/blackboard/dropdown-menu.html",href:"https://live.bilibili.com",width:528,height:266,lazy:!0,displayName:"直播",iframeName:"lives"}),b=f({src:"https://manga.bilibili.com/eden/bilibili-nav-panel.html",href:"https://manga.bilibili.com",width:720,height:266,lazy:!0,displayName:"漫画",iframeName:"manga"}),g=new Array(4).fill(0).map(((t,e)=>({name:`blank${e+1}`,displayName:`弹性空白${e+1}`,content:"",disabled:!0,flexStyle:"1 0 auto"}))),x=t=>({...t,content:t.displayName,active:document.URL.startsWith(t.href)}),y=(x({name:"ranking",displayName:"排行",href:"https://www.bilibili.com/v/popular/rank/all"}),x({name:"bangumi",displayName:"番剧",href:"https://www.bilibili.com/anime/"})),w=x({name:"drawing",displayName:"相簿",href:"https://h.bilibili.com"}),_=x({name:"music",displayName:"音频",href:"https://www.bilibili.com/audio/home/"}),C=x({name:"shop",displayName:"会员购",href:"https://show.bilibili.com"}),k=x({name:"match",displayName:"赛事",href:"https://www.bilibili.com/v/game/match/"}),S={name:"upload",displayName:"投稿",content:()=>Promise.resolve().then(n.bind(n,6426)).then((t=>t.default)),touch:!0,href:"https://member.bilibili.com/platform/upload/video/frame",popupContent:()=>Promise.resolve().then(n.bind(n,4037)).then((t=>t.default))},V={name:"search",displayName:"搜索",content:()=>Promise.resolve().then(n.bind(n,5700)).then((t=>t.default)),disabled:!0},N={name:"feeds",displayName:"动态",content:"动态",href:"https://t.bilibili.com/",touch:!0,active:"https://t.bilibili.com/"===document.URL.replace(window.location.search,""),contentMounted:async t=>{const{getNotifyCount:e}=await Promise.resolve().then(n.t.bind(n,3864,23));await(async()=>{const n=await e();t.notifyCount=n})()},loginRequired:!0,popupContent:()=>Promise.resolve().then(n.bind(n,4196)).then((t=>t.default)),boundingWidth:300,noPopupPadding:!0};var I=n(2194);const P={name:"watchlater",displayName:"稍后再看",content:"稍后再看",href:"https://www.bilibili.com/watchlater/#/list",touch:!0,active:document.URL.startsWith("https://www.bilibili.com/watchlater/"),loginRequired:!0,boundingWidth:380,noPopupPadding:!0,popupContent:()=>Promise.resolve().then(n.bind(n,5878)).then((t=>t.default))},L=`https://space.bilibili.com/${(0,a.getUID)()}/favlist`,O={name:"favorites",displayName:"收藏",content:"收藏",href:L,touch:!0,active:document.URL.replace(/\?.*$/,"")===L,loginRequired:!0,boundingWidth:380,noPopupPadding:!0,popupContent:()=>Promise.resolve().then(n.bind(n,3995)).then((t=>t.default))},z="https://www.bilibili.com/account/history",j={name:"history",displayName:"历史",content:"历史",href:z,touch:!0,active:document.URL.replace(/\?.*$/,"")===z,loginRequired:!0,boundingWidth:350,noPopupPadding:!0,popupContent:()=>Promise.resolve().then(n.bind(n,712)).then((t=>t.default))},[$,E,T,D]=g;var M=n(12),A=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{directives:[{name:"show",rawName:"v-show",value:!t.item.hidden,expression:"!item.hidden"}],staticClass:"custom-navbar-item",class:{disabled:t.item.disabled,active:t.item.active},style:{flex:t.item.flexStyle,order:t.item.order},attrs:{role:"listitem","data-name":t.item.name}},[t.item.href?n("CustomNavbarLink",{staticClass:"main-content",attrs:{"new-tab":t.newTab,href:!t.item.active&&!t.item.touch&&t.item.href},on:{mouseover:function(e){return e.target!==e.currentTarget?null:t.requestPopup()}}},["string"==typeof t.item.content?[t._v("\n "+t._s(t.item.content)+"\n ")]:n(t.item.content,{tag:"component",attrs:{item:t.item}})],2):n("div",{staticClass:"main-content",on:{click:function(e){!t.item.active&&!t.item.touch&&t.item.clickAction&&t.item.clickAction(e)}}},["string"==typeof t.item.content?[t._v("\n "+t._s(t.item.content)+"\n ")]:n(t.item.content,{tag:"component",attrs:{item:t.item}})],2),t._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:!t.item.active,expression:"!item.active"}],staticClass:"notify-count"},[t.item.notifyCount>0?[t._v("\n "+t._s(t.item.notifyCount)+"\n ")]:t._e()],2),t._v(" "),n("div",{ref:"popupContainer",staticClass:"popup-container"},[t.item.popupContent?n("div",{staticClass:"popup",class:t.popupClasses(t.item)},[t.item.requestedPopup?n(t.item.popupContent,{ref:"popup",tag:"component",attrs:{container:t.$refs.popupContainer,item:t.item}}):t._e()],1):t._e()]),t._v(" "),n("div",{staticClass:"active-bar"})],1)};A._withStripped=!0;var B=n(407),U=function(){var t=this,e=t.$createElement;return(t._self._c||e)("a",t._g(t._b({attrs:{target:t.newTab?"_blank":null}},"a",t.$attrs,!1),t.$listeners),[t._t("default")],2)};U._withStripped=!0;var F=Vue.extend({props:{newTab:{type:Boolean,default:!0}}}),R=n(1900),W=(0,R.Z)(F,U,[],!1,null,null,null);W.options.__file="registry/lib/components/style/custom-navbar/CustomNavbarLink.vue";var q=W.exports;const Z=t=>{const{name:e}=t,n=M.kO.navbarOptions;return e in n.openInNewTabOverrides?n.openInNewTabOverrides[e]:n.openInNewTab};var H=Vue.extend({components:{CustomNavbarLink:q},props:{item:{type:M.kO,required:!0}},data(){return{newTab:Z(this.item),cancelListeners:none}},mounted(){const t=this.item;t.contentMounted?.(t);const e=()=>{this.updateLinkOption()};(0,B.addComponentListener)("customNavbar.openInNewTabOverrides",e),(0,B.addComponentListener)("customNavbar.openInNewTab",e),this.cancelListeners=()=>{(0,B.removeComponentListener)("customNavbar.openInNewTabOverrides",e),(0,B.removeComponentListener)("customNavbar.openInNewTab",e)}},beforeDestroy(){this.cancelListeners?.()},methods:{updateLinkOption(){this.newTab=Z(this.item)},popupClasses:t=>({transparent:t.transparentPopup,"no-padding":t.noPopupPadding,"iframe-container":t.iframeName}),triggerPopupShow:lodash.debounce((function(t){const{popup:e}=this.$refs;if(!e)return;const n=M.kO.navbarOptions.refreshOnPopup&&e.popupRefresh&&"function"==typeof e.popupRefresh;!t&&n&&e.popupRefresh(),e.popupShow&&"function"==typeof e.popupShow&&e.popupShow()}),300),async requestPopup(){const{item:t}=this;if(!t.disabled){if(!t.requestedPopup)return t.requestedPopup=!0,console.log("requestedPopup",!0),void this.triggerPopupShow(!0);console.log("requestedPopup",!1),this.triggerPopupShow(!1)}}}}),J=n(3379),Y=n.n(J),X=n(9065),G=n.n(X),Q={insert:"head",singleton:!1},K=(Y()(G(),Q),G().locals,(0,R.Z)(H,A,[],!1,null,null,null));K.options.__file="registry/lib/components/style/custom-navbar/CustomNavbarItem.vue";var tt=K.exports,et=coreApis.spinQuery,nt=coreApis.utils.urls;const[it]=(0,o.registerAndGetData)(M.rm,[$,u,m,y,p,w,_,h,v,C,k,b,E,V,T,d,c,N,I.V,P,O,j,S,D]),[at]=(0,o.registerAndGetData)(M.Je,{items:[]}),rt=()=>{const t=Boolean((0,a.getUID)()),e=it.filter((e=>!(e.loginRequired&&!t))).map((t=>new M.kO(t))).sort((0,r.ascendingSort)((t=>t.order)));return at.items=e,e};var ot=Vue.extend({components:{NavbarItem:tt},data:()=>({initItems:it,items:rt(),styles:[]}),watch:{initItems(){this.items=rt()}},async mounted(){await(async t=>{(0,nt.matchCurrentPage)(nt.mainSiteUrls)&&(0,et.sq)((()=>dqa(".animated-banner video, .banner-img img, #banner_link, .international-header .bili-banner, .bili-header__banner")),(t=>0!==t.length&&!!t.some((t=>!!t.style.backgroundImage||!!t.src)))).then((()=>{(0,B.addComponentListener)("customNavbar.transparent",(e=>{(0,B.getComponentSettings)("hideBanner").enabled||t.toggleStyle(e,"transparent")}),!0),(0,B.addComponentListener)("hideBanner",(e=>{(0,B.getComponentSettings)("customNavbar").options.transparent&&t.toggleStyle(!e,"transparent")}))}))})(this)},methods:{toggleStyle(t,e){t&&!this.styles.includes(e)?this.styles.push(e):!t&&this.styles.includes(e)&&this.styles.splice(this.styles.indexOf(e),1)}}}),st=n(5173),ct=n.n(st),lt={insert:"head",singleton:!1},pt=(Y()(ct(),lt),ct().locals,(0,R.Z)(ot,i,[],!1,null,null,null));pt.options.__file="registry/lib/components/style/custom-navbar/CustomNavbar.vue";var dt=pt.exports},3995:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return I}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"favorites-list"},[n("div",{staticClass:"header"},[n("FavoritesFolderSelect",{model:{value:t.folder,callback:function(e){t.folder=e},expression:"folder"}}),t._v(" "),n("div",{staticClass:"search"},[n("TextBox",{attrs:{linear:"",placeholder:"搜索"},model:{value:t.search,callback:function(e){t.search=e},expression:"search"}})],1),t._v(" "),n("a",{staticClass:"operation",attrs:{href:t.playLink,title:"播放全部",target:"_blank"}},[n("VButton",{staticClass:"play-all",attrs:{round:""}},[n("VIcon",{attrs:{icon:"mdi-play",size:18}})],1)],1),t._v(" "),n("a",{staticClass:"operation",attrs:{href:t.moreLink,title:"查看更多",target:"_blank"}},[n("VButton",{staticClass:"more-info",attrs:{round:""}},[n("VIcon",{attrs:{icon:"mdi-dots-horizontal",size:18}})],1)],1)],1),t._v(" "),n("div",{staticClass:"content"},[t.loading&&!t.searching?n("VLoading"):t.loading||t.canLoadMore||0!==t.filteredCards.length?n("transition-group",{staticClass:"cards",attrs:{name:"cards",tag:"div"}},[t._l(t.filteredCards,(function(e){return n("div",{key:e.id,staticClass:"favorite-card"},[n("a",{staticClass:"cover-container",attrs:{target:"_blank",href:"https://www.bilibili.com/video/"+e.bvid}},[n("DpiImage",{staticClass:"cover",attrs:{src:e.coverUrl,size:{width:130,height:85}}}),t._v(" "),n("div",{staticClass:"floating duration"},[t._v(t._s(e.durationText))]),t._v(" "),n("div",{staticClass:"floating favorite-time"},[t._v(t._s(e.favoriteTime))])],1),t._v(" "),n("a",{staticClass:"title",attrs:{target:"_blank",href:"https://www.bilibili.com/video/"+e.bvid,title:e.title}},[t._v(t._s(e.title))]),t._v(" "),e.upID?n("a",{staticClass:"up",attrs:{target:"_blank",href:"https://space.bilibili.com/"+e.upID,title:e.upName}},[n("DpiImage",{staticClass:"face",attrs:{"placeholder-image":"",src:e.upFaceUrl,size:20}}),t._v(" "),n("div",{staticClass:"name"},[t._v(t._s(e.upName))])],1):n("div",{staticClass:"description"},[t._v("\n "+t._s(e.description)+"\n ")])])})),t._v(" "),t.canLoadMore?n("ScrollTrigger",{key:"scroll-trigger",on:{trigger:function(e){return t.scrollTrigger()}}}):t._e()],2):n("VEmpty")],1)])};i._withStripped=!0;var a=n(8643),r=n(8117),o=n(3109),s=n(3663),c=n(5729),l=n(407);const p={id:0,name:"加载中...",count:0};var d=function(){var t=this,e=t.$createElement;return(t._self._c||e)("VDropdown",{staticClass:"favorites-folder-select",attrs:{round:"",items:t.folders,"key-mapper":function(t){return t.id},value:t.folder},on:{change:function(e){return t.change(e)}},scopedSlots:t._u([{key:"item",fn:function(e){var n=e.item;return[t._v("\n "+t._s(n.name)+"\n ")]}}])})};d._withStripped=!0;const u=(0,l.getComponentSettings)("customNavbar").options;var m=Vue.extend({components:{VDropdown:a.VDropdown},model:{prop:"folder",event:"change"},props:{folder:{type:Object,required:!0}},data:()=>({folders:[]}),async created(){const t=(0,o.getUID)();if(!t)return;const e=`https://api.bilibili.com/medialist/gateway/base/created?pn=1&ps=100&up_mid=${t}&is_space=0`,n=await(0,s.getJsonWithCredentials)(e);if(0!==n.code)throw new Error(`获取收藏夹列表失败: ${n.message}`);if(this.folders=lodash.get(n,"data.list",[]).map((t=>({id:t.id,name:t.title,count:t.media_count}))),this.folders.length>0&&this.folder.id===p.id){const{lastFavoriteFolder:t}=u,e=this.folders.find((e=>e.id===t));e?this.$emit("change",e):this.$emit("change",this.folders[0])}},methods:{change(t){u.lastFavoriteFolder=t.id,this.$emit("change",t)}}}),f=n(1900),h=(0,f.Z)(m,d,[],!1,null,null,null);h.options.__file="registry/lib/components/style/custom-navbar/favorites/FavoritesFolderSelect.vue";var v=h.exports,b=n(3037);const g=(0,l.getComponentSettings)("customNavbar").options,x=t=>!!g.showDeadVideos||9!==t.attr&&1!==t.attr,y=t=>({id:t.id,aid:t.id,bvid:t.bvid,coverUrl:t.cover.replace("http:","https:"),favoriteTimestamp:1e3*t.fav_time,favoriteTime:(0,r.formatDate)(new Date(1e3*t.fav_time)),title:t.title,description:t.intro,duration:t.duration,durationText:(0,r.formatDuration)(t.duration),playCount:t.cnt_info.play,danmakuCount:t.cnt_info.danmaku,upName:t.upper.name,upFaceUrl:t.upper.face.replace("http:","https:"),upID:t.upper.mid});var w=Vue.extend({components:{FavoritesFolderSelect:v,VLoading:a.VLoading,VEmpty:a.VEmpty,VIcon:a.VIcon,VButton:a.VButton,TextBox:a.TextBox,DpiImage:a.DpiImage,ScrollTrigger:a.ScrollTrigger},mixins:[b.u],data:()=>({loading:!0,cards:[],filteredCards:[],page:1,hasMorePage:!0,searchPage:1,hasMoreSearchPage:!0,search:"",folder:p}),computed:{searching(){return""!==this.search},moreLink(){const{id:t}=this.folder;return 0===t?`https://space.bilibili.com/${(0,o.getUID)()}/favlist`:`https://space.bilibili.com/${(0,o.getUID)()}/favlist?fid=${t}`},playLink(){const{id:t}=this.folder;if(0!==t)return`https://www.bilibili.com/medialist/play/ml${t}`},canLoadMore(){return this.searching?this.hasMoreSearchPage:this.hasMorePage}},watch:{folder(){this.changeList()},search(t){""!==t?(t=t.toLowerCase(),this.hasMoreSearchPage=!0,this.searchPage=1,this.filteredCards=this.cards.filter((e=>e.title.toLowerCase().includes(t)||e.upName.toLowerCase().includes(t)))):this.filteredCards=this.cards}},methods:{async getCards(){const t=`https://api.bilibili.com/x/v3/fav/resource/list?media_id=${this.folder.id}&pn=${this.page}&ps=20&keyword=&order=mtime&type=0&tid=0&platform=web`,e=await(0,s.getJsonWithCredentials)(t);if(0!==e.code)throw new Error(`加载收藏夹内容失败: ${e.message}`);return e.data.medias?e.data.medias.filter(x).map(y):[]},async changeList(){if(0!==this.folder.id)try{this.search="",this.cards=[],this.loading=!0,this.searchPage=1,this.hasMoreSearchPage=!0,this.page=1,this.hasMorePage=!0,this.cards=await this.getCards(),this.filteredCards=this.cards}catch(t){(0,c.logError)(t)}finally{this.loading=!1}},async loadNextPage(){try{this.page++;const t=await this.getCards();this.cards.push(...t),this.hasMorePage=0===t.length||this.cards.lengtht.id));this.filteredCards=a;const r=n.length+i.length===0,o=i.length<20;if(r||o)return void(this.hasMoreSearchPage=!1)}catch(t){console.error(t)}finally{this.loading=!1}}),200),scrollTrigger(){this.searching?this.debounceSearchAllList():this.loadNextPage()}}}),_=n(3379),C=n.n(_),k=n(6410),S=n.n(k),V={insert:"head",singleton:!1},N=(C()(S(),V),S().locals,(0,f.Z)(w,i,[],!1,null,null,null));N.options.__file="registry/lib/components/style/custom-navbar/favorites/NavbarFavorites.vue";var I=N.exports},4196:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return v}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"navbar-feeds"},[n("TabControl",{ref:"tabControl",attrs:{tabs:t.tabs,"more-link":"https://t.bilibili.com/"},scopedSlots:t._u([{key:"more-link",fn:function(){return[t._v("\n 所有动态\n "),n("VIcon",{attrs:{icon:"feeds",size:18}})]},proxy:!0}])})],1)};i._withStripped=!0;var a=n(8643),r=n(2023),o=n(3864),s=n(3037);const c=[{name:"video",displayName:"视频",component:()=>Promise.resolve().then(n.bind(n,7747)).then((t=>t.default)),activeLink:"https://t.bilibili.com/?tab=8",count:0},{name:"bangumi",displayName:"番剧",component:()=>Promise.resolve().then(n.bind(n,9312)).then((t=>t.default)),activeLink:"https://t.bilibili.com/?tab=512,4097,4098,4099,4100,4101",count:0},{name:"column",displayName:"专栏",component:()=>Promise.resolve().then(n.bind(n,1728)).then((t=>t.default)),activeLink:"https://t.bilibili.com/?tab=64",count:0},{name:"live",displayName:"直播",component:()=>Promise.resolve().then(n.bind(n,1141)).then((t=>t.default)),activeLink:"https://link.bilibili.com/p/center/index#/user-center/follow/1",count:0}];var l=Vue.extend({components:{TabControl:a.TabControl,VIcon:a.VIcon},mixins:[s.u],data:()=>({tabs:c}),mounted(){this.refreshNotifyCount()},methods:{popupShow(){this.item.notifyCount=0},async refreshNotifyCount(){const{tabControl:t}=this.$refs;c.forEach((async e=>{if(t.selectedTab===e)return;if("live"===e.name)return;const n=await(0,o.getNotifyCount)(r.feedsCardTypes[e.name].id.toString());e.count=n,console.log(e)}))}}}),p=n(3379),d=n.n(p),u=n(3030),m=n.n(u),f={insert:"head",singleton:!1},h=(d()(m(),f),m().locals,(0,n(1900).Z)(l,i,[],!1,null,null,null));h.options.__file="registry/lib/components/style/custom-navbar/feeds/NavbarFeeds.vue";var v=h.exports},9312:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return v}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"bangumi-feeds"},[t.loading?n("VLoading"):t.loading||0!==t.cards.length?[n("div",{staticClass:"bangumi-feeds-content"},t._l(t.cards,(function(t){return n("BangumiCard",{key:t.id,attrs:{"is-new":t.new,data:t}})})),1),t._v(" "),t.hasMorePage?n("ScrollTrigger",{on:{trigger:function(e){return t.nextPage()}}}):t._e()]:n("VEmpty")],2)};i._withStripped=!0;var a=n(2023),r=n(3864),o=coreApis.componentApis.feeds.BangumiCard,s=n.n(o),c=n(8281),l=Vue.extend({components:{BangumiCard:s()},mixins:[(0,c.I)(a.feedsCardTypes.bangumi,(t=>{const e=JSON.parse(t.card);return{id:t.desc.dynamic_id_str,title:e.apiSeasonInfo.title,coverUrl:e.apiSeasonInfo.cover,epCoverUrl:e.cover,epTitle:e.new_desc,url:e.url,get new(){return(0,r.isNewID)(this.id)}}}))]}),p=n(3379),d=n.n(p),u=n(4728),m=n.n(u),f={insert:"head",singleton:!1},h=(d()(m(),f),m().locals,(0,n(1900).Z)(l,i,[],!1,null,null,null));h.options.__file="registry/lib/components/style/custom-navbar/feeds/tabs/BangumiFeeds.vue";var v=h.exports},1728:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return v}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"column-feeds"},[t.loading?n("VLoading"):t.loading||0!==t.cards.length?[n("div",{staticClass:"columns-feeds-content"},t._l(t.cards,(function(t){return n("ColumnCard",{key:t.id,attrs:{"is-new":t.new,data:t}})})),1),t._v(" "),t.hasMorePage?n("ScrollTrigger",{on:{trigger:function(e){return t.nextPage()}}}):t._e()]:n("VEmpty")],2)};i._withStripped=!0;var a=n(2023),r=n(3864),o=coreApis.componentApis.feeds.ColumnCard,s=n.n(o),c=n(8281),l=Vue.extend({components:{ColumnCard:s()},mixins:[(0,c.I)(a.feedsCardTypes.column,(t=>{const e=JSON.parse(t.card);return{id:t.desc.dynamic_id_str,cvID:e.id,title:e.title,upName:e.author.name,upFaceUrl:e.author.face,upID:e.author.mid,description:e.summary,covers:e.image_urls,originalCovers:e.origin_image_urls,get new(){return(0,r.isNewID)(this.id)}}}))]}),p=n(3379),d=n.n(p),u=n(8994),m=n.n(u),f={insert:"head",singleton:!1},h=(d()(m(),f),m().locals,(0,n(1900).Z)(l,i,[],!1,null,null,null));h.options.__file="registry/lib/components/style/custom-navbar/feeds/tabs/ColumnFeeds.vue";var v=h.exports},1141:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return m}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"live-feeds"},[t.loading?n("VLoading"):t.loading||0!==t.cards.length?t._e():n("VEmpty"),t._v(" "),n("transition-group",{staticClass:"live-feeds-content",attrs:{name:"cards",tag:"div"}},t._l(t.cards,(function(e){return n("a",{key:e.id,staticClass:"live-card",attrs:{target:"_blank",href:e.url}},[n("div",{staticClass:"face-container"},[n("DpiImage",{staticClass:"face",attrs:{size:48,src:e.upFaceUrl}})],1),t._v(" "),n("div",{staticClass:"live-info"},[n("div",{staticClass:"live-title",attrs:{title:e.title}},[t._v(t._s(e.title))]),t._v(" "),n("div",{staticClass:"live-name",attrs:{title:e.name}},[t._v(t._s(e.upName))])])])})),0)],1)};i._withStripped=!0;var a=n(8643),r=n(3663),o=Vue.extend({components:{VLoading:a.VLoading,VEmpty:a.VEmpty,DpiImage:a.DpiImage},data:()=>({loading:!0,rawItems:[],hasMorePage:!0}),computed:{cards(){return this.rawItems.map((t=>({id:t.roomid,title:t.title,upFaceUrl:t.face,upName:t.uname,url:t.link})))}},async created(){const[t]=(0,r.responsiveGetPages)({api:t=>(0,r.getJsonWithCredentials)(`https://api.live.bilibili.com/relation/v1/feed/feed_list?page=${t}&pagesize=24`),getList:t=>lodash.get(t,"data.list",[]),getTotal:t=>lodash.get(t,"data.results",0)});this.rawItems=await t,this.loading=!1}}),s=n(3379),c=n.n(s),l=n(2422),p=n.n(l),d={insert:"head",singleton:!1},u=(c()(p(),d),p().locals,(0,n(1900).Z)(o,i,[],!1,null,null,null));u.options.__file="registry/lib/components/style/custom-navbar/feeds/tabs/LiveFeeds.vue";var m=u.exports},7747:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return x}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"video-feeds"},[t.loading?n("VLoading"):t.loading||0!==t.cards.length?[n("div",{staticClass:"video-feeds-content"},[n("transition-group",{staticClass:"left-column",attrs:{name:"cards",tag:"div"}},t._l(t.columnedCards.left,(function(t){return n("VideoCard",{key:t.id,attrs:{orientation:"vertical","is-new":t.new,"show-stats":!1,data:t}})})),1),t._v(" "),n("transition-group",{staticClass:"right-column",attrs:{name:"cards",tag:"div"}},t._l(t.columnedCards.right,(function(t){return n("VideoCard",{key:t.id,attrs:{orientation:"vertical","is-new":t.new,"show-stats":!1,data:t}})})),1)],1),t._v(" "),t.hasMorePage?n("ScrollTrigger",{on:{trigger:function(e){return t.nextPage()}}}):t._e()]:n("VEmpty")],2)};i._withStripped=!0;var a=n(8117),r=n(3864),o=n(2023),s=coreApis.componentApis.feeds.VideoCard,c=n.n(s),l=n(8281);const p=t=>{const e=Number(new Date),n=new Date(t),i=[n.getHours(),n.getMinutes(),n.getSeconds()].map((t=>t.toString().padStart(2,"0"))).join(":");let a;return a=new Date(e).getFullYear()!==n.getFullYear()?[n.getFullYear(),n.getMonth()+1,n.getDate()]:[n.getMonth()+1,n.getDate()],`${a.map((t=>t.toString().padStart(2,"0"))).join("-")} ${i}`},d=t=>{const e=Number(new Date);if(e-864e5t.toString().padStart(2,"0"))).join("-")}`};var u=Vue.extend({components:{VideoCard:c()},mixins:[(0,l.I)(o.feedsCardTypes.video,(t=>{const e=JSON.parse(t.card);return{id:t.desc.dynamic_id_str,aid:e.aid,bvid:t.desc.bvid,videoUrl:`https://www.bilibili.com/${t.desc.bvid}`,coverUrl:e.pic,title:e.title,duration:e.duration,durationText:(0,a.formatDuration)(e.duration),description:e.desc,pubTime:p(1e3*e.pubdate),pubTimeText:d(1e3*e.pubdate),upFaceUrl:t.desc.user_profile.info.face,upName:t.desc.user_profile.info.uname,upID:t.desc.user_profile.info.uid,watchlater:!0,playCount:(0,a.formatCount)(e.stat.view),get new(){return(0,r.isNewID)(this.id)}}}))],computed:{columnedCards(){const{cards:t}=this;return{left:t.filter(((t,e)=>e%2==0)),right:t.filter(((t,e)=>e%2!=0))}}},methods:{onCardsUpdate:t=>(0,o.groupVideoFeeds)(t)}}),m=n(3379),f=n.n(m),h=n(4812),v=n.n(h),b={insert:"head",singleton:!1},g=(f()(v(),b),v().locals,(0,n(1900).Z)(u,i,[],!1,null,"6e663916",null));g.options.__file="registry/lib/components/style/custom-navbar/feeds/tabs/VideoFeeds.vue";var x=g.exports},712:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return _}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"custom-navbar-history-list"},[n("div",{staticClass:"header"},[n("div",{staticClass:"header-row"},[n("div",{staticClass:"search"},[n("TextBox",{attrs:{placeholder:"搜索",linear:""},model:{value:t.search,callback:function(e){t.search=e},expression:"search"}})],1),t._v(" "),n("div",{staticClass:"operations"},[n("a",{staticClass:"operation",attrs:{target:"_blank",href:"https://www.bilibili.com/account/history"}},[n("VButton",{attrs:{title:"查看更多",round:""}},[n("VIcon",{attrs:{icon:"mdi-dots-horizontal",size:18}})],1)],1)])]),t._v(" "),n("div",{staticClass:"header-row"},[n("div",{staticClass:"row-title"},[t._v("\n 过滤:\n ")]),t._v(" "),n("div",{staticClass:"type-filters"},t._l(t.types,(function(e){return n("div",{key:e.name,staticClass:"type-filter"},[n("VButton",{class:{checked:e.checked},attrs:{round:"",title:(e.checked?"不显示":"显示")+e.displayName},on:{click:function(n){return t.toggleTypeFilter(e)}}},[n("VIcon",{attrs:{icon:e.icon,size:18}}),t._v("\n "+t._s(e.displayName)+"\n ")],1)],1)})),0)])]),t._v(" "),n("div",{staticClass:"content"},[t.loading?n("VLoading"):t.loading||0!==t.groups.length?n("transition-group",{staticClass:"cards",attrs:{name:"cards",tag:"div"}},[t._l(t.groups,(function(e){return n("div",{key:e.name,staticClass:"time-group"},[n("div",{staticClass:"time-group-name"},[t._v("\n "+t._s(e.name)+"\n ")]),t._v(" "),n("transition-group",{staticClass:"time-group-items",attrs:{name:"time-group",tag:"div"}},t._l(e.items,(function(e){return n("div",{key:e.id,staticClass:"time-group-item"},[n("a",{staticClass:"cover-container",attrs:{target:"_blank",href:e.url}},[n("DpiImage",{staticClass:"cover",attrs:{src:e.cover,size:{width:160,height:110},"placeholder-image":""}}),t._v(" "),e.progress?n("div",{staticClass:"progress",style:{width:100*e.progress+"%"}}):t._e(),t._v(" "),e.progressText?n("div",{staticClass:"floating progress-number"},[t._v(t._s(e.progress>=1?"已看完":e.progressText))]):t._e(),t._v(" "),void 0!==e.liveStatus?n("div",{staticClass:"floating duration live-status",class:{on:1===e.liveStatus}},[t._v(t._s(1===e.liveStatus?"直播中":"未开播"))]):t._e(),t._v(" "),e.durationText?n("div",{staticClass:"floating duration"},[t._v(t._s(e.durationText))]):t._e()],1),t._v(" "),n("a",{staticClass:"title",attrs:{target:"_blank",href:e.url,title:e.title}},[t._v(t._s(e.title||e.upName+"的直播间"))]),t._v(" "),n("a",{staticClass:"up",attrs:{target:"_blank",href:"pgc"===e.type?e.url:"https://space.bilibili.com/"+e.upID,title:e.upName}},[e.upFaceUrl?n("DpiImage",{staticClass:"up-face",attrs:{size:18,src:e.upFaceUrl}}):t._e(),t._v(" "),n("div",{staticClass:"up-name"},[t._v(t._s(e.upName))])],1),t._v(" "),e.timeText?n("div",{staticClass:"time",attrs:{title:new Date(e.viewAt).toLocaleString()}},[t._v("\n "+t._s(e.timeText)+"\n ")]):t._e()])})),0)],1)})),t._v(" "),t.canNextPage?n("ScrollTrigger",{key:"scroll-trigger",on:{trigger:function(e){return t.nextPage()}}}):t._e()],2):n("VEmpty")],1)])};i._withStripped=!0;var a=n(4522),r=n(8643),o=n(3037),s=n(3663),c=n(3109),l=n(8117);let p;!function(t){t.Video="archive",t.Live="live",t.Article="article",t.Bangumi="pgc"}(p||(p={}));const d=[{name:p.Video,displayName:"视频",icon:"mdi-play-circle-outline",checked:!0},{name:p.Bangumi,displayName:"番剧",icon:"mdi-television-classic",checked:!0},{name:p.Live,displayName:"直播",icon:"mdi-video-wireless-outline",checked:!0},{name:p.Article,displayName:"专栏",icon:"mdi-newspaper-variant-outline",checked:!0}],u=()=>{const t=new Date,e=Number(new Date(t.getFullYear(),t.getMonth(),t.getDate())),n=864e5;return{now:t,today:e,oneDay:n,yesterday:e-n,lastWeek:e-7*n}},m=t=>{const{yesterday:e}=u();return Number(t)>=e?`${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`:`${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")} ${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`},f=t=>{"article"===t.history.business&&(t.history.cid=t.history.oid);const{epid:e,bvid:n,cid:i,oid:a}=t.history,r=t.progress>0?`t=${t.progress}`:"t=0",o=-1===t.progress?1:t.progress/t.duration,s=t=>t.replace("http:","https:"),d=new Date(1e3*t.view_at),u=t.cover?s(t.cover):t.covers?s(t.covers[0]):"",f={title:t.title,viewAt:1e3*t.view_at,time:d,timeText:m(d),cover:u,covers:t.covers?.map(s)??[],progress:o,progressText:Number.isNaN(o)?null:`${(0,c.fixed)(100*o,1)}%`,duration:t.duration,durationText:t.duration?(0,l.formatDuration)(t.duration):null,upName:t.author_name,upFaceUrl:s(t.author_face),upID:t.author_mid};if(e)return{...f,id:e,url:`https://www.bilibili.com/bangumi/play/ep${e}?${r}`,title:t.show_title||t.title,upName:t.title,type:p.Bangumi};if(n)return{...f,id:n,url:`https://www.bilibili.com/video/${n}?p=${t.history.page}&${r}`,type:p.Video};if(i)return{...f,id:i,url:`https://www.bilibili.com/read/cv${i}`,type:p.Article};if(a)return{...f,id:a,url:`https://live.bilibili.com/${a}`,liveStatus:t.live_status,type:p.Live};throw console.error("unknown history item type",t),new Error("未知的历史项目类型")};var h=Vue.extend({components:{VButton:r.VButton,VIcon:r.VIcon,TextBox:r.TextBox,VLoading:r.VLoading,VEmpty:r.VEmpty,ScrollTrigger:r.ScrollTrigger,DpiImage:r.DpiImage},mixins:[o.u],data:()=>({types:d,search:"",viewTime:0,cards:[],groups:[],loading:!0,hasMorePage:!0}),computed:{canNextPage(){return""===this.search&&!this.loading&&this.hasMorePage&&this.types.every((t=>t.checked))}},watch:{search:lodash.debounce((function(){this.updateGroups()}),200)},async created(){try{await this.nextPage()}finally{this.loading=!1}},methods:{toggleTypeFilter(t){t.checked=!t.checked,this.updateGroups()},filterFunc(t){return!d.some((e=>e.name===t.type&&!e.checked))&&!(!t.title.toLowerCase().includes(this.search.toLowerCase())&&!t.upName.toLowerCase().includes(this.search.toLowerCase()))},updateGroups(){this.groups=(t=>{if(0===t.length)return[];const{today:e,yesterday:n,lastWeek:i}=u(),a=lodash.groupBy(t,(t=>t.viewAt>=e?"今天":t.viewAt>=n?"昨天":t.viewAt>=i?"本周":"更早"));return Object.entries(a).map((([t,e])=>({name:t,items:e})))})(this.cards.filter(this.filterFunc))},async nextPage(){const t=await(async t=>{let e="https://api.bilibili.com/x/web-interface/history/cursor";t&&(e+=`?view_at=${Math.round(t/1e3)}`);const{list:n}=await(0,s.bilibiliApi)((0,s.getJsonWithCredentials)(e),"获取历史记录失败");return Array.isArray(n)?n.map(f):[]})(this.viewTime),e=lodash.uniqBy(this.cards.concat(t).sort((0,a.descendingSort)((t=>t.viewAt))),(t=>t.id));this.cards=e,this.updateGroups(),e.length>0&&(this.viewTime=lodash.last(e).viewAt),this.hasMorePage=0!==e.length}}}),v=n(3379),b=n.n(v),g=n(7337),x=n.n(g),y={insert:"head",singleton:!1},w=(b()(x(),y),x().locals,(0,n(1900).Z)(h,i,[],!1,null,null,null));w.options.__file="registry/lib/components/style/custom-navbar/history/NavbarHistory.vue";var _=w.exports},1742:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return h}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"home-popup",attrs:{role:"list"}},t._l(Object.entries(t.categories),(function(e){var i=e[0],a=e[1];return n("div",{key:i,staticClass:"category-item",class:{main:null!==a.code},attrs:{role:"listitem"}},[n("a",{attrs:{href:a.link,target:"_blank"}},[n("svg",{attrs:{"aria-hidden":"true"}},[n("use",{attrs:{href:"#header-icon-"+a.icon,"xlink:href":"#header-icon-"+a.icon}})]),t._v(" "),n("div",{staticClass:"name"},[t._v(t._s(i))]),t._v(" "),n("span",{staticClass:"count"},[null!==a.count?[t._v(t._s(a.count))]:t._e()],2)]),t._v(" "),a.subCategories?n("div",{staticClass:"sub-regions-popup popup"},t._l(Object.entries(a.subCategories),(function(e){var i=e[0],a=e[1];return n("a",{key:i,staticClass:"sub-region",attrs:{href:a,target:"_blank"}},[t._v(t._s(i))])})),0):t._e()])})),0)};i._withStripped=!0;var a=n(1212),r=n(3037);const o=lodash.cloneDeep(a.categories);Object.values(o).forEach((t=>{t.count=null}));let s=!1;var c=Vue.extend({mixins:[r.u],data:()=>({categories:o}),async created(){if(s)return;s=!0;const{bilibiliApi:t,getJson:e}=await Promise.resolve().then(n.t.bind(n,3663,23)),{addCategoryIcons:i}=await Promise.resolve().then(n.t.bind(n,1212,23));i();const{region_count:a={}}=await t(e("https://api.bilibili.com/x/web-interface/online"),"[自定义顶栏] 分区投稿信息获取失败");Object.values(this.categories).forEach((t=>{t.code&&(Array.isArray(t.code)?t.count=lodash.sum(t.code.map((t=>a[t]))):t.count=a[t.code])}))},mounted(){this.$el.style.maxHeight="inherit",this.$nextTick((()=>{this.$el.style.maxHeight=""}))}}),l=n(3379),p=n.n(l),d=n(4374),u=n.n(d),m={insert:"head",singleton:!1},f=(p()(u(),m),u().locals,(0,n(1900).Z)(c,i,[],!1,null,null,null));f.options.__file="registry/lib/components/style/custom-navbar/home/NavbarHome.vue";var h=f.exports},4666:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return s}});var i=function(){var t=this,e=t.$createElement;return(t._self._c||e)("iframe",{attrs:{src:t.item.src,frameborder:"0",width:t.item.width,height:t.item.height}})};i._withStripped=!0;var a=n(3037),r=Vue.extend({name:"IframePopup",mixins:[a.u]}),o=(0,n(1900).Z)(r,i,[],!1,null,null,null);o.options.__file="registry/lib/components/style/custom-navbar/iframe/IframePopup.vue";var s=o.exports},969:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return f}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.seasonLogoUrl?n("img",{staticClass:"custom-navbar-logo season",attrs:{height:"38",src:t.seasonLogoUrl}}):n("VIcon",{staticClass:"custom-navbar-logo",attrs:{icon:"logo"}})};i._withStripped=!0;var a=n(407),r=n(3663),o=n(8643),s=Vue.extend({name:"NavbarLogo",components:{VIcon:o.VIcon},data:()=>({seasonLogoUrl:""}),watch:{seasonLogoUrl(){document.body.classList.toggle("season-logo-enabled",Boolean(this.seasonLogoUrl))}},async created(){(0,a.addComponentListener)("customNavbar.seasonLogo",(async t=>{if(!t)return void(this.seasonLogoUrl="");const e=await(0,r.getJson)("https://api.bilibili.com/x/web-show/page/header?resource_id=1");0===e.code?this.seasonLogoUrl=lodash.get(e,"data.litpic","").replace("http:","https:"):this.seasonLogoUrl=""}),!0)}}),c=n(3379),l=n.n(c),p=n(3324),d=n.n(p),u={insert:"head",singleton:!1},m=(l()(d(),u),d().locals,(0,n(1900).Z)(s,i,[],!1,null,null,null));m.options.__file="registry/lib/components/style/custom-navbar/logo/NavbarLogo.vue";var f=m.exports},2542:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return f}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"messages-popup",attrs:{role:"list"}},t._l(t.entries,(function(e){return n("div",{key:e.name,staticClass:"message-entry",attrs:{role:"listitem"}},[n("a",{attrs:{"data-prop":e.prop,target:"_blank",href:e.href,"data-count":e.count||null},on:{click:function(n){return t.clearCount(e)}}},[t._v(t._s(e.name))])])})),0)};i._withStripped=!0;var a=n(3663),r=n(3037);const o=[{prop:"reply",href:"https://message.bilibili.com/#/reply",name:"回复我的"},{prop:"at",href:"https://message.bilibili.com/#/at",name:"@我的"},{prop:"like",href:"https://message.bilibili.com/#/love",name:"收到的赞"},{prop:"sys_msg",href:"https://message.bilibili.com/#/system",name:"系统通知"},{prop:"user_msg",href:"https://message.bilibili.com/#/whisper",name:"我的消息"},{href:"https://message.bilibili.com/#/archive",name:"私信存档"},{href:"https://message.bilibili.com/#/config",name:"消息设置"}];var s=Vue.extend({name:"MessagesPopup",mixins:[r.u],data:()=>({entries:o.map((t=>(t.count=0,t))),settings:{notify:!0,hideNotFollowedCount:!1,json:{}}}),async created(){await this.fetchSettings(),this.notify()},methods:{popupRefresh(){this.notify()},async fetchSettings(){const t=await(0,a.getJsonWithCredentials)("https://api.vc.bilibili.com/link_setting/v1/link_setting/get?msg_notify=1&show_unfollowed_msg=1");0===t.code&&(this.settings={notify:3!==t.data.msg_notify,hideNotFollowedCount:1===t.data.show_unfollowed_msg,json:t.data})},async notify(){if(!this.settings.notify)return;const[t,e]=await Promise.all([(0,a.getJsonWithCredentials)("https://api.bilibili.com/x/msgfeed/unread"),(0,a.getJsonWithCredentials)("https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread")]);t.data.user_msg=e.data.follow_unread||0,this.settings.hideNotFollowedCount||(t.data.user_msg+=e.data.unfollow_unread||0),this.item.notifyCount=o.reduce(((e,n)=>e+(n.prop?t.data[n.prop]:0)),0),this.item.notifyCount&&(console.log(o),o.forEach((e=>{if(!e.prop)return;const n=t.data[e.prop];console.log(e.prop,e.count,n),n>0&&(e.count=n)})))},clearCount(t){this.item.notifyCount-=t.count,t.count=0}}}),c=n(3379),l=n.n(c),p=n(6617),d=n.n(p),u={insert:"head",singleton:!1},m=(l()(d(),u),d().locals,(0,n(1900).Z)(s,i,[],!1,null,"589ce0fa",null));m.options.__file="registry/lib/components/style/custom-navbar/messages/NavbarMessages.vue";var f=m.exports},2632:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return m}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"ranking-popup",attrs:{role:"list"}},t._l(t.entries,(function(e){return n("div",{key:e.name,staticClass:"ranking-entry",attrs:{role:"listitem"}},[n("a",{attrs:{target:"_blank",href:e.href}},[t._v(t._s(e.name))])])})),0)};i._withStripped=!0;var a=n(3037);const r=[{href:"https://www.bilibili.com/v/popular/all",name:"综合热门"},{href:"https://www.bilibili.com/v/popular/weekly",name:"每周必看"},{href:"https://www.bilibili.com/v/popular/history",name:"入站必刷"},{href:"https://www.bilibili.com/v/popular/rank/all",name:"排行榜"}];var o=Vue.extend({name:"RankingPopup",mixins:[a.u],data:()=>({entries:r})}),s=n(3379),c=n.n(s),l=n(3369),p=n.n(l),d={insert:"head",singleton:!1},u=(c()(p(),d),p().locals,(0,n(1900).Z)(o,i,[],!1,null,"6678d691",null));u.options.__file="registry/lib/components/style/custom-navbar/ranking/NavbarRanking.vue";var m=u.exports},5700:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return m}});var i=function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"custom-navbar-search"},[e("LaunchBar")],1)};i._withStripped=!0;var a=coreApis.componentApis.launchBar.LaunchBar,r=n.n(a),o=Vue.extend({components:{LaunchBar:r()}}),s=n(3379),c=n.n(s),l=n(2438),p=n.n(l),d={insert:"head",singleton:!1},u=(c()(p(),d),p().locals,(0,n(1900).Z)(o,i,[],!1,null,null,null));u.options.__file="registry/lib/components/style/custom-navbar/search/NavbarSearch.vue";var m=u.exports},359:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return f}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"custom-navbar-extra-options"},[t.login?n("VButton",{ref:"button",on:{mouseover:function(e){return t.loadNavbarSettings()},click:function(e){return t.toggleNavbarSettings()}}},[t._v("\n 布局设置"),n("VIcon",{attrs:{icon:"right-arrow",size:16}})],1):t._e()],1)};i._withStripped=!0;var a=n(3109),r=n(8643),o=n(5220),s=Vue.extend({components:{VIcon:r.VIcon,VButton:r.VButton},data:()=>({login:Boolean((0,a.getUID)())}),methods:{async loadNavbarSettings(){if(await(0,o.loadNavbarSettings)()){const t=this.$refs.button.$el;(0,o.setTriggerElement)(t)}},toggleNavbarSettings:o.toggleNavbarSettings}}),c=n(3379),l=n.n(c),p=n(8306),d=n.n(p),u={insert:"head",singleton:!1},m=(l()(d(),u),d().locals,(0,n(1900).Z)(s,i,[],!1,null,null,null));m.options.__file="registry/lib/components/style/custom-navbar/settings/ExtraOptions.vue";var f=m.exports},4040:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return y}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("VPopup",{ref:"popup",staticClass:"custom-navbar-settings be-settings-extra-options",attrs:{fixed:"",lazy:!1,"trigger-element":t.triggerElement},model:{value:t.open,callback:function(e){t.open=e},expression:"open"}},[n("div",{staticClass:"navbar-settings-header"},[n("VIcon",{staticClass:"title-icon",attrs:{icon:"mdi-sort",size:24}}),t._v(" "),n("div",{staticClass:"title"},[t._v("\n 顶栏布局设置\n ")]),t._v(" "),n("div",{staticClass:"grow"}),t._v(" "),n("div",{staticClass:"close",on:{click:function(e){t.open=!1}}},[n("VIcon",{attrs:{icon:"close",size:18}})],1)],1),t._v(" "),n("div",{staticClass:"navbar-settings-content"},[n("div",{staticClass:"navbar-settings-section"},[n("div",{staticClass:"navbar-settings-section-title"},[t._v("\n 边缘间距\n ")]),t._v(" "),n("div",{staticClass:"navbar-settings-section-description"},[t._v("\n 设定两侧边缘处的间距, 单位为百分比, 100%为整个顶栏的宽度.\n "),n("br"),t._v("空间不足时, 实际呈现的间距会自动缩小.\n ")]),t._v(" "),n("div",{staticClass:"navbar-settings-section-content",on:{mouseover:function(e){return t.peekPadding(!0)},mouseout:function(e){return t.peekPadding(!1)}}},[n("VSlider",{attrs:{min:0,max:40,step:.5},model:{value:t.padding,callback:function(e){t.padding=e},expression:"padding"}}),t._v(" "),n("div",{staticClass:"padding-value"},[t._v("\n "+t._s(t.padding.toFixed(1))+"%\n ")])],1)]),t._v(" "),n("div",{staticClass:"navbar-settings-section"},[n("div",{staticClass:"navbar-settings-section-title"},[t._v("\n 元素呈现\n ")]),t._v(" "),n("div",{staticClass:"navbar-settings-section-description"},[t._v("\n 按住并拖动可以调整顺序, 点击眼睛图标可以切换隐藏/显示.\n ")]),t._v(" "),t.loaded?t._e():n("VLoading"),t._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:t.loaded,expression:"loaded"}],ref:"navbarSortList",staticClass:"navbar-settings-section-content navbar-sort-list"},t._l(t.rendered.items,(function(e){return n("div",{key:e.name,staticClass:"navbar-sort-item",class:{"navbar-hidden":e.hidden},attrs:{"data-name":e.name},on:{mouseover:function(n){return t.peekItem(e,!0)},mouseout:function(n){return t.peekItem(e,!1)}}},[n("div",{staticClass:"item-name"},[t._v("\n "+t._s(e.displayName)+"\n ")]),t._v(" "),n("div",{staticClass:"toggle-visible"},[n("VIcon",{attrs:{size:18,icon:e.hidden?"mdi-eye-off-outline":"mdi-eye-outline"},on:{click:function(n){return t.toggleVisible(e)}}})],1)])})),0)],1)])])};i._withStripped=!0;var a=n(8643),r=n(407),o=n(3109),s=coreApis.runtimeLibrary,c=n(8269),l=n(12);const p=t=>{t.forEach(((t,e)=>{t.order!==e&&(t.order=e)}));const e=Object.fromEntries(t.map((t=>[t.name,t.order])));l.kO.navbarOptions.order=e},{navbarOptions:d}=l.kO,[u]=(0,c.getData)(l.Je);var m=Vue.extend({components:{VPopup:a.VPopup,VIcon:a.VIcon,VSlider:a.VSlider,VLoading:a.VLoading},props:{triggerElement:{type:HTMLElement,default:null}},data:()=>({open:!1,padding:d.padding,rendered:u,hidden:d.hidden,loaded:!1}),watch:{padding:lodash.debounce((t=>{d.padding=t}),200)},async mounted(){(0,r.addComponentListener)("customNavbar.padding",(t=>{this.padding!==t&&(this.padding=t)}));const t=this.$refs.navbarSortList;var e;(await s.SortableJSLibrary).create(t,{delay:100,forceFallback:!0,onEnd:t=>{this.onSort(t)}}),(e=u.items).every(((t,e)=>t.order===e))||p(e),this.loaded=!0},methods:{toggle(){this.$refs.popup.toggle()},peekPadding(t){(0,o.dqa)(".custom-navbar .padding").forEach((e=>e.classList.toggle("peek",t)))},peekItem(t,e){t.element?.classList.toggle("peek",e)},onSort(t){const e=this.$refs.navbarSortList,n=t.item;console.log(`${n.getAttribute("data-name")} ${t.oldIndex}->${t.newIndex}`);const i=Object.fromEntries([...e.children].map(((t,e)=>[t.getAttribute("data-name"),e])));this.rendered.items=((t,e)=>{const n=lodash.sortBy(t,(t=>e[t.name]));return p(n),n})(u.items,i)},toggleVisible(t){d.hidden.includes(t.name)?(lodash.pull(d.hidden,t.name),t.hidden=!1,console.log("delete",t.name)):(d.hidden.push(t.name),t.hidden=!0,console.log("add",t.name))}}}),f=n(3379),h=n.n(f),v=n(4754),b=n.n(v),g={insert:"head",singleton:!1},x=(h()(b(),g),b().locals,(0,n(1900).Z)(m,i,[],!1,null,null,null));x.options.__file="registry/lib/components/style/custom-navbar/settings/NavbarSettings.vue";var y=x.exports},7898:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return s}});var i=function(){var t=this.$createElement;return(this._self._c||t)("SubscriptionsList",{attrs:{type:"bangumi"}})};i._withStripped=!0;var a=n(806),r=Vue.extend({components:{SubscriptionsList:a.Z}}),o=(0,n(1900).Z)(r,i,[],!1,null,null,null);o.options.__file="registry/lib/components/style/custom-navbar/subscriptions/BangumiSubscriptions.vue";var s=o.exports},8324:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return s}});var i=function(){var t=this.$createElement;return(this._self._c||t)("SubscriptionsList",{attrs:{type:"cinema"}})};i._withStripped=!0;var a=n(806),r=Vue.extend({components:{SubscriptionsList:a.Z}}),o=(0,n(1900).Z)(r,i,[],!1,null,null,null);o.options.__file="registry/lib/components/style/custom-navbar/subscriptions/CinemaSubscriptions.vue";var s=o.exports},8834:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return h}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"navbar-subscriptions"},[n("TabControl",{ref:"tabControl",attrs:{tabs:t.tabs,"more-link":t.moreLink}})],1)};i._withStripped=!0;var a=n(8643),r=n(3109),o=n(3037),s=n(2194),c=Vue.extend({components:{TabControl:a.TabControl},mixins:[o.u],data(){const t=(0,r.getUID)();return{moreLink:e=>`https://space.bilibili.com/${t}/${e.name}`,tabs:[{name:s.N.Bangumi,displayName:"追番",activeLink:`https://space.bilibili.com/${t}/bangumi`,component:()=>Promise.resolve().then(n.bind(n,7898)).then((t=>t.default))},{name:s.N.Cinema,displayName:"追剧",activeLink:`https://space.bilibili.com/${t}/cinema`,component:()=>Promise.resolve().then(n.bind(n,8324)).then((t=>t.default))}]}}}),l=n(3379),p=n.n(l),d=n(8734),u=n.n(d),m={insert:"head",singleton:!1},f=(p()(u(),m),u().locals,(0,n(1900).Z)(c,i,[],!1,null,null,null));f.options.__file="registry/lib/components/style/custom-navbar/subscriptions/NavbarSubscriptions.vue";var h=f.exports},806:function(t,e,n){"use strict";n.d(e,{Z:function(){return x}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"subscription-list"},[t.loading?n("VLoading"):t.loading||0!==t.cards.length?[n("div",{staticClass:"subscription-content"},t._l(t.cards,(function(e){return n("a",{key:e.id,staticClass:"subscription-card",attrs:{href:e.playUrl,target:"_blank"}},[n("div",{staticClass:"cover-container"},[n("DpiImage",{staticClass:"cover",attrs:{src:e.coverUrl,size:64}})],1),t._v(" "),n("div",{staticClass:"card-info"},[n("h1",{staticClass:"title",attrs:{title:e.title}},[t._v(t._s(e.title))]),t._v(" "),n("div",{staticClass:"progress-row"},[e.status?n("div",{staticClass:"status",class:"status-"+e.status},[t._v(t._s(e.statusText))]):t._e(),t._v(" "),e.progress?n("div",{staticClass:"progress",attrs:{title:e.progress+" | "+e.latest}},[t._v(t._s(e.progress)+" | "+t._s(e.latest))]):n("div",{staticClass:"progress",attrs:{title:e.latest}},[t._v(t._s(e.latest))]),t._v(" "),n("a",{staticClass:"info",attrs:{href:e.mediaUrl,target:"_blank",title:"详细信息"}},[n("VIcon",{attrs:{icon:"mdi-information-outline",size:16}})],1)])])])})),0),t._v(" "),t.hasMorePage?n("ScrollTrigger",{on:{trigger:function(e){return t.nextPage()}}}):t._e()]:n("VEmpty")],2)};i._withStripped=!0;var a,r=n(3109),o=n(5729),s=n(8643),c=n(3663),l=n(2194);!function(t){t[t.ToView=1]="ToView",t[t.Viewing=2]="Viewing",t[t.Viewed=3]="Viewed"}(a||(a={}));const p=t=>{switch(t){case a.ToView:return"想看";case a.Viewing:default:return"在看";case a.Viewed:return"看过"}},d=(t,e)=>{let n=t.status;n!==a.Viewed&&(n=a.Viewed-n);let i=e.status;return i!==a.Viewed&&(i=a.Viewed-i),n-i};var u=Vue.extend({components:{DpiImage:s.DpiImage,VLoading:s.VLoading,VEmpty:s.VEmpty,VIcon:s.VIcon,ScrollTrigger:s.ScrollTrigger},props:{type:{type:String,default:l.N.Bangumi}},data:()=>({loading:!0,hasMorePage:!0,cards:[],page:1}),async created(){this.nextPage()},methods:{async nextPage(){try{const t=await(0,c.getJsonWithCredentials)(`https://api.bilibili.com/x/space/bangumi/follow/list?type=${this.type!==l.N.Bangumi?"2":"1"}&pn=${this.page}&ps=16&vmid=${(0,r.getUID)()}`);if(0!==t.code)return void(0,o.logError)(`加载订阅信息失败: ${t.message}`);const e=lodash.uniqBy(this.cards.concat(lodash.get(t,"data.list").map((t=>({title:t.title,coverUrl:t.square_cover.replace("http:","https:"),latest:t.new_ep.index_show,progress:t.progress,id:t.season_id,status:t.follow_status,statusText:p(t.follow_status),playUrl:`https://www.bilibili.com/bangumi/play/ss${t.season_id}`,mediaUrl:`https://www.bilibili.com/bangumi/media/md${t.media_id}`})))),(t=>t.id)).sort(d);this.page++,this.cards=e,this.hasMorePage=lodash.get(t,"data.total",0)>this.cards.length}finally{this.loading=!1}}}}),m=n(3379),f=n.n(m),h=n(7104),v=n.n(h),b={insert:"head",singleton:!1},g=(f()(v(),b),v().locals,(0,n(1900).Z)(u,i,[],!1,null,null,null));g.options.__file="registry/lib/components/style/custom-navbar/subscriptions/SubscriptionsList.vue";var x=g.exports},6426:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return u}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"navbar-upload"},[n("VIcon",{attrs:{icon:"upload",size:18}}),t._v(" "),n("div",{staticClass:"navbar-upload-name"},[t._v("\n 投稿\n ")])],1)};i._withStripped=!0;var a=n(8643),r=Vue.extend({components:{VIcon:a.VIcon}}),o=n(3379),s=n.n(o),c=n(8961),l=n.n(c),p={insert:"head",singleton:!1},d=(s()(l(),p),l().locals,(0,n(1900).Z)(r,i,[],!1,null,"1a272463",null));d.options.__file="registry/lib/components/style/custom-navbar/upload/NavbarUpload.vue";var u=d.exports},4037:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return u}});var i=function(){var t=this,e=t.$createElement;t._self._c;return t._m(0)};i._withStripped=!0;var a=n(3037),r=Vue.extend({mixins:[a.u]}),o=n(3379),s=n.n(o),c=n(2360),l=n.n(c),p={insert:"head",singleton:!1},d=(s()(l(),p),l().locals,(0,n(1900).Z)(r,i,[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"upload-popup",attrs:{role:"list"}},[n("div",{attrs:{role:"listitem"}},[n("a",{attrs:{target:"_blank",href:"https://member.bilibili.com/platform/upload/text/apply"}},[t._v("专栏投稿")])]),t._v(" "),n("div",{attrs:{role:"listitem"}},[n("a",{attrs:{target:"_blank",href:"https://member.bilibili.com/platform/upload/audio/frame"}},[t._v("音频投稿")])]),t._v(" "),n("div",{attrs:{role:"listitem"}},[n("a",{attrs:{target:"_blank",href:"https://member.bilibili.com/platform/upload/sticker"}},[t._v("贴纸投稿")])]),t._v(" "),n("div",{attrs:{role:"listitem"}},[n("a",{attrs:{target:"_blank",href:"https://member.bilibili.com/platform/upload/video/frame"}},[t._v("视频投稿")])]),t._v(" "),n("div",{attrs:{role:"listitem"}},[n("a",{attrs:{target:"_blank",href:"https://member.bilibili.com/platform/upload-manager/article"}},[t._v("投稿管理")])]),t._v(" "),n("div",{attrs:{role:"listitem"}},[n("a",{attrs:{target:"_blank",href:"https://member.bilibili.com/platform/home"}},[t._v("创作中心")])])])}],!1,null,"a07cc62e",null));d.options.__file="registry/lib/components/style/custom-navbar/upload/UploadPopup.vue";var u=d.exports},399:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return h}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"user-face-container"},[n("img",{staticClass:"user-face",attrs:{src:t.faceSrc,srcset:t.faceSrcset}}),t._v(" "),n("img",{staticClass:"user-pendant",attrs:{src:t.pendantSrc,srcset:t.pendantSrcset}})])};i._withStripped=!0;var a=n(3278),r=n(3109),o=coreApis.utils.constants;const s="//static.hdslb.com/images/member/noface.gif";var c=Vue.extend({name:"UserFace",data:()=>({faceSrc:o.EmptyImageUrl,pendantSrc:o.EmptyImageUrl,faceSrcset:null,pendantSrcset:null}),async created(){const t=await(0,a.getUserInfo)();if(t.isLogin){if(t.face){const e=t.face.replace("http","https");if(e.includes(s))this.faceSrc=s;else{const t=68;this.faceSrc=e,this.faceSrcset=(0,r.getDpiSourceSet)(e,t)}}if(t.pendant?.image){const e=t.pendant.image.replace("http","https"),n=116;this.pendantSrcset=(0,r.getDpiSourceSet)(e,n,"png")}}else this.faceSrc="https://static.hdslb.com/images/akari.jpg"}}),l=n(3379),p=n.n(l),d=n(464),u=n.n(d),m={insert:"head",singleton:!1},f=(p()(u(),m),u().locals,(0,n(1900).Z)(c,i,[],!1,null,null,null));f.options.__file="registry/lib/components/style/custom-navbar/user-info/UserFace.vue";var h=f.exports},7437:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return b}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"user-info-panel"},[t.isLogin&&!0===t.userInfo.isLogin?n("div",{staticClass:"logged-in"},[n("a",{staticClass:"name",attrs:{target:"_blank",href:"https://space.bilibili.com/"}},[t._v(t._s(t.userInfo.uname))]),t._v(" "),n("a",{staticClass:"type",attrs:{target:"_blank",href:"https://account.bilibili.com/account/big"}},[t._v(t._s(t.userType))]),t._v(" "),1===t.userInfo.vipStatus&&2===t.userInfo.vipType?n("div",{staticClass:"privileges row"},[n("div",{staticClass:"b-coin",class:{received:t.privileges.bCoin.received},attrs:{title:"有效期限: "+t.privileges.bCoin.expire},on:{click:function(e){return t.privilegeReceive(1)}}},[t._v("\n "+t._s(t.privileges.bCoin.received?"已领取B币":"领取B币")+"\n ")]),t._v(" "),n("div",{staticClass:"coupons",class:{received:t.privileges.coupons.received},attrs:{title:"有效期限: "+t.privileges.coupons.expire},on:{click:function(e){return t.privilegeReceive(2)}}},[t._v("\n "+t._s(t.privileges.coupons.received?"已领取优惠券":"领取优惠券")+"\n ")])]):t._e(),t._v(" "),n("div",{staticClass:"level-info row"},[n("a",{staticClass:"level",attrs:{target:"_blank",title:"等级",href:"https://account.bilibili.com/account/record"}},[n("VIcon",{staticClass:"level-icon",attrs:{icon:"lv"+t.userInfo.level_info.current_level}})],1),t._v(" "),n("span",{staticClass:"level-progress-label"},[t._v(t._s(t.userInfo.level_info.current_exp)+" / "+t._s(t.userInfo.level_info.next_exp))])]),t._v(" "),n("div",{staticClass:"level-progress separator"},[n("div",{staticClass:"level-progress-thumb",style:t.levelProgressStyle})]),t._v(" "),n("div",{staticClass:"items"},[n("a",{staticClass:"item",attrs:{target:"_blank",title:"手机验证",href:"https://passport.bilibili.com/account/security#/bindphone"}},[n("VIcon",{attrs:{icon:"bind-phone",size:20}}),t._v(" "),t.userInfo.mobile_verified?n("VIcon",{attrs:{icon:"ok",size:18}}):n("VIcon",{attrs:{icon:"cancel",size:18}})],1),t._v(" "),n("a",{staticClass:"item",attrs:{target:"_blank",title:"邮箱验证",href:"https://passport.bilibili.com/account/security#/bindmail"}},[n("VIcon",{attrs:{icon:"bind-email",size:20}}),t._v(" "),t.userInfo.email_verified?n("VIcon",{attrs:{icon:"ok",size:18}}):n("VIcon",{attrs:{icon:"cancel",size:18}})],1),t._v(" "),n("a",{staticClass:"item",attrs:{target:"_blank",href:"https://account.bilibili.com/site/coin",title:"硬币"}},[n("VIcon",{attrs:{icon:"coin-outline",size:20}}),t._v(" "),n("span",[t._v(t._s(t.userInfo.money))])],1),t._v(" "),n("a",{staticClass:"item",attrs:{target:"_blank",href:"https://pay.bilibili.com/bb_balance.html",title:"B币"}},[n("VIcon",{attrs:{icon:"b-coin-outline",size:20}}),t._v(" "),n("span",[t._v(t._s(t.userInfo.wallet.bcoin_balance))])],1)]),t._v(" "),n("div",{staticClass:"separator"}),t._v(" "),n("div",{staticClass:"stats"},[n("a",{staticClass:"stats-item",attrs:{href:"https://space.bilibili.com/"+t.userInfo.mid+"/fans/follow",target:"_blank"}},[n("div",{staticClass:"stats-number"},[t._v(t._s(t._f("count")(t.stat.following)))]),t._v("关注\n ")]),t._v(" "),n("a",{staticClass:"stats-item",attrs:{href:"https://space.bilibili.com/"+t.userInfo.mid+"/fans/fans",target:"_blank"}},[n("div",{staticClass:"stats-number"},[t._v(t._s(t._f("count")(t.stat.follower)))]),t._v("粉丝\n ")]),t._v(" "),n("a",{staticClass:"stats-item",attrs:{href:"https://space.bilibili.com/"+t.userInfo.mid+"/dynamic",target:"_blank"}},[n("div",{staticClass:"stats-number"},[t._v(t._s(t._f("count")(t.stat.dynamic_count)))]),t._v("动态\n ")])]),t._v(" "),n("div",{staticClass:"separator"}),t._v(" "),n("a",{staticClass:"bv-custom-navbar-operation",attrs:{target:"_blank",href:"https://account.bilibili.com/account/home"}},[n("VIcon",{attrs:{icon:"profile"}}),t._v("个人中心\n ")],1),t._v(" "),n("a",{staticClass:"bv-custom-navbar-operation",attrs:{target:"_blank",href:"https://member.bilibili.com/platform/upload-manager/article"}},[n("VIcon",{attrs:{icon:"posts"}}),t._v("投稿管理\n ")],1),t._v(" "),n("a",{staticClass:"bv-custom-navbar-operation",attrs:{target:"_blank",href:"https://pay.bilibili.com/"}},[n("VIcon",{attrs:{icon:"wallet"}}),t._v("B币钱包\n ")],1),t._v(" "),n("a",{staticClass:"bv-custom-navbar-operation",attrs:{target:"_blank",href:"https://link.bilibili.com/p/center/index"}},[n("VIcon",{attrs:{icon:"live-center"}}),t._v("直播中心\n ")],1),t._v(" "),n("a",{staticClass:"bv-custom-navbar-operation",attrs:{target:"_blank",href:"https://show.bilibili.com/orderlist"}},[n("VIcon",{attrs:{icon:"order-center"}}),t._v("订单中心\n ")],1),t._v(" "),n("a",{staticClass:"bv-custom-navbar-operation",attrs:{target:"_blank",href:"https://www.bilibili.com/v/cheese/mine"}},[n("VIcon",{attrs:{icon:"course"}}),t._v("我的课程\n ")],1),t._v(" "),n("div",{staticClass:"logout grey-button",on:{click:function(e){return t.logout()}}},[t._v("\n 退出登录\n ")])]):t._e(),t._v(" "),t.isLogin?t._e():n("div",{staticClass:"not-logged-in"},[n("h1",{staticClass:"welcome"},[t._v("\n 欢迎来到 bilibili\n ")]),t._v(" "),n("a",{staticClass:"signup grey-button",attrs:{href:"https://passport.bilibili.com/register/phone.html"}},[t._v("注册")]),t._v(" "),n("a",{staticClass:"login theme-button",attrs:{href:"https://passport.bilibili.com/login"}},[t._v("登录")])])])};i._withStripped=!0;var a=n(3109),r=n(8117),o=n(5729),s=n(3663),c=n(3278),l=n(3037),p=Vue.extend({components:{VIcon:coreApis.ui.VIcon},filters:{count:r.formatCount},mixins:[l.u],data:()=>({userInfo:{},stat:{},isLogin:Boolean((0,a.getUID)()),privileges:{bCoin:{received:!1,expire:""},coupons:{received:!1,expire:""}}}),computed:{userType(){if(!this.userInfo.isLogin)return"未登录";if(0===this.userInfo.level_info.current_level)return"注册会员";if(1===this.userInfo.vipStatus){if(1===this.userInfo.vipType)return this.userInfo.vip_theme_type?"小会员":"大会员";if(2===this.userInfo.vipType)return this.userInfo.vip_theme_type?"年度小会员":"年度大会员"}return"正式会员"},levelProgressStyle(){if(!this.userInfo.isLogin)return{};const{current_exp:t,current_min:e,next_exp:n}=this.userInfo.level_info;return{transform:`scaleX(${(t-e)/(n-e)})`}}},async created(){const t=await(0,c.getUserInfo)();this.userInfo=t;const e=await(0,s.getJsonWithCredentials)("https://api.bilibili.com/x/web-interface/nav/stat");if(this.stat=e.data||{},this.isLogin&&2===this.userInfo.vipType){const t=await(0,s.getJsonWithCredentials)("https://api.bilibili.com/x/vip/privilege/my");if(0===t.code){const e=t.data.list.find((t=>1===t.type));this.privileges.bCoin.received=1===e.state,this.privileges.bCoin.expire=new Date(1e3*e.expire_time).toLocaleDateString();const n=t.data.list.find((t=>2===t.type));this.privileges.coupons.received=1===n.state,this.privileges.coupons.expire=new Date(1e3*n.expire_time).toLocaleDateString()}}},methods:{async privilegeReceive(t){const e={1:"bCoin",2:"coupons"};if(this.privileges[e[t]].received)return;this.privileges[e[t]].received=!0;const n=(0,a.getCsrf)(),i=await(await fetch("https://api.bilibili.com/x/vip/privilege/receive",{credentials:"include",headers:{"content-type":"application/x-www-form-urlencoded"},body:`type=${t}&csrf=${n}`,method:"POST"})).json();console.log(i),0===i.code?"bCoin"===e[t]&&(this.userInfo.wallet.bcoin_balance+=5):69801===i.code||(this.privileges[e[t]].received=!1,(0,o.logError)(i.message))},async logout(){const t=await(0,s.postTextWithCredentials)("https://passport.bilibili.com/login/exit/v2",(0,a.formData)({biliCSRF:(0,a.getCsrf)()})),e=lodash.get(JSON.parse(t),"data.redirectUrl","");e&&window.location.assign(e)}}}),d=n(3379),u=n.n(d),m=n(9692),f=n.n(m),h={insert:"head",singleton:!1},v=(u()(f(),h),f().locals,(0,n(1900).Z)(p,i,[],!1,null,null,null));v.options.__file="registry/lib/components/style/custom-navbar/user-info/UserInfoPopup.vue";var b=v.exports},5878:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return v}});var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"watchlater-list"},[n("div",{staticClass:"header"},[n("div",{staticClass:"search"},[n("TextBox",{attrs:{linear:"",placeholder:"搜索"},model:{value:t.search,callback:function(e){t.search=e},expression:"search"}})],1),t._v(" "),n("a",{staticClass:"operation",attrs:{target:"_blank",href:"https://www.bilibili.com/medialist/play/watchlater"}},[n("VButton",{staticClass:"round-button",attrs:{title:"播放全部",round:""}},[n("VIcon",{attrs:{icon:"mdi-play",size:18}})],1)],1),t._v(" "),n("a",{staticClass:"operation",attrs:{target:"_blank",href:"https://www.bilibili.com/watchlater/#/list"}},[n("VButton",{staticClass:"round-button",attrs:{title:"查看更多",round:""}},[n("VIcon",{attrs:{icon:"mdi-dots-horizontal",size:18}})],1)],1)]),t._v(" "),t.loading?n("VLoading"):t.loading||0!==t.cards.length?n("transition-group",{staticClass:"watchlater-list-content",attrs:{name:"cards",tag:"div"}},t._l(t.filteredCards,(function(e,i){return n("div",{key:e.aid,staticClass:"watchlater-card"},[n("a",{staticClass:"cover-container",attrs:{target:"_blank",href:e.href}},[n("DpiImage",{staticClass:"cover",attrs:{src:e.coverUrl,size:{width:130,height:85}}}),t._v(" "),n("div",{staticClass:"floating remove",attrs:{title:"移除"},on:{click:function(n){return n.preventDefault(),t.remove(e.aid,i)}}},[n("VIcon",{attrs:{icon:"mdi-close",size:16}})],1),t._v(" "),n("div",{staticClass:"floating duration"},[t._v(t._s(e.durationText))]),t._v(" "),e.complete?n("div",{staticClass:"floating viewed"},[t._v("已观看")]):t._e()],1),t._v(" "),n("a",{staticClass:"title",attrs:{target:"_blank",href:e.href,title:e.title}},[t._v(t._s(e.title))]),t._v(" "),n("a",{staticClass:"up",attrs:{target:"_blank",href:"https://space.bilibili.com/"+e.upID,title:e.upName}},[n("DpiImage",{staticClass:"face",attrs:{src:e.upFaceUrl,size:20}}),t._v(" "),n("div",{staticClass:"name"},[t._v(t._s(e.upName))])],1)])})),0):n("VEmpty")],1)};i._withStripped=!0;var a=n(407),r=n(8117),o=coreApis.componentApis.video.watchlater,s=n(8643),c=n(3037),l=Vue.extend({components:{VLoading:s.VLoading,VEmpty:s.VEmpty,TextBox:s.TextBox,VButton:s.VButton,VIcon:s.VIcon,DpiImage:s.DpiImage},mixins:[c.u],data(){const t=(0,a.getComponentSettings)("watchlaterRedirect");return{watchlaterList:o.watchlaterList,loading:!0,cards:[],filteredCards:[],search:"",redirect:t.enabled&&t.options.navbar}},watch:{search(){this.updateFilteredCards()}},async created(){try{await this.updateList()}finally{this.loading=!1}},methods:{toggleWatchlater:o.toggleWatchlater,popupRefresh(){this.updateList()},async updateList(){const t=await(0,o.getWatchlaterList)(!0);if(!t)return void(this.cards=[]);const e=t=>this.redirect?`https://www.bilibili.com/video/${t.bvid}`:`https://www.bilibili.com/medialist/play/watchlater/${t.bvid}`,n=t.map((t=>{const n=(()=>{if(void 0===t.pages||!this.redirect)return e(t);const n=t.pages.map((t=>t.cid)),i=0===t.cid?1:n.indexOf(t.cid)+1;return i<=1?e(t):`${e(t)}?p=${i}`})(),i=Math.round(1e3*t.progress/t.duration)/1e3;return{aid:t.aid,href:n,coverUrl:t.pic.replace("http:","https:"),durationText:(0,r.formatDuration)(t.duration),duration:t.duration,complete:t.progress<0||i>.95,title:t.title,upName:t.owner.name,upFaceUrl:t.owner.face.replace("http:","https:"),upID:t.owner.mid}}));this.cards=n,this.search?this.updateFilteredCards():this.filteredCards=n},async remove(t,e){this.cards.splice(e,1),await this.toggleWatchlater(t),this.lastRemovedAid=t},async undo(){const t=this.lastRemovedAid;0!==t&&await this.toggleWatchlater(t)},updateFilteredCards:lodash.debounce((function(){const t=this.search.toLowerCase();this.$el.querySelector(".watchlater-list-content").scrollTo(0,0),this.filteredCards=this.cards.filter((e=>e.title.toLowerCase().includes(t)||e.upName.toLowerCase().includes(t)))}),100)}}),p=n(3379),d=n.n(p),u=n(8120),m=n.n(u),f={insert:"head",singleton:!1},h=(d()(m(),f),m().locals,(0,n(1900).Z)(l,i,[],!1,null,null,null));h.options.__file="registry/lib/components/style/custom-navbar/watchlater/NavbarWatchlater.vue";var v=h.exports},1900:function(t,e,n){"use strict";function i(t,e,n,i,a,r,o,s){var c,l="function"==typeof t?t.options:t;if(e&&(l.render=e,l.staticRenderFns=n,l._compiled=!0),i&&(l.functional=!0),r&&(l._scopeId="data-v-"+r),o?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):a&&(c=s?function(){a.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:a),c)if(l.functional){l._injectStyles=c;var p=l.render;l.render=function(t,e){return c.call(e),p(t,e)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:t,options:l}}n.d(e,{Z:function(){return i}})},3663:function(t){"use strict";t.exports=coreApis.ajax},2023:function(t){"use strict";t.exports=coreApis.componentApis.feeds.api},3864:function(t){"use strict";t.exports=coreApis.componentApis.feeds.notify},1212:function(t){"use strict";t.exports=coreApis.componentApis.utils.categories.data},8269:function(t){"use strict";t.exports=coreApis.pluginApis.data},407:function(t){"use strict";t.exports=coreApis.settings},8643:function(t){"use strict";t.exports=coreApis.ui},3278:function(t){"use strict";t.exports=coreApis.userInfo},8117:function(t){"use strict";t.exports=coreApis.utils.formatters},5729:function(t){"use strict";t.exports=coreApis.utils.log},4522:function(t){"use strict";t.exports=coreApis.utils.sort},3109:function(t){"use strict";t.exports=coreApis.utils}},i={};function a(t){var e=i[t];if(void 0!==e)return e.exports;var r=i[t]={id:t,exports:{}};return n[t](r,r.exports,a),r.exports}a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,{a:e}),e},e=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__},a.t=function(n,i){if(1&i&&(n=this(n)),8&i)return n;if("object"==typeof n&&n){if(4&i&&n.__esModule)return n;if(16&i&&"function"==typeof n.then)return n}var r=Object.create(null);a.r(r);var o={};t=t||[null,e({}),e([]),e(e)];for(var s=2&i&&n;"object"==typeof s&&!~t.indexOf(s);s=e(s))Object.getOwnPropertyNames(s).forEach((function(t){o[t]=function(){return n[t]}}));return o.default=function(){return n},a.d(r,o),r},a.d=function(t,e){for(var n in e)a.o(e,n)&&!a.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};return function(){"use strict";a.d(r,{component:function(){return n}});var t=a(407),e=a(3109);const n={name:"customNavbar",displayName:"自定义顶栏",description:"\n使用脚本提供的顶栏替换原版的主站顶栏 (非主站不替换), 启用后还可以在反广告插件 (例如 ABP) 中配置禁止原版顶栏的消息 iframe 以提升性能:\n- *://message.bilibili.com/pages/nav/index_new_pc_sync\n- *://message.bilibili.com/pages/nav/index_new_sync\n ".trim(),entry:async({metadata:{name:n}})=>{if((0,e.isIframe)()||(0,e.isNotHtml)())return;(0,t.addComponentListener)(`${n}.padding`,(t=>{document.documentElement.style.setProperty("--navbar-bounds-padding",`${t}%`)}),!0);["https://space.bilibili.com","https://www.bilibili.com/read","https://www.bilibili.com/account/history"].some((t=>(0,e.matchUrlPattern)(t)))||(0,t.addComponentListener)(`${n}.globalFixed`,(t=>{document.body.classList.toggle("fixed-navbar",t)}),!0);const i=await Promise.resolve().then(a.bind(a,2631)),r=(0,e.mountVueComponent)(i);document.body.insertAdjacentElement("beforeend",r.$el),["fill","shadow","blur"].forEach((e=>{(0,t.addComponentListener)(`${n}.${e}`,(t=>r.toggleStyle(t,e)),!0)}))},tags:[componentsTags.style,componentsTags.general],options:{hidden:{hidden:!0,defaultValue:["blank1","blank4","drawing","music","gamesIframe","bangumi","match"],displayName:"隐藏的元素"},order:{hidden:!0,defaultValue:{},displayName:"元素顺序"},padding:{hidden:!0,defaultValue:10,displayName:"边缘间距(%)"},globalFixed:{defaultValue:!1,displayName:"全局固定"},fill:{defaultValue:!1,displayName:"主题色填充"},transparent:{defaultValue:!0,displayName:"透明填充"},blur:{defaultValue:!1,displayName:"背景模糊"},shadow:{defaultValue:!0,displayName:"投影"},seasonLogo:{defaultValue:!1,displayName:"使用季节Logo"},touch:{defaultValue:!1,displayName:"触摸模式"},openInNewTab:{defaultValue:!0,displayName:"新标签页打开"},refreshOnPopup:{defaultValue:!0,displayName:"自动刷新数据"},openInNewTabOverrides:{defaultValue:{logo:!1},displayName:"新标签页打开设置覆盖",hidden:!0},showDeadVideos:{defaultValue:!1,displayName:"显示已失效视频",hidden:!0}},urlInclude:["//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","//live.bilibili.com/blackboard/"],urlExclude:["//t.bilibili.com/vote/h5/index/#/result","//t.bilibili.com/lottery/h5/index/#/result","//member.bilibili.com/video/upload","//member.bilibili.com/platform","//space.bilibili.com/ajax/","//www.bilibili.com/h5/comment/","//member.bilibili.com/v2","//game.bilibili.com/"],instantStyles:[{name:"custom-navbar-style",style:()=>Promise.resolve().then(a.t.bind(a,6064,23)),important:!0}],unload:async()=>{document.querySelectorAll(".custom-navbar,.custom-navbar-settings").forEach((t=>t.style.display="none"))},reload:async()=>{document.querySelectorAll(".custom-navbar,.custom-navbar-settings").forEach((t=>t.style.display="flex"))},extraOptions:()=>Promise.resolve().then(a.bind(a,359)).then((t=>t.default)),plugin:{displayName:"自定义顶栏 - 功能扩展",setup:({addData:t})=>{t("launchBar.actions",(t=>{t.push({name:"navbarSettings",getActions:async()=>[{name:"自定义顶栏设置",description:"Custom Navbar Settings",icon:"mdi-sort",action:async()=>{const{toggleNavbarSettings:t}=await Promise.resolve().then(a.bind(a,5220));t()}}]})}))}},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file diff --git a/registry/dist/components/style/dark-mode.js b/registry/dist/components/style/dark-mode.js index b7d52c2f0..02bf4a1a5 100644 --- a/registry/dist/components/style/dark-mode.js +++ b/registry/dist/components/style/dark-mode.js @@ -6,4 +6,4 @@ e.i=function(n,t,a){"string"==typeof n&&( // eslint-disable-next-line no-param-reassign n=[[null,n,""]]);var o={};if(a)for(var r=0;r{document.body.classList.add("dark"),localStorage.setItem("pbp_theme_v4","b")},e=async()=>{document.body.classList.remove("dark")},t={name:"darkMode",displayName:"夜间模式",entry:()=>{setTimeout(n,200)},reload:()=>{setTimeout(n,200)},unload:()=>{setTimeout(e,200)},description:"启用夜间模式能更好地适应光线暗的环境, 并会大量应用主题颜色.",tags:[componentsTags.style,componentsTags.general],instantStyles:[{name:"dark-mode",style:()=>Promise.resolve().then(o.t.bind(o,869,23)),important:!1},{name:"dark-mode-important",style:()=>Promise.resolve().then(o.t.bind(o,410,23)),important:!0}],plugin:{displayName:"夜间模式 - 提前注入",description:{"zh-CN":"提前注入夜间模式的 .dark class 以减少一些组件首屏仍然是白色的问题."},async setup(){const{contentLoaded:n}=await Promise.resolve().then(o.t.bind(o,270,23)),{isComponentEnabled:e}=await Promise.resolve().then(o.t.bind(o,407,23));n((()=>{e("darkMode")&&document.body.classList.add("dark")}))}},urlExclude:["//member.bilibili.com/v2","//member.bilibili.com/platform","//member.bilibili.com/video/upload.html","//member.bilibili.com/article-text/home","//www.bilibili.com/audio/submit/","//member.bilibili.com/studio/bs-editor/projects","//www.bilibili.com/s/video/","//member.bilibili.com/platform","//live.bilibili.com/p/html/live-lottery/anchor-join.html","//account.bilibili.com/subtitle/edit/#/editor","/york/allowance-charge","//cm.bilibili.com/quests/#/task"],commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file +var i=this[r][0];null!=i&&(o[i]=!0)}for(var l=0;l{document.body.classList.add("dark"),localStorage.setItem("pbp_theme_v4","b")},e=async()=>{document.body.classList.remove("dark")},t={name:"darkMode",displayName:"夜间模式",entry:()=>{setTimeout(n,200)},reload:()=>{setTimeout(n,200)},unload:()=>{setTimeout(e,200)},description:"启用夜间模式能更好地适应光线暗的环境, 并会大量应用主题颜色.",tags:[componentsTags.style,componentsTags.general],instantStyles:[{name:"dark-mode",style:()=>Promise.resolve().then(o.t.bind(o,869,23)),important:!1},{name:"dark-mode-important",style:()=>Promise.resolve().then(o.t.bind(o,410,23)),important:!0}],plugin:{displayName:"夜间模式 - 提前注入",description:{"zh-CN":"提前注入夜间模式的 .dark class 以减少一些组件首屏仍然是白色的问题."},async setup(){const{contentLoaded:n}=await Promise.resolve().then(o.t.bind(o,270,23)),{isComponentEnabled:e}=await Promise.resolve().then(o.t.bind(o,407,23));n((()=>{e("darkMode")&&document.body.classList.add("dark")}))}},urlExclude:["//member.bilibili.com/v2","//member.bilibili.com/platform","//member.bilibili.com/video/upload.html","//member.bilibili.com/article-text/home","//www.bilibili.com/audio/submit/","//member.bilibili.com/studio/bs-editor/projects","//www.bilibili.com/s/video/","//member.bilibili.com/platform","//live.bilibili.com/p/html/live-lottery/anchor-join.html","//account.bilibili.com/subtitle/edit/#/editor","/york/allowance-charge","//cm.bilibili.com/quests/#/task"],commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file diff --git a/registry/dist/components/style/dark-mode/follow-system.js b/registry/dist/components/style/dark-mode/follow-system.js index 1a2a55a6e..30ba97c1e 100644 --- a/registry/dist/components/style/dark-mode/follow-system.js +++ b/registry/dist/components/style/dark-mode/follow-system.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["style/dark-mode/follow-system"]=t():e["style/dark-mode/follow-system"]=t()}(self,(function(){return function(){"use strict";var e,t,o={407:function(e){e.exports=coreApis.settings}},i={};function n(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={exports:{}};return o[e](r,r.exports,n),r.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},n.t=function(o,i){if(1&i&&(o=this(o)),8&i)return o;if("object"==typeof o&&o){if(4&i&&o.__esModule)return o;if(16&i&&"function"==typeof o.then)return o}var r=Object.create(null);n.r(r);var c={};e=e||[null,t({}),t([]),t(t)];for(var l=2&i&&o;"object"==typeof l&&!~e.indexOf(l);l=t(l))Object.getOwnPropertyNames(l).forEach((function(e){c[e]=function(){return o[e]}}));return c.default=function(){return o},n.d(r,c),r},n.d=function(e,t){for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return function(){n.d(r,{component:function(){return t}});var e=coreApis.lifeCycle;const t={name:"darkModeFollowSystem",displayName:"夜间模式跟随系统",entry:()=>{unsafeWindow.addEventListener(e.LifeCycleEventTypes.End,(async()=>{const{getComponentSettings:e}=await Promise.resolve().then(n.t.bind(n,407,23)),t=e("darkMode"),o=matchMedia("(prefers-color-scheme: dark)"),i=e=>{e!==t.enabled&&(t.enabled=e)};i(o.matches),o.addEventListener("change",(e=>{i(e.matches)}))}))},urlExclude:["//member.bilibili.com/v2","//member.bilibili.com/platform","//member.bilibili.com/video/upload.html","//member.bilibili.com/article-text/home","//www.bilibili.com/audio/submit/","//member.bilibili.com/studio/bs-editor/projects","//www.bilibili.com/s/video/","//member.bilibili.com/platform","//live.bilibili.com/p/html/live-lottery/anchor-join.html","//account.bilibili.com/subtitle/edit/#/editor","/york/allowance-charge","//cm.bilibili.com/quests/#/task"],tags:[componentsTags.style,componentsTags.general],description:{"zh-CN":"\n使夜间模式同步系统设置的亮 / 暗主题, 请勿和 `夜间模式计划时段` 一同使用.\n\n> 注:在某些浏览器 (如 `Microsoft Edge`) 中,夜间模式仅会同步浏览器的亮 / 暗主题.\n ".trim()},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["style/dark-mode/follow-system"]=t():e["style/dark-mode/follow-system"]=t()}(self,(function(){return function(){"use strict";var e,t,o={407:function(e){e.exports=coreApis.settings}},i={};function n(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={exports:{}};return o[e](r,r.exports,n),r.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},n.t=function(o,i){if(1&i&&(o=this(o)),8&i)return o;if("object"==typeof o&&o){if(4&i&&o.__esModule)return o;if(16&i&&"function"==typeof o.then)return o}var r=Object.create(null);n.r(r);var c={};e=e||[null,t({}),t([]),t(t)];for(var l=2&i&&o;"object"==typeof l&&!~e.indexOf(l);l=t(l))Object.getOwnPropertyNames(l).forEach((function(e){c[e]=function(){return o[e]}}));return c.default=function(){return o},n.d(r,c),r},n.d=function(e,t){for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return function(){n.d(r,{component:function(){return t}});var e=coreApis.lifeCycle;const t={name:"darkModeFollowSystem",displayName:"夜间模式跟随系统",entry:()=>{unsafeWindow.addEventListener(e.LifeCycleEventTypes.End,(async()=>{const{getComponentSettings:e}=await Promise.resolve().then(n.t.bind(n,407,23)),t=e("darkMode"),o=matchMedia("(prefers-color-scheme: dark)"),i=e=>{e!==t.enabled&&(t.enabled=e)};i(o.matches),o.addEventListener("change",(e=>{i(e.matches)}))}))},urlExclude:["//member.bilibili.com/v2","//member.bilibili.com/platform","//member.bilibili.com/video/upload.html","//member.bilibili.com/article-text/home","//www.bilibili.com/audio/submit/","//member.bilibili.com/studio/bs-editor/projects","//www.bilibili.com/s/video/","//member.bilibili.com/platform","//live.bilibili.com/p/html/live-lottery/anchor-join.html","//account.bilibili.com/subtitle/edit/#/editor","/york/allowance-charge","//cm.bilibili.com/quests/#/task"],tags:[componentsTags.style,componentsTags.general],description:{"zh-CN":"\n使夜间模式同步系统设置的亮 / 暗主题, 请勿和 `夜间模式计划时段` 一同使用.\n\n> 注:在某些浏览器 (如 `Microsoft Edge`) 中,夜间模式仅会同步浏览器的亮 / 暗主题.\n ".trim()},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file diff --git a/registry/dist/components/style/dark-mode/schedule.js b/registry/dist/components/style/dark-mode/schedule.js index adcc4275b..2ed6e7701 100644 --- a/registry/dist/components/style/dark-mode/schedule.js +++ b/registry/dist/components/style/dark-mode/schedule.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["style/dark-mode/schedule"]=t():e["style/dark-mode/schedule"]=t()}(self,(function(){return function(){"use strict";var e={d:function(t,i){for(var r in i)e.o(i,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:i[r]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{component:function(){return l}});var i=coreApis.lifeCycle,r=coreApis.settings;function o(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class n{constructor(...e){if(o(this,"hour",void 0),o(this,"minute",void 0),0===e.length){const e=new Date;this.hour=e.getHours(),this.minute=e.getMinutes()}else if(1===e.length){const[t]=e;[this.hour,this.minute]=t.split(":").slice(0,2).map((e=>n.validatePart(e))),this.normalize()}else 2===e.length&&([this.hour,this.minute]=e)}normalize(){for(;this.minute<0;)this.minute+=60,this.hour-=1;for(;this.minute>=60;)this.minute-=60,this.hour+=1;for(;this.hour<0;)this.hour+=24;for(;this.hour>=24;)this.hour-=24}lessThan(e){return this.houre.hour||this.hour===e.hour&&this.minute>e.minute}equals(e){return this.hour===e.hour&&this.minute===e.minute}isInRange(e,t){if(e.equals(t))return!1;let i=this.greaterThan(e)&&this.lessThan(t);e.greaterThan(t)&&(i=this.greaterThan(e)||this.lessThan(t));return i||this.equals(e)}toString(){return`${this.hour.toString().padStart(2,"0")}:${this.minute.toString().padStart(2,"0")}`}static validatePart(e){const t=parseInt(e);return!Number.isNaN(t)&&t>=0&&t<=59?t:null}static millisecondsBefore(e){const t=new n,i=(new Date).getSeconds(),r=1e3*(3600*t.hour+60*t.minute+i);let o=1e3*(3600*e.hour+60*e.minute)-r;return(t.greaterThan(e)||t.equals(e)&&0!==i)&&(o+=864e5),o}}const s=e=>{const t=new n(e.options.range.start),i=new n(e.options.range.end),o=(new n).isInRange(t,i),l=(0,r.getComponentSettings)("darkMode");l.enabled!==o&&(l.enabled=o);let u=0;u=o?n.millisecondsBefore(i):n.millisecondsBefore(t),0!==u&&setTimeout((()=>s(e)),u)},l={name:"darkModeSchedule",displayName:"夜间模式计划时段",description:"设置一个使用夜间模式的时间段, 进入 / 离开此时间段时, 会自动开启 / 关闭夜间模式. 结束时间小于起始时间时将视为次日, 如 `18:00` 至 `6:00` 表示晚上 18:00 到次日 6:00. 请勿和 `夜间模式跟随系统` 一同使用.",tags:[componentsTags.style,componentsTags.general],entry:({settings:e})=>(0,i.fullyLoaded)((()=>s(e))),urlExclude:["//member.bilibili.com/v2","//member.bilibili.com/platform","//member.bilibili.com/video/upload.html","//member.bilibili.com/article-text/home","//www.bilibili.com/audio/submit/","//member.bilibili.com/studio/bs-editor/projects","//www.bilibili.com/s/video/","//member.bilibili.com/platform","//live.bilibili.com/p/html/live-lottery/anchor-join.html","//account.bilibili.com/subtitle/edit/#/editor","/york/allowance-charge","//cm.bilibili.com/quests/#/task"],options:{range:{defaultValue:{start:"18:00",end:"6:00"},displayName:"时间段",validator:e=>{const{start:t,end:i}=e,r=/^(\d{1,2}):(\d{1,2})$/;if(!r.test(t)||!r.test(i))return null;const o=new n(e.start),s=new n(e.end);return{start:o.toString(),end:s.toString()}}}},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"};return t=t.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["style/dark-mode/schedule"]=t():e["style/dark-mode/schedule"]=t()}(self,(function(){return function(){"use strict";var e={d:function(t,i){for(var r in i)e.o(i,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:i[r]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{component:function(){return l}});var i=coreApis.lifeCycle,r=coreApis.settings;function o(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class n{constructor(...e){if(o(this,"hour",void 0),o(this,"minute",void 0),0===e.length){const e=new Date;this.hour=e.getHours(),this.minute=e.getMinutes()}else if(1===e.length){const[t]=e;[this.hour,this.minute]=t.split(":").slice(0,2).map((e=>n.validatePart(e))),this.normalize()}else 2===e.length&&([this.hour,this.minute]=e)}normalize(){for(;this.minute<0;)this.minute+=60,this.hour-=1;for(;this.minute>=60;)this.minute-=60,this.hour+=1;for(;this.hour<0;)this.hour+=24;for(;this.hour>=24;)this.hour-=24}lessThan(e){return this.houre.hour||this.hour===e.hour&&this.minute>e.minute}equals(e){return this.hour===e.hour&&this.minute===e.minute}isInRange(e,t){if(e.equals(t))return!1;let i=this.greaterThan(e)&&this.lessThan(t);e.greaterThan(t)&&(i=this.greaterThan(e)||this.lessThan(t));return i||this.equals(e)}toString(){return`${this.hour.toString().padStart(2,"0")}:${this.minute.toString().padStart(2,"0")}`}static validatePart(e){const t=parseInt(e);return!Number.isNaN(t)&&t>=0&&t<=59?t:null}static millisecondsBefore(e){const t=new n,i=(new Date).getSeconds(),r=1e3*(3600*t.hour+60*t.minute+i);let o=1e3*(3600*e.hour+60*e.minute)-r;return(t.greaterThan(e)||t.equals(e)&&0!==i)&&(o+=864e5),o}}const s=e=>{const t=new n(e.options.range.start),i=new n(e.options.range.end),o=(new n).isInRange(t,i),l=(0,r.getComponentSettings)("darkMode");l.enabled!==o&&(l.enabled=o);let u=0;u=o?n.millisecondsBefore(i):n.millisecondsBefore(t),0!==u&&setTimeout((()=>s(e)),u)},l={name:"darkModeSchedule",displayName:"夜间模式计划时段",description:"设置一个使用夜间模式的时间段, 进入 / 离开此时间段时, 会自动开启 / 关闭夜间模式. 结束时间小于起始时间时将视为次日, 如 `18:00` 至 `6:00` 表示晚上 18:00 到次日 6:00. 请勿和 `夜间模式跟随系统` 一同使用.",tags:[componentsTags.style,componentsTags.general],entry:({settings:e})=>(0,i.fullyLoaded)((()=>s(e))),urlExclude:["//member.bilibili.com/v2","//member.bilibili.com/platform","//member.bilibili.com/video/upload.html","//member.bilibili.com/article-text/home","//www.bilibili.com/audio/submit/","//member.bilibili.com/studio/bs-editor/projects","//www.bilibili.com/s/video/","//member.bilibili.com/platform","//live.bilibili.com/p/html/live-lottery/anchor-join.html","//account.bilibili.com/subtitle/edit/#/editor","/york/allowance-charge","//cm.bilibili.com/quests/#/task"],options:{range:{defaultValue:{start:"18:00",end:"6:00"},displayName:"时间段",validator:e=>{const{start:t,end:i}=e,r=/^(\d{1,2}):(\d{1,2})$/;if(!r.test(t)||!r.test(i))return null;const o=new n(e.start),s=new n(e.end);return{start:o.toString(),end:s.toString()}}}},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"};return t=t.component}()})); \ No newline at end of file diff --git a/registry/dist/components/style/hide/bangumi/reviews.js b/registry/dist/components/style/hide/bangumi/reviews.js index f7fe8086a..47ce1e5d3 100644 --- a/registry/dist/components/style/hide/bangumi/reviews.js +++ b/registry/dist/components/style/hide/bangumi/reviews.js @@ -1,9 +1,9 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["style/hide/bangumi/reviews"]=t():e["style/hide/bangumi/reviews"]=t()}(self,(function(){return function(){var e,t,n={418:function(e,t,n){var o=n(645)((function(e){return e[1]}));o.push([e.id,"#review_module {\n display: none !important;\n}",""]),e.exports=o},645:function(e){"use strict"; +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["style/hide/bangumi/reviews"]=e():t["style/hide/bangumi/reviews"]=e()}(self,(function(){return function(){var t,e,n={418:function(t,e,n){var o=n(645)((function(t){return t[1]}));o.push([t.id,"#review_module {\n display: none !important;\n}",""]),t.exports=o},645:function(t){"use strict"; // eslint-disable-next-line func-names -e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")}, +t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?"@media ".concat(e[2]," {").concat(n,"}"):n})).join("")}, // eslint-disable-next-line func-names -t.i=function(e,n,o){"string"==typeof e&&( +e.i=function(t,n,o){"string"==typeof t&&( // eslint-disable-next-line no-param-reassign -e=[[null,e,""]]);var r={};if(o)for(var i=0;iPromise.resolve().then(r.t.bind(r,481,23)))),urlInclude:t.bangumiUrls,description:{"zh-CN":"隐藏番剧播放页面里的点评板块."},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var u=this[i][0];null!=u&&(r[u]=!0)}for(var c=0;cPromise.resolve().then(r.t.bind(r,481,23)))),urlInclude:e.bangumiUrls,description:{"zh-CN":"隐藏番剧播放页面里的点评板块."},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/style/hide/bangumi/sponsors.js b/registry/dist/components/style/hide/bangumi/sponsors.js index 240da9d6b..d809abaf3 100644 --- a/registry/dist/components/style/hide/bangumi/sponsors.js +++ b/registry/dist/components/style/hide/bangumi/sponsors.js @@ -6,4 +6,4 @@ e.i=function(t,n,o){"string"==typeof t&&( // eslint-disable-next-line no-param-reassign t=[[null,t,""]]);var r={};if(o)for(var i=0;iPromise.resolve().then(r.t.bind(r,961,23)))),urlInclude:e.bangumiUrls,description:{"zh-CN":"隐藏番剧页面下方的承包榜, 以及右边的承包按钮."},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var u=this[i][0];null!=u&&(r[u]=!0)}for(var c=0;cPromise.resolve().then(r.t.bind(r,961,23)))),urlInclude:e.bangumiUrls,description:{"zh-CN":"隐藏番剧页面下方的承包榜, 以及右边的承包按钮."},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/style/hide/banner.js b/registry/dist/components/style/hide/banner.js index 8e8f5d4c4..982a2d59a 100644 --- a/registry/dist/components/style/hide/banner.js +++ b/registry/dist/components/style/hide/banner.js @@ -6,4 +6,4 @@ e.i=function(n,t,r){"string"==typeof n&&( // eslint-disable-next-line no-param-reassign n=[[null,n,""]]);var o={};if(r)for(var i=0;iPromise.resolve().then(o.t.bind(o,912,23))}],tags:[componentsTags.style],description:{"zh-CN":"隐藏首页顶部横幅."},urlInclude:n.mainSiteUrls,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var a=this[i][0];null!=a&&(o[a]=!0)}for(var u=0;uPromise.resolve().then(o.t.bind(o,912,23))}],tags:[componentsTags.style],description:{"zh-CN":"隐藏首页顶部横幅."},urlInclude:n.mainSiteUrls,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/style/hide/video/recommended-live.js b/registry/dist/components/style/hide/video/recommended-live.js index 93d89502a..515c514b6 100644 --- a/registry/dist/components/style/hide/video/recommended-live.js +++ b/registry/dist/components/style/hide/video/recommended-live.js @@ -6,4 +6,4 @@ t.i=function(e,n,o){"string"==typeof e&&( // eslint-disable-next-line no-param-reassign e=[[null,e,""]]);var r={};if(o)for(var i=0;iPromise.resolve().then(r.t.bind(r,969,23))}],displayName:"隐藏直播推荐",tags:[componentsTags.style,componentsTags.video],description:{"zh-CN":"隐藏视频页面右侧下方的直播推荐."},urlInclude:e.videoUrls,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var c=this[i][0];null!=c&&(r[c]=!0)}for(var u=0;uPromise.resolve().then(r.t.bind(r,969,23))}],displayName:"隐藏直播推荐",tags:[componentsTags.style,componentsTags.video],description:{"zh-CN":"隐藏视频页面右侧下方的直播推荐."},urlInclude:e.videoUrls,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/style/hide/video/related-videos.js b/registry/dist/components/style/hide/video/related-videos.js index 59a5a4639..4bd311ace 100644 --- a/registry/dist/components/style/hide/video/related-videos.js +++ b/registry/dist/components/style/hide/video/related-videos.js @@ -6,4 +6,4 @@ t.i=function(e,n,o){"string"==typeof e&&( // eslint-disable-next-line no-param-reassign e=[[null,e,""]]);var r={};if(o)for(var i=0;iPromise.resolve().then(r.t.bind(r,32,23))}],tags:[componentsTags.style,componentsTags.video],description:{"zh-CN":"隐藏番剧和视频页面右侧的推荐视频列表. 注意: 如果你想关闭 b 站的自动连播 (自动播放下一个推荐视频) 功能, 需要先取消隐藏视频推荐才能看到开关."},urlInclude:e.videoAndBangumiUrls,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var a=this[i][0];null!=a&&(r[a]=!0)}for(var c=0;cPromise.resolve().then(r.t.bind(r,32,23))}],tags:[componentsTags.style,componentsTags.video],description:{"zh-CN":"隐藏番剧和视频页面右侧的推荐视频列表. 注意: 如果你想关闭 b 站的自动连播 (自动播放下一个推荐视频) 功能, 需要先取消隐藏视频推荐才能看到开关."},urlInclude:e.videoAndBangumiUrls,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/style/hide/video/top-mask.js b/registry/dist/components/style/hide/video/top-mask.js index 3499d6e71..0b4aef733 100644 --- a/registry/dist/components/style/hide/video/top-mask.js +++ b/registry/dist/components/style/hide/video/top-mask.js @@ -6,4 +6,4 @@ e.i=function(t,n,o){"string"==typeof t&&( // eslint-disable-next-line no-param-reassign t=[[null,t,""]]);var r={};if(o)for(var i=0;iPromise.resolve().then(r.t.bind(r,498,23)))),tags:[componentsTags.style],description:{"zh-CN":"隐藏视频里鼠标经过时出现在右上角的覆盖层."},urlInclude:e.playerUrls,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var u=this[i][0];null!=u&&(r[u]=!0)}for(var c=0;cPromise.resolve().then(r.t.bind(r,498,23)))),tags:[componentsTags.style],description:{"zh-CN":"隐藏视频里鼠标经过时出现在右上角的覆盖层."},urlInclude:e.playerUrls,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/style/home-redesign/fresh.js b/registry/dist/components/style/home-redesign/fresh.js index 07e2626d3..efd14a9c7 100644 --- a/registry/dist/components/style/home-redesign/fresh.js +++ b/registry/dist/components/style/home-redesign/fresh.js @@ -16,4 +16,4 @@ e=e.slice(1,-1)),n.hash&&( e+=n.hash),/["'() \t\n]/.test(e)||n.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e)}},379:function(e,n,t){"use strict";var r,a=function(){return void 0===r&&( // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805 // @see https://github.com/webpack-contrib/style-loader/issues/177 -r=Boolean(window&&document&&document.all&&!window.atob)),r},o=function(){var e={};return function(n){if(void 0===e[n]){var t=document.querySelector(n);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}e[n]=t}return e[n]}}(),i=[];function s(e){for(var n=-1,t=0;tPromise.resolve().then(t.bind(t,963)).then((e=>e.default))},{name:"trending",displayName:"热门视频",grow:!0,component:()=>Promise.resolve().then(t.bind(t,9)).then((e=>e.default))},{name:"feeds",displayName:"动态",grow:!0,component:()=>Promise.resolve().then(t.bind(t,604)).then((e=>e.default))},{name:"areas",displayName:"栏目",component:()=>Promise.resolve().then(t.bind(t,414)).then((e=>e.default))},{name:"categories",displayName:"分区",grow:!0,component:()=>Promise.resolve().then(t.bind(t,773)).then((e=>e.default))}],[V]=(0,w.registerAndGetData)("homeRedesign.fresh.layouts",[...A]);var C=Vue.extend({components:{HomeRedesignBase:f,FreshLayoutItem:y},data:()=>({layouts:V})}),I=t(30),q=t.n(I),T={insert:"head",singleton:!1},E=(s()(q(),T),q().locals,(0,c.Z)(C,r,[],!1,null,null,null));E.options.__file="registry/lib/components/style/home-redesign/fresh/FreshHome.vue";var Q=E.exports},403:function(e,n,t){"use strict";t.d(n,{Z:function(){return h}});var r=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-sub-header"},[t("div",{staticClass:"fresh-home-sub-header-dot"}),e._v(" "),e._t("default")],2)};r._withStripped=!0;var a=t(379),o=t.n(a),i=t(879),s=t.n(i),d={insert:"head",singleton:!1},l=(o()(s(),d),s().locals,(0,t(900).Z)({},r,[],!1,null,null,null));l.options.__file="registry/lib/components/style/home-redesign/fresh/SubHeader.vue";var h=l.exports},880:function(e,n,t){"use strict";t.d(n,{Z:function(){return C}});var r=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-video-list scroll-top scroll-bottom",class:{"not-empty":e.videos.length>0}},[t("div",{ref:"content",staticClass:"fresh-home-video-list-content"},[0===e.videos.length?t("div",{staticClass:"fresh-home-video-list-empty"},[e.loading?t("VLoading"):t("VEmpty")],1):e._l(e.videos,(function(e){return t("VideoCardWrapper",{key:e.id,ref:"cards",refInFor:!0,attrs:{data:e}})}))],2)])};r._withStripped=!0;var a=t(643),o=t(647),i=t(407),s=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-video-card-wrapper"},[t("VideoCard",e._b({attrs:{orientation:"vertical"}},"VideoCard",e.$attrs,!1))],1)};s._withStripped=!0;var d=coreApis.componentApis.feeds.VideoCard,l=t.n(d),h=Vue.extend({components:{VideoCard:l()}}),c=t(379),m=t.n(c),f=t(492),p=t.n(f),b={insert:"head",singleton:!1},u=(m()(p(),b),p().locals,t(900)),g=(0,u.Z)(h,s,[],!1,null,null,null);g.options.__file="registry/lib/components/style/home-redesign/fresh/VideoCardWrapper.vue";var v=g.exports,k=t(912),x=Vue.extend({components:{VEmpty:a.VEmpty,VLoading:a.VLoading,VideoCardWrapper:v},props:{videos:{type:Array,default:()=>[]},loading:{type:Boolean,default:!0}},watch:{videos(){this.setupIntersection()},loaded(){this.loaded&&this.setupIntersection()}},beforeDestroy(){(0,k.b)(this.$el)},mounted(){const e=this.$refs.content;let n;(0,i.addComponentListener)("freshHome.horizontalWheelScroll",(t=>{t?n=(0,o.enableHorizontalScroll)(e):n?.()}),!0)},methods:{async setupIntersection(){await this.$nextTick(),(0,k.a)({container:this.$el,items:this.$refs.cards.map((e=>e.$el))})},offsetPage(e){const n=this.$refs.content,t=getComputedStyle(n),r=n.clientWidth,a=parseFloat(t.getPropertyValue("--card-width"))+parseFloat(t.getPropertyValue("--card-padding")),o=Math.trunc(r/a)*a;n.scrollBy(e*o,0)}}}),y=t(785),w=t.n(y),A={insert:"head",singleton:!1},V=(m()(w(),A),w().locals,(0,u.Z)(x,r,[],!1,null,null,null));V.options.__file="registry/lib/components/style/home-redesign/fresh/VideoList.vue";var C=V.exports},414:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return v}});var r=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-areas"},[e._m(0),e._v(" "),t("div",{staticClass:"fresh-home-areas-content"},[t("a",{staticClass:"fresh-home-areas-content-primary",attrs:{href:e.primary.url,target:"_blank"}},[t("div",{staticClass:"fresh-home-areas-content-primary-image"}),e._v(" "),t("div",{staticClass:"fresh-home-areas-content-primary-title"},[e._v("\n "+e._s(e.primary.title)+"\n ")])]),e._v(" "),t("div",{staticClass:"fresh-home-areas-content-other"},e._l(e.others,(function(n){return t("a",{key:n.title,attrs:{href:n.url,target:"_blank"}},[t("VButton",{attrs:{type:"transparent"}},[t("VIcon",{attrs:{colored:"",icon:n.icon,size:22}}),e._v("\n "+e._s(n.title)+"\n ")],1)],1)})),0)])])};r._withStripped=!0;var a=t(269),o=t(643),i=t(985),s=t(210),d=t(899);(0,a.addData)("ui.icons",(e=>{e["live-colored"]=i,e["topic-colored"]=s,e["black-room-colored"]=d}));const l={title:"专栏",url:"https://www.bilibili.com/read/home"},h=[{title:"直播",url:"https://live.bilibili.com/",icon:"live-colored"},{title:"专题",url:"https://www.bilibili.com/blackboard/topic_list.html",icon:"topic-colored"},{title:"小黑屋",url:"https://www.bilibili.com/blackroom/",icon:"black-room-colored"}];var c=Vue.extend({components:{VButton:o.VButton,VIcon:o.VIcon},data:()=>({primary:l,others:h})}),m=t(379),f=t.n(m),p=t(590),b=t.n(p),u={insert:"head",singleton:!1},g=(f()(b(),u),b().locals,(0,t(900).Z)(c,r,[function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-header"},[t("div",{staticClass:"fresh-home-header-title"},[e._v("\n 栏目\n ")])])}],!1,null,null,null));g.options.__file="registry/lib/components/style/home-redesign/fresh/layouts/areas/Areas.vue";var v=g.exports},963:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return f}});var r=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-blackboard",on:{mouseenter:e.destroyTimer,mouseleave:e.createTimer}},[t("div",{staticClass:"fresh-home-header"},[t("div",{staticClass:"fresh-home-header-title"},[e._v("\n 活动\n ")]),e._v(" "),t("a",{staticClass:"fresh-home-header-icon-button rotate",attrs:{href:"https://www.bilibili.com/blackboard/x/act_list/",target:"_blank"}},[t("VButton",{attrs:{round:""}},[t("VIcon",{attrs:{icon:"mdi-dots-horizontal",size:20}}),e._v("\n 更多\n ")],1)],1)]),e._v(" "),e._l(e.blackboards,(function(e,n){return t("input",{key:n,staticClass:"fresh-home-blackboard-radio",attrs:{id:"blackboard"+n,type:"radio",name:"blackboard","data-index":n},domProps:{checked:0===n}})})),e._v(" "),t("div",{staticClass:"fresh-home-blackboard-cards"},e._l(e.blackboards,(function(n,r){return t("a",{key:r,staticClass:"fresh-home-blackboard-card",attrs:{target:"_blank",href:n.url,title:n.title}},[t("DpiImage",{staticClass:"fresh-home-blackboard-card-image",attrs:{src:n.imageUrl,alt:n.title,size:{width:500,height:250},intersection:{root:e.cardsContainer}}}),e._v(" "),t("div",{staticClass:"fresh-home-blackboard-card-title",attrs:{title:n.title}},[e._v("\n "+e._s(n.title)+"\n ")])],1)})),0),e._v(" "),t("div",{staticClass:"fresh-home-blackboard-jump-dots"},e._l(e.blackboards,(function(e,n){return t("label",{key:n,attrs:{for:"blackboard"+n}},[t("div",{staticClass:"fresh-home-blackboard-jump-dot"})])})),0)],2)};r._withStripped=!0;var a=t(643),o=t(663);var i=Vue.extend({components:{VButton:a.VButton,VIcon:a.VIcon,DpiImage:a.DpiImage},data:()=>({blackboards:[],timer:0}),computed:{cardsContainer(){return this.$el.querySelector(".fresh-home-blackboard-cards")}},async created(){const e=await(async()=>{const e=4694,{code:n,message:t,data:r}=await(0,o.getJson)("https://api.bilibili.com/x/web-show/res/locs?pf=0&ids=4694");if(0!==n)throw new Error(`获取活动卡片失败: ${t}`);return r[4694].map((n=>({url:n.url,title:n.name,isAd:n.res_id!==e,imageUrl:n.pic})))})();this.blackboards=e.filter((e=>!e.isAd))},mounted(){this.createTimer()},beforeDestroy(){this.destroyTimer()},methods:{createTimer(){if(this.timer)return;const e="fresh-home-blackboard-radio";this.timer=window.setInterval((()=>{if(!document.hasFocus()||this.$el.matches(":hover"))return;const n=parseInt(dq(`.${e}:checked`).getAttribute("data-index"));let t;t=n===this.blackboards.length-1?0:n+1,dq(`.${e}[data-index='${t}']`).checked=!0}),5e3)},destroyTimer(){this.timer&&(window.clearInterval(this.timer),this.timer=0)}}}),s=t(379),d=t.n(s),l=t(359),h=t.n(l),c={insert:"head",singleton:!1},m=(d()(h(),c),h().locals,(0,t(900).Z)(i,r,[],!1,null,null,null));m.options.__file="registry/lib/components/style/home-redesign/fresh/layouts/blackboard/Blackboard.vue";var f=m.exports},773:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return w}});var r=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-categories"},[t("div",{staticClass:"fresh-home-header"},[t("div",{staticClass:"fresh-home-header-title"},[e._v("\n 分区\n ")]),e._v(" "),t("div",{staticClass:"fresh-home-header-center-area"},[t("div",{staticClass:"fresh-home-header-tabs"},[t("div",{ref:"tabs",staticClass:"default-tabs"},e._l(e.tabs,(function(n){return t("div",{key:n.name,staticClass:"default-tab",class:{selected:n===e.selectedTab},attrs:{"data-name":n.name},on:{click:function(t){return e.selectTab(n)}}},[t("div",{staticClass:"default-tab-name"},[e._v("\n "+e._s(n.displayName)+"\n ")])])})),0)])]),e._v(" "),t("div",{staticClass:"fresh-home-header-pagination"},[e.isReordering?t("VButton",{attrs:{icon:"",title:"完成排序"},on:{click:e.toggleReorder}},[t("VIcon",{attrs:{icon:"mdi-check",size:18}})],1):t("VButton",{attrs:{icon:"",title:"排序"},on:{click:e.toggleReorder}},[t("VIcon",{attrs:{icon:"mdi-swap-horizontal",size:18}})],1)],1)]),e._v(" "),t("div",{staticClass:"fresh-home-categories-content"},[t(e.content,{tag:"component",attrs:{region:e.selectedTab}})],1)])};r._withStripped=!0;var a=coreApis.reorder,o=coreApis.utils.sort,i=t(643),s=t(142),d=coreApis.componentApis.utils.categories.data,l=JSON.parse('["推广","正在直播","动画","番剧","番剧动态","国创","国产原创相关","漫画","音乐","舞蹈","游戏","知识","课堂","科技","运动","汽车","生活","美食","动物圈","鬼畜","时尚","资讯","娱乐","专栏","电影","电视剧","影视","纪录片","特别推荐"]');const h=["推广","正在直播","番剧动态","国产原创相关","漫画","课堂","专栏","特别推荐"],c=Object.fromEntries(Object.entries(d.categories).filter((([e])=>!h.includes(e)&&!!l.includes(e)))),m=["番剧","国创"],f=e=>(console.log("getContent",e),m.includes(e)?()=>Promise.resolve().then(t.bind(t,927)).then((e=>e.default)):()=>Promise.resolve().then(t.bind(t,984)).then((e=>e.default))),p=Object.entries(c).map((([e,n])=>({id:n.code,name:e,displayName:e,category:n,href:n.link,order:0})));var b=Vue.extend({components:{VButton:i.VButton,VIcon:i.VIcon},data(){const e=s.O.categoriesOrder??{},n=[...p].sort((0,o.ascendingSort)((n=>e[n.name])));return{tabs:n,isReordering:!1,reorder:null,selectedTab:n[0],content:f(n[0].name)}},mounted(){const e=this.$refs.tabs,n=new a.Reorder(e);n.addEventListener("reorder",(({detail:e})=>{const n=Object.fromEntries(e.map((e=>[e.element.getAttribute("data-name"),e.order])));console.log(e,n),s.O.categoriesOrder=n})),this.reorder=n},methods:{toggleReorder(){this.reorder.toggle(),this.isReordering=this.reorder.enabled},selectTab(e){this.isReordering||(this.selectedTab!==e?(this.selectedTab=e,this.content=f(e.name)):window.open(e.href,"_blank"))}}}),u=t(379),g=t.n(u),v=t(871),k=t.n(v),x={insert:"head",singleton:!1},y=(g()(k(),x),k().locals,(0,t(900).Z)(b,r,[],!1,null,null,null));y.options.__file="registry/lib/components/style/home-redesign/fresh/layouts/categories/Categories.vue";var w=y.exports},927:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return B}});var r=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-categories-bangumi"},[t("div",{staticClass:"fresh-home-categories-bangumi-timeline"},[t("div",{staticClass:"fresh-home-categories-bangumi-timeline-header"},[t("SubHeader",[e._v("\n 时间表\n ")])],1),e._v(" "),t("BangumiTimeline",{attrs:{api:e.timelineApi}})],1),e._v(" "),t("div",{staticClass:"fresh-home-categories-bangumi-rank-list"},[t("a",{staticClass:"fresh-home-categories-bangumi-rank-list-header",attrs:{href:e.rankingsLink,target:"_blank"}},[t("SubHeader",[e._v("\n 排行榜\n ")])],1),e._v(" "),t("RankList",{attrs:{"bangumi-mode":"","parse-json":e.parseJson,api:e.rankingsApi}})],1)])};r._withStripped=!0;var a=t(23),o=t(403),i=t(815),s=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-categories-bangumi-timeline-content",class:{loading:e.loading,loaded:e.loaded,scrolled:e.scrolled,empty:0===e.items.length}},[e.loading?t("VLoading"):e._e(),e._v(" "),e.loaded&&0===e.items.length?t("VEmpty"):e._e(),e._v(" "),e._l(e.items,(function(n,r){var a;return t("div",{key:n.date_ts,staticClass:"fresh-home-categories-bangumi-timeline-item animation",class:{today:r===e.todayIndex}},[t("div",{staticClass:"fresh-home-categories-bangumi-timeline-date"},[t("div",{staticClass:"fresh-home-categories-bangumi-timeline-date-icon",class:(a={today:r===e.todayIndex},a["day-of-week-"+n.day_of_week]=!0,a)}),e._v(" "),t("div",{staticClass:"fresh-home-categories-bangumi-timeline-date-number"},[e._v("\n "+e._s(n.date)+"\n ")]),e._v(" "),t("div",{staticClass:"fresh-home-categories-bangumi-timeline-date-text"},[e._v("\n "+e._s(e.dayOfWeekText(n))+"\n ")]),e._v(" "),r===e.todayIndex?t("div",{staticClass:"fresh-home-categories-bangumi-timeline-date-today"},[e._v("\n TODAY\n ")]):e._e()]),e._v(" "),t("div",{ref:"seasonsList",refInFor:!0,staticClass:"fresh-home-categories-bangumi-timeline-seasons-container scroll-top scroll-bottom",class:{"not-empty":n.seasons.length>0}},[t("div",{staticClass:"fresh-home-categories-bangumi-timeline-seasons",class:{today:r===e.todayIndex}},[0===n.seasons.length?t("VEmpty"):e._e(),e._v(" "),e._l(n.seasons,(function(n){return t("a",{key:n.season_id,staticClass:"fresh-home-categories-bangumi-timeline-season",class:{today:r===e.todayIndex},attrs:{"data-season":n.season_id,target:"_blank",href:n.url}},[t("div",{staticClass:"fresh-home-categories-bangumi-timeline-season-cover",class:{published:r===e.todayIndex&&e.publishedToday(n),today:r===e.todayIndex,follow:n.follow}},[t("DpiImage",{attrs:{src:n.square_cover,size:80}})],1),e._v(" "),t("div",{staticClass:"fresh-home-categories-bangumi-timeline-season-title",class:{today:r===e.todayIndex},attrs:{title:n.title}},[e._v("\n "+e._s(n.title)+"\n ")]),e._v(" "),t("div",{staticClass:"fresh-home-categories-bangumi-timeline-season-episode",attrs:{title:e.getEpisode(n)}},[e._v("\n "+e._s(e.getEpisode(n))+"\n ")]),e._v(" "),t("div",{staticClass:"fresh-home-categories-bangumi-timeline-season-time",class:{published:r===e.todayIndex&&e.publishedToday(n),follow:n.follow}},[t("div",{staticClass:"fresh-home-categories-bangumi-timeline-season-time-icon"},[t("VIcon",{attrs:{icon:n.follow?"mdi-heart-outline":"mdi-progress-clock",size:14}})],1),e._v(" "),t("div",{staticClass:"fresh-home-categories-bangumi-timeline-season-time-text"},[e._v("\n "+e._s(n.pub_time)+"\n ")])])])}))],2)])])}))],2)};s._withStripped=!0;var d=t(643),l=t(407),h=t(647),c=t(338),m=t(652),f=t(912);const p=m.b.panelHeight-2*m.b.padding,b=(()=>{const e=(p-492)/6;return{seasonItemWidth:250,seasonTodayWidth:250,timelineItemHeight:66,timelineTodayHeight:96,timelineViewportItemsHeight:492,timelineItemGap:e,timelineViewportHeight:6*e+492}})();var u=Vue.extend({components:{DpiImage:d.DpiImage,VIcon:d.VIcon,VEmpty:d.VEmpty,VLoading:d.VLoading},mixins:[c.O,(0,c.k)(b)],data:()=>({observers:[],now:Number(new Date),timer:0,scrolled:!1}),computed:{todayIndex(){return this.items.findIndex((e=>1===e.is_today))},pastWeekItems(){return this.items.slice(0,this.todayIndex+1)},currentWeekItems(){return this.items.slice(this.todayIndex)}},watch:{loaded(){this.loaded&&this.updateScrollPosition()}},mounted(){this.timer=setInterval((()=>{this.now=Number(new Date)}),6e4);const e=this.$el;let n=0;const t=()=>{n++,n>=7&&(e.classList.add("snap"),e.removeEventListener("animationend",t))};e.addEventListener("animationend",t)},beforeDestroy(){this.timer&&clearInterval(this.timer);const e=this.$refs.seasonsList;(0,f.b)(...e)},methods:{parseJson:e=>e.result??[],async updateScrollPosition(){await this.$nextTick();const e=this.$refs.seasonsList;let n;(0,l.addComponentListener)("freshHome.horizontalWheelScroll",(t=>{if(t){const t=e.flatMap((e=>[...e.children])).map((e=>(0,h.enableHorizontalScroll)(e)));n=()=>t.forEach((e=>e()))}else n?.()}),!0);this.$el.scrollTop=5*b.timelineItemHeight+5*b.timelineItemGap;const t=".fresh-home-categories-bangumi-timeline";e.forEach((e=>{(0,f.a)({container:e,items:dqa(e,`${t}-season`)})}));const r=dq(`${t}-seasons.today`);if(!r)return;const a=this.items[this.todayIndex]?.seasons;if(0===a.length)return;const o=[...a].reverse().find((e=>this.publishedToday(e)));if(!o)return void(this.scrolled=!0);const i=dq(r,`[data-season="${o.season_id}"]`);i&&(r.scrollLeft=i.offsetLeft,this.scrolled=!0)},getEpisode:e=>e.delay?`${e.delay_reason}: ${e.delay_index}`:e.pub_index,publishedToday(e){return!e.delay&&1e3*e.pub_ts<=this.now},dayOfWeekText:e=>`周${["日","一","二","三","四","五","六","日"][e.day_of_week]}`}}),g=t(379),v=t.n(g),k=t(542),x=t.n(k),y={insert:"head",singleton:!1},w=(v()(x(),y),x().locals,t(900)),A=(0,w.Z)(u,s,[],!1,null,null,null);A.options.__file="registry/lib/components/style/home-redesign/fresh/layouts/categories/content/BangumiTimeline.vue";var V=A.exports;const C={anime:{timeline:"global",seasonType:1,rankingName:"bangumi"},guochuang:{timeline:"cn",seasonType:4,rankingName:"guochan"}};var I=Vue.extend({components:{SubHeader:o.Z,BangumiTimeline:V,RankList:i.Z},props:{region:{type:Object,required:!0}},data(){const{route:e}=this.region.category,{rankingName:n,seasonType:t,timeline:r}=C[e];return{bangumiDataMap:C,route:e,timelineApi:`https://bangumi.bilibili.com/web_api/timeline_${r}`,rankingsApi:`https://api.bilibili.com/pgc/season/rank/web/list?day=3&season_type=${t}`,rankingsLink:`https://www.bilibili.com/v/popular/rank/${n}`}},methods:{parseJson(e){const n=(e.data?.list??[]).map((e=>{const n=e.new_ep?.index_show??e.title;return{id:e.season_id,title:e.title,playCount:e.stat.view,points:e.stat.follow,upHref:e.url,upName:n,dynamic:n,coverUrl:e.new_ep?.cover??e.ss_horizontal_cover,videoHref:e.url}})).slice(0,10);return(0,a.applyContentFilter)(n)}}}),q=t(531),T=t.n(q),E={insert:"head",singleton:!1},Q=(v()(T(),E),T().locals,(0,w.Z)(I,r,[],!1,null,null,null));Q.options.__file="registry/lib/components/style/home-redesign/fresh/layouts/categories/content/Bangumi.vue";var B=Q.exports},984:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return I}});var r=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-categories-default"},[t("div",{staticClass:"fresh-home-categories-default-video-column"},[t("div",{staticClass:"fresh-home-categories-default-video-column-item"},[t("SubHeader",[e._v("\n 有新动态\n ")]),e._v(" "),t("VideoSlides",{attrs:{api:e.activeVideosApi}})],1),e._v(" "),t("div",{staticClass:"fresh-home-categories-default-video-column-item"},[t("SubHeader",[e._v("\n 最新发布\n ")]),e._v(" "),t("VideoSlides",{attrs:{api:e.newVideosApi}})],1)]),e._v(" "),t("div",{staticClass:"fresh-home-categories-default-rank-list"},[t("a",{attrs:{href:e.rankingsLink,target:"_blank"}},[t("SubHeader",[e._v("\n 排行榜\n ")])],1),e._v(" "),t("RankList",{attrs:{"parse-json":e.parseJson,api:e.rankingsApi}})],1)])};r._withStripped=!0;var a=t(23),o=t(815),i=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-video-slides"},[e.loaded?t("div",{staticClass:"fresh-home-video-slides-covers"},e._l(e.items,(function(n,r){return t("a",{key:n.id,staticClass:"fresh-home-video-slides-cover",attrs:{title:n.title,href:1!==r?"javascript:void(0)":e.url(n.bvid),target:"_blank"},on:{"!click":function(n){1!==r&&e.jumpToCard(n,r)}}},[t("DpiImage",{attrs:{src:n.coverUrl,size:{width:e.ui.mainCoverWidth,height:e.ui.mainCoverHeight}}})],1)})),0):e._e(),e._v(" "),t("div",{staticClass:"cover-placeholder-vertical"}),e._v(" "),e.loaded?e._e():t("div",{staticClass:"fresh-home-video-slides-empty"},[t("div",{staticClass:"empty-placeholder fresh-home-video-slides-main-title",domProps:{textContent:e._s(" ")}}),e._v(" "),t("div",{staticClass:"empty-indicator"},[e.loading?t("VLoading"):e._e(),e._v(" "),e.error?t("div",{staticClass:"empty-indicator-error"},[t("VEmpty"),e._v(" "),t("VButton",{staticClass:"fresh-home-video-slides-refresh-button",attrs:{round:""},on:{click:e.reload}},[t("VIcon",{attrs:{icon:"mdi-refresh"}}),e._v("\n 刷新\n ")],1)],1):e._e()],1)]),e._v(" "),e.currentItem&&e.loaded?t("div",{staticClass:"fresh-home-video-slides-row"},[t("div",{staticClass:"fresh-home-video-slides-main-info"},[t("div",{staticClass:"fresh-home-video-slides-row"},[t("div",{staticClass:"cover-placeholder-horizontal"}),e._v(" "),t("div",{staticClass:"fresh-home-video-slides-main-actions"},[t("a",{staticClass:"fresh-home-video-slides-play-button",attrs:{href:e.currentUrl,target:"_blank"}},[t("VButton",{attrs:{type:"primary",round:""}},[t("VIcon",{attrs:{icon:"mdi-play"}}),e._v("\n 播放\n ")],1)],1),e._v(" "),e.watchlaterAdded?t("VButton",{staticClass:"fresh-home-video-slides-watchlater-button",attrs:{icon:"",title:"取消稍后再看"},on:{click:function(n){return e.toggleWatchlater(e.currentItem.aid)}}},[t("VIcon",{attrs:{icon:"mdi-clock-check-outline",size:20}})],1):t("VButton",{staticClass:"fresh-home-video-slides-watchlater-button",attrs:{icon:"",title:"稍后再看"},on:{click:function(n){return e.toggleWatchlater(e.currentItem.aid)}}},[t("VIcon",{attrs:{icon:"mdi-clock-outline",size:20}})],1),e._v(" "),t("a",{staticClass:"fresh-home-video-slides-up-container",attrs:{href:"https://space.bilibili.com/"+e.currentItem.upID,title:e.currentItem.upName,target:"_blank"}},[t("DpiImage",{attrs:{size:24,src:e.currentItem.upFaceUrl}}),e._v(" "),t("div",{staticClass:"fresh-home-video-slides-up-name"},[e._v("\n "+e._s(e.currentItem.upName)+"\n ")])],1)],1)]),e._v(" "),t("a",{staticClass:"fresh-home-video-slides-main-title",attrs:{title:e.currentItem.title,href:e.currentUrl,target:"_blank"}},[e._v("\n "+e._s(e.currentItem.title)+"\n ")])]),e._v(" "),t("div",{staticClass:"fresh-home-video-slides-main-description"},[t("div",{staticClass:"description-text",domProps:{textContent:e._s(e.currentItem.description)}})]),e._v(" "),t("div",{staticClass:"fresh-home-video-slides-actions"},[t("VButton",{staticClass:"fresh-home-video-slides-refresh-button",attrs:{title:"刷新",icon:""},on:{click:e.reload}},[t("VIcon",{attrs:{icon:"mdi-refresh"}})],1),e._v(" "),t("VButton",{staticClass:"fresh-home-video-slides-previous-button",attrs:{title:"上一个",icon:""},on:{click:e.previousCard}},[t("VIcon",{attrs:{icon:"mdi-arrow-left"}})],1),e._v(" "),t("VButton",{staticClass:"fresh-home-video-slides-next-button",attrs:{title:"下一个",icon:""},on:{click:e.nextCard}},[t("VIcon",{attrs:{icon:"mdi-arrow-right",size:36}})],1)],1)]):e._e()])};i._withStripped=!0;var s=coreApis.componentApis.video.watchlater,d=t(117),l=t(643),h=t(338),c=Vue.extend({components:{VButton:l.VButton,VIcon:l.VIcon,DpiImage:l.DpiImage,VLoading:l.VLoading,VEmpty:l.VEmpty},mixins:[h.O,(0,h.k)({mainCoverHeight:185,mainCoverWidth:287,otherCoverHeight:100,otherCoverWidth:154,mainPaddingX:18,mainPaddingY:20,coverPadding:16})],data:()=>({watchlaterList:s.watchlaterList,itemLimit:10}),computed:{currentItem(){return this.items[1]},currentUrl(){return this.url(this.currentItem.bvid)},watchlaterAdded(){return this.watchlaterList.includes(this.currentItem.aid)}},created(){(0,s.getWatchlaterList)()},methods:{parseJson(e){const n=lodash.get(e,"data.archives",[]).map((e=>({id:e.aid,aid:e.aid,bvid:e.bvid,coverUrl:e.pic,title:e.title,upName:e.owner.name,upFaceUrl:e.owner.face,upID:e.owner.mid,playCount:e.stat.view,danmakuCount:e.stat.danmaku,like:e.stat.like,coins:e.stat.coin,description:e.desc,dynamic:"-"===e.desc?"":e.desc,type:e.tname,duration:e.duration,durationText:(0,d.formatDuration)(e.duration)})));return(0,a.applyContentFilter)(n)},url:e=>`https://www.bilibili.com/video/${e}`,toggleWatchlater:s.toggleWatchlater,nextCard(){this.items.push(this.items.shift())},previousCard(){this.items.unshift(this.items.pop())},jumpToCard(e,n){if(n<=1||n>=this.items.length)return;let t=n-1;const r=()=>{this.nextCard(),t--,t>0&&setTimeout(r)};r(),e.preventDefault()}}}),m=t(379),f=t.n(m),p=t(530),b=t.n(p),u={insert:"head",singleton:!1},g=(f()(b(),u),b().locals,t(900)),v=(0,g.Z)(c,i,[],!1,null,null,null);v.options.__file="registry/lib/components/style/home-redesign/fresh/layouts/categories/content/VideoSlides.vue";var k=v.exports,x=t(403),y=Vue.extend({components:{RankList:o.Z,VideoSlides:k,SubHeader:x.Z},props:{region:{type:Object,required:!0}},data(){const e=this.region.id;return console.log(this.region.category),{activeVideosApi:`https://api.bilibili.com/x/web-interface/dynamic/region?ps=10&rid=${e}`,newVideosApi:`https://api.bilibili.com/x/web-interface/newlist?ps=10&rid=${e}`,rankingsApi:`https://api.bilibili.com/x/web-interface/ranking/region?rid=${e}&day=3&original=0`,rankingsLink:`https://www.bilibili.com/v/popular/rank/${this.region.category.route}`}},methods:{parseJson(e){const n=(lodash.get(e,"data",[])||[]).map((e=>({id:e.aid,title:e.title,playCount:e.play,points:e.pts,upHref:`https://space.bilibili.com/${e.mid}`,upName:e.author,dynamic:e.description,coverUrl:e.pic,videoHref:`https://www.bilibili.com/video/${e.bvid}`}))).slice(0,10);return(0,a.applyContentFilter)(n)}}}),w=t(41),A=t.n(w),V={insert:"head",singleton:!1},C=(f()(A(),V),A().locals,(0,g.Z)(y,r,[],!1,null,null,null));C.options.__file="registry/lib/components/style/home-redesign/fresh/layouts/categories/content/Default.vue";var I=C.exports},815:function(e,n,t){"use strict";t.d(n,{Z:function(){return g}});var r=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-rank-list",class:{loading:e.loading,loaded:e.loaded}},[e.loaded?e._e():t("div",{staticClass:"fresh-home-rank-list-loading-container"},[e.loading?t("VLoading"):e._e(),e._v(" "),!e.error&&0!==e.items.length||e.loading?e._e():t("div",{staticClass:"fresh-home-rank-list-empty"},[t("VEmpty"),e._v(" "),t("VButton",{staticClass:"fresh-home-rank-list-refresh-button",attrs:{round:""},on:{click:e.reload}},[t("VIcon",{attrs:{icon:"mdi-refresh"}}),e._v("\n 刷新\n ")],1)],1)],1),e._v(" "),e.loaded?[e.firstItem?t("div",{staticClass:"fresh-home-rank-list-first-item animation"},[t("div",{staticClass:"fresh-home-rank-list-rank-item"}),e._v(" "),t("a",{staticClass:"fresh-home-rank-list-rank-item-title",attrs:{target:"_blank",href:e.firstItem.videoHref,title:e.firstItem.title}},[e._v("\n "+e._s(e.firstItem.title)+"\n ")]),e._v(" "),t("a",{staticClass:"fresh-home-rank-list-cover",attrs:{target:"_blank",href:e.firstItem.videoHref}},[t("DpiImage",{attrs:{src:e.firstItem.coverUrl,size:{width:e.ui.firstCoverWidth,height:e.ui.firstCoverHeight}}}),e._v(" "),t("UpInfo",{attrs:{"up-face-url":e.firstItem.upFaceUrl,href:e.firstItem.upHref,"up-name":e.firstItem.upName},scopedSlots:e._u([{key:"fallback-icon",fn:function(){return[t("VIcon",e._b({},"VIcon",e.upInfoProps,!1))]},proxy:!0}],null,!1,4101577376)}),e._v(" "),t("div",{staticClass:"fresh-home-rank-list-stats"},[t("VIcon",{attrs:{icon:"mdi-fire",size:16}}),e._v("\n "+e._s(e._f("formatCount")(e.firstItem.points))+"\n ")],1)],1),e._v(" "),t("div",{staticClass:"fresh-home-rank-list-laser",attrs:{"data-number":"1"}})]):e._e(),e._v(" "),e.secondItem?t("div",{staticClass:"fresh-home-rank-list-second-item animation"},[t("a",{staticClass:"fresh-home-rank-list-rank-item",attrs:{target:"_blank",href:e.secondItem.videoHref}},[t("div",{staticClass:"fresh-home-rank-list-rank-item-title",attrs:{title:e.secondItem.title}},[e._v("\n "+e._s(e.secondItem.title)+"\n ")]),e._v(" "),t("UpInfo",{attrs:{"up-face-url":e.secondItem.upFaceUrl,href:e.secondItem.upHref,"up-name":e.secondItem.upName},scopedSlots:e._u([{key:"fallback-icon",fn:function(){return[t("VIcon",e._b({},"VIcon",e.upInfoProps,!1))]},proxy:!0}],null,!1,4101577376)}),e._v(" "),t("div",{staticClass:"fresh-home-rank-list-stats"},[t("VIcon",{attrs:{icon:"mdi-fire",size:16}}),e._v("\n "+e._s(e._f("formatCount")(e.secondItem.points))+"\n "),t("VIcon",{attrs:{icon:"play",size:16}}),e._v("\n "+e._s(e._f("formatCount")(e.secondItem.playCount))+"\n ")],1)],1),e._v(" "),t("a",{staticClass:"fresh-home-rank-list-cover",attrs:{target:"_blank",href:e.secondItem.videoHref}},[t("DpiImage",{attrs:{src:e.secondItem.coverUrl,size:{width:e.ui.secondCoverWidth,height:e.ui.secondCoverHeight}}})],1),e._v(" "),t("div",{staticClass:"fresh-home-rank-list-laser",attrs:{"data-number":"2"}})]):e._e(),e._v(" "),e.thirdItem?t("div",{staticClass:"fresh-home-rank-list-third-item animation"},[t("a",{staticClass:"fresh-home-rank-list-rank-item",attrs:{target:"_blank",href:e.thirdItem.videoHref}},[t("div",{staticClass:"fresh-home-rank-list-rank-item-title",attrs:{title:e.thirdItem.title}},[e._v("\n "+e._s(e.thirdItem.title)+"\n ")]),e._v(" "),t("UpInfo",{attrs:{"up-face-url":e.thirdItem.upFaceUrl,href:e.thirdItem.upHref,"up-name":e.thirdItem.upName},scopedSlots:e._u([{key:"fallback-icon",fn:function(){return[t("VIcon",e._b({},"VIcon",e.upInfoProps,!1))]},proxy:!0}],null,!1,4101577376)}),e._v(" "),t("div",{staticClass:"fresh-home-rank-list-stats"},[t("VIcon",{attrs:{icon:"mdi-fire",size:16}}),e._v("\n "+e._s(e._f("formatCount")(e.secondItem.points))+"\n "),t("VIcon",{attrs:{icon:"play",size:16}}),e._v("\n "+e._s(e._f("formatCount")(e.secondItem.playCount))+"\n ")],1)],1),e._v(" "),t("a",{staticClass:"fresh-home-rank-list-cover",attrs:{target:"_blank",href:e.thirdItem.videoHref}},[t("DpiImage",{attrs:{src:e.thirdItem.coverUrl,size:{width:e.ui.thirdCoverWidth,height:e.ui.thirdCoverHeight}}})],1),e._v(" "),t("div",{staticClass:"fresh-home-rank-list-laser",attrs:{"data-number":"3"}})]):e._e()]:e._e()],2)};r._withStripped=!0;var a=coreApis.componentApis.feeds.UpInfo,o=t.n(a),i=t(117),s=t(643),d=t(338),l=t(652),h=Vue.extend({components:{DpiImage:s.DpiImage,UpInfo:o(),VIcon:s.VIcon,VLoading:s.VLoading,VEmpty:s.VEmpty,VButton:s.VButton},filters:{formatCount:i.formatCount},mixins:[d.O,(0,d.k)(l.b)],props:{parseJson:{type:Function,required:!0},bangumiMode:{type:Boolean,default:!1}},computed:{firstItem(){return this.items[0]},secondItem(){return this.items[1]},thirdItem(){return this.items[2]},upInfoProps(){return{size:18,icon:this.bangumiMode?"mdi-television-classic":"up-outline",style:{transform:this.bangumiMode?"translateY(-1px)":"none"}}},firstRow(){return this.items.slice(3,6)},secondRow(){return this.items.slice(6,10)}}}),c=t(379),m=t.n(c),f=t(372),p=t.n(f),b={insert:"head",singleton:!1},u=(m()(p(),b),p().locals,(0,t(900).Z)(h,r,[],!1,null,null,null));u.options.__file="registry/lib/components/style/home-redesign/fresh/layouts/categories/content/RankList.vue";var g=u.exports},604:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return b}});var r=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-feeds"},[t("div",{staticClass:"fresh-home-header"},[t("div",{staticClass:"fresh-home-header-title"},[e._v("\n 动态\n ")]),e._v(" "),t("div",{staticClass:"fresh-home-header-center-area"},[t("div",{staticClass:"fresh-home-header-tabs"},[t("div",{staticClass:"default-tabs"},e._l(e.tabs,(function(n){return t("div",{key:n.name,staticClass:"default-tab",class:{selected:n===e.selectedTab},on:{click:function(t){return e.selectTab(n)}}},[t("div",{staticClass:"default-tab-name"},[e._v("\n "+e._s(n.displayName)+"\n ")])])})),0)])]),e._v(" "),t("div",{staticClass:"fresh-home-header-pagination"},[t("a",{attrs:{href:"https://www.bilibili.com/video/online.html",target:"_blank",title:"在线列表"}},[t("VButton",{attrs:{icon:""}},[t("VIcon",{attrs:{icon:"mdi-account-group-outline",size:19}})],1)],1),e._v(" "),t("VButton",{attrs:{icon:"",title:"刷新"},on:{click:e.reload}},[t("VIcon",{attrs:{icon:"mdi-refresh",size:18}})],1),e._v(" "),t("VButton",{attrs:{icon:"",title:"上一页"},on:{click:function(n){return e.$refs.videoList.offsetPage(-1)}}},[t("VIcon",{attrs:{icon:"left-arrow",size:20}})],1),e._v(" "),t("VButton",{attrs:{icon:"",title:"下一页"},on:{click:function(n){return e.$refs.videoList.offsetPage(1)}}},[t("VIcon",{attrs:{icon:"right-arrow",size:20}})],1),e._v(" "),t("a",{staticClass:"fresh-home-header-icon-button rotate",attrs:{href:"https://t.bilibili.com",target:"_blank"}},[t("VButton",{attrs:{round:""}},[t("VIcon",{attrs:{icon:"feeds",size:20}}),e._v("\n 全部动态\n ")],1)],1)],1)]),e._v(" "),t("div",{staticClass:"fresh-home-feeds-content"},[t("VideoList",{ref:"videoList",attrs:{videos:e.videos,loading:e.loading}})],1)])};r._withStripped=!0;var a=t(23),o=t(643),i=t(880);const s=[{name:"videoFeeds",displayName:"视频",api:a.getVideoFeeds.bind(void 0,"video"),href:"https://t.bilibili.com/?tab=8"},{name:"bangumiFeeds",displayName:"番剧",api:a.getVideoFeeds.bind(void 0,"bangumi"),href:"https://t.bilibili.com/?tab=512"}];var d=Vue.extend({components:{VButton:o.VButton,VIcon:o.VIcon,VideoList:i.Z},data:()=>({tabs:s,selectedTab:s[0],videos:[],loading:!0}),created(){this.reload()},methods:{selectTab(e){this.selectedTab!==e?(this.selectedTab=e,this.reload()):window.open(e.href,"_blank")},async reload(){this.loading=!0,this.videos=[],this.videos=await this.selectedTab.api().finally((()=>{this.loading=!1}))}}}),l=t(379),h=t.n(l),c=t(26),m=t.n(c),f={insert:"head",singleton:!1},p=(h()(m(),f),m().locals,(0,t(900).Z)(d,r,[],!1,null,null,null));p.options.__file="registry/lib/components/style/home-redesign/fresh/layouts/feeds/Feeds.vue";var b=p.exports},9:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return v}});var r=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-trending"},[t("div",{staticClass:"fresh-home-header"},[t("div",{staticClass:"fresh-home-header-title"},[e._v("\n "+e._s(e.title)+"\n ")]),e._v(" "),t("div",{staticClass:"fresh-home-header-pagination"},[t("VButton",{attrs:{icon:"",title:"刷新"},on:{click:e.reload}},[t("VIcon",{attrs:{icon:"mdi-refresh",size:18}})],1),e._v(" "),t("VButton",{attrs:{icon:"",title:"上一页"},on:{click:function(n){return e.$refs.videoList.offsetPage(-1)}}},[t("VIcon",{attrs:{icon:"left-arrow",size:20}})],1),e._v(" "),t("VButton",{attrs:{icon:"",title:"下一页"},on:{click:function(n){return e.$refs.videoList.offsetPage(1)}}},[t("VIcon",{attrs:{icon:"right-arrow",size:20}})],1)],1)]),e._v(" "),t("div",{staticClass:"fresh-home-trending-content"},[t("VideoList",{ref:"videoList",attrs:{videos:e.videos,loading:e.loading}})],1)])};r._withStripped=!0;var a=t(643),o=t(880),i=t(142),s=t(23),d=t(663),l=t(109),h=t(117);var c=Vue.extend({components:{VButton:a.VButton,VIcon:a.VIcon,VideoList:o.Z},data:()=>({videos:[],loading:!0}),computed:{title:()=>i.O.personalized?"推荐":"热门"},created(){this.reload()},methods:{async reload(){this.loading=!0,this.videos=[],this.videos=await(async()=>{const e=Boolean((0,l.getUID)())&&i.O.personalized,n=e?d.getJsonWithCredentials:d.getJson,{code:t,message:r,data:a}=await n("https://api.bilibili.com/x/web-interface/index/top/rcmd?fresh_type=0&version=1");if(0!==t)throw new Error(`获取${e?"推荐":"热门"}视频失败: ${r}`);const o=a.item.map((e=>({id:e.id,aid:e.id,bvid:e.bvid,coverUrl:e.pic.replace("http:","https:"),title:e.title,description:"",dynamic:"",duration:e.duration,durationText:(0,h.formatDuration)(e.duration),timestamp:1e3*e.pubdate,time:new Date(1e3*e.pubdate),upName:e.owner.name,upID:e.owner.mid,upFaceUrl:e.owner.face.replace("http:","https:"),like:(0,h.formatCount)(e.stat.like),playCount:(0,h.formatCount)(e.stat.view)})));return(0,s.applyContentFilter)(o)})().finally((()=>{this.loading=!1}))}}}),m=t(379),f=t.n(m),p=t(514),b=t.n(p),u={insert:"head",singleton:!1},g=(f()(b(),u),b().locals,(0,t(900).Z)(c,r,[],!1,null,null,null));g.options.__file="registry/lib/components/style/home-redesign/fresh/layouts/trending/Trending.vue";var v=g.exports},900:function(e,n,t){"use strict";function r(e,n,t,r,a,o,i,s){var d,l="function"==typeof e?e.options:e;if(n&&(l.render=n,l.staticRenderFns=t,l._compiled=!0),r&&(l.functional=!0),o&&(l._scopeId="data-v-"+o),i?(d=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),a&&a.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},l._ssrRegister=d):a&&(d=s?function(){a.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:a),d)if(l.functional){l._injectStyles=d;var h=l.render;l.render=function(e,n){return d.call(n),h(e,n)}}else{var c=l.beforeCreate;l.beforeCreate=c?[].concat(c,d):[d]}return{exports:e,options:l}}t.d(n,{Z:function(){return r}})},899:function(e){"use strict";e.exports='\n \n \n \n \n \n \n \n \n'},921:function(e){"use strict";e.exports="data:image/jpeg;base64,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"},985:function(e){"use strict";e.exports='\n \n \n \n \n'},210:function(e){"use strict";e.exports='\n \n'},663:function(e){"use strict";e.exports=coreApis.ajax},23:function(e){"use strict";e.exports=coreApis.componentApis.feeds.api},647:function(e){"use strict";e.exports=coreApis.horizontalScroll},269:function(e){"use strict";e.exports=coreApis.pluginApis.data},407:function(e){"use strict";e.exports=coreApis.settings},643:function(e){"use strict";e.exports=coreApis.ui},117:function(e){"use strict";e.exports=coreApis.utils.formatters},109:function(e){"use strict";e.exports=coreApis.utils}},r={};function a(e){var n=r[e];if(void 0!==n)return n.exports;var o=r[e]={id:e,exports:{}};return t[e](o,o.exports,a),o.exports}a.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(n,{a:n}),n},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},a.t=function(t,r){if(1&r&&(t=this(t)),8&r)return t;if("object"==typeof t&&t){if(4&r&&t.__esModule)return t;if(16&r&&"function"==typeof t.then)return t}var o=Object.create(null);a.r(o);var i={};e=e||[null,n({}),n([]),n(n)];for(var s=2&r&&t;"object"==typeof s&&!~e.indexOf(s);s=n(s))Object.getOwnPropertyNames(s).forEach((function(e){i[e]=function(){return t[e]}}));return i.default=function(){return t},a.d(o,i),o},a.d=function(e,n){for(var t in n)a.o(n,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},a.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return function(){"use strict";a.d(o,{component:function(){return r}});var e=coreApis.lifeCycle,n=a(407),t=a(109);const r={name:"freshHome",displayName:"清爽首页",description:"\n使用重新设计的清爽风格首页替换原本的首页.\n\n- 个性化推荐: 启用时展示推荐视频, 禁用时展示热门视频\n- 启用横向滚动: 在可以横向滚动的列表中, 使鼠标滚轮可以做出横向滚动的效果, 请注意这会禁用卡片的边缘吸附效果.\n\n".trim(),urlInclude:[/^https:\/\/www\.bilibili\.com\/$/,/^https:\/\/www\.bilibili\.com\/index\.html$/],tags:[componentsTags.style],entry:()=>{(0,n.addComponentListener)("freshHome.maxWidth",(e=>{document.documentElement.style.setProperty("--home-max-width-override",`${e}px`)}),!0),(0,e.contentLoaded)((async()=>{const e=await Promise.resolve().then(a.bind(a,490)),n=(0,t.mountVueComponent)(e);document.body.appendChild(n.$el)}))},options:{layoutOptions:{displayName:"版块设置",defaultValue:{trending:{linebreak:!0},areas:{linebreak:!0}},hidden:!0},personalized:{displayName:"个性化推荐",defaultValue:!1},horizontalWheelScroll:{displayName:"启用横向滚动",defaultValue:!1},maxWidth:{displayName:"最大宽度 (px)",defaultValue:1440,validator:(0,t.getNumberValidator)(1e3,3e3)}},unload:()=>document.body.classList.add("home-redesign-off"),reload:()=>document.body.classList.remove("home-redesign-off"),instantStyles:[{name:"fresh-home-hide-original",style:()=>Promise.resolve().then(a.t.bind(a,63,23))}],commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),o=o.component}()})); \ No newline at end of file +r=Boolean(window&&document&&document.all&&!window.atob)),r},o=function(){var e={};return function(n){if(void 0===e[n]){var t=document.querySelector(n);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}e[n]=t}return e[n]}}(),i=[];function s(e){for(var n=-1,t=0;tPromise.resolve().then(t.bind(t,963)).then((e=>e.default))},{name:"trending",displayName:"热门视频",grow:!0,component:()=>Promise.resolve().then(t.bind(t,9)).then((e=>e.default))},{name:"feeds",displayName:"动态",grow:!0,component:()=>Promise.resolve().then(t.bind(t,604)).then((e=>e.default))},{name:"areas",displayName:"栏目",component:()=>Promise.resolve().then(t.bind(t,414)).then((e=>e.default))},{name:"categories",displayName:"分区",grow:!0,component:()=>Promise.resolve().then(t.bind(t,773)).then((e=>e.default))}],[V]=(0,w.registerAndGetData)("homeRedesign.fresh.layouts",[...A]);var C=Vue.extend({components:{HomeRedesignBase:f,FreshLayoutItem:y},data:()=>({layouts:V})}),I=t(30),q=t.n(I),T={insert:"head",singleton:!1},E=(s()(q(),T),q().locals,(0,c.Z)(C,r,[],!1,null,null,null));E.options.__file="registry/lib/components/style/home-redesign/fresh/FreshHome.vue";var Q=E.exports},403:function(e,n,t){"use strict";t.d(n,{Z:function(){return h}});var r=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-sub-header"},[t("div",{staticClass:"fresh-home-sub-header-dot"}),e._v(" "),e._t("default")],2)};r._withStripped=!0;var a=t(379),o=t.n(a),i=t(879),s=t.n(i),d={insert:"head",singleton:!1},l=(o()(s(),d),s().locals,(0,t(900).Z)({},r,[],!1,null,null,null));l.options.__file="registry/lib/components/style/home-redesign/fresh/SubHeader.vue";var h=l.exports},880:function(e,n,t){"use strict";t.d(n,{Z:function(){return C}});var r=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-video-list scroll-top scroll-bottom",class:{"not-empty":e.videos.length>0}},[t("div",{ref:"content",staticClass:"fresh-home-video-list-content"},[0===e.videos.length?t("div",{staticClass:"fresh-home-video-list-empty"},[e.loading?t("VLoading"):t("VEmpty")],1):e._l(e.videos,(function(e){return t("VideoCardWrapper",{key:e.id,ref:"cards",refInFor:!0,attrs:{data:e}})}))],2)])};r._withStripped=!0;var a=t(643),o=t(647),i=t(407),s=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-video-card-wrapper"},[t("VideoCard",e._b({attrs:{orientation:"vertical"}},"VideoCard",e.$attrs,!1))],1)};s._withStripped=!0;var d=coreApis.componentApis.feeds.VideoCard,l=t.n(d),h=Vue.extend({components:{VideoCard:l()}}),c=t(379),m=t.n(c),f=t(492),p=t.n(f),b={insert:"head",singleton:!1},u=(m()(p(),b),p().locals,t(900)),g=(0,u.Z)(h,s,[],!1,null,null,null);g.options.__file="registry/lib/components/style/home-redesign/fresh/VideoCardWrapper.vue";var v=g.exports,k=t(912),x=Vue.extend({components:{VEmpty:a.VEmpty,VLoading:a.VLoading,VideoCardWrapper:v},props:{videos:{type:Array,default:()=>[]},loading:{type:Boolean,default:!0}},watch:{videos(){this.setupIntersection()},loaded(){this.loaded&&this.setupIntersection()}},beforeDestroy(){(0,k.b)(this.$el)},mounted(){const e=this.$refs.content;let n;(0,i.addComponentListener)("freshHome.horizontalWheelScroll",(t=>{t?n=(0,o.enableHorizontalScroll)(e):n?.()}),!0)},methods:{async setupIntersection(){await this.$nextTick(),(0,k.a)({container:this.$el,items:this.$refs.cards.map((e=>e.$el))})},offsetPage(e){const n=this.$refs.content,t=getComputedStyle(n),r=n.clientWidth,a=parseFloat(t.getPropertyValue("--card-width"))+parseFloat(t.getPropertyValue("--card-padding")),o=Math.trunc(r/a)*a;n.scrollBy(e*o,0)}}}),y=t(785),w=t.n(y),A={insert:"head",singleton:!1},V=(m()(w(),A),w().locals,(0,u.Z)(x,r,[],!1,null,null,null));V.options.__file="registry/lib/components/style/home-redesign/fresh/VideoList.vue";var C=V.exports},414:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return v}});var r=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-areas"},[e._m(0),e._v(" "),t("div",{staticClass:"fresh-home-areas-content"},[t("a",{staticClass:"fresh-home-areas-content-primary",attrs:{href:e.primary.url,target:"_blank"}},[t("div",{staticClass:"fresh-home-areas-content-primary-image"}),e._v(" "),t("div",{staticClass:"fresh-home-areas-content-primary-title"},[e._v("\n "+e._s(e.primary.title)+"\n ")])]),e._v(" "),t("div",{staticClass:"fresh-home-areas-content-other"},e._l(e.others,(function(n){return t("a",{key:n.title,attrs:{href:n.url,target:"_blank"}},[t("VButton",{attrs:{type:"transparent"}},[t("VIcon",{attrs:{colored:"",icon:n.icon,size:22}}),e._v("\n "+e._s(n.title)+"\n ")],1)],1)})),0)])])};r._withStripped=!0;var a=t(269),o=t(643),i=t(985),s=t(210),d=t(899);(0,a.addData)("ui.icons",(e=>{e["live-colored"]=i,e["topic-colored"]=s,e["black-room-colored"]=d}));const l={title:"专栏",url:"https://www.bilibili.com/read/home"},h=[{title:"直播",url:"https://live.bilibili.com/",icon:"live-colored"},{title:"专题",url:"https://www.bilibili.com/blackboard/topic_list.html",icon:"topic-colored"},{title:"小黑屋",url:"https://www.bilibili.com/blackroom/",icon:"black-room-colored"}];var c=Vue.extend({components:{VButton:o.VButton,VIcon:o.VIcon},data:()=>({primary:l,others:h})}),m=t(379),f=t.n(m),p=t(590),b=t.n(p),u={insert:"head",singleton:!1},g=(f()(b(),u),b().locals,(0,t(900).Z)(c,r,[function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-header"},[t("div",{staticClass:"fresh-home-header-title"},[e._v("\n 栏目\n ")])])}],!1,null,null,null));g.options.__file="registry/lib/components/style/home-redesign/fresh/layouts/areas/Areas.vue";var v=g.exports},963:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return f}});var r=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-blackboard",on:{mouseenter:e.destroyTimer,mouseleave:e.createTimer}},[t("div",{staticClass:"fresh-home-header"},[t("div",{staticClass:"fresh-home-header-title"},[e._v("\n 活动\n ")]),e._v(" "),t("a",{staticClass:"fresh-home-header-icon-button rotate",attrs:{href:"https://www.bilibili.com/blackboard/x/act_list/",target:"_blank"}},[t("VButton",{attrs:{round:""}},[t("VIcon",{attrs:{icon:"mdi-dots-horizontal",size:20}}),e._v("\n 更多\n ")],1)],1)]),e._v(" "),e._l(e.blackboards,(function(e,n){return t("input",{key:n,staticClass:"fresh-home-blackboard-radio",attrs:{id:"blackboard"+n,type:"radio",name:"blackboard","data-index":n},domProps:{checked:0===n}})})),e._v(" "),t("div",{staticClass:"fresh-home-blackboard-cards"},e._l(e.blackboards,(function(n,r){return t("a",{key:r,staticClass:"fresh-home-blackboard-card",attrs:{target:"_blank",href:n.url,title:n.title}},[t("DpiImage",{staticClass:"fresh-home-blackboard-card-image",attrs:{src:n.imageUrl,alt:n.title,size:{width:500,height:250},intersection:{root:e.cardsContainer}}}),e._v(" "),t("div",{staticClass:"fresh-home-blackboard-card-title",attrs:{title:n.title}},[e._v("\n "+e._s(n.title)+"\n ")])],1)})),0),e._v(" "),t("div",{staticClass:"fresh-home-blackboard-jump-dots"},e._l(e.blackboards,(function(e,n){return t("label",{key:n,attrs:{for:"blackboard"+n}},[t("div",{staticClass:"fresh-home-blackboard-jump-dot"})])})),0)],2)};r._withStripped=!0;var a=t(643),o=t(663);var i=Vue.extend({components:{VButton:a.VButton,VIcon:a.VIcon,DpiImage:a.DpiImage},data:()=>({blackboards:[],timer:0}),computed:{cardsContainer(){return this.$el.querySelector(".fresh-home-blackboard-cards")}},async created(){const e=await(async()=>{const e=4694,{code:n,message:t,data:r}=await(0,o.getJson)("https://api.bilibili.com/x/web-show/res/locs?pf=0&ids=4694");if(0!==n)throw new Error(`获取活动卡片失败: ${t}`);return r[4694].map((n=>({url:n.url,title:n.name,isAd:n.res_id!==e,imageUrl:n.pic})))})();this.blackboards=e.filter((e=>!e.isAd))},mounted(){this.createTimer()},beforeDestroy(){this.destroyTimer()},methods:{createTimer(){if(this.timer)return;const e="fresh-home-blackboard-radio";this.timer=window.setInterval((()=>{if(!document.hasFocus()||this.$el.matches(":hover"))return;const n=parseInt(dq(`.${e}:checked`).getAttribute("data-index"));let t;t=n===this.blackboards.length-1?0:n+1,dq(`.${e}[data-index='${t}']`).checked=!0}),5e3)},destroyTimer(){this.timer&&(window.clearInterval(this.timer),this.timer=0)}}}),s=t(379),d=t.n(s),l=t(359),h=t.n(l),c={insert:"head",singleton:!1},m=(d()(h(),c),h().locals,(0,t(900).Z)(i,r,[],!1,null,null,null));m.options.__file="registry/lib/components/style/home-redesign/fresh/layouts/blackboard/Blackboard.vue";var f=m.exports},773:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return w}});var r=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-categories"},[t("div",{staticClass:"fresh-home-header"},[t("div",{staticClass:"fresh-home-header-title"},[e._v("\n 分区\n ")]),e._v(" "),t("div",{staticClass:"fresh-home-header-center-area"},[t("div",{staticClass:"fresh-home-header-tabs"},[t("div",{ref:"tabs",staticClass:"default-tabs"},e._l(e.tabs,(function(n){return t("div",{key:n.name,staticClass:"default-tab",class:{selected:n===e.selectedTab},attrs:{"data-name":n.name},on:{click:function(t){return e.selectTab(n)}}},[t("div",{staticClass:"default-tab-name"},[e._v("\n "+e._s(n.displayName)+"\n ")])])})),0)])]),e._v(" "),t("div",{staticClass:"fresh-home-header-pagination"},[e.isReordering?t("VButton",{attrs:{icon:"",title:"完成排序"},on:{click:e.toggleReorder}},[t("VIcon",{attrs:{icon:"mdi-check",size:18}})],1):t("VButton",{attrs:{icon:"",title:"排序"},on:{click:e.toggleReorder}},[t("VIcon",{attrs:{icon:"mdi-swap-horizontal",size:18}})],1)],1)]),e._v(" "),t("div",{staticClass:"fresh-home-categories-content"},[t(e.content,{tag:"component",attrs:{region:e.selectedTab}})],1)])};r._withStripped=!0;var a=coreApis.reorder,o=coreApis.utils.sort,i=t(643),s=t(142),d=coreApis.componentApis.utils.categories.data,l=JSON.parse('["推广","正在直播","动画","番剧","番剧动态","国创","国产原创相关","漫画","音乐","舞蹈","游戏","知识","课堂","科技","运动","汽车","生活","美食","动物圈","鬼畜","时尚","资讯","娱乐","专栏","电影","电视剧","影视","纪录片","特别推荐"]');const h=["推广","正在直播","番剧动态","国产原创相关","漫画","课堂","专栏","特别推荐"],c=Object.fromEntries(Object.entries(d.categories).filter((([e])=>!h.includes(e)&&!!l.includes(e)))),m=["番剧","国创"],f=e=>(console.log("getContent",e),m.includes(e)?()=>Promise.resolve().then(t.bind(t,927)).then((e=>e.default)):()=>Promise.resolve().then(t.bind(t,984)).then((e=>e.default))),p=Object.entries(c).map((([e,n])=>({id:n.code,name:e,displayName:e,category:n,href:n.link,order:0})));var b=Vue.extend({components:{VButton:i.VButton,VIcon:i.VIcon},data(){const e=s.O.categoriesOrder??{},n=[...p].sort((0,o.ascendingSort)((n=>e[n.name])));return{tabs:n,isReordering:!1,reorder:null,selectedTab:n[0],content:f(n[0].name)}},mounted(){const e=this.$refs.tabs,n=new a.Reorder(e);n.addEventListener("reorder",(({detail:e})=>{const n=Object.fromEntries(e.map((e=>[e.element.getAttribute("data-name"),e.order])));console.log(e,n),s.O.categoriesOrder=n})),this.reorder=n},methods:{toggleReorder(){this.reorder.toggle(),this.isReordering=this.reorder.enabled},selectTab(e){this.isReordering||(this.selectedTab!==e?(this.selectedTab=e,this.content=f(e.name)):window.open(e.href,"_blank"))}}}),u=t(379),g=t.n(u),v=t(871),k=t.n(v),x={insert:"head",singleton:!1},y=(g()(k(),x),k().locals,(0,t(900).Z)(b,r,[],!1,null,null,null));y.options.__file="registry/lib/components/style/home-redesign/fresh/layouts/categories/Categories.vue";var w=y.exports},927:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return B}});var r=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-categories-bangumi"},[t("div",{staticClass:"fresh-home-categories-bangumi-timeline"},[t("div",{staticClass:"fresh-home-categories-bangumi-timeline-header"},[t("SubHeader",[e._v("\n 时间表\n ")])],1),e._v(" "),t("BangumiTimeline",{attrs:{api:e.timelineApi}})],1),e._v(" "),t("div",{staticClass:"fresh-home-categories-bangumi-rank-list"},[t("a",{staticClass:"fresh-home-categories-bangumi-rank-list-header",attrs:{href:e.rankingsLink,target:"_blank"}},[t("SubHeader",[e._v("\n 排行榜\n ")])],1),e._v(" "),t("RankList",{attrs:{"bangumi-mode":"","parse-json":e.parseJson,api:e.rankingsApi}})],1)])};r._withStripped=!0;var a=t(23),o=t(403),i=t(815),s=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-categories-bangumi-timeline-content",class:{loading:e.loading,loaded:e.loaded,scrolled:e.scrolled,empty:0===e.items.length}},[e.loading?t("VLoading"):e._e(),e._v(" "),e.loaded&&0===e.items.length?t("VEmpty"):e._e(),e._v(" "),e._l(e.items,(function(n,r){var a;return t("div",{key:n.date_ts,staticClass:"fresh-home-categories-bangumi-timeline-item animation",class:{today:r===e.todayIndex}},[t("div",{staticClass:"fresh-home-categories-bangumi-timeline-date"},[t("div",{staticClass:"fresh-home-categories-bangumi-timeline-date-icon",class:(a={today:r===e.todayIndex},a["day-of-week-"+n.day_of_week]=!0,a)}),e._v(" "),t("div",{staticClass:"fresh-home-categories-bangumi-timeline-date-number"},[e._v("\n "+e._s(n.date)+"\n ")]),e._v(" "),t("div",{staticClass:"fresh-home-categories-bangumi-timeline-date-text"},[e._v("\n "+e._s(e.dayOfWeekText(n))+"\n ")]),e._v(" "),r===e.todayIndex?t("div",{staticClass:"fresh-home-categories-bangumi-timeline-date-today"},[e._v("\n TODAY\n ")]):e._e()]),e._v(" "),t("div",{ref:"seasonsList",refInFor:!0,staticClass:"fresh-home-categories-bangumi-timeline-seasons-container scroll-top scroll-bottom",class:{"not-empty":n.seasons.length>0}},[t("div",{staticClass:"fresh-home-categories-bangumi-timeline-seasons",class:{today:r===e.todayIndex}},[0===n.seasons.length?t("VEmpty"):e._e(),e._v(" "),e._l(n.seasons,(function(n){return t("a",{key:n.season_id,staticClass:"fresh-home-categories-bangumi-timeline-season",class:{today:r===e.todayIndex},attrs:{"data-season":n.season_id,target:"_blank",href:n.url}},[t("div",{staticClass:"fresh-home-categories-bangumi-timeline-season-cover",class:{published:r===e.todayIndex&&e.publishedToday(n),today:r===e.todayIndex,follow:n.follow}},[t("DpiImage",{attrs:{src:n.square_cover,size:80}})],1),e._v(" "),t("div",{staticClass:"fresh-home-categories-bangumi-timeline-season-title",class:{today:r===e.todayIndex},attrs:{title:n.title}},[e._v("\n "+e._s(n.title)+"\n ")]),e._v(" "),t("div",{staticClass:"fresh-home-categories-bangumi-timeline-season-episode",attrs:{title:e.getEpisode(n)}},[e._v("\n "+e._s(e.getEpisode(n))+"\n ")]),e._v(" "),t("div",{staticClass:"fresh-home-categories-bangumi-timeline-season-time",class:{published:r===e.todayIndex&&e.publishedToday(n),follow:n.follow}},[t("div",{staticClass:"fresh-home-categories-bangumi-timeline-season-time-icon"},[t("VIcon",{attrs:{icon:n.follow?"mdi-heart-outline":"mdi-progress-clock",size:14}})],1),e._v(" "),t("div",{staticClass:"fresh-home-categories-bangumi-timeline-season-time-text"},[e._v("\n "+e._s(n.pub_time)+"\n ")])])])}))],2)])])}))],2)};s._withStripped=!0;var d=t(643),l=t(407),h=t(647),c=t(338),m=t(652),f=t(912);const p=m.b.panelHeight-2*m.b.padding,b=(()=>{const e=(p-492)/6;return{seasonItemWidth:250,seasonTodayWidth:250,timelineItemHeight:66,timelineTodayHeight:96,timelineViewportItemsHeight:492,timelineItemGap:e,timelineViewportHeight:6*e+492}})();var u=Vue.extend({components:{DpiImage:d.DpiImage,VIcon:d.VIcon,VEmpty:d.VEmpty,VLoading:d.VLoading},mixins:[c.O,(0,c.k)(b)],data:()=>({observers:[],now:Number(new Date),timer:0,scrolled:!1}),computed:{todayIndex(){return this.items.findIndex((e=>1===e.is_today))},pastWeekItems(){return this.items.slice(0,this.todayIndex+1)},currentWeekItems(){return this.items.slice(this.todayIndex)}},watch:{loaded(){this.loaded&&this.updateScrollPosition()}},mounted(){this.timer=setInterval((()=>{this.now=Number(new Date)}),6e4);const e=this.$el;let n=0;const t=()=>{n++,n>=7&&(e.classList.add("snap"),e.removeEventListener("animationend",t))};e.addEventListener("animationend",t)},beforeDestroy(){this.timer&&clearInterval(this.timer);const e=this.$refs.seasonsList;(0,f.b)(...e)},methods:{parseJson:e=>e.result??[],async updateScrollPosition(){await this.$nextTick();const e=this.$refs.seasonsList;let n;(0,l.addComponentListener)("freshHome.horizontalWheelScroll",(t=>{if(t){const t=e.flatMap((e=>[...e.children])).map((e=>(0,h.enableHorizontalScroll)(e)));n=()=>t.forEach((e=>e()))}else n?.()}),!0);this.$el.scrollTop=5*b.timelineItemHeight+5*b.timelineItemGap;const t=".fresh-home-categories-bangumi-timeline";e.forEach((e=>{(0,f.a)({container:e,items:dqa(e,`${t}-season`)})}));const r=dq(`${t}-seasons.today`);if(!r)return;const a=this.items[this.todayIndex]?.seasons;if(0===a.length)return;const o=[...a].reverse().find((e=>this.publishedToday(e)));if(!o)return void(this.scrolled=!0);const i=dq(r,`[data-season="${o.season_id}"]`);i&&(r.scrollLeft=i.offsetLeft,this.scrolled=!0)},getEpisode:e=>e.delay?`${e.delay_reason}: ${e.delay_index}`:e.pub_index,publishedToday(e){return!e.delay&&1e3*e.pub_ts<=this.now},dayOfWeekText:e=>`周${["日","一","二","三","四","五","六","日"][e.day_of_week]}`}}),g=t(379),v=t.n(g),k=t(542),x=t.n(k),y={insert:"head",singleton:!1},w=(v()(x(),y),x().locals,t(900)),A=(0,w.Z)(u,s,[],!1,null,null,null);A.options.__file="registry/lib/components/style/home-redesign/fresh/layouts/categories/content/BangumiTimeline.vue";var V=A.exports;const C={anime:{timeline:"global",seasonType:1,rankingName:"bangumi"},guochuang:{timeline:"cn",seasonType:4,rankingName:"guochan"}};var I=Vue.extend({components:{SubHeader:o.Z,BangumiTimeline:V,RankList:i.Z},props:{region:{type:Object,required:!0}},data(){const{route:e}=this.region.category,{rankingName:n,seasonType:t,timeline:r}=C[e];return{bangumiDataMap:C,route:e,timelineApi:`https://bangumi.bilibili.com/web_api/timeline_${r}`,rankingsApi:`https://api.bilibili.com/pgc/season/rank/web/list?day=3&season_type=${t}`,rankingsLink:`https://www.bilibili.com/v/popular/rank/${n}`}},methods:{parseJson(e){const n=(e.data?.list??[]).map((e=>{const n=e.new_ep?.index_show??e.title;return{id:e.season_id,title:e.title,playCount:e.stat.view,points:e.stat.follow,upHref:e.url,upName:n,dynamic:n,coverUrl:e.new_ep?.cover??e.ss_horizontal_cover,videoHref:e.url}})).slice(0,10);return(0,a.applyContentFilter)(n)}}}),q=t(531),T=t.n(q),E={insert:"head",singleton:!1},Q=(v()(T(),E),T().locals,(0,w.Z)(I,r,[],!1,null,null,null));Q.options.__file="registry/lib/components/style/home-redesign/fresh/layouts/categories/content/Bangumi.vue";var B=Q.exports},984:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return I}});var r=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-categories-default"},[t("div",{staticClass:"fresh-home-categories-default-video-column"},[t("div",{staticClass:"fresh-home-categories-default-video-column-item"},[t("SubHeader",[e._v("\n 有新动态\n ")]),e._v(" "),t("VideoSlides",{attrs:{api:e.activeVideosApi}})],1),e._v(" "),t("div",{staticClass:"fresh-home-categories-default-video-column-item"},[t("SubHeader",[e._v("\n 最新发布\n ")]),e._v(" "),t("VideoSlides",{attrs:{api:e.newVideosApi}})],1)]),e._v(" "),t("div",{staticClass:"fresh-home-categories-default-rank-list"},[t("a",{attrs:{href:e.rankingsLink,target:"_blank"}},[t("SubHeader",[e._v("\n 排行榜\n ")])],1),e._v(" "),t("RankList",{attrs:{"parse-json":e.parseJson,api:e.rankingsApi}})],1)])};r._withStripped=!0;var a=t(23),o=t(815),i=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-video-slides"},[e.loaded?t("div",{staticClass:"fresh-home-video-slides-covers"},e._l(e.items,(function(n,r){return t("a",{key:n.id,staticClass:"fresh-home-video-slides-cover",attrs:{title:n.title,href:1!==r?"javascript:void(0)":e.url(n.bvid),target:"_blank"},on:{"!click":function(n){1!==r&&e.jumpToCard(n,r)}}},[t("DpiImage",{attrs:{src:n.coverUrl,size:{width:e.ui.mainCoverWidth,height:e.ui.mainCoverHeight}}})],1)})),0):e._e(),e._v(" "),t("div",{staticClass:"cover-placeholder-vertical"}),e._v(" "),e.loaded?e._e():t("div",{staticClass:"fresh-home-video-slides-empty"},[t("div",{staticClass:"empty-placeholder fresh-home-video-slides-main-title",domProps:{textContent:e._s(" ")}}),e._v(" "),t("div",{staticClass:"empty-indicator"},[e.loading?t("VLoading"):e._e(),e._v(" "),e.error?t("div",{staticClass:"empty-indicator-error"},[t("VEmpty"),e._v(" "),t("VButton",{staticClass:"fresh-home-video-slides-refresh-button",attrs:{round:""},on:{click:e.reload}},[t("VIcon",{attrs:{icon:"mdi-refresh"}}),e._v("\n 刷新\n ")],1)],1):e._e()],1)]),e._v(" "),e.currentItem&&e.loaded?t("div",{staticClass:"fresh-home-video-slides-row"},[t("div",{staticClass:"fresh-home-video-slides-main-info"},[t("div",{staticClass:"fresh-home-video-slides-row"},[t("div",{staticClass:"cover-placeholder-horizontal"}),e._v(" "),t("div",{staticClass:"fresh-home-video-slides-main-actions"},[t("a",{staticClass:"fresh-home-video-slides-play-button",attrs:{href:e.currentUrl,target:"_blank"}},[t("VButton",{attrs:{type:"primary",round:""}},[t("VIcon",{attrs:{icon:"mdi-play"}}),e._v("\n 播放\n ")],1)],1),e._v(" "),e.watchlaterAdded?t("VButton",{staticClass:"fresh-home-video-slides-watchlater-button",attrs:{icon:"",title:"取消稍后再看"},on:{click:function(n){return e.toggleWatchlater(e.currentItem.aid)}}},[t("VIcon",{attrs:{icon:"mdi-clock-check-outline",size:20}})],1):t("VButton",{staticClass:"fresh-home-video-slides-watchlater-button",attrs:{icon:"",title:"稍后再看"},on:{click:function(n){return e.toggleWatchlater(e.currentItem.aid)}}},[t("VIcon",{attrs:{icon:"mdi-clock-outline",size:20}})],1),e._v(" "),t("a",{staticClass:"fresh-home-video-slides-up-container",attrs:{href:"https://space.bilibili.com/"+e.currentItem.upID,title:e.currentItem.upName,target:"_blank"}},[t("DpiImage",{attrs:{size:24,src:e.currentItem.upFaceUrl}}),e._v(" "),t("div",{staticClass:"fresh-home-video-slides-up-name"},[e._v("\n "+e._s(e.currentItem.upName)+"\n ")])],1)],1)]),e._v(" "),t("a",{staticClass:"fresh-home-video-slides-main-title",attrs:{title:e.currentItem.title,href:e.currentUrl,target:"_blank"}},[e._v("\n "+e._s(e.currentItem.title)+"\n ")])]),e._v(" "),t("div",{staticClass:"fresh-home-video-slides-main-description"},[t("div",{staticClass:"description-text",domProps:{textContent:e._s(e.currentItem.description)}})]),e._v(" "),t("div",{staticClass:"fresh-home-video-slides-actions"},[t("VButton",{staticClass:"fresh-home-video-slides-refresh-button",attrs:{title:"刷新",icon:""},on:{click:e.reload}},[t("VIcon",{attrs:{icon:"mdi-refresh"}})],1),e._v(" "),t("VButton",{staticClass:"fresh-home-video-slides-previous-button",attrs:{title:"上一个",icon:""},on:{click:e.previousCard}},[t("VIcon",{attrs:{icon:"mdi-arrow-left"}})],1),e._v(" "),t("VButton",{staticClass:"fresh-home-video-slides-next-button",attrs:{title:"下一个",icon:""},on:{click:e.nextCard}},[t("VIcon",{attrs:{icon:"mdi-arrow-right",size:36}})],1)],1)]):e._e()])};i._withStripped=!0;var s=coreApis.componentApis.video.watchlater,d=t(117),l=t(643),h=t(338),c=Vue.extend({components:{VButton:l.VButton,VIcon:l.VIcon,DpiImage:l.DpiImage,VLoading:l.VLoading,VEmpty:l.VEmpty},mixins:[h.O,(0,h.k)({mainCoverHeight:185,mainCoverWidth:287,otherCoverHeight:100,otherCoverWidth:154,mainPaddingX:18,mainPaddingY:20,coverPadding:16})],data:()=>({watchlaterList:s.watchlaterList,itemLimit:10}),computed:{currentItem(){return this.items[1]},currentUrl(){return this.url(this.currentItem.bvid)},watchlaterAdded(){return this.watchlaterList.includes(this.currentItem.aid)}},created(){(0,s.getWatchlaterList)()},methods:{parseJson(e){const n=lodash.get(e,"data.archives",[]).map((e=>({id:e.aid,aid:e.aid,bvid:e.bvid,coverUrl:e.pic,title:e.title,upName:e.owner.name,upFaceUrl:e.owner.face,upID:e.owner.mid,playCount:e.stat.view,danmakuCount:e.stat.danmaku,like:e.stat.like,coins:e.stat.coin,description:e.desc,dynamic:"-"===e.desc?"":e.desc,type:e.tname,duration:e.duration,durationText:(0,d.formatDuration)(e.duration)})));return(0,a.applyContentFilter)(n)},url:e=>`https://www.bilibili.com/video/${e}`,toggleWatchlater:s.toggleWatchlater,nextCard(){this.items.push(this.items.shift())},previousCard(){this.items.unshift(this.items.pop())},jumpToCard(e,n){if(n<=1||n>=this.items.length)return;let t=n-1;const r=()=>{this.nextCard(),t--,t>0&&setTimeout(r)};r(),e.preventDefault()}}}),m=t(379),f=t.n(m),p=t(530),b=t.n(p),u={insert:"head",singleton:!1},g=(f()(b(),u),b().locals,t(900)),v=(0,g.Z)(c,i,[],!1,null,null,null);v.options.__file="registry/lib/components/style/home-redesign/fresh/layouts/categories/content/VideoSlides.vue";var k=v.exports,x=t(403),y=Vue.extend({components:{RankList:o.Z,VideoSlides:k,SubHeader:x.Z},props:{region:{type:Object,required:!0}},data(){const e=this.region.id;return console.log(this.region.category),{activeVideosApi:`https://api.bilibili.com/x/web-interface/dynamic/region?ps=10&rid=${e}`,newVideosApi:`https://api.bilibili.com/x/web-interface/newlist?ps=10&rid=${e}`,rankingsApi:`https://api.bilibili.com/x/web-interface/ranking/region?rid=${e}&day=3&original=0`,rankingsLink:`https://www.bilibili.com/v/popular/rank/${this.region.category.route}`}},methods:{parseJson(e){const n=(lodash.get(e,"data",[])||[]).map((e=>({id:e.aid,title:e.title,playCount:e.play,points:e.pts,upHref:`https://space.bilibili.com/${e.mid}`,upName:e.author,dynamic:e.description,coverUrl:e.pic,videoHref:`https://www.bilibili.com/video/${e.bvid}`}))).slice(0,10);return(0,a.applyContentFilter)(n)}}}),w=t(41),A=t.n(w),V={insert:"head",singleton:!1},C=(f()(A(),V),A().locals,(0,g.Z)(y,r,[],!1,null,null,null));C.options.__file="registry/lib/components/style/home-redesign/fresh/layouts/categories/content/Default.vue";var I=C.exports},815:function(e,n,t){"use strict";t.d(n,{Z:function(){return g}});var r=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-rank-list",class:{loading:e.loading,loaded:e.loaded}},[e.loaded?e._e():t("div",{staticClass:"fresh-home-rank-list-loading-container"},[e.loading?t("VLoading"):e._e(),e._v(" "),!e.error&&0!==e.items.length||e.loading?e._e():t("div",{staticClass:"fresh-home-rank-list-empty"},[t("VEmpty"),e._v(" "),t("VButton",{staticClass:"fresh-home-rank-list-refresh-button",attrs:{round:""},on:{click:e.reload}},[t("VIcon",{attrs:{icon:"mdi-refresh"}}),e._v("\n 刷新\n ")],1)],1)],1),e._v(" "),e.loaded?[e.firstItem?t("div",{staticClass:"fresh-home-rank-list-first-item animation"},[t("div",{staticClass:"fresh-home-rank-list-rank-item"}),e._v(" "),t("a",{staticClass:"fresh-home-rank-list-rank-item-title",attrs:{target:"_blank",href:e.firstItem.videoHref,title:e.firstItem.title}},[e._v("\n "+e._s(e.firstItem.title)+"\n ")]),e._v(" "),t("a",{staticClass:"fresh-home-rank-list-cover",attrs:{target:"_blank",href:e.firstItem.videoHref}},[t("DpiImage",{attrs:{src:e.firstItem.coverUrl,size:{width:e.ui.firstCoverWidth,height:e.ui.firstCoverHeight}}}),e._v(" "),t("UpInfo",{attrs:{"up-face-url":e.firstItem.upFaceUrl,href:e.firstItem.upHref,"up-name":e.firstItem.upName},scopedSlots:e._u([{key:"fallback-icon",fn:function(){return[t("VIcon",e._b({},"VIcon",e.upInfoProps,!1))]},proxy:!0}],null,!1,4101577376)}),e._v(" "),t("div",{staticClass:"fresh-home-rank-list-stats"},[t("VIcon",{attrs:{icon:"mdi-fire",size:16}}),e._v("\n "+e._s(e._f("formatCount")(e.firstItem.points))+"\n ")],1)],1),e._v(" "),t("div",{staticClass:"fresh-home-rank-list-laser",attrs:{"data-number":"1"}})]):e._e(),e._v(" "),e.secondItem?t("div",{staticClass:"fresh-home-rank-list-second-item animation"},[t("a",{staticClass:"fresh-home-rank-list-rank-item",attrs:{target:"_blank",href:e.secondItem.videoHref}},[t("div",{staticClass:"fresh-home-rank-list-rank-item-title",attrs:{title:e.secondItem.title}},[e._v("\n "+e._s(e.secondItem.title)+"\n ")]),e._v(" "),t("UpInfo",{attrs:{"up-face-url":e.secondItem.upFaceUrl,href:e.secondItem.upHref,"up-name":e.secondItem.upName},scopedSlots:e._u([{key:"fallback-icon",fn:function(){return[t("VIcon",e._b({},"VIcon",e.upInfoProps,!1))]},proxy:!0}],null,!1,4101577376)}),e._v(" "),t("div",{staticClass:"fresh-home-rank-list-stats"},[t("VIcon",{attrs:{icon:"mdi-fire",size:16}}),e._v("\n "+e._s(e._f("formatCount")(e.secondItem.points))+"\n "),t("VIcon",{attrs:{icon:"play",size:16}}),e._v("\n "+e._s(e._f("formatCount")(e.secondItem.playCount))+"\n ")],1)],1),e._v(" "),t("a",{staticClass:"fresh-home-rank-list-cover",attrs:{target:"_blank",href:e.secondItem.videoHref}},[t("DpiImage",{attrs:{src:e.secondItem.coverUrl,size:{width:e.ui.secondCoverWidth,height:e.ui.secondCoverHeight}}})],1),e._v(" "),t("div",{staticClass:"fresh-home-rank-list-laser",attrs:{"data-number":"2"}})]):e._e(),e._v(" "),e.thirdItem?t("div",{staticClass:"fresh-home-rank-list-third-item animation"},[t("a",{staticClass:"fresh-home-rank-list-rank-item",attrs:{target:"_blank",href:e.thirdItem.videoHref}},[t("div",{staticClass:"fresh-home-rank-list-rank-item-title",attrs:{title:e.thirdItem.title}},[e._v("\n "+e._s(e.thirdItem.title)+"\n ")]),e._v(" "),t("UpInfo",{attrs:{"up-face-url":e.thirdItem.upFaceUrl,href:e.thirdItem.upHref,"up-name":e.thirdItem.upName},scopedSlots:e._u([{key:"fallback-icon",fn:function(){return[t("VIcon",e._b({},"VIcon",e.upInfoProps,!1))]},proxy:!0}],null,!1,4101577376)}),e._v(" "),t("div",{staticClass:"fresh-home-rank-list-stats"},[t("VIcon",{attrs:{icon:"mdi-fire",size:16}}),e._v("\n "+e._s(e._f("formatCount")(e.secondItem.points))+"\n "),t("VIcon",{attrs:{icon:"play",size:16}}),e._v("\n "+e._s(e._f("formatCount")(e.secondItem.playCount))+"\n ")],1)],1),e._v(" "),t("a",{staticClass:"fresh-home-rank-list-cover",attrs:{target:"_blank",href:e.thirdItem.videoHref}},[t("DpiImage",{attrs:{src:e.thirdItem.coverUrl,size:{width:e.ui.thirdCoverWidth,height:e.ui.thirdCoverHeight}}})],1),e._v(" "),t("div",{staticClass:"fresh-home-rank-list-laser",attrs:{"data-number":"3"}})]):e._e()]:e._e()],2)};r._withStripped=!0;var a=coreApis.componentApis.feeds.UpInfo,o=t.n(a),i=t(117),s=t(643),d=t(338),l=t(652),h=Vue.extend({components:{DpiImage:s.DpiImage,UpInfo:o(),VIcon:s.VIcon,VLoading:s.VLoading,VEmpty:s.VEmpty,VButton:s.VButton},filters:{formatCount:i.formatCount},mixins:[d.O,(0,d.k)(l.b)],props:{parseJson:{type:Function,required:!0},bangumiMode:{type:Boolean,default:!1}},computed:{firstItem(){return this.items[0]},secondItem(){return this.items[1]},thirdItem(){return this.items[2]},upInfoProps(){return{size:18,icon:this.bangumiMode?"mdi-television-classic":"up-outline",style:{transform:this.bangumiMode?"translateY(-1px)":"none"}}},firstRow(){return this.items.slice(3,6)},secondRow(){return this.items.slice(6,10)}}}),c=t(379),m=t.n(c),f=t(372),p=t.n(f),b={insert:"head",singleton:!1},u=(m()(p(),b),p().locals,(0,t(900).Z)(h,r,[],!1,null,null,null));u.options.__file="registry/lib/components/style/home-redesign/fresh/layouts/categories/content/RankList.vue";var g=u.exports},604:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return b}});var r=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-feeds"},[t("div",{staticClass:"fresh-home-header"},[t("div",{staticClass:"fresh-home-header-title"},[e._v("\n 动态\n ")]),e._v(" "),t("div",{staticClass:"fresh-home-header-center-area"},[t("div",{staticClass:"fresh-home-header-tabs"},[t("div",{staticClass:"default-tabs"},e._l(e.tabs,(function(n){return t("div",{key:n.name,staticClass:"default-tab",class:{selected:n===e.selectedTab},on:{click:function(t){return e.selectTab(n)}}},[t("div",{staticClass:"default-tab-name"},[e._v("\n "+e._s(n.displayName)+"\n ")])])})),0)])]),e._v(" "),t("div",{staticClass:"fresh-home-header-pagination"},[t("a",{attrs:{href:"https://www.bilibili.com/video/online.html",target:"_blank",title:"在线列表"}},[t("VButton",{attrs:{icon:""}},[t("VIcon",{attrs:{icon:"mdi-account-group-outline",size:19}})],1)],1),e._v(" "),t("VButton",{attrs:{icon:"",title:"刷新"},on:{click:e.reload}},[t("VIcon",{attrs:{icon:"mdi-refresh",size:18}})],1),e._v(" "),t("VButton",{attrs:{icon:"",title:"上一页"},on:{click:function(n){return e.$refs.videoList.offsetPage(-1)}}},[t("VIcon",{attrs:{icon:"left-arrow",size:20}})],1),e._v(" "),t("VButton",{attrs:{icon:"",title:"下一页"},on:{click:function(n){return e.$refs.videoList.offsetPage(1)}}},[t("VIcon",{attrs:{icon:"right-arrow",size:20}})],1),e._v(" "),t("a",{staticClass:"fresh-home-header-icon-button rotate",attrs:{href:"https://t.bilibili.com",target:"_blank"}},[t("VButton",{attrs:{round:""}},[t("VIcon",{attrs:{icon:"feeds",size:20}}),e._v("\n 全部动态\n ")],1)],1)],1)]),e._v(" "),t("div",{staticClass:"fresh-home-feeds-content"},[t("VideoList",{ref:"videoList",attrs:{videos:e.videos,loading:e.loading}})],1)])};r._withStripped=!0;var a=t(23),o=t(643),i=t(880);const s=[{name:"videoFeeds",displayName:"视频",api:a.getVideoFeeds.bind(void 0,"video"),href:"https://t.bilibili.com/?tab=8"},{name:"bangumiFeeds",displayName:"番剧",api:a.getVideoFeeds.bind(void 0,"bangumi"),href:"https://t.bilibili.com/?tab=512"}];var d=Vue.extend({components:{VButton:o.VButton,VIcon:o.VIcon,VideoList:i.Z},data:()=>({tabs:s,selectedTab:s[0],videos:[],loading:!0}),created(){this.reload()},methods:{selectTab(e){this.selectedTab!==e?(this.selectedTab=e,this.reload()):window.open(e.href,"_blank")},async reload(){this.loading=!0,this.videos=[],this.videos=await this.selectedTab.api().finally((()=>{this.loading=!1}))}}}),l=t(379),h=t.n(l),c=t(26),m=t.n(c),f={insert:"head",singleton:!1},p=(h()(m(),f),m().locals,(0,t(900).Z)(d,r,[],!1,null,null,null));p.options.__file="registry/lib/components/style/home-redesign/fresh/layouts/feeds/Feeds.vue";var b=p.exports},9:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return v}});var r=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"fresh-home-trending"},[t("div",{staticClass:"fresh-home-header"},[t("div",{staticClass:"fresh-home-header-title"},[e._v("\n "+e._s(e.title)+"\n ")]),e._v(" "),t("div",{staticClass:"fresh-home-header-pagination"},[t("VButton",{attrs:{icon:"",title:"刷新"},on:{click:e.reload}},[t("VIcon",{attrs:{icon:"mdi-refresh",size:18}})],1),e._v(" "),t("VButton",{attrs:{icon:"",title:"上一页"},on:{click:function(n){return e.$refs.videoList.offsetPage(-1)}}},[t("VIcon",{attrs:{icon:"left-arrow",size:20}})],1),e._v(" "),t("VButton",{attrs:{icon:"",title:"下一页"},on:{click:function(n){return e.$refs.videoList.offsetPage(1)}}},[t("VIcon",{attrs:{icon:"right-arrow",size:20}})],1)],1)]),e._v(" "),t("div",{staticClass:"fresh-home-trending-content"},[t("VideoList",{ref:"videoList",attrs:{videos:e.videos,loading:e.loading}})],1)])};r._withStripped=!0;var a=t(643),o=t(880),i=t(142),s=t(23),d=t(663),l=t(109),h=t(117);var c=Vue.extend({components:{VButton:a.VButton,VIcon:a.VIcon,VideoList:o.Z},data:()=>({videos:[],loading:!0}),computed:{title:()=>i.O.personalized?"推荐":"热门"},created(){this.reload()},methods:{async reload(){this.loading=!0,this.videos=[],this.videos=await(async()=>{const e=Boolean((0,l.getUID)())&&i.O.personalized,n=e?d.getJsonWithCredentials:d.getJson,{code:t,message:r,data:a}=await n("https://api.bilibili.com/x/web-interface/index/top/rcmd?fresh_type=0&version=1");if(0!==t)throw new Error(`获取${e?"推荐":"热门"}视频失败: ${r}`);const o=a.item.map((e=>({id:e.id,aid:e.id,bvid:e.bvid,coverUrl:e.pic.replace("http:","https:"),title:e.title,description:"",dynamic:"",duration:e.duration,durationText:(0,h.formatDuration)(e.duration),timestamp:1e3*e.pubdate,time:new Date(1e3*e.pubdate),upName:e.owner.name,upID:e.owner.mid,upFaceUrl:e.owner.face.replace("http:","https:"),like:(0,h.formatCount)(e.stat.like),playCount:(0,h.formatCount)(e.stat.view)})));return(0,s.applyContentFilter)(o)})().finally((()=>{this.loading=!1}))}}}),m=t(379),f=t.n(m),p=t(514),b=t.n(p),u={insert:"head",singleton:!1},g=(f()(b(),u),b().locals,(0,t(900).Z)(c,r,[],!1,null,null,null));g.options.__file="registry/lib/components/style/home-redesign/fresh/layouts/trending/Trending.vue";var v=g.exports},900:function(e,n,t){"use strict";function r(e,n,t,r,a,o,i,s){var d,l="function"==typeof e?e.options:e;if(n&&(l.render=n,l.staticRenderFns=t,l._compiled=!0),r&&(l.functional=!0),o&&(l._scopeId="data-v-"+o),i?(d=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),a&&a.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},l._ssrRegister=d):a&&(d=s?function(){a.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:a),d)if(l.functional){l._injectStyles=d;var h=l.render;l.render=function(e,n){return d.call(n),h(e,n)}}else{var c=l.beforeCreate;l.beforeCreate=c?[].concat(c,d):[d]}return{exports:e,options:l}}t.d(n,{Z:function(){return r}})},899:function(e){"use strict";e.exports='\n \n \n \n \n \n \n \n \n'},921:function(e){"use strict";e.exports="data:image/jpeg;base64,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"},985:function(e){"use strict";e.exports='\n \n \n \n \n'},210:function(e){"use strict";e.exports='\n \n'},663:function(e){"use strict";e.exports=coreApis.ajax},23:function(e){"use strict";e.exports=coreApis.componentApis.feeds.api},647:function(e){"use strict";e.exports=coreApis.horizontalScroll},269:function(e){"use strict";e.exports=coreApis.pluginApis.data},407:function(e){"use strict";e.exports=coreApis.settings},643:function(e){"use strict";e.exports=coreApis.ui},117:function(e){"use strict";e.exports=coreApis.utils.formatters},109:function(e){"use strict";e.exports=coreApis.utils}},r={};function a(e){var n=r[e];if(void 0!==n)return n.exports;var o=r[e]={id:e,exports:{}};return t[e](o,o.exports,a),o.exports}a.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(n,{a:n}),n},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},a.t=function(t,r){if(1&r&&(t=this(t)),8&r)return t;if("object"==typeof t&&t){if(4&r&&t.__esModule)return t;if(16&r&&"function"==typeof t.then)return t}var o=Object.create(null);a.r(o);var i={};e=e||[null,n({}),n([]),n(n)];for(var s=2&r&&t;"object"==typeof s&&!~e.indexOf(s);s=n(s))Object.getOwnPropertyNames(s).forEach((function(e){i[e]=function(){return t[e]}}));return i.default=function(){return t},a.d(o,i),o},a.d=function(e,n){for(var t in n)a.o(n,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},a.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return function(){"use strict";a.d(o,{component:function(){return r}});var e=coreApis.lifeCycle,n=a(407),t=a(109);const r={name:"freshHome",displayName:"清爽首页",description:"\n使用重新设计的清爽风格首页替换原本的首页.\n\n- 个性化推荐: 启用时展示推荐视频, 禁用时展示热门视频\n- 启用横向滚动: 在可以横向滚动的列表中, 使鼠标滚轮可以做出横向滚动的效果, 请注意这会禁用卡片的边缘吸附效果.\n\n".trim(),urlInclude:[/^https:\/\/www\.bilibili\.com\/$/,/^https:\/\/www\.bilibili\.com\/index\.html$/],tags:[componentsTags.style],entry:()=>{(0,n.addComponentListener)("freshHome.maxWidth",(e=>{document.documentElement.style.setProperty("--home-max-width-override",`${e}px`)}),!0),(0,e.contentLoaded)((async()=>{const e=await Promise.resolve().then(a.bind(a,490)),n=(0,t.mountVueComponent)(e);document.body.appendChild(n.$el)}))},options:{layoutOptions:{displayName:"版块设置",defaultValue:{trending:{linebreak:!0},areas:{linebreak:!0}},hidden:!0},personalized:{displayName:"个性化推荐",defaultValue:!1},horizontalWheelScroll:{displayName:"启用横向滚动",defaultValue:!1},maxWidth:{displayName:"最大宽度 (px)",defaultValue:1440,validator:(0,t.getNumberValidator)(1e3,3e3)}},unload:()=>document.body.classList.add("home-redesign-off"),reload:()=>document.body.classList.remove("home-redesign-off"),instantStyles:[{name:"fresh-home-hide-original",style:()=>Promise.resolve().then(a.t.bind(a,63,23))}],commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),o=o.component}()})); \ No newline at end of file diff --git a/registry/dist/components/style/player-on-top.js b/registry/dist/components/style/player-on-top.js index 7027140ae..6d228030f 100644 --- a/registry/dist/components/style/player-on-top.js +++ b/registry/dist/components/style/player-on-top.js @@ -6,4 +6,4 @@ t.i=function(n,e,o){"string"==typeof n&&( // eslint-disable-next-line no-param-reassign n=[[null,n,""]]);var r={};if(o)for(var i=0;iPromise.resolve().then(r.t.bind(r,92,23))}],tags:[componentsTags.style,componentsTags.video],entry:none,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var a=this[i][0];null!=a&&(r[a]=!0)}for(var c=0;cPromise.resolve().then(r.t.bind(r,92,23))}],tags:[componentsTags.style,componentsTags.video],entry:none,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/style/player-shadow.js b/registry/dist/components/style/player-shadow.js index ae57eccae..fb1e99c68 100644 --- a/registry/dist/components/style/player-shadow.js +++ b/registry/dist/components/style/player-shadow.js @@ -6,4 +6,4 @@ t.i=function(e,n,o){"string"==typeof e&&( // eslint-disable-next-line no-param-reassign e=[[null,e,""]]);var r={};if(o)for(var i=0;iPromise.resolve().then(r.t.bind(r,529,23))}],tags:[componentsTags.style,componentsTags.video],description:{"zh-CN":"为播放器添加主题色投影."},urlInclude:e.allVideoUrls,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var a=this[i][0];null!=a&&(r[a]=!0)}for(var f=0;fPromise.resolve().then(r.t.bind(r,529,23))}],tags:[componentsTags.style,componentsTags.video],description:{"zh-CN":"为播放器添加主题色投影."},urlInclude:e.allVideoUrls,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/style/scrollbar.js b/registry/dist/components/style/scrollbar.js index 6f71f08e4..594c5699e 100644 --- a/registry/dist/components/style/scrollbar.js +++ b/registry/dist/components/style/scrollbar.js @@ -6,4 +6,4 @@ n.i=function(t,e,r){"string"==typeof t&&( // eslint-disable-next-line no-param-reassign t=[[null,t,""]]);var o={};if(r)for(var a=0;aPromise.resolve().then(o.t.bind(o,110,23))}],commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),a=a.component}()})); \ No newline at end of file +var i=this[a][0];null!=i&&(o[i]=!0)}for(var c=0;cPromise.resolve().then(o.t.bind(o,110,23))}],commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),a=a.component}()})); \ No newline at end of file diff --git a/registry/dist/components/style/sidebar-offset.js b/registry/dist/components/style/sidebar-offset.js index ff88b6e78..e7b61a93d 100644 --- a/registry/dist/components/style/sidebar-offset.js +++ b/registry/dist/components/style/sidebar-offset.js @@ -6,4 +6,4 @@ e.i=function(t,n,o){"string"==typeof t&&( // eslint-disable-next-line no-param-reassign t=[[null,t,""]]);var r={};if(o)for(var i=0;iPromise.resolve().then(r.t.bind(r,215,23))}],description:{"zh-CN":"给脚本的侧栏设置垂直偏移量, 范围为 -40% ~ 40%"},entry:({metadata:e})=>{(0,t.addComponentListener)(`${e.name}.offset`,(t=>{document.body.style.setProperty("--be-sidebar-offset",`${t}%`)}),!0)},options:{offset:{displayName:"偏移量 (%)",defaultValue:0,validator:(0,e.getNumberValidator)(-40,40)}},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var f=this[i][0];null!=f&&(r[f]=!0)}for(var a=0;aPromise.resolve().then(r.t.bind(r,215,23))}],description:{"zh-CN":"给脚本的侧栏设置垂直偏移量, 范围为 -40% ~ 40%"},entry:({metadata:e})=>{(0,t.addComponentListener)(`${e.name}.offset`,(t=>{document.body.style.setProperty("--be-sidebar-offset",`${t}%`)}),!0)},options:{offset:{displayName:"偏移量 (%)",defaultValue:0,validator:(0,e.getNumberValidator)(-40,40)}},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/style/simplify/comments.js b/registry/dist/components/style/simplify/comments.js index 582ada734..1f3336ff2 100644 --- a/registry/dist/components/style/simplify/comments.js +++ b/registry/dist/components/style/simplify/comments.js @@ -6,4 +6,4 @@ t.i=function(n,e,o){"string"==typeof n&&( // eslint-disable-next-line no-param-reassign n=[[null,n,""]]);var i={};if(o)for(var m=0;mPromise.resolve().then(i.t.bind(i,847,23))),(async({metadata:n})=>{const{addComponentListener:t}=await Promise.resolve().then(i.t.bind(i,407,23));t(n.name,(n=>{document.body.classList.toggle("simplify-comment",n)}),!0)})),displayName:"简化评论区",description:{"zh-CN":"\n- 删除热评头像下方的关注按钮\n- 删除用户的等级标识\n- 删除发送源信息(`来自安卓客户端` 这种)\n- 删除用户名右边的勋章\n- 删除评论区顶部的横幅\n- 发送时间移动到右上角\n- 位图图标全部换用矢量图标, 高分屏不会模糊\n- 投票仅显示链接, 隐藏下面的大框.\n\n> 注: 关注和等级可以通过鼠标停留在头像上, 在弹出的资料卡小窗中查看.".trim()},tags:[componentsTags.style],commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),m=m.component}()})); \ No newline at end of file +var a=this[m][0];null!=a&&(i[a]=!0)}for(var r=0;rPromise.resolve().then(i.t.bind(i,847,23))),(async({metadata:n})=>{const{addComponentListener:t}=await Promise.resolve().then(i.t.bind(i,407,23));t(n.name,(n=>{document.body.classList.toggle("simplify-comment",n)}),!0)})),displayName:"简化评论区",description:{"zh-CN":"\n- 删除热评头像下方的关注按钮\n- 删除用户的等级标识\n- 删除发送源信息(`来自安卓客户端` 这种)\n- 删除用户名右边的勋章\n- 删除评论区顶部的横幅\n- 发送时间移动到右上角\n- 位图图标全部换用矢量图标, 高分屏不会模糊\n- 投票仅显示链接, 隐藏下面的大框.\n\n> 注: 关注和等级可以通过鼠标停留在头像上, 在弹出的资料卡小窗中查看.".trim()},tags:[componentsTags.style],commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),m=m.component}()})); \ No newline at end of file diff --git a/registry/dist/components/style/special-danmaku.js b/registry/dist/components/style/special-danmaku.js index 72e63250a..16a033a39 100644 --- a/registry/dist/components/style/special-danmaku.js +++ b/registry/dist/components/style/special-danmaku.js @@ -4,6 +4,6 @@ t.exports=function(t){var n=[];return n.toString=function(){return this.map((fun // eslint-disable-next-line func-names n.i=function(t,e,o){"string"==typeof t&&( // eslint-disable-next-line no-param-reassign -t=[[null,t,""]]);var r={};if(o)for(var a=0;aPromise.resolve().then(r.t.bind(r,655,23))),(({metadata:t,settings:{options:n}})=>{Object.keys(n).forEach((n=>{(0,e.addComponentListener)(`${t.name}.${n}`,(t=>{document.body.classList.toggle(`disable-${n}-danmaku-style`,t)}),!0)}))})),urlInclude:n.playerUrls,description:{"zh-CN":"移除高赞弹幕或 UP 主弹幕的特殊样式, 弹幕内容不会移除."},options:{highlight:{displayName:"禁用高赞弹幕",defaultValue:!0},up:{displayName:"禁用UP主弹幕",defaultValue:!0}},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),a=a.component}()})); \ No newline at end of file +var i=this[r][0];null!=i&&(a[i]=!0)}for(var u=0;uPromise.resolve().then(a.t.bind(a,655,23))),(({metadata:t,settings:{options:n}})=>{Object.keys(n).forEach((n=>{(0,e.addComponentListener)(`${t.name}.${n}`,(t=>{document.body.classList.toggle(`disable-${n}-danmaku-style`,t)}),!0)}))})),urlInclude:n.playerUrls,description:{"zh-CN":"移除高赞弹幕或 UP 主弹幕的特殊样式, 弹幕内容不会移除."},options:{highlight:{displayName:"禁用高赞弹幕",defaultValue:!0},up:{displayName:"禁用UP主弹幕",defaultValue:!0}},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file diff --git a/registry/dist/components/style/v1-panel.js b/registry/dist/components/style/v1-panel.js index baeebd784..5d2f3d840 100644 --- a/registry/dist/components/style/v1-panel.js +++ b/registry/dist/components/style/v1-panel.js @@ -6,4 +6,4 @@ n.i=function(t,e,r){"string"==typeof t&&( // eslint-disable-next-line no-param-reassign t=[[null,t,""]]);var o={};if(r)for(var i=0;iPromise.resolve().then(o.t.bind(o,350,23))}],commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var a=this[i][0];null!=a&&(o[a]=!0)}for(var s=0;sPromise.resolve().then(o.t.bind(o,350,23))}],commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/touch/combo-like.js b/registry/dist/components/touch/combo-like.js index 2775473a5..0bcd231e1 100644 --- a/registry/dist/components/touch/combo-like.js +++ b/registry/dist/components/touch/combo-like.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["touch/combo-like"]=t():e["touch/combo-like"]=t()}(self,(function(){return function(){"use strict";var e,t,o={569:function(e){e.exports=coreApis.spinQuery}},n={};function r(e){var t=n[e];if(void 0!==t)return t.exports;var c=n[e]={exports:{}};return o[e](c,c.exports,r),c.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(o,n){if(1&n&&(o=this(o)),8&n)return o;if("object"==typeof o&&o){if(4&n&&o.__esModule)return o;if(16&n&&"function"==typeof o.then)return o}var c=Object.create(null);r.r(c);var u={};e=e||[null,t({}),t([]),t(t)];for(var i=2&n&&o;"object"==typeof i&&!~e.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach((function(e){u[e]=function(){return o[e]}}));return u.default=function(){return o},r.d(c,u),c},r.d=function(e,t){for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var c={};return function(){r.d(c,{component:function(){return t}});var e=coreApis.utils.urls;const t={name:"touchComboLike",displayName:"三连触摸支持",tags:[componentsTags.touch],enabledByDefault:navigator.maxTouchPoints>0,entry:async()=>{const{select:e}=await Promise.resolve().then(r.t.bind(r,569,23)),t=await e(".ops span.like");if(!t)return;t.style.userSelect="none";const o=(e,o)=>{const n=new CustomEvent(e,o);t.dispatchEvent(n)};let n=!0;t.addEventListener("touchstart",(e=>{e.preventDefault(),n=!0,setTimeout((()=>n=!1),200),o("mousedown",e)})),t.addEventListener("touchend",(e=>{e.preventDefault(),o("mouseup",e),n&&o("click",e)}))},description:{"zh-CN":"为视频页面中的三连操作 (长按点赞) 启用触摸支持."},urlInclude:e.videoUrls,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),c=c.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["touch/combo-like"]=t():e["touch/combo-like"]=t()}(self,(function(){return function(){"use strict";var e,t,o={569:function(e){e.exports=coreApis.spinQuery}},n={};function r(e){var t=n[e];if(void 0!==t)return t.exports;var u=n[e]={exports:{}};return o[e](u,u.exports,r),u.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(o,n){if(1&n&&(o=this(o)),8&n)return o;if("object"==typeof o&&o){if(4&n&&o.__esModule)return o;if(16&n&&"function"==typeof o.then)return o}var u=Object.create(null);r.r(u);var c={};e=e||[null,t({}),t([]),t(t)];for(var i=2&n&&o;"object"==typeof i&&!~e.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach((function(e){c[e]=function(){return o[e]}}));return c.default=function(){return o},r.d(u,c),u},r.d=function(e,t){for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var u={};return function(){r.d(u,{component:function(){return t}});var e=coreApis.utils.urls;const t={name:"touchComboLike",displayName:"三连触摸支持",tags:[componentsTags.touch],enabledByDefault:navigator.maxTouchPoints>0,entry:async()=>{const{select:e}=await Promise.resolve().then(r.t.bind(r,569,23)),t=await e(".ops span.like");if(!t)return;t.style.userSelect="none";const o=(e,o)=>{const n=new CustomEvent(e,o);t.dispatchEvent(n)};let n=!0;t.addEventListener("touchstart",(e=>{e.preventDefault(),n=!0,setTimeout((()=>n=!1),200),o("mousedown",e)})),t.addEventListener("touchend",(e=>{e.preventDefault(),o("mouseup",e),n&&o("click",e)}))},description:{"zh-CN":"为视频页面中的三连操作 (长按点赞) 启用触摸支持."},urlInclude:e.videoUrls,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),u=u.component}()})); \ No newline at end of file diff --git a/registry/dist/components/touch/double-click-control.js b/registry/dist/components/touch/double-click-control.js index 13813fd01..9b29a702c 100644 --- a/registry/dist/components/touch/double-click-control.js +++ b/registry/dist/components/touch/double-click-control.js @@ -6,4 +6,4 @@ o.i=function(i,l,e){"string"==typeof i&&( // eslint-disable-next-line no-param-reassign i=[[null,i,""]]);var n={};if(e)for(var t=0;t0,urlInclude:e.playerUrls,entry:async()=>{(0,l.addStyle)(a());const e="disable-original-hover";(0,o.videoChange)((async()=>{const o=await i.playerAgent.query.playerArea();if(o.classList.contains(e))return;o.classList.add(e);const l=i.playerAgent.query.video.container.sync(),{DoubleClickEvent:t}=await Promise.resolve().then(n.t.bind(n,109,23)),r=new t((()=>i.playerAgent.togglePlay()),!0);r.singleClickHandler=()=>{o.classList.toggle("touch-video-control-show")},r.bind(l)}))},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),t=t.component}()})); \ No newline at end of file +var r=this[t][0];null!=r&&(n[r]=!0)}for(var a=0;a0,urlInclude:e.playerUrls,entry:async()=>{(0,l.addStyle)(a());const e="disable-original-hover";(0,o.videoChange)((async()=>{const o=await i.playerAgent.query.playerArea();if(o.classList.contains(e))return;o.classList.add(e);const l=i.playerAgent.query.video.container.sync(),{DoubleClickEvent:t}=await Promise.resolve().then(n.t.bind(n,109,23)),r=new t((()=>i.playerAgent.togglePlay()),!0);r.singleClickHandler=()=>{o.classList.toggle("touch-video-control-show")},r.bind(l)}))},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),t=t.component}()})); \ No newline at end of file diff --git a/registry/dist/components/touch/mini-player.js b/registry/dist/components/touch/mini-player.js index a946c557a..6ec95930b 100644 --- a/registry/dist/components/touch/mini-player.js +++ b/registry/dist/components/touch/mini-player.js @@ -6,4 +6,4 @@ t.i=function(e,n,o){"string"==typeof e&&( // eslint-disable-next-line no-param-reassign e=[[null,e,""]]);var i={};if(o)for(var r=0;r{if(document.URL.startsWith("https://live.bilibili.com")){const{touchLiveMiniPlayer:t}=await Promise.resolve().then(n.bind(n,678));await t(e)}else{const{touchVideoMiniPlayer:t}=await Promise.resolve().then(n.bind(n,779));await t(e)}},i={name:"touchMiniPlayer",displayName:"迷你播放器触摸拖动",description:{"zh-CN":"使迷你播放器的拖动条可以触摸拖动."},enabledByDefault:navigator.maxTouchPoints>0,tags:[componentsTags.touch],urlInclude:[...e.videoAndBangumiUrls,...e.liveUrls],entry:()=>t(!0),reload:()=>t(!0),unload:()=>t(!1),options:{touchMoveDistance:{displayName:"拖动触发最小距离",defaultValue:10,hidden:!0}},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),o=o.component}()})); \ No newline at end of file +var c=this[r][0];null!=c&&(i[c]=!0)}for(var a=0;a{if(document.URL.startsWith("https://live.bilibili.com")){const{touchLiveMiniPlayer:t}=await Promise.resolve().then(n.bind(n,678));await t(e)}else{const{touchVideoMiniPlayer:t}=await Promise.resolve().then(n.bind(n,779));await t(e)}},i={name:"touchMiniPlayer",displayName:"迷你播放器触摸拖动",description:{"zh-CN":"使迷你播放器的拖动条可以触摸拖动."},enabledByDefault:navigator.maxTouchPoints>0,tags:[componentsTags.touch],urlInclude:[...e.videoAndBangumiUrls,...e.liveUrls],entry:()=>t(!0),reload:()=>t(!0),unload:()=>t(!1),options:{touchMoveDistance:{displayName:"拖动触发最小距离",defaultValue:10,hidden:!0}},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),o=o.component}()})); \ No newline at end of file diff --git a/registry/dist/components/touch/player-control.js b/registry/dist/components/touch/player-control.js index 85a1e73dc..ea38a7467 100644 --- a/registry/dist/components/touch/player-control.js +++ b/registry/dist/components/touch/player-control.js @@ -6,4 +6,4 @@ l.i=function(e,r,i){"string"==typeof e&&( // eslint-disable-next-line no-param-reassign e=[[null,e,""]]);var o={};if(i)for(var t=0;t{document.body.classList.add(l)},i={name:"touchPlayerControl",displayName:"控制栏触摸优化",description:{"zh-CN":"增大播放器控制栏里按钮的间距, 方便触屏使用."},tags:[componentsTags.touch,componentsTags.style],enabledByDefault:navigator.maxTouchPoints>0,urlInclude:e.playerUrls,instantStyles:[{name:l,style:()=>Promise.resolve().then(o.t.bind(o,382,23))}],entry:r,reload:r,unload:()=>{document.body.classList.remove(l)},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),t=t.component}()})); \ No newline at end of file +var a=this[t][0];null!=a&&(o[a]=!0)}for(var n=0;n{document.body.classList.add(l)},i={name:"touchPlayerControl",displayName:"控制栏触摸优化",description:{"zh-CN":"增大播放器控制栏里按钮的间距, 方便触屏使用."},tags:[componentsTags.touch,componentsTags.style],enabledByDefault:navigator.maxTouchPoints>0,urlInclude:e.playerUrls,instantStyles:[{name:l,style:()=>Promise.resolve().then(o.t.bind(o,382,23))}],entry:r,reload:r,unload:()=>{document.body.classList.remove(l)},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),t=t.component}()})); \ No newline at end of file diff --git a/registry/dist/components/touch/player-gestures.js b/registry/dist/components/touch/player-gestures.js index abc17a347..74b2adfc3 100644 --- a/registry/dist/components/touch/player-gestures.js +++ b/registry/dist/components/touch/player-gestures.js @@ -9,4 +9,4 @@ e=[[null,e,""]]);var i={};if(s)for(var r=0;r0;t--)if(e>=i[t]){r=t;break}const o=s.image;if(null===o)return null;const a=s.img_x_len??10,c=s.img_y_len??10,l=a*this.viewWidth,u=c*this.viewHeight,p=this.viewWidth,d=this.viewHeight,h=-(r-1)%100%a*p,v=-Math.floor((r-1)%100/c)*d;return{backgroundImage:`url(${o[Math.floor(r/100)]})`,backgroundPosition:`${h}px ${v}px`,backgroundSize:`${l}px ${u}px`}}}var u=n(246);const p=(e,t,n=1,s=0)=>{const i=e+t;return i>n?n:i(0,o.formatDuration)(e,1),progressDiff:e=>`${e>0?"+":"-"}${(e=>{e=Math.abs(e);const t=Math.floor(e/3600),n=Math.floor((e-3600*t)/60),s=e-3600*t-60*n;let i=`${(0,r.fixed)(s)}秒`;return n>0&&(i=`${n}分${i}`),t>0&&(i=`${t}时${i}`),i})(e)}`},data(){const e={progress:0,brightness:1,volume:.66};return{opened:!1,video:dq("video"),videoshot:new l,videoshotStyle:{},store:e,preview:{...e,progress:null,seekMode:a.q.Fast}}},computed:{progressNaN(){return Number.isNaN(this.preview.progress)},progressNull(){return null===this.preview.progress},progressValid(){return!this.progressNaN&&!this.progressNull}},methods:{sync(){const e=dq("video");this.video=e,this.store.volume=e.volume,this.store.progress=e.currentTime,this.store.brightness=(()=>{if(e.style.filter){const t=e.style.filter.match(/brightness\((.+)\)/);return t?parseFloat(t[1]):1}return 1})(),this.preview={...this.preview,...this.store,progress:null}},startPreview({brightness:e,volume:t,progress:n}){if(this.opened=!0,void 0!==n){this.preview.progress=p(this.store.progress,n,this.video.duration);this.videoshot.getVideoshot(this.preview.progress).then((e=>{this.videoshotStyle=e}))}else void 0!==e?this.preview.brightness=p(this.store.brightness,e,1/0):void 0!==t&&(this.preview.volume=p(this.store.volume,t)),this.apply({brightness:e,volume:t})},cancelPreview(){this.preview.progress=NaN},endPreview(){unsafeWindow.touchGestureDebug||(this.opened=!1),this.store.volume!==this.preview.volume&&(0,u.syncVolumeUI)(this.preview.volume),Number.isNaN(this.preview.progress)?this.preview.progress=null:this.store.progress!==this.preview.progress&&null!==this.preview.progress&&this.apply({progress:this.preview.progress})},async apply({brightness:e,volume:t,progress:s}){const i=this.video;if(i)if(void 0!==e){const{setBrightness:e}=await Promise.resolve().then(n.bind(n,50));e(i,this.preview.brightness)}else if(void 0!==t){const{setVolume:e}=await Promise.resolve().then(n.bind(n,246));e(i,this.preview.volume)}else if(void 0!==s){const{setProgress:e}=await Promise.resolve().then(n.bind(n,362));e(i,s)}}}}),h=n(379),v=n.n(h),f=n(423),g=n.n(f),m={insert:"head",singleton:!1};v()(g(),m),g().locals;var w=function(e,t,n,s,i,r,o,a){var c,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),s&&(l.functional=!0),r&&(l._scopeId="data-v-"+r),o?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},l._ssrRegister=c):i&&(c=a?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var p=l.beforeCreate;l.beforeCreate=p?[].concat(p,c):[c]}return{exports:e,options:l}}(d,s,[],!1,null,null,null);w.options.__file="registry/lib/components/touch/player-gestures/GesturePreview.vue";var b=w.exports},537:function(e){"use strict";e.exports="为播放器启用触摸手势支持:\n- 左右滑动可调整进度\n- 上下滑动可调整音量\n- 进度调整可在左上角和右上角取消\n- 进度调整时在不同位置滑动, 可以使用3档不同的灵敏度."},663:function(e){"use strict";e.exports=coreApis.ajax},156:function(e){"use strict";e.exports=coreApis.observer},109:function(e){"use strict";e.exports=coreApis.utils}},s={};function i(e){var t=s[e];if(void 0!==t)return t.exports;var r=s[e]={id:e,exports:{}};return n[e](r,r.exports,i),r.exports}i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,{a:t}),t},t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},i.t=function(n,s){if(1&s&&(n=this(n)),8&s)return n;if("object"==typeof n&&n){if(4&s&&n.__esModule)return n;if(16&s&&"function"==typeof n.then)return n}var r=Object.create(null);i.r(r);var o={};e=e||[null,t({}),t([]),t(t)];for(var a=2&s&&n;"object"==typeof a&&!~e.indexOf(a);a=t(a))Object.getOwnPropertyNames(a).forEach((function(e){o[e]=function(){return n[e]}}));return o.default=function(){return n},i.d(r,o),r},i.d=function(e,t){for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return function(){"use strict";i.d(r,{component:function(){return s}});var e=coreApis.utils.urls,t=i(537),n=coreApis.componentApis.video.playerAgent;const s={name:"touchPlayerGestures",displayName:"播放器触摸手势",enabledByDefault:navigator.maxTouchPoints>0,tags:[componentsTags.touch],description:{"zh-CN":t},entry:async()=>{const{videoChange:e}=await Promise.resolve().then(i.t.bind(i,156,23));e((async()=>{if(!await n.playerAgent.query.video.element())return;let e;if(!dq(".gesture-preview")){const t=await Promise.resolve().then(i.bind(i,198)),{mountVueComponent:s}=await Promise.resolve().then(i.t.bind(i,109,23));e=s(t),n.playerAgent.query.video.subtitle.sync()?.insertAdjacentElement("beforebegin",e.$el)}const{Swiper:t}=await Promise.resolve().then(i.bind(i,638)),s=new t(n.playerAgent.query.video.container.sync());s.action.addEventListener("start",(()=>{e.sync()})),s.action.addEventListener("cancel",(()=>{e.cancelPreview()})),s.action.addEventListener("end",(()=>{e.endPreview()})),["volume","brightness"].forEach((t=>{s.action.addEventListener(t,(n=>{e.startPreview({[t]:n.detail})}))})),s.action.addEventListener("progress",(t=>{const{progress:n,mode:s}=t.detail;e.preview.seekMode=s,e.startPreview({progress:n})}))}))},urlInclude:e.playerUrls,options:{swiperDistance:{displayName:"手势触发最小距离",defaultValue:10,hidden:!0}},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file +s=Boolean(window&&document&&document.all&&!window.atob)),s},r=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),o=[];function a(e){for(var t=-1,n=0;n0;t--)if(e>=i[t]){r=t;break}const o=s.image;if(null===o)return null;const a=s.img_x_len??10,c=s.img_y_len??10,l=a*this.viewWidth,u=c*this.viewHeight,p=this.viewWidth,d=this.viewHeight,h=-(r-1)%100%a*p,v=-Math.floor((r-1)%100/c)*d;return{backgroundImage:`url(${o[Math.floor(r/100)]})`,backgroundPosition:`${h}px ${v}px`,backgroundSize:`${l}px ${u}px`}}}var u=n(246);const p=(e,t,n=1,s=0)=>{const i=e+t;return i>n?n:i(0,o.formatDuration)(e,1),progressDiff:e=>`${e>0?"+":"-"}${(e=>{e=Math.abs(e);const t=Math.floor(e/3600),n=Math.floor((e-3600*t)/60),s=e-3600*t-60*n;let i=`${(0,r.fixed)(s)}秒`;return n>0&&(i=`${n}分${i}`),t>0&&(i=`${t}时${i}`),i})(e)}`},data(){const e={progress:0,brightness:1,volume:.66};return{opened:!1,video:dq("video"),videoshot:new l,videoshotStyle:{},store:e,preview:{...e,progress:null,seekMode:a.q.Fast}}},computed:{progressNaN(){return Number.isNaN(this.preview.progress)},progressNull(){return null===this.preview.progress},progressValid(){return!this.progressNaN&&!this.progressNull}},methods:{sync(){const e=dq("video");this.video=e,this.store.volume=e.volume,this.store.progress=e.currentTime,this.store.brightness=(()=>{if(e.style.filter){const t=e.style.filter.match(/brightness\((.+)\)/);return t?parseFloat(t[1]):1}return 1})(),this.preview={...this.preview,...this.store,progress:null}},startPreview({brightness:e,volume:t,progress:n}){if(this.opened=!0,void 0!==n){this.preview.progress=p(this.store.progress,n,this.video.duration);this.videoshot.getVideoshot(this.preview.progress).then((e=>{this.videoshotStyle=e}))}else void 0!==e?this.preview.brightness=p(this.store.brightness,e,1/0):void 0!==t&&(this.preview.volume=p(this.store.volume,t)),this.apply({brightness:e,volume:t})},cancelPreview(){this.preview.progress=NaN},endPreview(){unsafeWindow.touchGestureDebug||(this.opened=!1),this.store.volume!==this.preview.volume&&(0,u.syncVolumeUI)(this.preview.volume),Number.isNaN(this.preview.progress)?this.preview.progress=null:this.store.progress!==this.preview.progress&&null!==this.preview.progress&&this.apply({progress:this.preview.progress})},async apply({brightness:e,volume:t,progress:s}){const i=this.video;if(i)if(void 0!==e){const{setBrightness:e}=await Promise.resolve().then(n.bind(n,50));e(i,this.preview.brightness)}else if(void 0!==t){const{setVolume:e}=await Promise.resolve().then(n.bind(n,246));e(i,this.preview.volume)}else if(void 0!==s){const{setProgress:e}=await Promise.resolve().then(n.bind(n,362));e(i,s)}}}}),h=n(379),v=n.n(h),f=n(423),g=n.n(f),m={insert:"head",singleton:!1};v()(g(),m),g().locals;var w=function(e,t,n,s,i,r,o,a){var c,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),s&&(l.functional=!0),r&&(l._scopeId="data-v-"+r),o?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},l._ssrRegister=c):i&&(c=a?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var p=l.beforeCreate;l.beforeCreate=p?[].concat(p,c):[c]}return{exports:e,options:l}}(d,s,[],!1,null,null,null);w.options.__file="registry/lib/components/touch/player-gestures/GesturePreview.vue";var b=w.exports},537:function(e){"use strict";e.exports="为播放器启用触摸手势支持:\n- 左右滑动可调整进度\n- 上下滑动可调整音量\n- 进度调整可在左上角和右上角取消\n- 进度调整时在不同位置滑动, 可以使用3档不同的灵敏度."},663:function(e){"use strict";e.exports=coreApis.ajax},156:function(e){"use strict";e.exports=coreApis.observer},109:function(e){"use strict";e.exports=coreApis.utils}},s={};function i(e){var t=s[e];if(void 0!==t)return t.exports;var r=s[e]={id:e,exports:{}};return n[e](r,r.exports,i),r.exports}i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,{a:t}),t},t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},i.t=function(n,s){if(1&s&&(n=this(n)),8&s)return n;if("object"==typeof n&&n){if(4&s&&n.__esModule)return n;if(16&s&&"function"==typeof n.then)return n}var r=Object.create(null);i.r(r);var o={};e=e||[null,t({}),t([]),t(t)];for(var a=2&s&&n;"object"==typeof a&&!~e.indexOf(a);a=t(a))Object.getOwnPropertyNames(a).forEach((function(e){o[e]=function(){return n[e]}}));return o.default=function(){return n},i.d(r,o),r},i.d=function(e,t){for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return function(){"use strict";i.d(r,{component:function(){return s}});var e=coreApis.utils.urls,t=i(537),n=coreApis.componentApis.video.playerAgent;const s={name:"touchPlayerGestures",displayName:"播放器触摸手势",enabledByDefault:navigator.maxTouchPoints>0,tags:[componentsTags.touch],description:{"zh-CN":t},entry:async()=>{const{videoChange:e}=await Promise.resolve().then(i.t.bind(i,156,23));e((async()=>{if(!await n.playerAgent.query.video.element())return;let e;if(!dq(".gesture-preview")){const t=await Promise.resolve().then(i.bind(i,198)),{mountVueComponent:s}=await Promise.resolve().then(i.t.bind(i,109,23));e=s(t),n.playerAgent.query.video.subtitle.sync()?.insertAdjacentElement("beforebegin",e.$el)}const{Swiper:t}=await Promise.resolve().then(i.bind(i,638)),s=new t(n.playerAgent.query.video.container.sync());s.action.addEventListener("start",(()=>{e.sync()})),s.action.addEventListener("cancel",(()=>{e.cancelPreview()})),s.action.addEventListener("end",(()=>{e.endPreview()})),["volume","brightness"].forEach((t=>{s.action.addEventListener(t,(n=>{e.startPreview({[t]:n.detail})}))})),s.action.addEventListener("progress",(t=>{const{progress:n,mode:s}=t.detail;e.preview.seekMode=s,e.startPreview({progress:n})}))}))},urlInclude:e.playerUrls,options:{swiperDistance:{displayName:"手势触发最小距离",defaultValue:10,hidden:!0}},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file diff --git a/registry/dist/components/utils/change-update-urls.js b/registry/dist/components/utils/change-update-urls.js index 30fc4f38a..8a08db6f0 100644 --- a/registry/dist/components/utils/change-update-urls.js +++ b/registry/dist/components/utils/change-update-urls.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["utils/change-update-urls"]=t():e["utils/change-update-urls"]=t()}(self,(function(){return function(){"use strict";var e={912:function(e,t,n){n.r(t),n.d(t,{default:function(){return u}});var o=function(){var e=this,t=e.$createElement;return(e._self._c||t)("DefaultWidget",{attrs:{name:"替换更新链接",icon:"mdi-file-replace-outline",disabled:e.busy},on:{click:function(t){return e.replaceBranch()}}})};o._withStripped=!0;var r=coreApis.settings,i=coreApis.toast,s=coreApis.utils.log,c=coreApis.ui;var l=function(e,t,n,o,r,i,s,c){var l,u="function"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=n,u._compiled=!0),o&&(u.functional=!0),i&&(u._scopeId="data-v-"+i),s?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},u._ssrRegister=l):r&&(l=c?function(){r.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(u.functional){u._injectStyles=l;var a=u.render;u.render=function(e,t){return l.call(t),a(e,t)}}else{var d=u.beforeCreate;u.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:u}}(Vue.extend({components:{DefaultWidget:c.DefaultWidget},data:()=>({busy:!1}),methods:{async replaceBranch(){const e=window.prompt("输入希望替换成的分支名称");if(e){this.busy=!0;try{const{options:t}=(0,r.getComponentSettings)("autoUpdate");Object.values(t.urls).forEach((t=>{Object.values(t).forEach((t=>{const n=/^(https:\/\/github\.com\/.+\/Bilibili-Evolved\/raw\/)(.+?)(\/)/;if(n.test(t.url))return void(t.url=t.url.replace(n,`$1${e}$3`));const o=/^(https:\/\/raw\.githubusercontent\.com\/.+\/Bilibili-Evolved\/)(.+?)(\/)/;if(o.test(t.url))return void(t.url=t.url.replace(o,`$1${e}$3`));const r=/^(https:\/\/cdn\.jsdelivr\.net\/gh\/.+\/Bilibili-Evolved@)(.+?)(\/)/;r.test(t.url)?t.url=t.url.replace(r,`$1${e}$3`):console.log("skip record",t)}))})),i.Toast.info("替换完成","替换更新链接",3e3)}catch(e){(0,s.logError)(e)}finally{this.busy=!1}}}}}),o,[],!1,null,null,null);l.options.__file="registry/lib/components/utils/change-update-urls/Widget.vue";var u=l.exports}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={exports:{}};return e[o](i,i.exports,n),i.exports}n.d=function(e,t){for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return function(){n.d(o,{component:function(){return e}});const e={name:"changeUpdateUrls",displayName:"更新链接替换",description:"批量更换已安装功能的更新链接的分支, 对本地安装的功能无效.",entry:none,tags:[componentsTags.utils],widget:{component:()=>Promise.resolve().then(n.bind(n,912)).then((e=>e.default))},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),o=o.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["utils/change-update-urls"]=t():e["utils/change-update-urls"]=t()}(self,(function(){return function(){"use strict";var e={912:function(e,t,n){n.r(t),n.d(t,{default:function(){return l}});var o=function(){var e=this,t=e.$createElement;return(e._self._c||t)("DefaultWidget",{attrs:{name:"替换更新链接",icon:"mdi-file-replace-outline",disabled:e.busy},on:{click:function(t){return e.replaceBranch()}}})};o._withStripped=!0;var r=coreApis.settings,i=coreApis.toast,s=coreApis.utils.log,a=coreApis.ui;var c=function(e,t,n,o,r,i,s,a){var c,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),o&&(l.functional=!0),i&&(l._scopeId="data-v-"+i),s?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):r&&(c=a?function(){r.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var p=l.beforeCreate;l.beforeCreate=p?[].concat(p,c):[c]}return{exports:e,options:l}}(Vue.extend({components:{DefaultWidget:a.DefaultWidget},data:()=>({busy:!1}),methods:{async replaceBranch(){const e=window.prompt("输入希望替换成的分支名称");if(e){this.busy=!0;try{const{options:t}=(0,r.getComponentSettings)("autoUpdate");Object.values(t.urls).forEach((t=>{Object.values(t).forEach((t=>{const n=/^(https:\/\/github\.com\/.+\/Bilibili-Evolved\/raw\/)(.+?)(\/)/;if(n.test(t.url))return void(t.url=t.url.replace(n,`$1${e}$3`));const o=/^(https:\/\/raw\.githubusercontent\.com\/.+\/Bilibili-Evolved\/)(.+?)(\/)/;if(o.test(t.url))return void(t.url=t.url.replace(o,`$1${e}$3`));const r=/^(https:\/\/cdn\.jsdelivr\.net\/gh\/.+\/Bilibili-Evolved@)(.+?)(\/)/;r.test(t.url)?t.url=t.url.replace(r,`$1${e}$3`):console.log("skip record",t)}))})),i.Toast.info("替换完成","替换更新链接",3e3)}catch(e){(0,s.logError)(e)}finally{this.busy=!1}}}}}),o,[],!1,null,null,null);c.options.__file="registry/lib/components/utils/change-update-urls/Widget.vue";var l=c.exports}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={exports:{}};return e[o](i,i.exports,n),i.exports}n.d=function(e,t){for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return function(){n.d(o,{component:function(){return e}});const e={name:"changeUpdateUrls",displayName:"更新链接替换",description:"批量更换已安装功能的更新链接的分支, 对本地安装的功能无效.",entry:none,tags:[componentsTags.utils],widget:{component:()=>Promise.resolve().then(n.bind(n,912)).then((e=>e.default))},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),o=o.component}()})); \ No newline at end of file diff --git a/registry/dist/components/utils/check-in-center.js b/registry/dist/components/utils/check-in-center.js index 40467e81b..e07879bd4 100644 --- a/registry/dist/components/utils/check-in-center.js +++ b/registry/dist/components/utils/check-in-center.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["utils/check-in-center"]=t():e["utils/check-in-center"]=t()}(self,(function(){return function(){"use strict";var e={813:function(e,t,n){n.r(t),n.d(t,{default:function(){return f}});var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"multiple-widgets"},e._l(e.items,(function(t){return n("DefaultWidget",{key:t.name,attrs:{disabled:t.disabled,"data-name":t.name,name:t.displayName,icon:t.icon},on:{click:function(n){return e.runItemAction(t,n)}}})})),1)};i._withStripped=!0;var o=coreApis.ui,s=coreApis.ajax,r=coreApis.toast,a=n(109),c=coreApis.pluginApis.data;const l=[{name:"seeds-to-coins",displayName:"瓜子换硬币",icon:"mdi-seed-outline",action:async()=>{const e=await(0,s.postTextWithCredentials)("https://api.live.bilibili.com/xlive/revenue/v1/wallet/silver2coin",(0,a.formData)({csrf:(0,a.getCsrf)(),csrf_token:(0,a.getCsrf)()})),t=JSON.parse(e);0!==t.code?r.Toast.info(t.message,"瓜子换硬币",3e3):r.Toast.success(`${t.message}\n剩余银瓜子:${t.data.silver}`,"瓜子换硬币",3e3)}},{name:"live-check-in",displayName:"直播间签到",icon:"mdi-calendar-check",action:async()=>{const e=await(0,s.getJsonWithCredentials)("https://api.live.bilibili.com/xlive/web-ucenter/v1/sign/DoSign");if(0!==e.code)r.Toast.info(e.message,"直播间签到",3e3);else{const{text:t,specialText:n,allDays:i,hadSignDays:o}=e.data,s=`签到成功, 获得了${t} ${n}\n本月进度: ${o} / ${i}`;r.Toast.success(s,"直播间签到",3e3)}}}],[d]=(0,c.registerAndGetData)("checkInCenter.items",l);var u=function(e,t,n,i,o,s,r,a){var c,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),i&&(l.functional=!0),s&&(l._scopeId="data-v-"+s),r?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},l._ssrRegister=c):o&&(c=a?function(){o.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:o),c)if(l.functional){l._injectStyles=c;var d=l.render;l.render=function(e,t){return c.call(t),d(e,t)}}else{var u=l.beforeCreate;l.beforeCreate=u?[].concat(u,c):[c]}return{exports:e,options:l}}(Vue.extend({components:{DefaultWidget:o.DefaultWidget},data:()=>({items:d}),methods:{async runItemAction(e,t){try{this.$set(e,"disabled",!0);const n=this.$el.querySelector(`[data-name='${e.name}']`);await e.action(n,t)}finally{e.disabled=!1}}}}),i,[],!1,null,null,null);u.options.__file="registry/lib/components/utils/check-in-center/Widget.vue";var f=u.exports},109:function(e){e.exports=coreApis.utils}},t={};function n(i){var o=t[i];if(void 0!==o)return o.exports;var s=t[i]={exports:{}};return e[i](s,s.exports,n),s.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){n.d(i,{component:function(){return t}});var e=n(109);const t={name:"checkInCenter",displayName:"签到助手",description:{"zh-CN":"在功能面板中提供一些可以每日进行的操作."},tags:[componentsTags.utils],entry:none,widget:{component:()=>Promise.resolve().then(n.bind(n,813)).then((e=>e.default)),condition:()=>Boolean((0,e.getUID)())},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["utils/check-in-center"]=t():e["utils/check-in-center"]=t()}(self,(function(){return function(){"use strict";var e={813:function(e,t,n){n.r(t),n.d(t,{default:function(){return f}});var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"multiple-widgets"},e._l(e.items,(function(t){return n("DefaultWidget",{key:t.name,attrs:{disabled:t.disabled,"data-name":t.name,name:t.displayName,icon:t.icon},on:{click:function(n){return e.runItemAction(t,n)}}})})),1)};i._withStripped=!0;var o=coreApis.ui,s=coreApis.ajax,r=coreApis.toast,a=n(109),c=coreApis.pluginApis.data;const l=[{name:"seeds-to-coins",displayName:"瓜子换硬币",icon:"mdi-seed-outline",action:async()=>{const e=await(0,s.postTextWithCredentials)("https://api.live.bilibili.com/xlive/revenue/v1/wallet/silver2coin",(0,a.formData)({csrf:(0,a.getCsrf)(),csrf_token:(0,a.getCsrf)()})),t=JSON.parse(e);0!==t.code?r.Toast.info(t.message,"瓜子换硬币",3e3):r.Toast.success(`${t.message}\n剩余银瓜子:${t.data.silver}`,"瓜子换硬币",3e3)}},{name:"live-check-in",displayName:"直播间签到",icon:"mdi-calendar-check",action:async()=>{const e=await(0,s.getJsonWithCredentials)("https://api.live.bilibili.com/xlive/web-ucenter/v1/sign/DoSign");if(0!==e.code)r.Toast.info(e.message,"直播间签到",3e3);else{const{text:t,specialText:n,allDays:i,hadSignDays:o}=e.data,s=`签到成功, 获得了${t} ${n}\n本月进度: ${o} / ${i}`;r.Toast.success(s,"直播间签到",3e3)}}}],[d]=(0,c.registerAndGetData)("checkInCenter.items",l);var u=function(e,t,n,i,o,s,r,a){var c,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),i&&(l.functional=!0),s&&(l._scopeId="data-v-"+s),r?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},l._ssrRegister=c):o&&(c=a?function(){o.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:o),c)if(l.functional){l._injectStyles=c;var d=l.render;l.render=function(e,t){return c.call(t),d(e,t)}}else{var u=l.beforeCreate;l.beforeCreate=u?[].concat(u,c):[c]}return{exports:e,options:l}}(Vue.extend({components:{DefaultWidget:o.DefaultWidget},data:()=>({items:d}),methods:{async runItemAction(e,t){try{this.$set(e,"disabled",!0);const n=this.$el.querySelector(`[data-name='${e.name}']`);await e.action(n,t)}finally{e.disabled=!1}}}}),i,[],!1,null,null,null);u.options.__file="registry/lib/components/utils/check-in-center/Widget.vue";var f=u.exports},109:function(e){e.exports=coreApis.utils}},t={};function n(i){var o=t[i];if(void 0!==o)return o.exports;var s=t[i]={exports:{}};return e[i](s,s.exports,n),s.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){n.d(i,{component:function(){return t}});var e=n(109);const t={name:"checkInCenter",displayName:"签到助手",description:{"zh-CN":"在功能面板中提供一些可以每日进行的操作."},tags:[componentsTags.utils],entry:none,widget:{component:()=>Promise.resolve().then(n.bind(n,813)).then((e=>e.default)),condition:()=>Boolean((0,e.getUID)())},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/utils/column-unlock.js b/registry/dist/components/utils/column-unlock.js index bc2308bb4..dc310b0d5 100644 --- a/registry/dist/components/utils/column-unlock.js +++ b/registry/dist/components/utils/column-unlock.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["utils/column-unlock"]=t():e["utils/column-unlock"]=t()}(self,(function(){return function(){"use strict";var e,t,o={163:function(e){e.exports=coreApis.style}},n={};function r(e){var t=n[e];if(void 0!==t)return t.exports;var c=n[e]={exports:{}};return o[e](c,c.exports,r),c.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(o,n){if(1&n&&(o=this(o)),8&n)return o;if("object"==typeof o&&o){if(4&n&&o.__esModule)return o;if(16&n&&"function"==typeof o.then)return o}var c=Object.create(null);r.r(c);var u={};e=e||[null,t({}),t([]),t(t)];for(var i=2&n&&o;"object"==typeof i&&!~e.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach((function(e){u[e]=function(){return o[e]}}));return u.default=function(){return o},r.d(c,u),c},r.d=function(e,t){for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var c={};return function(){r.d(c,{component:function(){return u}});let e=!1,t=!0;const o="column-unlock",n=async()=>{t=!0;const{addStyle:n}=await Promise.resolve().then(r.t.bind(r,163,23));n(".article-holder { user-select: text !important }",o),e||(e=!0,document.addEventListener("copy",(e=>{t&&e.stopImmediatePropagation()}),{capture:!0}))},u={name:"columnUnlock",displayName:"专栏文字选择",entry:n,reload:n,unload:async()=>{document.getElementById(o)?.remove(),t=!1},tags:[componentsTags.utils],description:{"zh-CN":"使专栏的文字可以选择."},urlInclude:["//www.bilibili.com/read/"],commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),c=c.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["utils/column-unlock"]=t():e["utils/column-unlock"]=t()}(self,(function(){return function(){"use strict";var e,t,o={163:function(e){e.exports=coreApis.style}},n={};function r(e){var t=n[e];if(void 0!==t)return t.exports;var c=n[e]={exports:{}};return o[e](c,c.exports,r),c.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(o,n){if(1&n&&(o=this(o)),8&n)return o;if("object"==typeof o&&o){if(4&n&&o.__esModule)return o;if(16&n&&"function"==typeof o.then)return o}var c=Object.create(null);r.r(c);var u={};e=e||[null,t({}),t([]),t(t)];for(var i=2&n&&o;"object"==typeof i&&!~e.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach((function(e){u[e]=function(){return o[e]}}));return u.default=function(){return o},r.d(c,u),c},r.d=function(e,t){for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var c={};return function(){r.d(c,{component:function(){return u}});let e=!1,t=!0;const o="column-unlock",n=async()=>{t=!0;const{addStyle:n}=await Promise.resolve().then(r.t.bind(r,163,23));n(".article-holder { user-select: text !important }",o),e||(e=!0,document.addEventListener("copy",(e=>{t&&e.stopImmediatePropagation()}),{capture:!0}))},u={name:"columnUnlock",displayName:"专栏文字选择",entry:n,reload:n,unload:async()=>{document.getElementById(o)?.remove(),t=!1},tags:[componentsTags.utils],description:{"zh-CN":"使专栏的文字可以选择."},urlInclude:["//www.bilibili.com/read/"],commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),c=c.component}()})); \ No newline at end of file diff --git a/registry/dist/components/utils/comments/copy-link.js b/registry/dist/components/utils/comments/copy-link.js index 6ef712a69..eb974491e 100644 --- a/registry/dist/components/utils/comments/copy-link.js +++ b/registry/dist/components/utils/comments/copy-link.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["utils/comments/copy-link"]=t():e["utils/comments/copy-link"]=t()}(self,(function(){return function(){"use strict";var e,t,n={169:function(e){e.exports=coreApis.componentApis.utils.commentApis}},o={};function r(e){var t=o[e];if(void 0!==t)return t.exports;var i=o[e]={exports:{}};return n[e](i,i.exports,r),i.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var i=Object.create(null);r.r(i);var c={};e=e||[null,t({}),t([]),t(t)];for(var u=2&o&&n;"object"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach((function(e){c[e]=function(){return n[e]}}));return c.default=function(){return n},r.d(i,c),i},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){r.d(i,{component:function(){return n}});var e=coreApis.utils,t=coreApis.utils.urls;const n={name:"copyCommentsLink",displayName:"复制评论链接",description:{"zh-CN":"开启后, 可在每条评论的菜单中选择复制链接."},entry:async()=>{const{forEachCommentItem:n,addMenuItem:o}=await Promise.resolve().then(r.t.bind(r,169,23));n({added:n=>{const r=n=>{n.forEach((n=>{o(n,{className:"copy-link",text:"复制链接",action:async()=>{const o=(n=>{if(document.URL.match(/\/\/t\.bilibili\.com\/(\d+)/))return"";if(t.feedsUrls.every((t=>!(0,e.matchUrlPattern)(t))))return"";let o=n;for(;null!==o&&o!==document.body;){if(o.hasAttribute("data-did"))return`https://t.bilibili.com/${o.getAttribute("data-did")}`;o=o.parentElement}return""})(n.element)||document.URL.replace(location.hash,"");await navigator.clipboard.writeText(`${o}#reply${n.id}`);const r=dq(n.element,".opera-list");r&&(r.style.display="none")}})}))};r([n,...n.replies]),n.onRepliesUpdate=e=>r(e)}})},tags:[componentsTags.utils],commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["utils/comments/copy-link"]=e():t["utils/comments/copy-link"]=e()}(self,(function(){return function(){"use strict";var t,e,n={169:function(t){t.exports=coreApis.componentApis.utils.commentApis}},o={};function r(t){var e=o[t];if(void 0!==e)return e.exports;var i=o[t]={exports:{}};return n[t](i,i.exports,r),i.exports}e=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__},r.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var i=Object.create(null);r.r(i);var c={};t=t||[null,e({}),e([]),e(e)];for(var a=2&o&&n;"object"==typeof a&&!~t.indexOf(a);a=e(a))Object.getOwnPropertyNames(a).forEach((function(t){c[t]=function(){return n[t]}}));return c.default=function(){return n},r.d(i,c),i},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var i={};return function(){r.d(i,{component:function(){return n}});var t=coreApis.utils,e=coreApis.utils.urls;const n={name:"copyCommentsLink",displayName:"复制评论链接",description:{"zh-CN":"开启后, 可在每条评论的菜单中选择复制链接."},entry:async()=>{const{forEachCommentItem:n,addMenuItem:o}=await Promise.resolve().then(r.t.bind(r,169,23));n({added:n=>{const r=n=>{n.forEach((n=>{o(n,{className:"copy-link",text:"复制链接",action:async()=>{const o=(n=>{if(document.URL.match(/\/\/t\.bilibili\.com\/(\d+)/))return"";if(e.feedsUrls.every((e=>!(0,t.matchUrlPattern)(e))))return"";let o=n;for(;null!==o&&o!==document.body;){if(o.hasAttribute("data-did"))return`https://t.bilibili.com/${o.getAttribute("data-did")}`;o=o.parentElement}return""})(n.element)||document.URL.replace(location.hash,"");await navigator.clipboard.writeText(`${o}#reply${n.id}`);const r=dq(n.element,".opera-list");r&&(r.style.display="none")}})}))};r([n,...n.replies]),n.onRepliesUpdate=t=>r(t)}})},tags:[componentsTags.utils],commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/utils/download-audio.js b/registry/dist/components/utils/download-audio.js index b674ba610..e7fa02723 100644 --- a/registry/dist/components/utils/download-audio.js +++ b/registry/dist/components/utils/download-audio.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["utils/download-audio"]=t():e["utils/download-audio"]=t()}(self,(function(){return function(){"use strict";var e,t,o={875:function(e,t,o){o.r(t),o.d(t,{default:function(){return u}});var n=function(){var e=this,t=e.$createElement;return(e._self._c||t)("DefaultWidget",{attrs:{disabled:e.disabled||e.downloading,name:e.progress||"下载音频",icon:"mdi-download"},on:{click:function(t){return e.download()}}})};n._withStripped=!0;var r=coreApis.spinQuery,i=coreApis.observer,s=coreApis.download,d=coreApis.ui;function a(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}class l{constructor(){a(this,"progress",null),a(this,"sid",void 0)}async getDownloadUrl(){const{getJsonWithCredentials:e}=await Promise.resolve().then(o.t.bind(o,663,23)),{Toast:t}=await Promise.resolve().then(o.t.bind(o,141,23)),n=`https://www.bilibili.com/audio/music-service-c/web/url?sid=${this.sid}&privilege=2&quality=2`,r=await e(n);return 0!==r.code?(t.error("获取下载链接失败, 请确保当前账号有下载权限.","下载音频",1e4),null):r.data.cdns.shift()}async download(){const e=await this.getDownloadUrl();return new Promise(((t,o)=>{const n=new XMLHttpRequest;n.open("GET",e),n.responseType="blob",n.addEventListener("load",(()=>t(n.response))),n.addEventListener("error",(()=>o(n.status))),n.addEventListener("progress",(e=>this.progress?.(100*e.loaded/e.total))),n.send()}))}}var c=function(e,t,o,n,r,i,s,d){var a,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=o,l._compiled=!0),n&&(l.functional=!0),i&&(l._scopeId="data-v-"+i),s?(a=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=a):r&&(a=d?function(){r.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:r),a)if(l.functional){l._injectStyles=a;var c=l.render;l.render=function(e,t){return a.call(t),c(e,t)}}else{var u=l.beforeCreate;l.beforeCreate=u?[].concat(u,a):[a]}return{exports:e,options:l}}(Vue.extend({components:{DefaultWidget:d.DefaultWidget},data:()=>({progress:"",disabled:!0,downloader:new l,downloading:!1}),async mounted(){const e=await(0,r.select)("#app"),t=this.downloader;t.progress=e=>{this.progress=`${Math.round(e)}%`},(0,i.childList)(e,(()=>{const e=document.URL.match(/bilibili\.com\/audio\/au([\d]+)/);e&&e[1]?(this.disabled=!1,[,t.sid]=e):this.disabled=!0}))},methods:{async download(){if(!this.downloading){this.downloading=!0;try{const e=this.downloader;if(null===e.sid)return;const t=await e.download(),o=`${(()=>{const e=document.querySelector(".song-title");return e?e.getAttribute("title"):"神秘音频"})()}.mp3`;this.progress="",await s.DownloadPackage.single(o,t)}finally{this.downloading=!1}}}}}),n,[],!1,null,null,null);c.options.__file="registry/lib/components/utils/download-audio/DownloadAudio.vue";var u=c.exports},663:function(e){e.exports=coreApis.ajax},141:function(e){e.exports=coreApis.toast}},n={};function r(e){var t=n[e];if(void 0!==t)return t.exports;var i=n[e]={exports:{}};return o[e](i,i.exports,r),i.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(o,n){if(1&n&&(o=this(o)),8&n)return o;if("object"==typeof o&&o){if(4&n&&o.__esModule)return o;if(16&n&&"function"==typeof o.then)return o}var i=Object.create(null);r.r(i);var s={};e=e||[null,t({}),t([]),t(t)];for(var d=2&n&&o;"object"==typeof d&&!~e.indexOf(d);d=t(d))Object.getOwnPropertyNames(d).forEach((function(e){s[e]=function(){return o[e]}}));return s.default=function(){return o},r.d(i,s),i},r.d=function(e,t){for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){r.d(i,{component:function(){return e}});const e={name:"downloadAudio",displayName:"下载音频",entry:none,tags:[componentsTags.utils],description:{"zh-CN":"\n开启音频下载支持, 音频页面中可以在功能面板中下载当前音频.\n\n> 需要进入音频的详细信息页面才能下载, 在其他页面中此按钮将不可点击.\n ".trim()},widget:{component:()=>Promise.resolve().then(r.bind(r,875)).then((e=>e.default))},urlInclude:["//www.bilibili.com/audio/"],commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["utils/download-audio"]=t():e["utils/download-audio"]=t()}(self,(function(){return function(){"use strict";var e,t,o={875:function(e,t,o){o.r(t),o.d(t,{default:function(){return c}});var n=function(){var e=this,t=e.$createElement;return(e._self._c||t)("DefaultWidget",{attrs:{disabled:e.disabled||e.downloading,name:e.progress||"下载音频",icon:"mdi-download"},on:{click:function(t){return e.download()}}})};n._withStripped=!0;var r=coreApis.spinQuery,i=coreApis.observer,s=coreApis.download,a=coreApis.ui;function d(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}class l{constructor(){d(this,"progress",null),d(this,"sid",void 0)}async getDownloadUrl(){const{getJsonWithCredentials:e}=await Promise.resolve().then(o.t.bind(o,663,23)),{Toast:t}=await Promise.resolve().then(o.t.bind(o,141,23)),n=`https://www.bilibili.com/audio/music-service-c/web/url?sid=${this.sid}&privilege=2&quality=2`,r=await e(n);return 0!==r.code?(t.error("获取下载链接失败, 请确保当前账号有下载权限.","下载音频",1e4),null):r.data.cdns.shift()}async download(){const e=await this.getDownloadUrl();return new Promise(((t,o)=>{const n=new XMLHttpRequest;n.open("GET",e),n.responseType="blob",n.addEventListener("load",(()=>t(n.response))),n.addEventListener("error",(()=>o(n.status))),n.addEventListener("progress",(e=>this.progress?.(100*e.loaded/e.total))),n.send()}))}}var u=function(e,t,o,n,r,i,s,a){var d,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=o,l._compiled=!0),n&&(l.functional=!0),i&&(l._scopeId="data-v-"+i),s?(d=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=d):r&&(d=a?function(){r.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:r),d)if(l.functional){l._injectStyles=d;var u=l.render;l.render=function(e,t){return d.call(t),u(e,t)}}else{var c=l.beforeCreate;l.beforeCreate=c?[].concat(c,d):[d]}return{exports:e,options:l}}(Vue.extend({components:{DefaultWidget:a.DefaultWidget},data:()=>({progress:"",disabled:!0,downloader:new l,downloading:!1}),async mounted(){const e=await(0,r.select)("#app"),t=this.downloader;t.progress=e=>{this.progress=`${Math.round(e)}%`},(0,i.childList)(e,(()=>{const e=document.URL.match(/bilibili\.com\/audio\/au([\d]+)/);e&&e[1]?(this.disabled=!1,[,t.sid]=e):this.disabled=!0}))},methods:{async download(){if(!this.downloading){this.downloading=!0;try{const e=this.downloader;if(null===e.sid)return;const t=await e.download(),o=`${(()=>{const e=document.querySelector(".song-title");return e?e.getAttribute("title"):"神秘音频"})()}.mp3`;this.progress="",await s.DownloadPackage.single(o,t)}finally{this.downloading=!1}}}}}),n,[],!1,null,null,null);u.options.__file="registry/lib/components/utils/download-audio/DownloadAudio.vue";var c=u.exports},663:function(e){e.exports=coreApis.ajax},141:function(e){e.exports=coreApis.toast}},n={};function r(e){var t=n[e];if(void 0!==t)return t.exports;var i=n[e]={exports:{}};return o[e](i,i.exports,r),i.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(o,n){if(1&n&&(o=this(o)),8&n)return o;if("object"==typeof o&&o){if(4&n&&o.__esModule)return o;if(16&n&&"function"==typeof o.then)return o}var i=Object.create(null);r.r(i);var s={};e=e||[null,t({}),t([]),t(t)];for(var a=2&n&&o;"object"==typeof a&&!~e.indexOf(a);a=t(a))Object.getOwnPropertyNames(a).forEach((function(e){s[e]=function(){return o[e]}}));return s.default=function(){return o},r.d(i,s),i},r.d=function(e,t){for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){r.d(i,{component:function(){return e}});const e={name:"downloadAudio",displayName:"下载音频",entry:none,tags:[componentsTags.utils],description:{"zh-CN":"\n开启音频下载支持, 音频页面中可以在功能面板中下载当前音频.\n\n> 需要进入音频的详细信息页面才能下载, 在其他页面中此按钮将不可点击.\n ".trim()},widget:{component:()=>Promise.resolve().then(r.bind(r,875)).then((e=>e.default))},urlInclude:["//www.bilibili.com/audio/"],commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/utils/image-exporter.js b/registry/dist/components/utils/image-exporter.js index d0e947502..d85614589 100644 --- a/registry/dist/components/utils/image-exporter.js +++ b/registry/dist/components/utils/image-exporter.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["utils/image-exporter"]=t():e["utils/image-exporter"]=t()}(self,(function(){return function(){"use strict";var e={783:function(e,t,n){n.r(t),n.d(t,{default:function(){return f}});var o=function(){var e=this,t=e.$createElement;return(e._self._c||t)("DefaultWidget",{attrs:{name:"导出图片",icon:"mdi-export",disabled:e.busy},on:{click:function(t){return e.exportImages()}}})};o._withStripped=!0;var r=n(663),i=n(508),s=coreApis.settings,a=n(141),c=n(109),l=coreApis.utils.log,u=n(129),d=coreApis.ui;var p=function(e,t,n,o,r,i,s,a){var c,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),o&&(l.functional=!0),i&&(l._scopeId="data-v-"+i),s?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):r&&(c=a?function(){r.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:e,options:l}}(Vue.extend({components:{DefaultWidget:d.DefaultWidget},data:()=>({busy:!1}),methods:{async exportImages(){const{columnFormat:e}=(0,s.getComponentSettings)("imageExporter").options,t=a.Toast.info("下载中...","导出图片");this.busy=!0;try{const n=[],o=dq(".banner-image .card-image__image"),s=(0,c.retrieveImageUrl)(o);s&&(n.push({...s,name:`${(0,u.formatTitle)(e,!1,{n:"1"})}${s.extension}`}),console.log(o,s,n));if(dqa('.article-content .img-box img:not([class*="cut-off-"])').forEach((t=>{const o=(0,c.retrieveImageUrl)(t);o&&n.push({...o,name:`${(0,u.formatTitle)(e,!1,{n:(n.length+1).toString()})}${o.extension}`})})),0===n.length)return void a.Toast.info("此页面没有检测到任何可导出图片.","图片导出");let l=0;const d=await Promise.all(n.map((async({url:e})=>{const o=await(0,r.getBlob)(e);return l++,t.message=`下载中... (${l}/${n.length})`,o}))),p=new i.DownloadPackage;d.forEach(((e,t)=>p.add(n[t].name,e))),await p.emit(`${(0,u.formatTitle)(e,!1,{n:""})}.zip`)}catch(e){(0,l.logError)(e)}finally{this.busy=!1,t.dismiss()}}}}),o,[],!1,null,null,null);p.options.__file="registry/lib/components/utils/image-exporter/Widget.vue";var f=p.exports},996:function(e){e.exports="可以批量导出某个地方的图片, 目前支持动态和专栏.\n\n动态文件名变量:\n- `user`: 用户名\n- `id`: 动态 ID\n- `n`: 第 n 张图\n\n专栏文件名变量:\n- `title`: 专栏标题\n- `n`: 第 n 张图"},663:function(e){e.exports=coreApis.ajax},508:function(e){e.exports=coreApis.download},141:function(e){e.exports=coreApis.toast},129:function(e){e.exports=coreApis.utils.title},109:function(e){e.exports=coreApis.utils}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={exports:{}};return e[o](i,i.exports,n),i.exports}n.d=function(e,t){for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return function(){n.d(o,{component:function(){return l}});var e=n(109),t=coreApis.utils.urls,r=coreApis.componentApis.feeds.api,i=n(663),s=n(508),a=n(141),c=n(129);const l={name:"imageExporter",displayName:"图片批量导出",description:{"zh-CN":n(996)},tags:[componentsTags.feeds,componentsTags.utils],entry:async n=>{await(async({settings:{options:n}})=>{if(!t.feedsUrls.some((t=>(0,e.matchUrlPattern)(t))))return;(0,r.forEachFeedsCard)({added:t=>{(0,r.addMenuItem)(t,{className:"image-export",text:"导出图片",action:async()=>{const o=[];if(dqa(t.element,".main-content .img-content, .bili-album__preview__picture__img").forEach((t=>{const n=(0,e.retrieveImageUrl)(t);n&&!o.some((({url:e})=>e===n.url))&&o.push(n)})),0===o.length)return void a.Toast.info("此条动态没有检测到任何图片.","导出图片");const r=a.Toast.info("下载中...","导出图片");let l=0;const u=await Promise.all(o.map((async({url:e})=>{const t=await(0,i.getBlob)(e);return l++,r.message=`下载中... (${l}/${o.length})`,t}))),d=new s.DownloadPackage,{feedFormat:p}=n;u.forEach(((e,n)=>{const r={user:t.username,id:t.id,n:(n+1).toString()};d.add(`${(0,c.formatTitle)(p,!1,r)}${o[n].extension}`,e)})),r.dismiss();const f={user:t.username,id:t.id,n:""};await d.emit(`${(0,c.formatTitle)(p,!1,f)}.zip`)}})}})})(n)},widget:{condition:()=>t.columnUrls.some((t=>(0,e.matchUrlPattern)(t))),component:()=>Promise.resolve().then(n.bind(n,783)).then((e=>e.default))},urlInclude:[...t.feedsUrls,...t.columnUrls],options:{columnFormat:{defaultValue:"[title][ - n]",displayName:"专栏图片命名格式"},feedFormat:{defaultValue:"[user][ - id][ - n]",displayName:"动态图片命名格式"}},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),o=o.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["utils/image-exporter"]=t():e["utils/image-exporter"]=t()}(self,(function(){return function(){"use strict";var e={783:function(e,t,n){n.r(t),n.d(t,{default:function(){return p}});var o=function(){var e=this,t=e.$createElement;return(e._self._c||t)("DefaultWidget",{attrs:{name:"导出图片",icon:"mdi-export",disabled:e.busy},on:{click:function(t){return e.exportImages()}}})};o._withStripped=!0;var r=n(663),i=n(508),s=coreApis.settings,a=n(141),c=n(109),l=coreApis.utils.log,u=n(129),d=coreApis.ui;var f=function(e,t,n,o,r,i,s,a){var c,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),o&&(l.functional=!0),i&&(l._scopeId="data-v-"+i),s?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):r&&(c=a?function(){r.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:e,options:l}}(Vue.extend({components:{DefaultWidget:d.DefaultWidget},data:()=>({busy:!1}),methods:{async exportImages(){const{columnFormat:e}=(0,s.getComponentSettings)("imageExporter").options,t=a.Toast.info("下载中...","导出图片");this.busy=!0;try{const n=[],o=dq(".banner-image .card-image__image"),s=(0,c.retrieveImageUrl)(o);s&&(n.push({...s,name:`${(0,u.formatTitle)(e,!1,{n:"1"})}${s.extension}`}),console.log(o,s,n));if(dqa('.article-content .img-box img:not([class*="cut-off-"])').forEach((t=>{const o=(0,c.retrieveImageUrl)(t);o&&n.push({...o,name:`${(0,u.formatTitle)(e,!1,{n:(n.length+1).toString()})}${o.extension}`})})),0===n.length)return void a.Toast.info("此页面没有检测到任何可导出图片.","图片导出");let l=0;const d=await Promise.all(n.map((async({url:e})=>{const o=await(0,r.getBlob)(e);return l++,t.message=`下载中... (${l}/${n.length})`,o}))),f=new i.DownloadPackage;d.forEach(((e,t)=>f.add(n[t].name,e))),await f.emit(`${(0,u.formatTitle)(e,!1,{n:""})}.zip`)}catch(e){(0,l.logError)(e)}finally{this.busy=!1,t.dismiss()}}}}),o,[],!1,null,null,null);f.options.__file="registry/lib/components/utils/image-exporter/Widget.vue";var p=f.exports},996:function(e){e.exports="可以批量导出某个地方的图片, 目前支持动态和专栏.\n\n动态文件名变量:\n- `user`: 用户名\n- `id`: 动态 ID\n- `n`: 第 n 张图\n\n专栏文件名变量:\n- `title`: 专栏标题\n- `n`: 第 n 张图"},663:function(e){e.exports=coreApis.ajax},508:function(e){e.exports=coreApis.download},141:function(e){e.exports=coreApis.toast},129:function(e){e.exports=coreApis.utils.title},109:function(e){e.exports=coreApis.utils}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={exports:{}};return e[o](i,i.exports,n),i.exports}n.d=function(e,t){for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return function(){n.d(o,{component:function(){return l}});var e=n(109),t=coreApis.utils.urls,r=coreApis.componentApis.feeds.api,i=n(663),s=n(508),a=n(141),c=n(129);const l={name:"imageExporter",displayName:"图片批量导出",description:{"zh-CN":n(996)},tags:[componentsTags.feeds,componentsTags.utils],entry:async n=>{await(async({settings:{options:n}})=>{if(!t.feedsUrls.some((t=>(0,e.matchUrlPattern)(t))))return;(0,r.forEachFeedsCard)({added:t=>{(0,r.addMenuItem)(t,{className:"image-export",text:"导出图片",action:async()=>{const o=[];if(dqa(t.element,".main-content .img-content, .bili-album__preview__picture__img").forEach((t=>{const n=(0,e.retrieveImageUrl)(t);n&&!o.some((({url:e})=>e===n.url))&&o.push(n)})),0===o.length)return void a.Toast.info("此条动态没有检测到任何图片.","导出图片");const r=a.Toast.info("下载中...","导出图片");let l=0;const u=await Promise.all(o.map((async({url:e})=>{const t=await(0,i.getBlob)(e);return l++,r.message=`下载中... (${l}/${o.length})`,t}))),d=new s.DownloadPackage,{feedFormat:f}=n;u.forEach(((e,n)=>{const r={user:t.username,id:t.id,n:(n+1).toString()};d.add(`${(0,c.formatTitle)(f,!1,r)}${o[n].extension}`,e)})),r.dismiss();const p={user:t.username,id:t.id,n:""};await d.emit(`${(0,c.formatTitle)(f,!1,p)}.zip`)}})}})})(n)},widget:{condition:()=>t.columnUrls.some((t=>(0,e.matchUrlPattern)(t))),component:()=>Promise.resolve().then(n.bind(n,783)).then((e=>e.default))},urlInclude:[...t.feedsUrls,...t.columnUrls],options:{columnFormat:{defaultValue:"[title][ - n]",displayName:"专栏图片命名格式"},feedFormat:{defaultValue:"[user][ - id][ - n]",displayName:"动态图片命名格式"}},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),o=o.component}()})); \ No newline at end of file diff --git a/registry/dist/components/utils/image-resolution.js b/registry/dist/components/utils/image-resolution.js index 608da7e9f..1ab401b5a 100644 --- a/registry/dist/components/utils/image-resolution.js +++ b/registry/dist/components/utils/image-resolution.js @@ -6,4 +6,4 @@ e.i=function(t,n,o){"string"==typeof t&&( // eslint-disable-next-line no-param-reassign t=[[null,t,""]]);var r={};if(o)for(var i=0;i{const n=document.createNodeIterator(t,NodeFilter.SHOW_ELEMENT);let o=n.nextNode();for(;o;)e(o),o=n.nextNode()},a=async(t,o)=>{const{attributes:i}=await Promise.resolve().then(r.t.bind(r,156,23)),a=(r,i)=>{const a=r(o);if(null===a)return;if(n.some((t=>o.matches(t))))return;const c=a.match(e);if(!c)return;const[,s,u]=c,f=parseInt(o.getAttribute("data-resolution-width")||"0");if(parseInt(s)>=f&&0!==f)return;null===o.getAttribute("width")&&null===o.getAttribute("height")&&(o.classList.contains("bili-avatar-img")?o.setAttribute("height",u):o.setAttribute("width",s));const l=Math.round(t*parseInt(s)).toString(),d=Math.round(t*parseInt(u)).toString();o.setAttribute("data-resolution-width",l),i(o,a.replace(e,`@${l}w_${d}h`))};i(o,(()=>{a((t=>t.getAttribute("src")),((t,e)=>t.setAttribute("src",e))),a((t=>t.style.backgroundImage),((t,e)=>t.style.backgroundImage=e))}))},c=(0,t.styledComponentEntry)((()=>Promise.resolve().then(r.t.bind(r,519,23))),(async({settings:t})=>{const{allMutations:e}=await Promise.resolve().then(r.t.bind(r,156,23)),n="auto"===t.options.scale?window.devicePixelRatio:parseFloat(t.options.scale);o(document.body,(t=>a(n,t))),e((t=>{t.forEach((t=>t.addedNodes.forEach((t=>{t instanceof HTMLElement&&(a(n,t),"IMG"!==t.nodeName.toUpperCase()&&o(t,(t=>a(n,t))))}))))}))})),s={name:"imageResolution",displayName:"高分辨率图片",tags:[componentsTags.utils],enabledByDefault:window.devicePixelRatio>1,entry:c,description:{"zh-CN":"根据屏幕 DPI 请求更高分辨率的图片, 例如 DPI 缩放 200% 则请求 2 倍的分辨率, 加载时间也会相应变长一些. (也会导致某些浏览器里出现图片闪动, 因为本质上是更换了图片源)"},options:{scale:{displayName:"缩放级别",defaultValue:"auto",hidden:!0}},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var a=this[i][0];null!=a&&(r[a]=!0)}for(var s=0;s{const n=document.createNodeIterator(t,NodeFilter.SHOW_ELEMENT);let o=n.nextNode();for(;o;)e(o),o=n.nextNode()},a=async(t,o)=>{const{attributes:i}=await Promise.resolve().then(r.t.bind(r,156,23)),a=(r,i)=>{const a=r(o);if(null===a)return;if(n.some((t=>o.matches(t))))return;const s=a.match(e);if(!s)return;const[,c,u]=s,f=parseInt(o.getAttribute("data-resolution-width")||"0");if(parseInt(c)>=f&&0!==f)return;null===o.getAttribute("width")&&null===o.getAttribute("height")&&(o.classList.contains("bili-avatar-img")?o.setAttribute("height",u):o.setAttribute("width",c));const l=Math.round(t*parseInt(c)).toString(),d=Math.round(t*parseInt(u)).toString();o.setAttribute("data-resolution-width",l),i(o,a.replace(e,`@${l}w_${d}h`))};i(o,(()=>{a((t=>t.getAttribute("src")),((t,e)=>t.setAttribute("src",e))),a((t=>t.style.backgroundImage),((t,e)=>t.style.backgroundImage=e))}))},s=(0,t.styledComponentEntry)((()=>Promise.resolve().then(r.t.bind(r,519,23))),(async({settings:t})=>{const{allMutations:e}=await Promise.resolve().then(r.t.bind(r,156,23)),n="auto"===t.options.scale?window.devicePixelRatio:parseFloat(t.options.scale);o(document.body,(t=>a(n,t))),e((t=>{t.forEach((t=>t.addedNodes.forEach((t=>{t instanceof HTMLElement&&(a(n,t),"IMG"!==t.nodeName.toUpperCase()&&o(t,(t=>a(n,t))))}))))}))})),c={name:"imageResolution",displayName:"高分辨率图片",tags:[componentsTags.utils],enabledByDefault:window.devicePixelRatio>1,entry:s,description:{"zh-CN":"根据屏幕 DPI 请求更高分辨率的图片, 例如 DPI 缩放 200% 则请求 2 倍的分辨率, 加载时间也会相应变长一些. (也会导致某些浏览器里出现图片闪动, 因为本质上是更换了图片源)"},options:{scale:{displayName:"缩放级别",defaultValue:"auto",hidden:!0}},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/utils/keymap.js b/registry/dist/components/utils/keymap.js index c7bbf5ea0..0c91de707 100644 --- a/registry/dist/components/utils/keymap.js +++ b/registry/dist/components/utils/keymap.js @@ -1,4 +1,4 @@ -!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports["utils/keymap"]=n():e["utils/keymap"]=n()}(self,(function(){return function(){var e,n,t={307:function(e,n,t){"use strict";t.d(n,{Nw:function(){return u},vN:function(){return l},$j:function(){return s},kW:function(){return d}});var i=coreApis.componentApis.video.playerAgent,r=t(407),o=t(269);const s=(e,n)=>{const{event:t}=n,i=new MouseEvent("click",{...lodash.pick(t,"ctrlKey","shiftKey","altKey","metaKey")});if("string"==typeof e){const n=dq(e);if(!n)return!1;n.dispatchEvent(i)}else{if(!e)return!1;e.dispatchEvent(i)}return!0},a=e=>n=>s(e,n),l=e=>()=>i.playerAgent.changeTime("number"==typeof e?e:e());let c;const d=async(e,n)=>{let t=dq(".keymap-tip");if(!t){const r=await i.playerAgent.query.playerArea();if(!r)return;r.insertAdjacentHTML("afterbegin",`\n
    \n \n
    ${e}
    \n
    \n `),t=dq(".keymap-tip")}t.innerHTML=e;const r=dq(".keymap-tip-container"),o=dq(r,".mdi");o.classList.remove(...o.classList.values()),o.classList.add("mdi",n),c&&clearTimeout(c),r.classList.add("show"),c=window.setTimeout((()=>{r.classList.remove("show")}),2e3)},p={fullscreen:{displayName:"全屏",run:()=>i.playerAgent.fullscreen()},webFullscreen:{displayName:"网页全屏",run:()=>i.playerAgent.webFullscreen()},wideScreen:{displayName:"宽屏",run:()=>i.playerAgent.widescreen()},volumeUp:{displayName:"增加音量",run:()=>{const e=i.playerAgent.changeVolume(10);return lodash.isNil(e)?e:(d(`${e}%`,"mdi-volume-high"),!0)}},volumeDown:{displayName:"降低音量",run:()=>{const e=i.playerAgent.changeVolume(-10);return lodash.isNil(e)?e:(0===e?d("静音","mdi-volume-off"):d(`${e}%`,"mdi-volume-high"),!0)}},mute:{displayName:"静音",run:()=>{const e=i.playerAgent.toggleMute();return lodash.isNil(e)?e:(i.playerAgent.isMute()?d("已静音","mdi-volume-off"):d("已取消静音","mdi-volume-high"),!0)}},pictureInPicture:{displayName:"画中画",run:()=>i.playerAgent.togglePip()},coin:{displayName:"投币",run:a(".video-toolbar .coin,.tool-bar .coin-info, .video-toolbar-module .coin-box, .play-options-ul > li:nth-child(2)")},favorite:{displayName:"收藏",run:a(".video-toolbar .collect, .video-toolbar-module .fav-box, .play-options-ul > li:nth-child(3)")},pause:{displayName:"暂停/播放",run:()=>i.playerAgent.togglePlay()},like:{displayName:"点赞",run:(()=>{let e=!0;return n=>{const{event:t}=n,i=dq(".video-toolbar .like, .tool-bar .like-info");if(!i)return!1;t.preventDefault();const r=(e,n)=>{const t=new CustomEvent(e,n);i.dispatchEvent(t)};return e=!0,setTimeout((()=>e=!1),200),r("mousedown",t),document.body.addEventListener("keyup",(n=>{n.preventDefault(),r("mouseup",n),e&&r("click",n)}),{once:!0}),!0}})()},danmaku:{displayName:"弹幕开关",run:()=>i.playerAgent.toggleDanmaku()},longJumpBackward:{displayName:"长倒退",run:()=>i.playerAgent.changeTime(-(0,r.getComponentSettings)("keymap").options.longJumpSeconds)},longJumpForward:{displayName:"长前进",run:()=>i.playerAgent.changeTime((0,r.getComponentSettings)("keymap").options.longJumpSeconds)},jumpBackward:{displayName:"倒退",run:()=>i.playerAgent.changeTime(-5)},jumpForward:{displayName:"前进",run:()=>i.playerAgent.changeTime(5)},playerMenu:{displayName:"播放器菜单",run:()=>{const e=i.playerAgent.query.video.container.sync();if(!e)return null;const n=e.getBoundingClientRect();return e.dispatchEvent(new MouseEvent("contextmenu",{bubbles:!0,cancelable:!1,view:unsafeWindow,button:2,buttons:0,clientX:n.x+n.width/2-88.325,clientY:n.y+n.height/2-97})),!0}},seekBegin:{displayName:"回开头",run:()=>i.playerAgent.seek(0)},sendComment:{displayName:"发送评论",ignoreTyping:!1,run:()=>{const e=document.activeElement?.nextElementSibling;return e?(e.click(),!0):null}}},[u]=(0,o.registerAndGetData)("keymap.actions",p)},799:function(e,n,t){"use strict";t.d(n,{Wb:function(){return r},um:function(){return o}});var i=t(269);const r={fullscreen:"f",webFullscreen:"w",wideScreen:"t",volumeUp:"arrowUp",volumeDown:"arrowDown",mute:"m",pictureInPicture:"p",coin:"c",favorite:"s",pause:"space",like:"l",playerMenu:"`",longJumpForward:"j",longJumpBackward:"shift j",jumpBackward:"arrowLeft",jumpForward:"arrowRight",danmaku:"d",seekBegin:"0",sendComment:"ctrl enter"},[,o]=(0,i.registerAndGetData)("keymap.presets",r,{Default:{},YouTube:{like:"",pause:"space k",longJumpForward:"l",longJumpBackward:"j",seekBegin:"0 Home"},HTML5Player:{coin:"shift c",danmaku:"shift d",fullscreen:"enter",webFullscreen:"shift enter",pictureInPicture:"shift p",longJumpBackward:"ctrl arrowLeft",longJumpForward:"ctrl arrowRight"},PotPlayer:{coin:"shift c",danmaku:"shift d",fullscreen:"enter",webFullscreen:"6",longJumpBackward:"ctrl arrowLeft",longJumpForward:"ctrl arrowRight",seekBegin:"backspace"}})},450:function(e,n,t){"use strict";t.r(n),t.d(n,{loadKeymapSettings:function(){return o},toggleKeymapSettings:function(){return s}});var i=t(109);let r;const o=async e=>{if(r)return;const n=await Promise.resolve().then(t.bind(t,415)).then((e=>e.default));r=(0,i.mountVueComponent)(n),e&&(r.triggerElement=e),document.body.insertAdjacentElement("beforeend",r.$el)},s=async e=>{r||await o(e),r.popupOpen=!r.popupOpen}},376:function(e,n,t){var i=t(645)((function(e){return e[1]}));i.push([e.id,".keymap-extra-options {\n display: flex;\n align-items: center;\n grid-gap: 0;\n gap: 0;\n justify-content: center;\n}\n.keymap-extra-options .keymap-settings-button .be-icon {\n margin-right: 8px;\n}",""]),e.exports=i},529:function(e,n,t){var i=t(645)((function(e){return e[1]}));i.push([e.id,".keymap-settings-popup {\n background-color: #fff;\n color: black;\n border-radius: 8px;\n border: 1px solid rgba(136,136,136,0.13333);\n box-sizing: border-box;\n box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.05);\n transition: 0.2s ease-out;\n width: 550px;\n top: 50%;\n left: 50%;\n z-index: 100002;\n transform: translateX(-50%) translateY(-50%) scale(0.9);\n display: flex;\n flex-direction: column;\n}\nbody.dark .keymap-settings-popup {\n box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.2);\n}\nbody.dark .keymap-settings-popup {\n background-color: #282828;\n color: #eee;\n}\nbody.dark .keymap-settings-popup {\n background-color: #222;\n}\n.keymap-settings-popup.open {\n transform: translateX(-50%) translateY(-50%) scale(1);\n}\n.keymap-settings {\n font-size: 12px;\n display: flex;\n flex-direction: column;\n padding: 12px 12px 0 18px;\n}\n.keymap-settings-header {\n display: flex;\n align-items: center;\n grid-gap: 0;\n gap: 0;\n margin-bottom: 8px;\n}\n.keymap-settings-header-title {\n flex: 1 0 auto;\n display: flex;\n align-items: center;\n grid-gap: 0;\n gap: 0;\n font-size: 18px;\n font-weight: bold;\n}\n.keymap-settings-header-title .be-icon {\n margin-right: 6px;\n}\n.keymap-settings-header-help, .keymap-settings-header-close {\n display: flex;\n padding: 6px;\n cursor: pointer;\n transition: 0.2s ease-out;\n color: inherit;\n}\n.keymap-settings-header-help:hover, .keymap-settings-header-close:hover {\n color: var(--theme-color);\n}\n.keymap-settings-content {\n flex: 1 0 auto;\n max-height: calc(100vh - 200px);\n overflow: auto;\n padding-bottom: 12px;\n}\n.keymap-settings-content .keymap-settings-grid .grid-header,\n.keymap-settings-content .keymap-settings-grid .grid-row {\n display: flex;\n align-items: center;\n grid-gap: 0;\n gap: 0;\n grid-gap: 8px;\n gap: 8px;\n justify-content: space-between;\n height: 24px;\n box-sizing: content-box;\n}\n.keymap-settings-content .keymap-settings-grid .grid-header > *,\n.keymap-settings-content .keymap-settings-grid .grid-row > * {\n flex: 1 0 0;\n display: flex;\n align-items: center;\n grid-gap: 0;\n gap: 0;\n}\n.keymap-settings-content .keymap-settings-grid .grid-header {\n margin-bottom: 4px;\n padding: 4px 0 6px 0;\n border-bottom: 1px solid rgba(136,136,136,0.13333);\n position: sticky;\n top: 0;\n z-index: 1;\n background-color: #fff;\n}\nbody.dark .keymap-settings-content .keymap-settings-grid .grid-header {\n background-color: #222;\n}",""]),e.exports=i},519:function(e,n,t){var i=t(645)((function(e){return e[1]}));i.push([e.id,".keymap-settings-grid .grid-row {\n padding: 2px 0;\n}\n.keymap-settings-grid .grid-row .row-name,\n.keymap-settings-grid .grid-row .row-default-binding,\n.keymap-settings-grid .grid-row .row-preset-binding {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: auto;\n scrollbar-width: none !important;\n overscroll-behavior: contain;\n}\n.keymap-settings-grid .grid-row .row-name::-webkit-scrollbar,\n.keymap-settings-grid .grid-row .row-default-binding::-webkit-scrollbar,\n.keymap-settings-grid .grid-row .row-preset-binding::-webkit-scrollbar {\n height: 0 !important;\n width: 0 !important;\n}\n.keymap-settings-grid .grid-row .row-name.not-set, .keymap-settings-grid .grid-row .row-name.overwritten,\n.keymap-settings-grid .grid-row .row-default-binding.not-set,\n.keymap-settings-grid .grid-row .row-default-binding.overwritten,\n.keymap-settings-grid .grid-row .row-preset-binding.not-set,\n.keymap-settings-grid .grid-row .row-preset-binding.overwritten {\n opacity: 0.25;\n}\n.keymap-settings-grid .grid-row .row-custom-binding .be-button {\n padding: 4px;\n margin-right: 4px;\n}\n.keymap-settings-grid .grid-row .row-custom-binding .be-icon {\n margin: 0;\n}\n.keymap-settings-grid .grid-row .row-custom-binding .be-textbox {\n margin-right: 6px;\n flex: 1 0 auto;\n}\n.keymap-settings-grid .grid-row .row-custom-binding .custom-binding-edit,\n.keymap-settings-grid .grid-row .row-custom-binding .custom-binding-add {\n display: flex;\n align-items: center;\n grid-gap: 0;\n gap: 0;\n flex: 1 0 auto;\n}",""]),e.exports=i},626:function(e,n,t){var i=t(645)((function(e){return e[1]}));i.push([e.id,".keymap-tip-container {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n padding: 8px 16px;\n background-color: rgba(0,0,0,0.66667);\n color: white;\n pointer-events: none;\n opacity: 0;\n z-index: 100;\n display: flex;\n align-items: center;\n font-size: 14pt;\n border-radius: 4px;\n transition: 0.2s ease-out;\n}\nbody.player-mode-blackmask .keymap-tip-container {\n z-index: 10017;\n}\n.keymap-tip-container.show {\n opacity: 1;\n}\n.keymap-tip-container i {\n line-height: 1;\n margin-right: 8px;\n font-size: 18pt;\n}\n\n.bilibili-player .bilibili-player-area .bilibili-player-video-wrap .bilibili-player-volumeHint {\n background-color: rgba(0,0,0,0.66667);\n color: white;\n}\n.bilibili-player .bilibili-player-area .bilibili-player-video-wrap .bilibili-player-volumeHint-icon {\n line-height: 1;\n}",""]),e.exports=i},645:function(e){"use strict"; +!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports["utils/keymap"]=n():e["utils/keymap"]=n()}(self,(function(){return function(){var e,n,t={307:function(e,n,t){"use strict";t.d(n,{Nw:function(){return u},vN:function(){return l},$j:function(){return s},kW:function(){return p}});var i=coreApis.componentApis.video.playerAgent,r=t(407),o=t(269);const s=(e,n)=>{const{event:t}=n,i=new MouseEvent("click",{...lodash.pick(t,"ctrlKey","shiftKey","altKey","metaKey")});if("string"==typeof e){const n=dq(e);if(!n)return!1;n.dispatchEvent(i)}else{if(!e)return!1;e.dispatchEvent(i)}return!0},a=e=>n=>s(e,n),l=e=>()=>i.playerAgent.changeTime("number"==typeof e?e:e());let c;const p=async(e,n)=>{let t=dq(".keymap-tip");if(!t){const r=await i.playerAgent.query.playerArea();if(!r)return;r.insertAdjacentHTML("afterbegin",`\n
    \n \n
    ${e}
    \n
    \n `),t=dq(".keymap-tip")}t.innerHTML=e;const r=dq(".keymap-tip-container"),o=dq(r,".mdi");o.classList.remove(...o.classList.values()),o.classList.add("mdi",n),c&&clearTimeout(c),r.classList.add("show"),c=window.setTimeout((()=>{r.classList.remove("show")}),2e3)},d={fullscreen:{displayName:"全屏",run:()=>i.playerAgent.fullscreen()},webFullscreen:{displayName:"网页全屏",run:()=>i.playerAgent.webFullscreen()},wideScreen:{displayName:"宽屏",run:()=>i.playerAgent.widescreen()},volumeUp:{displayName:"增加音量",run:()=>{const e=i.playerAgent.changeVolume(10);return lodash.isNil(e)?e:(p(`${e}%`,"mdi-volume-high"),!0)}},volumeDown:{displayName:"降低音量",run:()=>{const e=i.playerAgent.changeVolume(-10);return lodash.isNil(e)?e:(0===e?p("静音","mdi-volume-off"):p(`${e}%`,"mdi-volume-high"),!0)}},mute:{displayName:"静音",run:()=>{const e=i.playerAgent.toggleMute();return lodash.isNil(e)?e:(i.playerAgent.isMute()?p("已静音","mdi-volume-off"):p("已取消静音","mdi-volume-high"),!0)}},pictureInPicture:{displayName:"画中画",run:()=>i.playerAgent.togglePip()},coin:{displayName:"投币",run:a(".video-toolbar .coin,.tool-bar .coin-info, .video-toolbar-module .coin-box, .play-options-ul > li:nth-child(2)")},favorite:{displayName:"收藏",run:a(".video-toolbar .collect, .video-toolbar-module .fav-box, .play-options-ul > li:nth-child(3)")},pause:{displayName:"暂停/播放",run:()=>i.playerAgent.togglePlay()},like:{displayName:"点赞",run:(()=>{let e=!0;return n=>{const{event:t}=n,i=dq(".video-toolbar .like, .tool-bar .like-info");if(!i)return!1;t.preventDefault();const r=(e,n)=>{const t=new CustomEvent(e,n);i.dispatchEvent(t)};return e=!0,setTimeout((()=>e=!1),200),r("mousedown",t),document.body.addEventListener("keyup",(n=>{n.preventDefault(),r("mouseup",n),e&&r("click",n)}),{once:!0}),!0}})()},danmaku:{displayName:"弹幕开关",run:()=>i.playerAgent.toggleDanmaku()},longJumpBackward:{displayName:"长倒退",run:()=>i.playerAgent.changeTime(-(0,r.getComponentSettings)("keymap").options.longJumpSeconds)},longJumpForward:{displayName:"长前进",run:()=>i.playerAgent.changeTime((0,r.getComponentSettings)("keymap").options.longJumpSeconds)},jumpBackward:{displayName:"倒退",run:()=>i.playerAgent.changeTime(-5)},jumpForward:{displayName:"前进",run:()=>i.playerAgent.changeTime(5)},playerMenu:{displayName:"播放器菜单",run:()=>{const e=i.playerAgent.query.video.container.sync();if(!e)return null;const n=e.getBoundingClientRect();return e.dispatchEvent(new MouseEvent("contextmenu",{bubbles:!0,cancelable:!1,view:unsafeWindow,button:2,buttons:0,clientX:n.x+n.width/2-88.325,clientY:n.y+n.height/2-97})),!0}},seekBegin:{displayName:"回开头",run:()=>i.playerAgent.seek(0)},sendComment:{displayName:"发送评论",ignoreTyping:!1,run:()=>{const e=document.activeElement?.nextElementSibling;return e?(e.click(),!0):null}}},[u]=(0,o.registerAndGetData)("keymap.actions",d)},799:function(e,n,t){"use strict";t.d(n,{Wb:function(){return r},um:function(){return o}});var i=t(269);const r={fullscreen:"f",webFullscreen:"w",wideScreen:"t",volumeUp:"arrowUp",volumeDown:"arrowDown",mute:"m",pictureInPicture:"p",coin:"c",favorite:"s",pause:"space",like:"l",playerMenu:"`",longJumpForward:"j",longJumpBackward:"shift j",jumpBackward:"arrowLeft",jumpForward:"arrowRight",danmaku:"d",seekBegin:"0",sendComment:"ctrl enter"},[,o]=(0,i.registerAndGetData)("keymap.presets",r,{Default:{},YouTube:{like:"",pause:"space k",longJumpForward:"l",longJumpBackward:"j",seekBegin:"0 Home"},HTML5Player:{coin:"shift c",danmaku:"shift d",fullscreen:"enter",webFullscreen:"shift enter",pictureInPicture:"shift p",longJumpBackward:"ctrl arrowLeft",longJumpForward:"ctrl arrowRight"},PotPlayer:{coin:"shift c",danmaku:"shift d",fullscreen:"enter",webFullscreen:"6",longJumpBackward:"ctrl arrowLeft",longJumpForward:"ctrl arrowRight",seekBegin:"backspace"}})},450:function(e,n,t){"use strict";t.r(n),t.d(n,{loadKeymapSettings:function(){return o},toggleKeymapSettings:function(){return s}});var i=t(109);let r;const o=async e=>{if(r)return;const n=await Promise.resolve().then(t.bind(t,415)).then((e=>e.default));r=(0,i.mountVueComponent)(n),e&&(r.triggerElement=e),document.body.insertAdjacentElement("beforeend",r.$el)},s=async e=>{r||await o(e),r.popupOpen=!r.popupOpen}},376:function(e,n,t){var i=t(645)((function(e){return e[1]}));i.push([e.id,".keymap-extra-options {\n display: flex;\n align-items: center;\n grid-gap: 0;\n gap: 0;\n justify-content: center;\n}\n.keymap-extra-options .keymap-settings-button .be-icon {\n margin-right: 8px;\n}",""]),e.exports=i},529:function(e,n,t){var i=t(645)((function(e){return e[1]}));i.push([e.id,".keymap-settings-popup {\n background-color: #fff;\n color: black;\n border-radius: 8px;\n border: 1px solid rgba(136,136,136,0.13333);\n box-sizing: border-box;\n box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.05);\n transition: 0.2s ease-out;\n width: 550px;\n top: 50%;\n left: 50%;\n z-index: 100002;\n transform: translateX(-50%) translateY(-50%) scale(0.9);\n display: flex;\n flex-direction: column;\n}\nbody.dark .keymap-settings-popup {\n box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.2);\n}\nbody.dark .keymap-settings-popup {\n background-color: #282828;\n color: #eee;\n}\nbody.dark .keymap-settings-popup {\n background-color: #222;\n}\n.keymap-settings-popup.open {\n transform: translateX(-50%) translateY(-50%) scale(1);\n}\n.keymap-settings {\n font-size: 12px;\n display: flex;\n flex-direction: column;\n padding: 12px 12px 0 18px;\n}\n.keymap-settings-header {\n display: flex;\n align-items: center;\n grid-gap: 0;\n gap: 0;\n margin-bottom: 8px;\n}\n.keymap-settings-header-title {\n flex: 1 0 auto;\n display: flex;\n align-items: center;\n grid-gap: 0;\n gap: 0;\n font-size: 18px;\n font-weight: bold;\n}\n.keymap-settings-header-title .be-icon {\n margin-right: 6px;\n}\n.keymap-settings-header-help, .keymap-settings-header-close {\n display: flex;\n padding: 6px;\n cursor: pointer;\n transition: 0.2s ease-out;\n color: inherit;\n}\n.keymap-settings-header-help:hover, .keymap-settings-header-close:hover {\n color: var(--theme-color);\n}\n.keymap-settings-content {\n flex: 1 0 auto;\n max-height: calc(100vh - 200px);\n overflow: auto;\n padding-bottom: 12px;\n}\n.keymap-settings-content .keymap-settings-grid .grid-header,\n.keymap-settings-content .keymap-settings-grid .grid-row {\n display: flex;\n align-items: center;\n grid-gap: 0;\n gap: 0;\n grid-gap: 8px;\n gap: 8px;\n justify-content: space-between;\n height: 24px;\n box-sizing: content-box;\n}\n.keymap-settings-content .keymap-settings-grid .grid-header > *,\n.keymap-settings-content .keymap-settings-grid .grid-row > * {\n flex: 1 0 0;\n display: flex;\n align-items: center;\n grid-gap: 0;\n gap: 0;\n}\n.keymap-settings-content .keymap-settings-grid .grid-header {\n margin-bottom: 4px;\n padding: 4px 0 6px 0;\n border-bottom: 1px solid rgba(136,136,136,0.13333);\n position: sticky;\n top: 0;\n z-index: 1;\n background-color: #fff;\n}\nbody.dark .keymap-settings-content .keymap-settings-grid .grid-header {\n background-color: #222;\n}",""]),e.exports=i},519:function(e,n,t){var i=t(645)((function(e){return e[1]}));i.push([e.id,".keymap-settings-grid .grid-row {\n padding: 2px 0;\n}\n.keymap-settings-grid .grid-row .row-name,\n.keymap-settings-grid .grid-row .row-default-binding,\n.keymap-settings-grid .grid-row .row-preset-binding {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: auto;\n scrollbar-width: none !important;\n overscroll-behavior: contain;\n}\n.keymap-settings-grid .grid-row .row-name::-webkit-scrollbar,\n.keymap-settings-grid .grid-row .row-default-binding::-webkit-scrollbar,\n.keymap-settings-grid .grid-row .row-preset-binding::-webkit-scrollbar {\n height: 0 !important;\n width: 0 !important;\n}\n.keymap-settings-grid .grid-row .row-name.not-set, .keymap-settings-grid .grid-row .row-name.overwritten,\n.keymap-settings-grid .grid-row .row-default-binding.not-set,\n.keymap-settings-grid .grid-row .row-default-binding.overwritten,\n.keymap-settings-grid .grid-row .row-preset-binding.not-set,\n.keymap-settings-grid .grid-row .row-preset-binding.overwritten {\n opacity: 0.25;\n}\n.keymap-settings-grid .grid-row .row-custom-binding .be-button {\n padding: 4px;\n margin-right: 4px;\n}\n.keymap-settings-grid .grid-row .row-custom-binding .be-icon {\n margin: 0;\n}\n.keymap-settings-grid .grid-row .row-custom-binding .be-textbox {\n margin-right: 6px;\n flex: 1 0 auto;\n}\n.keymap-settings-grid .grid-row .row-custom-binding .custom-binding-edit,\n.keymap-settings-grid .grid-row .row-custom-binding .custom-binding-add {\n display: flex;\n align-items: center;\n grid-gap: 0;\n gap: 0;\n flex: 1 0 auto;\n}",""]),e.exports=i},626:function(e,n,t){var i=t(645)((function(e){return e[1]}));i.push([e.id,".keymap-tip-container {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n padding: 8px 16px;\n background-color: rgba(0,0,0,0.66667);\n color: white;\n pointer-events: none;\n opacity: 0;\n z-index: 100;\n display: flex;\n align-items: center;\n font-size: 14pt;\n border-radius: 4px;\n transition: 0.2s ease-out;\n}\nbody.player-mode-blackmask .keymap-tip-container {\n z-index: 10017;\n}\n.keymap-tip-container.show {\n opacity: 1;\n}\n.keymap-tip-container i {\n line-height: 1;\n margin-right: 8px;\n font-size: 18pt;\n}\n\n.bilibili-player .bilibili-player-area .bilibili-player-video-wrap .bilibili-player-volumeHint {\n background-color: rgba(0,0,0,0.66667);\n color: white;\n}\n.bilibili-player .bilibili-player-area .bilibili-player-video-wrap .bilibili-player-volumeHint-icon {\n line-height: 1;\n}",""]),e.exports=i},645:function(e){"use strict"; // eslint-disable-next-line func-names e.exports=function(e){var n=[];return n.toString=function(){return this.map((function(n){var t=e(n);return n[2]?"@media ".concat(n[2]," {").concat(t,"}"):t})).join("")}, // eslint-disable-next-line func-names @@ -9,4 +9,4 @@ e=[[null,e,""]]);var r={};if(i)for(var o=0;o({popupOpen:!1}),methods:{async loadSettings(){await(0,o.loadKeymapSettings)(this.$refs.button)},async toggleSettings(){await(0,o.toggleKeymapSettings)(this.$refs.button)}}}),a=t(379),l=t.n(a),c=t(376),d=t.n(c),p={insert:"head",singleton:!1},u=(l()(d(),p),d().locals,(0,t(900).Z)(s,i,[],!1,null,null,null));u.options.__file="registry/lib/components/utils/keymap/settings/ExtraOptions.vue";var g=u.exports},415:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return B}});var i=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("VPopup",{staticClass:"keymap-settings-popup be-settings-extra-options",attrs:{fixed:"","trigger-element":e.triggerElement},model:{value:e.popupOpen,callback:function(n){e.popupOpen=n},expression:"popupOpen"}},[t("div",{staticClass:"keymap-settings"},[t("div",{staticClass:"keymap-settings-header"},[t("div",{staticClass:"keymap-settings-header-title"},[t("VIcon",{attrs:{icon:"mdi-keyboard-settings-outline"}}),e._v("\n 快捷键设置\n ")],1),e._v(" "),t("a",{staticClass:"keymap-settings-header-help",attrs:{href:"https://github.com/the1812/Bilibili-Evolved/blob/preview/registry/lib/components/utils/keymap/help.md",target:"_blank",title:"查看帮助"}},[t("VIcon",{attrs:{size:18,icon:"mdi-help-circle-outline"}})],1),e._v(" "),t("div",{staticClass:"keymap-settings-header-close",attrs:{title:"关闭"}},[t("VIcon",{attrs:{size:18,icon:"close"},on:{click:function(n){e.popupOpen=!1}}})],1)]),e._v(" "),t("div",{staticClass:"keymap-settings-content"},[t("div",{staticClass:"keymap-settings-grid"},[t("div",{staticClass:"grid-header"},[t("div",{staticClass:"header-name"},[e._v("\n 动作\n ")]),e._v(" "),t("div",{staticClass:"header-default-binding"},[e._v("\n 默认按键\n ")]),e._v(" "),t("div",{staticClass:"header-preset-binding"},[t("VDropdown",{attrs:{items:e.presetOptions,"key-mapper":function(e){return e}},scopedSlots:e._u([{key:"item",fn:function(n){var t=n.item;return[e._v("\n "+e._s(t)+"\n ")]}}]),model:{value:e.selectedPreset,callback:function(n){e.selectedPreset=n},expression:"selectedPreset"}})],1),e._v(" "),t("div",{staticClass:"header-custom-binding"},[e._v("\n 自定义按键\n ")])]),e._v(" "),e._l(e.rows,(function(n){return t("KeymapSettingsRow",{key:n.name,attrs:{row:n,"selected-preset":e.selectedPreset}})}))],2)])])])};i._withStripped=!0;var r=t(407),o=t(643),s=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"grid-row"},[t("div",{staticClass:"row-name",attrs:{title:e.row.name}},[e._v("\n "+e._s(e.row.displayName)+"\n ")]),e._v(" "),t("div",{staticClass:"row-default-binding",class:{overwritten:e.isOverwrittern(e.presets[e.selectedPreset],e.customKeyBindings),"not-set":void 0===e.presetBase[e.row.name]}},[e._v("\n "+e._s(e.showReadonlyKey(e.presetBase))+"\n ")]),e._v(" "),t("div",{staticClass:"row-preset-binding",class:{overwritten:e.isOverwrittern(e.customKeyBindings),"not-set":void 0===e.presets[e.selectedPreset][e.row.name]}},[e._v("\n "+e._s(e.showReadonlyKey(e.presets[e.selectedPreset]))+"\n ")]),e._v(" "),t("div",{staticClass:"row-custom-binding"},[e.editable?t("div",{staticClass:"custom-binding-edit"},[t("TextBox",{ref:"customBindingTextBox",attrs:{placeholder:"禁用","change-on-blur":"",text:e.customKeyBindings[e.row.name]},on:{change:e.updateCustomBinding}}),e._v(" "),t("VButton",{attrs:{type:"transparent",title:"删除自定义键位"},on:{click:function(n){return e.removeCustomBinding()}}},[t("VIcon",{attrs:{icon:"mdi-trash-can-outline",size:16}})],1)],1):t("div",{staticClass:"custom-binding-add"},[t("VButton",{attrs:{type:"transparent",title:"添加自定义键位"},on:{click:function(n){return e.addCustomBinding()}}},[t("VIcon",{attrs:{icon:"mdi-plus",size:16}})],1)],1)])])};s._withStripped=!0;var a=t(799);const l=(0,r.getComponentSettings)("keymap").options;var c=Vue.extend({components:{TextBox:o.TextBox,VButton:o.VButton,VIcon:o.VIcon},props:{row:{type:Object,required:!0},selectedPreset:{type:String,required:!0}},data:()=>({presets:a.um,presetBase:a.Wb,customKeyBindings:l.customKeyBindings,editable:!1}),created(){this.checkEditable()},methods:{checkEditable(){this.editable=void 0!==this.customKeyBindings[this.row.name]},showReadonlyKey(e){const{name:n}=this.row,t=e[n];return void 0===t?"继承":""===t?"禁用":t},isOverwrittern(...e){const{name:n}=this.row;return e.some((e=>void 0!==e[n]))},async addCustomBinding(){const{name:e}=this.row;this.customKeyBindings[e]="",this.checkEditable(),await this.$nextTick(),this.$refs.customBindingTextBox.focus()},removeCustomBinding(){const{name:e}=this.row;delete this.customKeyBindings[e],this.checkEditable()},updateCustomBinding(e){console.log("update",e);const{name:n}=this.row;this.customKeyBindings[n]=e}}}),d=t(379),p=t.n(d),u=t(519),g=t.n(u),m={insert:"head",singleton:!1},f=(p()(g(),m),g().locals,t(900)),y=(0,f.Z)(c,s,[],!1,null,null,null);y.options.__file="registry/lib/components/utils/keymap/settings/KeymapSettingsRow.vue";var h=y.exports,b=t(307);const v=(0,r.getComponentSettings)("keymap").options;console.log(a.um,b.Nw,v.preset,v.customKeyBindings);var w=Vue.extend({components:{VIcon:o.VIcon,VDropdown:o.VDropdown,VPopup:o.VPopup,KeymapSettingsRow:h},props:{triggerElement:{type:HTMLElement,default:null}},data:()=>({popupOpen:!1,actions:b.Nw,presets:a.um,customKeyBindings:v.customKeyBindings}),computed:{selectedPreset:{get:()=>v.preset,set(e){v.preset=e}},rows(){return Object.entries(this.actions).map((([e,n])=>({name:e,...n})))},presetOptions(){return Object.keys(this.presets)}}}),k=t(529),x=t.n(k),_={insert:"head",singleton:!1},C=(p()(x(),_),x().locals,(0,f.Z)(w,i,[],!1,null,null,null));C.options.__file="registry/lib/components/utils/keymap/settings/KeymapSettings.vue";var B=C.exports},900:function(e,n,t){"use strict";function i(e,n,t,i,r,o,s,a){var l,c="function"==typeof e?e.options:e;if(n&&(c.render=n,c.staticRenderFns=t,c._compiled=!0),i&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),s?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},c._ssrRegister=l):r&&(l=a?function(){r.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(c.functional){c._injectStyles=l;var d=c.render;c.render=function(e,n){return l.call(n),d(e,n)}}else{var p=c.beforeCreate;c.beforeCreate=p?[].concat(p,l):[l]}return{exports:e,options:c}}t.d(n,{Z:function(){return i}})},269:function(e){"use strict";e.exports=coreApis.pluginApis.data},407:function(e){"use strict";e.exports=coreApis.settings},643:function(e){"use strict";e.exports=coreApis.ui},109:function(e){"use strict";e.exports=coreApis.utils}},i={};function r(e){var n=i[e];if(void 0!==n)return n.exports;var o=i[e]={id:e,exports:{}};return t[e](o,o.exports,r),o.exports}r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,{a:n}),n},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(t,i){if(1&i&&(t=this(t)),8&i)return t;if("object"==typeof t&&t){if(4&i&&t.__esModule)return t;if(16&i&&"function"==typeof t.then)return t}var o=Object.create(null);r.r(o);var s={};e=e||[null,n({}),n([]),n(n)];for(var a=2&i&&t;"object"==typeof a&&!~e.indexOf(a);a=n(a))Object.getOwnPropertyNames(a).forEach((function(e){s[e]=function(){return t[e]}}));return s.default=function(){return t},r.d(o,s),o},r.d=function(e,n){for(var t in n)r.o(n,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return function(){"use strict";r.d(o,{component:function(){return u}});var e=coreApis.componentApis.styledComponent,n=r(407),t=r(307),i=r(109),s=coreApis.utils.urls;const a=["shift","alt","ctrl","meta"],l=lodash.once((e=>{const n=s.watchlaterUrls.some((e=>(0,i.matchUrlPattern)(e))),r=s.mediaListUrls.some((e=>(0,i.matchUrlPattern)(e))),o={enable:!0,bindings:e};return document.body.addEventListener("keydown",(e=>{o.enable&&o.bindings.forEach((o=>{if(0===o.keys.length)return;if(!1!==o.action.ignoreTyping&&(0,i.isTyping)())return;const s=e.key.toLowerCase(),l=dq(".bilibili-player-sphere-control");if(null!==l&&"none"!==l.style.display&&["w","a","s","d"].includes(s))return;if(a.some((n=>{const t=o.keys.includes(n);if(o.keys.includes(`[${n}]`))return!1;return t!==e[`${n}Key`]})))return;const c=o.keys.filter((e=>!a.includes(e.toLowerCase()))).map((e=>e.toLowerCase()));if(!(c.includes(e.key.toLowerCase())||c.includes(e.code.toLowerCase())))return;const d=o.action.run({binding:o,isWatchlater:n,isMediaList:r,event:e,clickElement:t.$j,changeVideoTime:t.vN,showTip:t.kW}),p=!lodash.isNil(d);(o.action.prevent??p)&&(e.stopPropagation(),e.preventDefault())}))})),o}));var c=r(799);let d=null;const p=(0,e.styledComponentEntry)((()=>Promise.resolve().then(r.t.bind(r,373,23))),(async({settings:e})=>{const i=()=>{const n=e.options.preset,i=c.um[n]||{},r=(e=>Object.entries(e).map((([e,n])=>({keys:n.split(" ").filter((e=>""!==e)),action:t.Nw[e]||none}))))({...c.Wb,...i,...e.options.customKeyBindings});d?d.bindings=r:d=l(r)};(0,n.addComponentListener)("keymap.preset",i,!0),(0,n.addComponentListener)("keymap.customKeyBindings",i)})),u={name:"keymap",displayName:"快捷键扩展",tags:[componentsTags.video,componentsTags.utils],entry:p,unload:()=>{d&&(d.enable=!1)},reload:()=>{d&&(d.enable=!0)},description:{"zh-CN":"为脚本的功能和 b 站的功能启用键盘快捷键支持, 快捷键列表可在`快捷键设置`中查看和配置."},extraOptions:()=>Promise.resolve().then(r.bind(r,500)).then((e=>e.default)),options:{longJumpSeconds:{defaultValue:85,displayName:"长跳跃秒数"},customKeyBindings:{defaultValue:{},displayName:"自定义键位",hidden:!0},preset:{defaultValue:"Default",displayName:"预设",hidden:!0}},plugin:{displayName:"快捷键扩展 - 搜索支持",setup:({addData:e})=>{e("launchBar.actions",(e=>{e.push({name:"keymapSettings",getActions:async()=>[{name:"快捷键扩展设置",description:"Keymap Settings",icon:"mdi-keyboard-settings-outline",action:async()=>{const{toggleKeymapSettings:e}=await Promise.resolve().then(r.bind(r,450));e()}}]})}))}},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),o=o.component}()})); \ No newline at end of file +i=Boolean(window&&document&&document.all&&!window.atob)),i},o=function(){var e={};return function(n){if(void 0===e[n]){var t=document.querySelector(n);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}e[n]=t}return e[n]}}(),s=[];function a(e){for(var n=-1,t=0;t({popupOpen:!1}),methods:{async loadSettings(){await(0,o.loadKeymapSettings)(this.$refs.button)},async toggleSettings(){await(0,o.toggleKeymapSettings)(this.$refs.button)}}}),a=t(379),l=t.n(a),c=t(376),p=t.n(c),d={insert:"head",singleton:!1},u=(l()(p(),d),p().locals,(0,t(900).Z)(s,i,[],!1,null,null,null));u.options.__file="registry/lib/components/utils/keymap/settings/ExtraOptions.vue";var g=u.exports},415:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return B}});var i=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("VPopup",{staticClass:"keymap-settings-popup be-settings-extra-options",attrs:{fixed:"","trigger-element":e.triggerElement},model:{value:e.popupOpen,callback:function(n){e.popupOpen=n},expression:"popupOpen"}},[t("div",{staticClass:"keymap-settings"},[t("div",{staticClass:"keymap-settings-header"},[t("div",{staticClass:"keymap-settings-header-title"},[t("VIcon",{attrs:{icon:"mdi-keyboard-settings-outline"}}),e._v("\n 快捷键设置\n ")],1),e._v(" "),t("a",{staticClass:"keymap-settings-header-help",attrs:{href:"https://github.com/the1812/Bilibili-Evolved/blob/preview/registry/lib/components/utils/keymap/help.md",target:"_blank",title:"查看帮助"}},[t("VIcon",{attrs:{size:18,icon:"mdi-help-circle-outline"}})],1),e._v(" "),t("div",{staticClass:"keymap-settings-header-close",attrs:{title:"关闭"}},[t("VIcon",{attrs:{size:18,icon:"close"},on:{click:function(n){e.popupOpen=!1}}})],1)]),e._v(" "),t("div",{staticClass:"keymap-settings-content"},[t("div",{staticClass:"keymap-settings-grid"},[t("div",{staticClass:"grid-header"},[t("div",{staticClass:"header-name"},[e._v("\n 动作\n ")]),e._v(" "),t("div",{staticClass:"header-default-binding"},[e._v("\n 默认按键\n ")]),e._v(" "),t("div",{staticClass:"header-preset-binding"},[t("VDropdown",{attrs:{items:e.presetOptions,"key-mapper":function(e){return e}},scopedSlots:e._u([{key:"item",fn:function(n){var t=n.item;return[e._v("\n "+e._s(t)+"\n ")]}}]),model:{value:e.selectedPreset,callback:function(n){e.selectedPreset=n},expression:"selectedPreset"}})],1),e._v(" "),t("div",{staticClass:"header-custom-binding"},[e._v("\n 自定义按键\n ")])]),e._v(" "),e._l(e.rows,(function(n){return t("KeymapSettingsRow",{key:n.name,attrs:{row:n,"selected-preset":e.selectedPreset}})}))],2)])])])};i._withStripped=!0;var r=t(407),o=t(643),s=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"grid-row"},[t("div",{staticClass:"row-name",attrs:{title:e.row.name}},[e._v("\n "+e._s(e.row.displayName)+"\n ")]),e._v(" "),t("div",{staticClass:"row-default-binding",class:{overwritten:e.isOverwrittern(e.presets[e.selectedPreset],e.customKeyBindings),"not-set":void 0===e.presetBase[e.row.name]}},[e._v("\n "+e._s(e.showReadonlyKey(e.presetBase))+"\n ")]),e._v(" "),t("div",{staticClass:"row-preset-binding",class:{overwritten:e.isOverwrittern(e.customKeyBindings),"not-set":void 0===e.presets[e.selectedPreset][e.row.name]}},[e._v("\n "+e._s(e.showReadonlyKey(e.presets[e.selectedPreset]))+"\n ")]),e._v(" "),t("div",{staticClass:"row-custom-binding"},[e.editable?t("div",{staticClass:"custom-binding-edit"},[t("TextBox",{ref:"customBindingTextBox",attrs:{placeholder:"禁用","change-on-blur":"",text:e.customKeyBindings[e.row.name]},on:{change:e.updateCustomBinding}}),e._v(" "),t("VButton",{attrs:{type:"transparent",title:"删除自定义键位"},on:{click:function(n){return e.removeCustomBinding()}}},[t("VIcon",{attrs:{icon:"mdi-trash-can-outline",size:16}})],1)],1):t("div",{staticClass:"custom-binding-add"},[t("VButton",{attrs:{type:"transparent",title:"添加自定义键位"},on:{click:function(n){return e.addCustomBinding()}}},[t("VIcon",{attrs:{icon:"mdi-plus",size:16}})],1)],1)])])};s._withStripped=!0;var a=t(799);const l=(0,r.getComponentSettings)("keymap").options;var c=Vue.extend({components:{TextBox:o.TextBox,VButton:o.VButton,VIcon:o.VIcon},props:{row:{type:Object,required:!0},selectedPreset:{type:String,required:!0}},data:()=>({presets:a.um,presetBase:a.Wb,customKeyBindings:l.customKeyBindings,editable:!1}),created(){this.checkEditable()},methods:{checkEditable(){this.editable=void 0!==this.customKeyBindings[this.row.name]},showReadonlyKey(e){const{name:n}=this.row,t=e[n];return void 0===t?"继承":""===t?"禁用":t},isOverwrittern(...e){const{name:n}=this.row;return e.some((e=>void 0!==e[n]))},async addCustomBinding(){const{name:e}=this.row;this.customKeyBindings[e]="",this.checkEditable(),await this.$nextTick(),this.$refs.customBindingTextBox.focus()},removeCustomBinding(){const{name:e}=this.row;delete this.customKeyBindings[e],this.checkEditable()},updateCustomBinding(e){console.log("update",e);const{name:n}=this.row;this.customKeyBindings[n]=e}}}),p=t(379),d=t.n(p),u=t(519),g=t.n(u),m={insert:"head",singleton:!1},f=(d()(g(),m),g().locals,t(900)),y=(0,f.Z)(c,s,[],!1,null,null,null);y.options.__file="registry/lib/components/utils/keymap/settings/KeymapSettingsRow.vue";var h=y.exports,v=t(307);const b=(0,r.getComponentSettings)("keymap").options;console.log(a.um,v.Nw,b.preset,b.customKeyBindings);var w=Vue.extend({components:{VIcon:o.VIcon,VDropdown:o.VDropdown,VPopup:o.VPopup,KeymapSettingsRow:h},props:{triggerElement:{type:HTMLElement,default:null}},data:()=>({popupOpen:!1,actions:v.Nw,presets:a.um,customKeyBindings:b.customKeyBindings}),computed:{selectedPreset:{get:()=>b.preset,set(e){b.preset=e}},rows(){return Object.entries(this.actions).map((([e,n])=>({name:e,...n})))},presetOptions(){return Object.keys(this.presets)}}}),k=t(529),x=t.n(k),_={insert:"head",singleton:!1},C=(d()(x(),_),x().locals,(0,f.Z)(w,i,[],!1,null,null,null));C.options.__file="registry/lib/components/utils/keymap/settings/KeymapSettings.vue";var B=C.exports},900:function(e,n,t){"use strict";function i(e,n,t,i,r,o,s,a){var l,c="function"==typeof e?e.options:e;if(n&&(c.render=n,c.staticRenderFns=t,c._compiled=!0),i&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),s?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},c._ssrRegister=l):r&&(l=a?function(){r.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(c.functional){c._injectStyles=l;var p=c.render;c.render=function(e,n){return l.call(n),p(e,n)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:c}}t.d(n,{Z:function(){return i}})},269:function(e){"use strict";e.exports=coreApis.pluginApis.data},407:function(e){"use strict";e.exports=coreApis.settings},643:function(e){"use strict";e.exports=coreApis.ui},109:function(e){"use strict";e.exports=coreApis.utils}},i={};function r(e){var n=i[e];if(void 0!==n)return n.exports;var o=i[e]={id:e,exports:{}};return t[e](o,o.exports,r),o.exports}r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,{a:n}),n},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(t,i){if(1&i&&(t=this(t)),8&i)return t;if("object"==typeof t&&t){if(4&i&&t.__esModule)return t;if(16&i&&"function"==typeof t.then)return t}var o=Object.create(null);r.r(o);var s={};e=e||[null,n({}),n([]),n(n)];for(var a=2&i&&t;"object"==typeof a&&!~e.indexOf(a);a=n(a))Object.getOwnPropertyNames(a).forEach((function(e){s[e]=function(){return t[e]}}));return s.default=function(){return t},r.d(o,s),o},r.d=function(e,n){for(var t in n)r.o(n,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return function(){"use strict";r.d(o,{component:function(){return u}});var e=coreApis.componentApis.styledComponent,n=r(407),t=r(307),i=r(109),s=coreApis.utils.urls;const a=["shift","alt","ctrl","meta"],l=lodash.once((e=>{const n=s.watchlaterUrls.some((e=>(0,i.matchUrlPattern)(e))),r=s.mediaListUrls.some((e=>(0,i.matchUrlPattern)(e))),o={enable:!0,bindings:e};return document.body.addEventListener("keydown",(e=>{o.enable&&o.bindings.forEach((o=>{if(0===o.keys.length)return;if(!1!==o.action.ignoreTyping&&(0,i.isTyping)())return;const s=e.key.toLowerCase(),l=dq(".bilibili-player-sphere-control");if(null!==l&&"none"!==l.style.display&&["w","a","s","d"].includes(s))return;if(a.some((n=>{const t=o.keys.includes(n);if(o.keys.includes(`[${n}]`))return!1;return t!==e[`${n}Key`]})))return;const c=o.keys.filter((e=>!a.includes(e.toLowerCase()))).map((e=>e.toLowerCase()));if(!(c.includes(e.key.toLowerCase())||c.includes(e.code.toLowerCase())))return;const p=o.action.run({binding:o,isWatchlater:n,isMediaList:r,event:e,clickElement:t.$j,changeVideoTime:t.vN,showTip:t.kW}),d=!lodash.isNil(p);(o.action.prevent??d)&&(e.stopPropagation(),e.preventDefault())}))})),o}));var c=r(799);let p=null;const d=(0,e.styledComponentEntry)((()=>Promise.resolve().then(r.t.bind(r,373,23))),(async({settings:e})=>{const i=()=>{const n=e.options.preset,i=c.um[n]||{},r=(e=>Object.entries(e).map((([e,n])=>({keys:n.split(" ").filter((e=>""!==e)),action:t.Nw[e]||none}))))({...c.Wb,...i,...e.options.customKeyBindings});p?p.bindings=r:p=l(r)};(0,n.addComponentListener)("keymap.preset",i,!0),(0,n.addComponentListener)("keymap.customKeyBindings",i)})),u={name:"keymap",displayName:"快捷键扩展",tags:[componentsTags.video,componentsTags.utils],entry:d,unload:()=>{p&&(p.enable=!1)},reload:()=>{p&&(p.enable=!0)},description:{"zh-CN":"为脚本的功能和 b 站的功能启用键盘快捷键支持, 快捷键列表可在`快捷键设置`中查看和配置."},extraOptions:()=>Promise.resolve().then(r.bind(r,500)).then((e=>e.default)),options:{longJumpSeconds:{defaultValue:85,displayName:"长跳跃秒数"},customKeyBindings:{defaultValue:{},displayName:"自定义键位",hidden:!0},preset:{defaultValue:"Default",displayName:"预设",hidden:!0}},plugin:{displayName:"快捷键扩展 - 搜索支持",setup:({addData:e})=>{e("launchBar.actions",(e=>{e.push({name:"keymapSettings",getActions:async()=>[{name:"快捷键扩展设置",description:"Keymap Settings",icon:"mdi-keyboard-settings-outline",action:async()=>{const{toggleKeymapSettings:e}=await Promise.resolve().then(r.bind(r,450));e()}}]})}))}},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),o=o.component}()})); \ No newline at end of file diff --git a/registry/dist/components/utils/remove-promotions.js b/registry/dist/components/utils/remove-promotions.js index 2132a439e..16e3ac1e5 100644 --- a/registry/dist/components/utils/remove-promotions.js +++ b/registry/dist/components/utils/remove-promotions.js @@ -6,4 +6,4 @@ n.i=function(e,t,o){"string"==typeof e&&( // eslint-disable-next-line no-param-reassign e=[[null,e,""]]);var r={};if(o)for(var i=0;i{const{addComponentListener:t}=await Promise.resolve().then(r.t.bind(r,407,23));if("https://www.bilibili.com/"===document.URL.replace(window.location.search,"")){const{selectAll:n,select:t}=await Promise.resolve().then(r.t.bind(r,569,23));t(".eva-extension-area").then((e=>{e&&(e.parentElement.style.margin="12px")})),n(".gg-pic").then((n=>{0!==n.length&&n.forEach((n=>{const t=n.parentElement;t.style.display="none";const o=[...t.parentElement.childNodes].indexOf(t)+1,r=t.parentElement.parentElement.querySelector(`.pic li:nth-child(${o})`);if(r){r.style.display="flex";const n=r.querySelector("a:not(.more-text)");n.insertAdjacentHTML("afterend",`\n
    ${e.options.showPlaceholder?"🚫已屏蔽广告":""}
    \n `),n.style.visibility="hidden";[r.querySelector("a.more-text"),r.querySelector("img")].forEach((e=>e.style.display="none"))}}))})),t(".focus-carousel.home-slide").then((n=>{n&&dqa(n,".gg-icon,.bypb-icon").map((e=>e.parentElement.parentElement)).forEach((n=>{n.style.display="none",n.insertAdjacentHTML("afterend",`\n
    ${e.options.showPlaceholder?"🚫已屏蔽广告":""}
    \n `)}))}))}t(`${n.name}.preserveEventBanner`,(e=>{document.body.classList.toggle("preserve-event-banner",e)}),!0)},instantStyles:[{name:"removePromotions",style:()=>Promise.resolve().then(r.t.bind(r,488,23))}],tags:[componentsTags.utils],description:{"zh-CN":'\n删除站内的各种广告. 包括首页的推广模块, 手机 app 推荐, 视频页面右侧的广告等. 注意: 首页推广模块删除后留下空白区域是正常现象, 如果觉得怪可以开启 `占位文本` 选项.\n\n- `占位文本`: 删除首页推广模块的广告后显示"🚫已屏蔽广告"来替代空白区域.\n- `保留活动横幅`: 保留视频页面的活动横幅.\n'.trim()},options:{showPlaceholder:{displayName:"占位文本",defaultValue:!0},preserveEventBanner:{displayName:"保留活动横幅",defaultValue:!1}},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var a=this[i][0];null!=a&&(r[a]=!0)}for(var c=0;c{const{addComponentListener:t}=await Promise.resolve().then(r.t.bind(r,407,23));if("https://www.bilibili.com/"===document.URL.replace(window.location.search,"")){const{selectAll:n,select:t}=await Promise.resolve().then(r.t.bind(r,569,23));t(".eva-extension-area").then((e=>{e&&(e.parentElement.style.margin="12px")})),n(".gg-pic").then((n=>{0!==n.length&&n.forEach((n=>{const t=n.parentElement;t.style.display="none";const o=[...t.parentElement.childNodes].indexOf(t)+1,r=t.parentElement.parentElement.querySelector(`.pic li:nth-child(${o})`);if(r){r.style.display="flex";const n=r.querySelector("a:not(.more-text)");n.insertAdjacentHTML("afterend",`\n
    ${e.options.showPlaceholder?"🚫已屏蔽广告":""}
    \n `),n.style.visibility="hidden";[r.querySelector("a.more-text"),r.querySelector("img")].forEach((e=>e.style.display="none"))}}))})),t(".focus-carousel.home-slide").then((n=>{n&&dqa(n,".gg-icon,.bypb-icon").map((e=>e.parentElement.parentElement)).forEach((n=>{n.style.display="none",n.insertAdjacentHTML("afterend",`\n
    ${e.options.showPlaceholder?"🚫已屏蔽广告":""}
    \n `)}))}))}t(`${n.name}.preserveEventBanner`,(e=>{document.body.classList.toggle("preserve-event-banner",e)}),!0)},instantStyles:[{name:"removePromotions",style:()=>Promise.resolve().then(r.t.bind(r,488,23))}],tags:[componentsTags.utils],description:{"zh-CN":'\n删除站内的各种广告. 包括首页的推广模块, 手机 app 推荐, 视频页面右侧的广告等. 注意: 首页推广模块删除后留下空白区域是正常现象, 如果觉得怪可以开启 `占位文本` 选项.\n\n- `占位文本`: 删除首页推广模块的广告后显示"🚫已屏蔽广告"来替代空白区域.\n- `保留活动横幅`: 保留视频页面的活动横幅.\n'.trim()},options:{showPlaceholder:{displayName:"占位文本",defaultValue:!0},preserveEventBanner:{displayName:"保留活动横幅",defaultValue:!1}},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/utils/url-params-clean.js b/registry/dist/components/utils/url-params-clean.js index 5ddcd82ac..2cbd605b2 100644 --- a/registry/dist/components/utils/url-params-clean.js +++ b/registry/dist/components/utils/url-params-clean.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["utils/url-params-clean"]=t():e["utils/url-params-clean"]=t()}(self,(function(){return function(){"use strict";var e,t,r={270:function(e){e.exports=coreApis.lifeCycle},156:function(e){e.exports=coreApis.observer}},o={};function n(e){var t=o[e];if(void 0!==t)return t.exports;var i=o[e]={exports:{}};return r[e](i,i.exports,n),i.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},n.t=function(r,o){if(1&o&&(r=this(r)),8&o)return r;if("object"==typeof r&&r){if(4&o&&r.__esModule)return r;if(16&o&&"function"==typeof r.then)return r}var i=Object.create(null);n.r(i);var a={};e=e||[null,t({}),t([]),t(t)];for(var s=2&o&&r;"object"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach((function(e){a[e]=function(){return r[e]}}));return a.default=function(){return r},n.d(i,a),i},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){n.d(i,{component:function(){return a}});var e=coreApis.pluginApis.data,t=coreApis.utils;const r="网址参数清理",o=(0,coreApis.utils.log.useScopedConsole)(r),a={name:"urlParamsClean",displayName:r,entry:async()=>{if((0,t.isNotHtml)()||(0,t.isIframe)())return;const[r]=(0,e.registerAndGetData)("urlParamsClean.noClean",["videocard_series"]),[i]=(0,e.registerAndGetData)("urlParamsClean.params",["spm_id_from","from_source","from_spmid","from","seid","share_source","share_medium","share_plat","share_tag","share_session_id","bbid","ts","timestamp","unique_k","rt","tdsourcetag","accept_quality","broadcast_type","current_qn","current_quality","playurl_h264","playurl_h265","quality_description","network","network_status","platform_network_status","p2p_type","referfrom","visit_id","bsource","spm","hotRank","-Arouter"]),[a]=(0,e.registerAndGetData)("urlParamsClean.siteSpecifiedParams",[{match:/\/\/www\.bilibili\.com\/audio\/(au[\d]+|mycollection)/,param:"type"},{match:/\/\/live\.bilibili\.com\//,param:"session_id"},{match:/\/\/www\.bilibili\.com\/bangumi\//,param:"theme"}]),[s]=(0,e.registerAndGetData)("urlParamsClean.tailingSlash",[]),{fullyLoaded:c}=await Promise.resolve().then(n.t.bind(n,270,23)),{urlChange:u}=await Promise.resolve().then(n.t.bind(n,156,23));c((()=>{u((()=>(()=>{const e=window.location.search.substring(1).split("&");if(e.some((e=>r.some((t=>e.includes(t))))))return;const n=e.filter((e=>!i.some((t=>e.startsWith(`${t}=`)))&&!a.some((({match:t,param:r})=>document.URL.match(t)&&e.startsWith(`${r}=`))))).join("&");let c=document.URL.replace(window.location.search,"");s.forEach((({match:e})=>{(0,t.matchPattern)(c,e)&&c.endsWith("/")&&(c=c.slice(0,c.length-1))}));const u=c+(n?`?${n}`:"");u!==document.URL&&(o.log(document.URL,u),window.history.replaceState({},document.title,u))})()))}))},description:{"zh-CN":"自动删除网址中的多余跟踪参数. 请注意这会导致浏览器历史记录出现重复的标题 (分别是转换前后的网址)."},tags:[componentsTags.utils],urlExclude:[/game\.bilibili\.com\/fgo/,/live\.bilibili\.com\/p\/html\/live-app-hotrank\//],commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["utils/url-params-clean"]=t():e["utils/url-params-clean"]=t()}(self,(function(){return function(){"use strict";var e,t,r={270:function(e){e.exports=coreApis.lifeCycle},156:function(e){e.exports=coreApis.observer}},o={};function n(e){var t=o[e];if(void 0!==t)return t.exports;var i=o[e]={exports:{}};return r[e](i,i.exports,n),i.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},n.t=function(r,o){if(1&o&&(r=this(r)),8&o)return r;if("object"==typeof r&&r){if(4&o&&r.__esModule)return r;if(16&o&&"function"==typeof r.then)return r}var i=Object.create(null);n.r(i);var a={};e=e||[null,t({}),t([]),t(t)];for(var s=2&o&&r;"object"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach((function(e){a[e]=function(){return r[e]}}));return a.default=function(){return r},n.d(i,a),i},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){n.d(i,{component:function(){return a}});var e=coreApis.pluginApis.data,t=coreApis.utils;const r="网址参数清理",o=(0,coreApis.utils.log.useScopedConsole)(r),a={name:"urlParamsClean",displayName:r,entry:async()=>{if((0,t.isNotHtml)()||(0,t.isIframe)())return;const[r]=(0,e.registerAndGetData)("urlParamsClean.noClean",["videocard_series"]),[i]=(0,e.registerAndGetData)("urlParamsClean.params",["spm_id_from","from_source","from_spmid","from","seid","share_source","share_medium","share_plat","share_tag","share_session_id","bbid","ts","timestamp","unique_k","rt","tdsourcetag","accept_quality","broadcast_type","current_qn","current_quality","playurl_h264","playurl_h265","quality_description","network","network_status","platform_network_status","p2p_type","referfrom","visit_id","bsource","spm","hotRank","-Arouter"]),[a]=(0,e.registerAndGetData)("urlParamsClean.siteSpecifiedParams",[{match:/\/\/www\.bilibili\.com\/audio\/(au[\d]+|mycollection)/,param:"type"},{match:/\/\/live\.bilibili\.com\//,param:"session_id"},{match:/\/\/www\.bilibili\.com\/bangumi\//,param:"theme"}]),[s]=(0,e.registerAndGetData)("urlParamsClean.tailingSlash",[]),{fullyLoaded:c}=await Promise.resolve().then(n.t.bind(n,270,23)),{urlChange:u}=await Promise.resolve().then(n.t.bind(n,156,23));c((()=>{u((()=>(()=>{const e=window.location.search.substring(1).split("&");if(e.some((e=>r.some((t=>e.includes(t))))))return;const n=e.filter((e=>!i.some((t=>e.startsWith(`${t}=`)))&&!a.some((({match:t,param:r})=>document.URL.match(t)&&e.startsWith(`${r}=`))))).join("&");let c=document.URL.replace(window.location.search,"");s.forEach((({match:e})=>{(0,t.matchPattern)(c,e)&&c.endsWith("/")&&(c=c.slice(0,c.length-1))}));const u=c+(n?`?${n}`:"");u!==document.URL&&(o.log(document.URL,u),window.history.replaceState({},document.title,u))})()))}))},description:{"zh-CN":"自动删除网址中的多余跟踪参数. 请注意这会导致浏览器历史记录出现重复的标题 (分别是转换前后的网址)."},tags:[componentsTags.utils],urlExclude:[/game\.bilibili\.com\/fgo/,/live\.bilibili\.com\/p\/html\/live-app-hotrank\//],commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/utils/v1-migrate.js b/registry/dist/components/utils/v1-migrate.js index b6ae5a65c..19469a86e 100644 --- a/registry/dist/components/utils/v1-migrate.js +++ b/registry/dist/components/utils/v1-migrate.js @@ -1 +1 @@ -!function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports["utils/v1-migrate"]=o():e["utils/v1-migrate"]=o()}(self,(function(){return function(){"use strict";var e,o,t={290:function(e){e.exports=coreApis.filePicker},729:function(e){e.exports=coreApis.utils.log}},n={};function a(e){var o=n[e];if(void 0!==o)return o.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,a),i.exports}o=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if("object"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&"function"==typeof t.then)return t}var i=Object.create(null);a.r(i);var r={};e=e||[null,o({}),o([]),o(o)];for(var s=2&n&&t;"object"==typeof s&&!~e.indexOf(s);s=o(s))Object.getOwnPropertyNames(s).forEach((function(e){r[e]=function(){return t[e]}}));return r.default=function(){return t},a.d(i,r),i},a.d=function(e,o){for(var t in o)a.o(o,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:o[t]})},a.o=function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){a.d(i,{component:function(){return u}});var e=coreApis.pluginApis.data,o=coreApis.componentApis.component,t=coreApis.componentApis.userComponent,n=coreApis.ajax,r=coreApis.cdnTypes,s=coreApis.meta,l=coreApis.settings,c=coreApis.toast,d=a(729),m=coreApis.pluginApis.hook,p=coreApis.pluginApis.plugin;const u={name:"v1Migrate",displayName:"v1 设置迁移",description:{"zh-CN":"在设置的 `关于` 面板中添加 `导入 v1 设置` 按钮, 点击导入可以导入 v1 的设置, 并根据打开的选项自动下载安装 v2 中对应的功能."},tags:[componentsTags.utils],entry:()=>{(0,e.addData)("settingsPanel.about.actions",(e=>{e.push({icon:"mdi-inbox-arrow-down-outline",name:"importV1Settings",displayName:"导入 v1 设置",run:async()=>{const{logError:e}=await Promise.resolve().then(a.t.bind(a,729,23)),{pickFile:i}=await Promise.resolve().then(a.t.bind(a,290,23)),u=await i({accept:"*.json"});if(0===u.length)return;const[f]=u;try{const e=JSON.parse(await f.text());await(async e=>{const a=c.Toast.info("下载功能列表中","导入 v1 设置");try{console.log("下载功能列表中");const i=`${r.cdnRoots[(0,l.getGeneralSettings)().cdnRoot](s.meta.compilationInfo.branch)}doc/features/features.json`,c=await(0,n.monkey)({url:i});console.log(c);const d=JSON.parse(c);console.log("下载功能列表完成");const u=(a,i,c)=>async()=>{if(!e[a])return void console.log(`跳过了未开启的选项 ${a}`);const u={component:o.componentsMap,plugin:p.pluginsMap},f={component:t.installComponent,plugin:p.installPlugin};if(i in u[c])console.log(`${i} 已经存在, 跳过安装`);else{const e=d.find((e=>e.type===c&&e.name===i)),o=e?.fullAbsolutePath;if(!o||!e)return void console.log(`没有找到名为 ${i} 的功能`);const t=`${r.cdnRoots[(0,l.getGeneralSettings)().cdnRoot](s.meta.compilationInfo.branch,e.owner)}${o}`,a=await(0,n.monkey)({url:t}),{before:p,after:u}=(0,m.getHook)(`user${lodash.startCase(c)}s.add`,a,t);await p();const{metadata:g,message:v}=await f[c](a);await u(g),console.log(v)}},f=(o,t,n)=>()=>{const a=e[o],i=n?.(a)??a;if(void 0!==i){const[e,...o]=t.split("."),{options:n}=(0,l.getComponentSettings)(e);lodash.set(n,o,i)}console.log(`迁移了选项 ${o} -> ${t}`)},g=()=>()=>{const{customStyles:o}=e;o.filter((e=>e.enabled)).forEach((e=>{l.settings.userStyles[e.name]=lodash.omit(e,"enabled")}))},v=e=>u("guiSettings",e,"plugin"),b=()=>none,y={category:"home",activities:"feeds",bangumi:"subscriptions",watchlaterList:"watchlater",favoritesList:"favorites",historyList:"history",rankingLink:"ranking",drawingLink:"drawing",bangumiLink:"bangumi",musicLink:"music",matchLink:"match",shopLink:"shop"},h=[u("useDarkStyle","darkMode","component"),u("darkColorScheme","darkModeFollowSystem","component"),u("hideBanner","hideBanner","component"),u("expandDanmakuList","expandDanmakuList","component"),f("expandDanmakuListIgnoreMediaList","expandDanmakuList.ignoreMediaList"),u("expandDescription","fullVideoDescription","component"),u("watchlaterRedirect","watchlaterRedirect","component"),f("watchLaterRedirectNavbar","watchlaterRedirect.navbar"),f("watchLaterRedirectPage","watchlaterRedirect.page"),u("touchVideoPlayer","touchPlayerGestures","component"),u("touchVideoPlayer","touchPlayerControl","component"),u("customControlBackground","playerControlBackground","component"),f("customControlBackgroundOpacity","playerControlBackground.opacity",(e=>{const o=parseFloat(e);return Math.round(100*o)})),u("darkSchedule","darkModeSchedule","component"),f("darkScheduleStart","darkModeSchedule.range.start"),f("darkScheduleEnd","darkModeSchedule.range.end"),u("fullTweetsTitle","fullFeedsTitle","component"),u("fullPageTitle","fullEpisodeTitle","component"),u("removeVideoTopMask","hideVideoTopMask","component"),u("removeLiveWatermark","removeLiveWatermark","component"),u("harunaScale","dpiLiveShowgirl","component"),u("harunaScale","dpiLiveShowgirl","component"),u("removeAds","removePromotions","component"),f("showBlockedAdsTip","removePromotions.showPlaceholder"),f("preserveEventBanner","removePromotions.preserveEventBanner"),u("touchVideoPlayerDoubleTapControl","doubleClickControl","component"),f("customStyleColor","settingsPanel.themeColor"),u("useDefaultPlayerMode","defaultPlayerMode","component"),f("applyPlayerModeOnPlay","defaultPlayerMode.applyOnPlay"),f("defaultPlayerMode","defaultPlayerMode.mode"),u("skipChargeList","skipChargeList","component"),u("comboLike","touchComboLike","component"),u("autoLightOff","playerAutoLight","component"),u("airborne","danmakuAirborne","component"),u("useBiliplusRedirect","biliplusRedirect","component"),u("biliplusRedirect","biliplusRedirect","component"),u("framePlayback","seekByFrames","component"),u("useCommentStyle","simplifyComments","component"),u("imageResolution","imageResolution","component"),f("imageResolutionScale","imageResolution.scale"),u("playerFocus","playerFocus","component"),f("playerFocusOffset","playerFocus.offset"),u("simplifyLiveroom","simplifyLiveroom","component"),f("simplifyLiveroomSettings","simplifyLiveroom",(e=>{const{options:o}=(0,l.getComponentSettings)("simplifyLiveroom");Object.assign(o,Object.fromEntries(Object.entries(e).map((([e,o])=>[`switch-${e}`,o]))))})),u("customNavbar","customNavbar","component"),v("customNavbar.items.darkMode"),f("favoritesListCurrentSelect","customNavbar.lastFavoriteFolder"),f("touchNavBar","customNavbar.touch"),f("customNavbarFill","customNavbar.fill"),f("customNavbarTransparent","customNavbar.transparent"),f("customNavbarShadow","customNavbar.shadow"),f("customNavbarBlur","customNavbar.blur"),f("customNavbarOrder","customNavbar.order",(e=>(Object.keys(e).forEach((o=>{o in y&&(e[y[o]]=e[o],delete e[o])})),delete e.mangaLink,e))),f("customNavbarHidden","customNavbar.hidden",(e=>([...e].forEach((o=>{o in y&&(e.push(y[o]),lodash.pull(e,o))})),lodash.pull(e,"mangaLink"),e))),f("customNavbarBoundsPadding","customNavbar.padding",(e=>parseFloat(e))),f("customNavbarGlobalFixed","customNavbar.globalFixed"),f("customNavbarSeasonLogo","customNavbar.seasonLogo"),f("customNavbarShowDeadVideos","customNavbar.showDeadVideos"),u("playerShadow","playerShadow","component"),u("narrowDanmaku","preserveDanmakuInput","component"),u("outerWatchlater","outerWatchlater","component"),u("videoScreenshot","videoScreenshot","component"),u("hideBangumiReviews","hideBangumiReviews","component"),f("filenameFormat","settingsPanel.filenameFormat"),f("batchFilenameFormat","settingsPanel.batchFilenameFormat"),u("sidebarOffset","sidebarOffset","component"),f("sidebarOffset","sidebarOffset.offset"),u("noLiveAutoplay","liveHomeMute","component"),u("foldComment","rememberVideoSpeed","component"),f("defaultVideoSpeed","rememberVideoSpeed.speed"),f("rememberVideoSpeedList","rememberVideoSpeed.individualRememberList"),f("rememberVideoSpeed","rememberVideoSpeed.individualRemember"),f("extendVideoSpeed","rememberVideoSpeed.extend"),f("extendVideoSpeedList","rememberVideoSpeed.extendList"),u("foldComment","foldComments","component"),u("autoDraw","liveAutoDraw","component"),u("keymap","keymap","component"),f("keymapPreset","keymap.preset"),f("keymapJumpSeconds","keymap.longJumpSeconds"),f("customKeyBindings","keymap.customKeyBindings"),u("doubleClickFullscreen","doubleClickFullscreen","component"),f("doubleClickFullscreenPreventSingleClick","doubleClickFullscreen.preventSingleClick"),f("scriptLoadingMode","settingsPanel.scriptLoadingMode",(e=>e.replace(/\(自动\)$/,""))),f("guiSettingsDockSide","settingsPanel.dockSide"),u("fullActivityContent","fullFeedsContent","component"),u("feedsFilter","feedsFilter","component"),f("feedsFilterPatterns","feedsFilter.patterns"),f("feedsSpecialFilterTypes","feedsFilter.types"),f("feedsFilterSideCards","feedsFilter.sideCards"),u("selectableColumnText","columnUnlock","component"),u("miniPlayerTouchMove","touchMiniPlayer","component"),u("hideBangumiSponsors","hideBangumiSponsors","component"),u("hideRecommendLive","hideRecommendedLive","component"),u("hideRelatedVideos","hideRelatedVideos","component"),u("urlParamsClean","urlParamsClean","component"),u("collapseLiveSideBar","collapseLiveSideBar","component"),f("foregroundColorMode","settingsPanel.textColor"),f("updateCdn","settingsPanel.cdnRoot"),f("downloadPackageEmitMode","settingsPanel.downloadPackageEmitMode",(e=>"分别下载"===e?"单独下载":e)),u("bvidConvert","bvidConvert","component"),u("fixedSidebars","fixedFeedsSidebars","component"),u("autoHideSideBar","autoHideSidebar","component"),u("livePip","livePip","component"),u("extendFeedsLive","extendFeedsLive","component"),u("playerOnTop","playerOnTop","component"),u("quickFavorite","quickFavorite","component"),f("quickFavoriteID","quickFavorite.favoriteFolderID"),u("disableFeedsDetails","disableFeedsDetails","component"),u("elegantScrollbar","elegantScrollbar","component"),u("danmakuSendBar","liveDanmakuSendbar","component"),u("showCoverBeforePlay","showCoverBeforePlay","component"),u("seoJump","seoRedirect","component"),u("copyFeedsLink","copyFeedsLink","component"),u("copyCommentLink","copyCommentsLink","component"),u("unfoldFeeds","unfoldFeeds","component"),u("feedsImageExporter","imageExporter","component"),u("columnImageExporter","imageExporter","component"),u("preferAvUrl","avUrl","component"),u("homeHidden","simplifyHome","component"),f("homeHiddenItems","simplifyHome",(e=>{const{options:o}=(0,l.getComponentSettings)("simplifyHome");e.forEach((e=>o[`switch-${e}`]=!0))})),u("alwaysShowDuration","alwaysShowDuration","component"),u("removeVideoPopup","removePlayerPopup","component"),u("removeGuidePopup","removePlayerPopup","component"),u("removeVotePopup","removePlayerPopup","component"),f("removeVideoPopup","removePlayerPopup.relatedVideos"),f("removeGuidePopup","removePlayerPopup.comboLikes"),f("removeVotePopup","removePlayerPopup.votes"),u("checkInCenter","checkInCenter","component"),u("fullscreenGiftBox","liveGiftBox","component"),u("autoPlayControl","legacyAutoPlay","component"),u("scrollOutPlayer","playerIntersectionActions","component"),f("scrollOutPlayerTriggerPlace","playerIntersectionActions.triggerLocation"),f("scrollOutPlayerAutoPause","playerIntersectionActions.pause"),f("scrollOutPlayerAutoLightOn","playerIntersectionActions.light"),u("disableDanmakuHighlights","disableSpecialDanmaku","component"),u("disableUpDanmakuStyle","disableSpecialDanmaku","component"),f("disableDanmakuHighlights","disableSpecialDanmaku.highlight"),f("disableUpDanmakuStyle","disableSpecialDanmaku.up"),u("viewCover","viewCover","component"),u("downloadVideo","downloadVideo","component"),v("downloadVideo.outputs.aria2"),v("downloadVideo.outputs.idm"),f("downloadVideoQuality","downloadVideo.basicConfig.quality"),f("downloadVideoFormat","downloadVideo.basicConfig.api",(o=>({flv:"video.flv",dash:e.downloadVideoDashCodec.startsWith("HEVC")?"video.dash.hevc":"video.dash.avc"}[o]))),f("downloadVideoDefaultDanmaku","downloadVideo.danmakuType"),f("downloadVideoDefaultSubtitle","downloadVideo.subtitleType"),f("aria2RpcOptionProfiles","downloadVideo.rpcProfiles"),u("downloadDanmaku","downloadDanmaku","component"),u("downloadSubtitle","downloadSubtitle","component"),u("downloadAudio","downloadAudio","component"),u("downloadLiveRecords","downloadLiveRecords","component"),u("medalHelper","badgeHelper","component"),f("defaultMedalID","badgeHelper.defaultMedalID"),f("autoMatchMedal","badgeHelper.autoMatchMedal"),g(),b()];let k=0;a.message=`导入中... (${k}/${h.length})`;let S=0,P=0;for(const e of h)try{await e(),S++}catch(e){console.log(e),P++}finally{k++,a.message=`导入中... (${k}/${h.length})`}a.message=`导入完成. 成功 ${S} 个, 失败 ${P} 个, 可在控制台查看详细日志.`}catch(e){a.dismiss(),(0,d.logError)(e)}})(e)}catch(o){e(o)}}})}))},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +!function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports["utils/v1-migrate"]=o():e["utils/v1-migrate"]=o()}(self,(function(){return function(){"use strict";var e,o,t={290:function(e){e.exports=coreApis.filePicker},729:function(e){e.exports=coreApis.utils.log}},n={};function a(e){var o=n[e];if(void 0!==o)return o.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,a),i.exports}o=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if("object"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&"function"==typeof t.then)return t}var i=Object.create(null);a.r(i);var r={};e=e||[null,o({}),o([]),o(o)];for(var s=2&n&&t;"object"==typeof s&&!~e.indexOf(s);s=o(s))Object.getOwnPropertyNames(s).forEach((function(e){r[e]=function(){return t[e]}}));return r.default=function(){return t},a.d(i,r),i},a.d=function(e,o){for(var t in o)a.o(o,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:o[t]})},a.o=function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){a.d(i,{component:function(){return u}});var e=coreApis.pluginApis.data,o=coreApis.componentApis.component,t=coreApis.componentApis.userComponent,n=coreApis.ajax,r=coreApis.cdnTypes,s=coreApis.meta,l=coreApis.settings,c=coreApis.toast,d=a(729),m=coreApis.pluginApis.hook,p=coreApis.pluginApis.plugin;const u={name:"v1Migrate",displayName:"v1 设置迁移",description:{"zh-CN":"在设置的 `关于` 面板中添加 `导入 v1 设置` 按钮, 点击导入可以导入 v1 的设置, 并根据打开的选项自动下载安装 v2 中对应的功能."},tags:[componentsTags.utils],entry:()=>{(0,e.addData)("settingsPanel.about.actions",(e=>{e.push({icon:"mdi-inbox-arrow-down-outline",name:"importV1Settings",displayName:"导入 v1 设置",run:async()=>{const{logError:e}=await Promise.resolve().then(a.t.bind(a,729,23)),{pickFile:i}=await Promise.resolve().then(a.t.bind(a,290,23)),u=await i({accept:"*.json"});if(0===u.length)return;const[f]=u;try{const e=JSON.parse(await f.text());await(async e=>{const a=c.Toast.info("下载功能列表中","导入 v1 设置");try{console.log("下载功能列表中");const i=`${r.cdnRoots[(0,l.getGeneralSettings)().cdnRoot](s.meta.compilationInfo.branch)}doc/features/features.json`,c=await(0,n.monkey)({url:i});console.log(c);const d=JSON.parse(c);console.log("下载功能列表完成");const u=(a,i,c)=>async()=>{if(!e[a])return void console.log(`跳过了未开启的选项 ${a}`);const u={component:o.componentsMap,plugin:p.pluginsMap},f={component:t.installComponent,plugin:p.installPlugin};if(i in u[c])console.log(`${i} 已经存在, 跳过安装`);else{const e=d.find((e=>e.type===c&&e.name===i)),o=e?.fullAbsolutePath;if(!o||!e)return void console.log(`没有找到名为 ${i} 的功能`);const t=`${r.cdnRoots[(0,l.getGeneralSettings)().cdnRoot](s.meta.compilationInfo.branch,e.owner)}${o}`,a=await(0,n.monkey)({url:t}),{before:p,after:u}=(0,m.getHook)(`user${lodash.startCase(c)}s.add`,a,t);await p();const{metadata:g,message:v}=await f[c](a);await u(g),console.log(v)}},f=(o,t,n)=>()=>{const a=e[o],i=n?.(a)??a;if(void 0!==i){const[e,...o]=t.split("."),{options:n}=(0,l.getComponentSettings)(e);lodash.set(n,o,i)}console.log(`迁移了选项 ${o} -> ${t}`)},g=()=>()=>{const{customStyles:o}=e;o.filter((e=>e.enabled)).forEach((e=>{l.settings.userStyles[e.name]=lodash.omit(e,"enabled")}))},v=e=>u("guiSettings",e,"plugin"),y=()=>none,h={category:"home",activities:"feeds",bangumi:"subscriptions",watchlaterList:"watchlater",favoritesList:"favorites",historyList:"history",rankingLink:"ranking",drawingLink:"drawing",bangumiLink:"bangumi",musicLink:"music",matchLink:"match",shopLink:"shop"},b=[u("useDarkStyle","darkMode","component"),u("darkColorScheme","darkModeFollowSystem","component"),u("hideBanner","hideBanner","component"),u("expandDanmakuList","expandDanmakuList","component"),f("expandDanmakuListIgnoreMediaList","expandDanmakuList.ignoreMediaList"),u("expandDescription","fullVideoDescription","component"),u("watchlaterRedirect","watchlaterRedirect","component"),f("watchLaterRedirectNavbar","watchlaterRedirect.navbar"),f("watchLaterRedirectPage","watchlaterRedirect.page"),u("touchVideoPlayer","touchPlayerGestures","component"),u("touchVideoPlayer","touchPlayerControl","component"),u("customControlBackground","playerControlBackground","component"),f("customControlBackgroundOpacity","playerControlBackground.opacity",(e=>{const o=parseFloat(e);return Math.round(100*o)})),u("darkSchedule","darkModeSchedule","component"),f("darkScheduleStart","darkModeSchedule.range.start"),f("darkScheduleEnd","darkModeSchedule.range.end"),u("fullTweetsTitle","fullFeedsTitle","component"),u("fullPageTitle","fullEpisodeTitle","component"),u("removeVideoTopMask","hideVideoTopMask","component"),u("removeLiveWatermark","removeLiveWatermark","component"),u("harunaScale","dpiLiveShowgirl","component"),u("harunaScale","dpiLiveShowgirl","component"),u("removeAds","removePromotions","component"),f("showBlockedAdsTip","removePromotions.showPlaceholder"),f("preserveEventBanner","removePromotions.preserveEventBanner"),u("touchVideoPlayerDoubleTapControl","doubleClickControl","component"),f("customStyleColor","settingsPanel.themeColor"),u("useDefaultPlayerMode","defaultPlayerMode","component"),f("applyPlayerModeOnPlay","defaultPlayerMode.applyOnPlay"),f("defaultPlayerMode","defaultPlayerMode.mode"),u("skipChargeList","skipChargeList","component"),u("comboLike","touchComboLike","component"),u("autoLightOff","playerAutoLight","component"),u("airborne","danmakuAirborne","component"),u("useBiliplusRedirect","biliplusRedirect","component"),u("biliplusRedirect","biliplusRedirect","component"),u("framePlayback","seekByFrames","component"),u("useCommentStyle","simplifyComments","component"),u("imageResolution","imageResolution","component"),f("imageResolutionScale","imageResolution.scale"),u("playerFocus","playerFocus","component"),f("playerFocusOffset","playerFocus.offset"),u("simplifyLiveroom","simplifyLiveroom","component"),f("simplifyLiveroomSettings","simplifyLiveroom",(e=>{const{options:o}=(0,l.getComponentSettings)("simplifyLiveroom");Object.assign(o,Object.fromEntries(Object.entries(e).map((([e,o])=>[`switch-${e}`,o]))))})),u("customNavbar","customNavbar","component"),v("customNavbar.items.darkMode"),f("favoritesListCurrentSelect","customNavbar.lastFavoriteFolder"),f("touchNavBar","customNavbar.touch"),f("customNavbarFill","customNavbar.fill"),f("customNavbarTransparent","customNavbar.transparent"),f("customNavbarShadow","customNavbar.shadow"),f("customNavbarBlur","customNavbar.blur"),f("customNavbarOrder","customNavbar.order",(e=>(Object.keys(e).forEach((o=>{o in h&&(e[h[o]]=e[o],delete e[o])})),delete e.mangaLink,e))),f("customNavbarHidden","customNavbar.hidden",(e=>([...e].forEach((o=>{o in h&&(e.push(h[o]),lodash.pull(e,o))})),lodash.pull(e,"mangaLink"),e))),f("customNavbarBoundsPadding","customNavbar.padding",(e=>parseFloat(e))),f("customNavbarGlobalFixed","customNavbar.globalFixed"),f("customNavbarSeasonLogo","customNavbar.seasonLogo"),f("customNavbarShowDeadVideos","customNavbar.showDeadVideos"),u("playerShadow","playerShadow","component"),u("narrowDanmaku","preserveDanmakuInput","component"),u("outerWatchlater","outerWatchlater","component"),u("videoScreenshot","videoScreenshot","component"),u("hideBangumiReviews","hideBangumiReviews","component"),f("filenameFormat","settingsPanel.filenameFormat"),f("batchFilenameFormat","settingsPanel.batchFilenameFormat"),u("sidebarOffset","sidebarOffset","component"),f("sidebarOffset","sidebarOffset.offset"),u("noLiveAutoplay","liveHomeMute","component"),u("foldComment","rememberVideoSpeed","component"),f("defaultVideoSpeed","rememberVideoSpeed.speed"),f("rememberVideoSpeedList","rememberVideoSpeed.individualRememberList"),f("rememberVideoSpeed","rememberVideoSpeed.individualRemember"),f("extendVideoSpeed","rememberVideoSpeed.extend"),f("extendVideoSpeedList","rememberVideoSpeed.extendList"),u("foldComment","foldComments","component"),u("autoDraw","liveAutoDraw","component"),u("keymap","keymap","component"),f("keymapPreset","keymap.preset"),f("keymapJumpSeconds","keymap.longJumpSeconds"),f("customKeyBindings","keymap.customKeyBindings"),u("doubleClickFullscreen","doubleClickFullscreen","component"),f("doubleClickFullscreenPreventSingleClick","doubleClickFullscreen.preventSingleClick"),f("scriptLoadingMode","settingsPanel.scriptLoadingMode",(e=>e.replace(/\(自动\)$/,""))),f("guiSettingsDockSide","settingsPanel.dockSide"),u("fullActivityContent","fullFeedsContent","component"),u("feedsFilter","feedsFilter","component"),f("feedsFilterPatterns","feedsFilter.patterns"),f("feedsSpecialFilterTypes","feedsFilter.types"),f("feedsFilterSideCards","feedsFilter.sideCards"),u("selectableColumnText","columnUnlock","component"),u("miniPlayerTouchMove","touchMiniPlayer","component"),u("hideBangumiSponsors","hideBangumiSponsors","component"),u("hideRecommendLive","hideRecommendedLive","component"),u("hideRelatedVideos","hideRelatedVideos","component"),u("urlParamsClean","urlParamsClean","component"),u("collapseLiveSideBar","collapseLiveSideBar","component"),f("foregroundColorMode","settingsPanel.textColor"),f("updateCdn","settingsPanel.cdnRoot"),f("downloadPackageEmitMode","settingsPanel.downloadPackageEmitMode",(e=>"分别下载"===e?"单独下载":e)),u("bvidConvert","bvidConvert","component"),u("fixedSidebars","fixedFeedsSidebars","component"),u("autoHideSideBar","autoHideSidebar","component"),u("livePip","livePip","component"),u("extendFeedsLive","extendFeedsLive","component"),u("playerOnTop","playerOnTop","component"),u("quickFavorite","quickFavorite","component"),f("quickFavoriteID","quickFavorite.favoriteFolderID"),u("disableFeedsDetails","disableFeedsDetails","component"),u("elegantScrollbar","elegantScrollbar","component"),u("danmakuSendBar","liveDanmakuSendbar","component"),u("showCoverBeforePlay","showCoverBeforePlay","component"),u("seoJump","seoRedirect","component"),u("copyFeedsLink","copyFeedsLink","component"),u("copyCommentLink","copyCommentsLink","component"),u("unfoldFeeds","unfoldFeeds","component"),u("feedsImageExporter","imageExporter","component"),u("columnImageExporter","imageExporter","component"),u("preferAvUrl","avUrl","component"),u("homeHidden","simplifyHome","component"),f("homeHiddenItems","simplifyHome",(e=>{const{options:o}=(0,l.getComponentSettings)("simplifyHome");e.forEach((e=>o[`switch-${e}`]=!0))})),u("alwaysShowDuration","alwaysShowDuration","component"),u("removeVideoPopup","removePlayerPopup","component"),u("removeGuidePopup","removePlayerPopup","component"),u("removeVotePopup","removePlayerPopup","component"),f("removeVideoPopup","removePlayerPopup.relatedVideos"),f("removeGuidePopup","removePlayerPopup.comboLikes"),f("removeVotePopup","removePlayerPopup.votes"),u("checkInCenter","checkInCenter","component"),u("fullscreenGiftBox","liveGiftBox","component"),u("autoPlayControl","legacyAutoPlay","component"),u("scrollOutPlayer","playerIntersectionActions","component"),f("scrollOutPlayerTriggerPlace","playerIntersectionActions.triggerLocation"),f("scrollOutPlayerAutoPause","playerIntersectionActions.pause"),f("scrollOutPlayerAutoLightOn","playerIntersectionActions.light"),u("disableDanmakuHighlights","disableSpecialDanmaku","component"),u("disableUpDanmakuStyle","disableSpecialDanmaku","component"),f("disableDanmakuHighlights","disableSpecialDanmaku.highlight"),f("disableUpDanmakuStyle","disableSpecialDanmaku.up"),u("viewCover","viewCover","component"),u("downloadVideo","downloadVideo","component"),v("downloadVideo.outputs.aria2"),v("downloadVideo.outputs.idm"),f("downloadVideoQuality","downloadVideo.basicConfig.quality"),f("downloadVideoFormat","downloadVideo.basicConfig.api",(o=>({flv:"video.flv",dash:e.downloadVideoDashCodec.startsWith("HEVC")?"video.dash.hevc":"video.dash.avc"}[o]))),f("downloadVideoDefaultDanmaku","downloadVideo.danmakuType"),f("downloadVideoDefaultSubtitle","downloadVideo.subtitleType"),f("aria2RpcOptionProfiles","downloadVideo.rpcProfiles"),u("downloadDanmaku","downloadDanmaku","component"),u("downloadSubtitle","downloadSubtitle","component"),u("downloadAudio","downloadAudio","component"),u("downloadLiveRecords","downloadLiveRecords","component"),u("medalHelper","badgeHelper","component"),f("defaultMedalID","badgeHelper.defaultMedalID"),f("autoMatchMedal","badgeHelper.autoMatchMedal"),g(),y()];let k=0;a.message=`导入中... (${k}/${b.length})`;let S=0,P=0;for(const e of b)try{await e(),S++}catch(e){console.log(e),P++}finally{k++,a.message=`导入中... (${k}/${b.length})`}a.message=`导入完成. 成功 ${S} 个, 失败 ${P} 个, 可在控制台查看详细日志.`}catch(e){a.dismiss(),(0,d.logError)(e)}})(e)}catch(o){e(o)}}})}))},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/utils/view-cover.js b/registry/dist/components/utils/view-cover.js index 11f648808..bd1f5358a 100644 --- a/registry/dist/components/utils/view-cover.js +++ b/registry/dist/components/utils/view-cover.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["utils/view-cover"]=t():e["utils/view-cover"]=t()}(self,(function(){return function(){"use strict";var e={568:function(e,t,o){o.r(t),o.d(t,{default:function(){return u}});var n=function(){var e=this,t=e.$createElement;return(e._self._c||t)("DefaultWidget",{staticClass:"view-cover",attrs:{disabled:!e.imageUrl,name:"查看封面",icon:"mdi-image-outline"},on:{click:function(t){return e.viewCover()}}})};n._withStripped=!0;var i=coreApis.ajax,r=coreApis.observer,s=coreApis.spinQuery,a=coreApis.utils.log,c=coreApis.ui,l=coreApis.componentApis.video.videoInfo;var d=function(e,t,o,n,i,r,s,a){var c,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=o,l._compiled=!0),n&&(l.functional=!0),r&&(l._scopeId="data-v-"+r),s?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):i&&(c=a?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),c)if(l.functional){l._injectStyles=c;var d=l.render;l.render=function(e,t){return c.call(t),d(e,t)}}else{var u=l.beforeCreate;l.beforeCreate=u?[].concat(u,c):[c]}return{exports:e,options:l}}(Vue.extend({components:{DefaultWidget:c.DefaultWidget},data:()=>({imageUrl:""}),async mounted(){if(document.URL.includes("live.bilibili.com")){const e=".header-info-ctnr .room-cover, .header-info-ctnr .avatar",t=await(0,s.select)(e);if(!t)return;const o=t.getAttribute("href").match(/space\.bilibili\.com\/([\d]+)/);if(o&&o[1]){const e=`https://api.live.bilibili.com/room/v1/Room/getRoomInfoOld?mid=${o[1]}`,t=await(0,i.getJson)(e);this.imageUrl=t.data.cover.replace("http:","https:")}}else(0,r.videoChange)((async()=>{const{aid:e}=unsafeWindow,t=new l.VideoInfo(e);try{await t.fetchInfo()}catch(e){throw(0,a.logError)(e),e}this.imageUrl=t.coverUrl.replace("http:","https:")}))},methods:{async viewCover(){(0,c.showImage)(this.imageUrl)}}}),n,[],!1,null,null,null);d.options.__file="registry/lib/components/utils/view-cover/ViewCover.vue";var u=d.exports}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,o),r.exports}o.d=function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return function(){o.d(n,{component:function(){return t}});var e=coreApis.utils.urls;const t={name:"viewCover",displayName:"查看封面",tags:[componentsTags.utils,componentsTags.video],entry:none,reload:none,unload:none,widget:{component:()=>Promise.resolve().then(o.bind(o,568)).then((e=>e.default))},description:{"zh-CN":"在视频页面中, 可从功能面板中查看封面."},urlInclude:[...e.videoAndBangumiUrls],commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),n=n.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["utils/view-cover"]=t():e["utils/view-cover"]=t()}(self,(function(){return function(){"use strict";var e={568:function(e,t,o){o.r(t),o.d(t,{default:function(){return u}});var n=function(){var e=this,t=e.$createElement;return(e._self._c||t)("DefaultWidget",{staticClass:"view-cover",attrs:{disabled:!e.imageUrl,name:"查看封面",icon:"mdi-image-outline"},on:{click:function(t){return e.viewCover()}}})};n._withStripped=!0;var i=coreApis.ajax,r=coreApis.observer,s=coreApis.spinQuery,a=coreApis.utils.log,c=coreApis.ui,l=coreApis.componentApis.video.videoInfo;var d=function(e,t,o,n,i,r,s,a){var c,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=o,l._compiled=!0),n&&(l.functional=!0),r&&(l._scopeId="data-v-"+r),s?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):i&&(c=a?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),c)if(l.functional){l._injectStyles=c;var d=l.render;l.render=function(e,t){return c.call(t),d(e,t)}}else{var u=l.beforeCreate;l.beforeCreate=u?[].concat(u,c):[c]}return{exports:e,options:l}}(Vue.extend({components:{DefaultWidget:c.DefaultWidget},data:()=>({imageUrl:""}),async mounted(){if(document.URL.includes("live.bilibili.com")){const e=".header-info-ctnr .room-cover, .header-info-ctnr .avatar",t=await(0,s.select)(e);if(!t)return;const o=t.getAttribute("href").match(/space\.bilibili\.com\/([\d]+)/);if(o&&o[1]){const e=`https://api.live.bilibili.com/room/v1/Room/getRoomInfoOld?mid=${o[1]}`,t=await(0,i.getJson)(e);this.imageUrl=t.data.cover.replace("http:","https:")}}else(0,r.videoChange)((async()=>{const{aid:e}=unsafeWindow,t=new l.VideoInfo(e);try{await t.fetchInfo()}catch(e){throw(0,a.logError)(e),e}this.imageUrl=t.coverUrl.replace("http:","https:")}))},methods:{async viewCover(){(0,c.showImage)(this.imageUrl)}}}),n,[],!1,null,null,null);d.options.__file="registry/lib/components/utils/view-cover/ViewCover.vue";var u=d.exports}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,o),r.exports}o.d=function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return function(){o.d(n,{component:function(){return t}});var e=coreApis.utils.urls;const t={name:"viewCover",displayName:"查看封面",tags:[componentsTags.utils,componentsTags.video],entry:none,reload:none,unload:none,widget:{component:()=>Promise.resolve().then(o.bind(o,568)).then((e=>e.default))},description:{"zh-CN":"在视频页面中, 可从功能面板中查看封面."},urlInclude:[...e.videoAndBangumiUrls],commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),n=n.component}()})); \ No newline at end of file diff --git a/registry/dist/components/utils/watchlater-redirect.js b/registry/dist/components/utils/watchlater-redirect.js index 136e03a7b..9a9442e35 100644 --- a/registry/dist/components/utils/watchlater-redirect.js +++ b/registry/dist/components/utils/watchlater-redirect.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["utils/watchlater-redirect"]=t():e["utils/watchlater-redirect"]=t()}(self,(function(){return function(){"use strict";var e,t,o={539:function(e){e.exports=coreApis.componentApis.video.watchlater},156:function(e){e.exports=coreApis.observer},569:function(e){e.exports=coreApis.spinQuery}},r={};function n(e){var t=r[e];if(void 0!==t)return t.exports;var i=r[e]={exports:{}};return o[e](i,i.exports,n),i.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},n.t=function(o,r){if(1&r&&(o=this(o)),8&r)return o;if("object"==typeof o&&o){if(4&r&&o.__esModule)return o;if(16&r&&"function"==typeof o.then)return o}var i=Object.create(null);n.r(i);var c={};e=e||[null,t({}),t([]),t(t)];for(var a=2&r&&o;"object"==typeof a&&!~e.indexOf(a);a=t(a))Object.getOwnPropertyNames(a).forEach((function(e){c[e]=function(){return o[e]}}));return c.default=function(){return o},n.d(i,c),i},n.d=function(e,t){for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){n.d(i,{component:function(){return e}});const e={name:"watchlaterRedirect",displayName:"稍后再看重定向",description:{"zh-CN":"将稍后再看的链接重定向为普通播放网址."},entry:async({settings:e})=>{if(e.options.page){const{select:e}=await Promise.resolve().then(n.t.bind(n,569,23)),{childList:t}=await Promise.resolve().then(n.t.bind(n,156,23)),{getWatchlaterList:o}=await Promise.resolve().then(n.t.bind(n,539,23)),r=await o(!0),i=await e(".watch-later-list .list-box > span");if(!i)return;const c=(e,t)=>{try{const o=r[t],{bvid:n,cid:i,pages:c}=o,a=c.find((e=>e.cid===i))?.page??1,s=a>1?`https://www.bilibili.com/video/${n}?p=${a}`:`https://www.bilibili.com/video/${n}`,l=e.querySelector(".av-pic");l.target="_blank",l.href=s;const u=e.querySelector(".av-about .t");u.target="_blank",u.href=s}catch(o){console.error(`[watchlater redirect] error at index ${t}`,e,o)}},a=()=>{i.querySelectorAll(".av-item").forEach(c)};t(i,(e=>{e.forEach((e=>{e.removedNodes.forEach((e=>{if(e instanceof HTMLElement&&!e.classList.contains("itemlist-move")){const t=parseInt(dq(e,".key").textContent)-1;console.log("remove index",t),r.splice(t,1)}}))})),a()}))}},options:{page:{displayName:"重定向页面",defaultValue:!0},navbar:{displayName:"重定向顶栏",defaultValue:!0}},urlInclude:["https://www.bilibili.com/watchlater/#/list"],tags:[componentsTags.utils,componentsTags.video],commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["utils/watchlater-redirect"]=t():e["utils/watchlater-redirect"]=t()}(self,(function(){return function(){"use strict";var e,t,o={539:function(e){e.exports=coreApis.componentApis.video.watchlater},156:function(e){e.exports=coreApis.observer},569:function(e){e.exports=coreApis.spinQuery}},r={};function n(e){var t=r[e];if(void 0!==t)return t.exports;var i=r[e]={exports:{}};return o[e](i,i.exports,n),i.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},n.t=function(o,r){if(1&r&&(o=this(o)),8&r)return o;if("object"==typeof o&&o){if(4&r&&o.__esModule)return o;if(16&r&&"function"==typeof o.then)return o}var i=Object.create(null);n.r(i);var a={};e=e||[null,t({}),t([]),t(t)];for(var c=2&r&&o;"object"==typeof c&&!~e.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach((function(e){a[e]=function(){return o[e]}}));return a.default=function(){return o},n.d(i,a),i},n.d=function(e,t){for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){n.d(i,{component:function(){return e}});const e={name:"watchlaterRedirect",displayName:"稍后再看重定向",description:{"zh-CN":"将稍后再看的链接重定向为普通播放网址."},entry:async({settings:e})=>{if(e.options.page){const{select:e}=await Promise.resolve().then(n.t.bind(n,569,23)),{childList:t}=await Promise.resolve().then(n.t.bind(n,156,23)),{getWatchlaterList:o}=await Promise.resolve().then(n.t.bind(n,539,23)),r=await o(!0),i=await e(".watch-later-list .list-box > span");if(!i)return;const a=(e,t)=>{try{const o=r[t],{bvid:n,cid:i,pages:a}=o,c=a.find((e=>e.cid===i))?.page??1,s=c>1?`https://www.bilibili.com/video/${n}?p=${c}`:`https://www.bilibili.com/video/${n}`,l=e.querySelector(".av-pic");l.target="_blank",l.href=s;const f=e.querySelector(".av-about .t");f.target="_blank",f.href=s}catch(o){console.error(`[watchlater redirect] error at index ${t}`,e,o)}},c=()=>{i.querySelectorAll(".av-item").forEach(a)};t(i,(e=>{e.forEach((e=>{e.removedNodes.forEach((e=>{if(e instanceof HTMLElement&&!e.classList.contains("itemlist-move")){const t=parseInt(dq(e,".key").textContent)-1;console.log("remove index",t),r.splice(t,1)}}))})),c()}))}},options:{page:{displayName:"重定向页面",defaultValue:!0},navbar:{displayName:"重定向顶栏",defaultValue:!0}},urlInclude:["https://www.bilibili.com/watchlater/#/list"],tags:[componentsTags.utils,componentsTags.video],commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/av-url.js b/registry/dist/components/video/av-url.js index 1d35ee4e2..fb450c6e2 100644 --- a/registry/dist/components/video/av-url.js +++ b/registry/dist/components/video/av-url.js @@ -1 +1 @@ -!function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports["video/av-url"]=o():e["video/av-url"]=o()}(self,(function(){return function(){"use strict";var e={d:function(o,t){for(var n in t)e.o(t,n)&&!e.o(o,n)&&Object.defineProperty(o,n,{enumerable:!0,get:t[n]})},o:function(e,o){return Object.prototype.hasOwnProperty.call(e,o)}},o={};e.d(o,{component:function(){return c}});var t=coreApis.lifeCycle,n=coreApis.observer,r=coreApis.spinQuery,i=coreApis.utils.urls;const c={name:"avUrl",displayName:"网址AV号转换",description:{"zh-CN":"当视频的链接是BV号时, 自动转换为AV号. 请注意这会导致浏览器历史记录出现重复的标题 (分别是转换前后的网址)."},entry:()=>{(0,t.fullyLoaded)((()=>{(0,n.urlChange)((async()=>{const e=await(0,r.select)((()=>unsafeWindow.aid));if(!e)return;if(document.URL.includes("videocard_series"))return void console.log("skip video series");const o=document.URL.replace(/\/(video|bangumi)\/(BV[\w]+)/i,((o,t)=>`/${t}/av${e}`));document.URL!==o&&window.history.replaceState({},document.title,o)}))}))},tags:[componentsTags.video,componentsTags.utils],urlInclude:i.videoUrls,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"};return o=o.component}()})); \ No newline at end of file +!function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports["video/av-url"]=o():e["video/av-url"]=o()}(self,(function(){return function(){"use strict";var e={d:function(o,t){for(var n in t)e.o(t,n)&&!e.o(o,n)&&Object.defineProperty(o,n,{enumerable:!0,get:t[n]})},o:function(e,o){return Object.prototype.hasOwnProperty.call(e,o)}},o={};e.d(o,{component:function(){return c}});var t=coreApis.lifeCycle,n=coreApis.observer,r=coreApis.spinQuery,i=coreApis.utils.urls;const c={name:"avUrl",displayName:"网址AV号转换",description:{"zh-CN":"当视频的链接是BV号时, 自动转换为AV号. 请注意这会导致浏览器历史记录出现重复的标题 (分别是转换前后的网址)."},entry:()=>{(0,t.fullyLoaded)((()=>{(0,n.urlChange)((async()=>{const e=await(0,r.select)((()=>unsafeWindow.aid));if(!e)return;if(document.URL.includes("videocard_series"))return void console.log("skip video series");const o=document.URL.replace(/\/(video|bangumi)\/(BV[\w]+)/i,((o,t)=>`/${t}/av${e}`));document.URL!==o&&window.history.replaceState({},document.title,o)}))}))},tags:[componentsTags.video,componentsTags.utils],urlInclude:i.videoUrls,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"};return o=o.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/biliplus-redirect.js b/registry/dist/components/video/biliplus-redirect.js index 7b7212bf7..b5458519a 100644 --- a/registry/dist/components/video/biliplus-redirect.js +++ b/registry/dist/components/video/biliplus-redirect.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["video/biliplus-redirect"]=t():e["video/biliplus-redirect"]=t()}(self,(function(){return function(){"use strict";var e={492:function(e,t,o){o.r(t),o.d(t,{default:function(){return a}});var i=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("a",{attrs:{href:e.url,target:"_blank",tabindex:"-1"}},[o("DefaultWidget",{attrs:{name:"转到BiliPlus",icon:"biliplus",disabled:!e.url}})],1)};i._withStripped=!0;var n=coreApis.observer,r=coreApis.ui;const c=/\/(video|medialist\/play)\/([^\/]+\/)?(av[\d]+|BV.+)/i,s=[{condition:()=>"space.bilibili.com"===window.location.host,getUrl:e=>document.URL.replace("space.bilibili.com/",`${e}/space/`)},{condition:()=>"space.bilibili.com"===window.location.host,getUrl:e=>document.URL.replace("space.bilibili.com/",`${e}/space/`)},{condition:()=>document.URL.includes("/bangumi/play"),getUrl:(e,t)=>((0,n.videoChange)((()=>{const o=unsafeWindow.aid||document.querySelector(".av-link,.info-sec-av").innerText.replace(/[aAvV]/g,""),i=`https://${e}/video/av${o}/`;document.URL!==i?t(i):t("")})),`https://${e}${window.location.pathname}${window.location.search}`)},{condition:()=>c.test(document.URL),getUrl:e=>`https://${e}/video/${document.URL.match(c)[3]}/`}];var l=function(e,t,o,i,n,r,c,s){var l,a="function"==typeof e?e.options:e;if(t&&(a.render=t,a.staticRenderFns=o,a._compiled=!0),i&&(a.functional=!0),r&&(a._scopeId="data-v-"+r),c?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(c)},a._ssrRegister=l):n&&(l=s?function(){n.call(this,(a.functional?this.parent:this).$root.$options.shadowRoot)}:n),l)if(a.functional){a._injectStyles=l;var d=a.render;a.render=function(e,t){return l.call(t),d(e,t)}}else{var u=a.beforeCreate;a.beforeCreate=u?[].concat(u,l):[l]}return{exports:e,options:a}}(Vue.extend({components:{DefaultWidget:r.DefaultWidget},data:()=>({url:""}),created(){const e="www.biliplus.com",t=e=>this.url=e,o=s.find((e=>e.condition()));o?t(o.getUrl(e,t)):(0,n.videoChange)((()=>{this.url=document.URL.replace(window.location.host,e)}))}}),i,[],!1,null,null,null);l.options.__file="registry/lib/components/video/biliplus-redirect/BiliplusRedirect.vue";var a=l.exports}},t={};function o(i){var n=t[i];if(void 0!==n)return n.exports;var r=t[i]={exports:{}};return e[i](r,r.exports,o),r.exports}o.d=function(e,t){for(var i in t)o.o(t,i)&&!o.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){o.d(i,{component:function(){return e}});const e={name:"biliplusRedirect",displayName:"BiliPlus 跳转支持",description:{"zh-CN":"在视频 / 番剧 / 空间中, 可以从功能中的按钮点击转到 BiliPlus 上对应的页面."},urlInclude:[...coreApis.utils.urls.videoAndBangumiUrls,"//space.bilibili.com"],entry:none,tags:[componentsTags.video,componentsTags.utils],widget:{component:()=>Promise.resolve().then(o.bind(o,492)).then((e=>e.default))},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["video/biliplus-redirect"]=t():e["video/biliplus-redirect"]=t()}(self,(function(){return function(){"use strict";var e={492:function(e,t,o){o.r(t),o.d(t,{default:function(){return a}});var i=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("a",{attrs:{href:e.url,target:"_blank",tabindex:"-1"}},[o("DefaultWidget",{attrs:{name:"转到BiliPlus",icon:"biliplus",disabled:!e.url}})],1)};i._withStripped=!0;var n=coreApis.observer,r=coreApis.ui;const c=/\/(video|medialist\/play)\/([^\/]+\/)?(av[\d]+|BV.+)/i,s=[{condition:()=>"space.bilibili.com"===window.location.host,getUrl:e=>document.URL.replace("space.bilibili.com/",`${e}/space/`)},{condition:()=>"space.bilibili.com"===window.location.host,getUrl:e=>document.URL.replace("space.bilibili.com/",`${e}/space/`)},{condition:()=>document.URL.includes("/bangumi/play"),getUrl:(e,t)=>((0,n.videoChange)((()=>{const o=unsafeWindow.aid||document.querySelector(".av-link,.info-sec-av").innerText.replace(/[aAvV]/g,""),i=`https://${e}/video/av${o}/`;document.URL!==i?t(i):t("")})),`https://${e}${window.location.pathname}${window.location.search}`)},{condition:()=>c.test(document.URL),getUrl:e=>`https://${e}/video/${document.URL.match(c)[3]}/`}];var l=function(e,t,o,i,n,r,c,s){var l,a="function"==typeof e?e.options:e;if(t&&(a.render=t,a.staticRenderFns=o,a._compiled=!0),i&&(a.functional=!0),r&&(a._scopeId="data-v-"+r),c?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(c)},a._ssrRegister=l):n&&(l=s?function(){n.call(this,(a.functional?this.parent:this).$root.$options.shadowRoot)}:n),l)if(a.functional){a._injectStyles=l;var d=a.render;a.render=function(e,t){return l.call(t),d(e,t)}}else{var u=a.beforeCreate;a.beforeCreate=u?[].concat(u,l):[l]}return{exports:e,options:a}}(Vue.extend({components:{DefaultWidget:r.DefaultWidget},data:()=>({url:""}),created(){const e="www.biliplus.com",t=e=>this.url=e,o=s.find((e=>e.condition()));o?t(o.getUrl(e,t)):(0,n.videoChange)((()=>{this.url=document.URL.replace(window.location.host,e)}))}}),i,[],!1,null,null,null);l.options.__file="registry/lib/components/video/biliplus-redirect/BiliplusRedirect.vue";var a=l.exports}},t={};function o(i){var n=t[i];if(void 0!==n)return n.exports;var r=t[i]={exports:{}};return e[i](r,r.exports,o),r.exports}o.d=function(e,t){for(var i in t)o.o(t,i)&&!o.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){o.d(i,{component:function(){return e}});const e={name:"biliplusRedirect",displayName:"BiliPlus 跳转支持",description:{"zh-CN":"在视频 / 番剧 / 空间中, 可以从功能中的按钮点击转到 BiliPlus 上对应的页面."},urlInclude:[...coreApis.utils.urls.videoAndBangumiUrls,"//space.bilibili.com"],entry:none,tags:[componentsTags.video,componentsTags.utils],widget:{component:()=>Promise.resolve().then(o.bind(o,492)).then((e=>e.default))},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/bvid-convert.js b/registry/dist/components/video/bvid-convert.js index 85ca23684..d790fac6e 100644 --- a/registry/dist/components/video/bvid-convert.js +++ b/registry/dist/components/video/bvid-convert.js @@ -6,7 +6,7 @@ n.i=function(e,t,i){"string"==typeof e&&( // eslint-disable-next-line no-param-reassign e=[[null,e,""]]);var o={};if(i)for(var r=0;ru.some((e=>n.includes(`${e}=`)))?`https://www.bilibili.com/video/${e}`:null,({id:e})=>s.bangumiUrls.some((e=>(0,a.matchUrlPattern)(e)))?`https://www.bilibili.com/video/${e}`:null,({id:e,url:n,query:t})=>n.replace(/\/[^\/]+$/,`/${e}`)+t];var f=Vue.extend({components:{VIcon:d.VIcon},data:()=>({aid:"",aidCopied:!1,bvid:"",bvidCopied:!1}),async mounted(){(0,r.videoChange)((async()=>{this.aid=`av${unsafeWindow.aid}`,this.bvid=unsafeWindow.bvid;const e=await(0,c.select)(".av-link,.bv-link,.bvid-link");e&&(this.bvid=e.innerHTML.trim())}))},methods:{async copyLink(e){if(this[`${e}Copied`])return;const n={query:location.search,url:location.origin+location.pathname,id:this[e]},t=l.map((e=>e(n))).filter((e=>null!==e))[0];await navigator.clipboard.writeText(t),this[`${e}Copied`]=!0,setTimeout((()=>this[`${e}Copied`]=!1),1e3)}}}),v=t(379),p=t.n(v),b=t(408),m=t.n(b),h={insert:"head",singleton:!1};p()(m(),h),m().locals;var y=function(e,n,t,i,o,r,c,a){var s,d="function"==typeof e?e.options:e;if(n&&(d.render=n,d.staticRenderFns=t,d._compiled=!0),i&&(d.functional=!0),r&&(d._scopeId="data-v-"+r),c?(s=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(c)},d._ssrRegister=s):o&&(s=a?function(){o.call(this,(d.functional?this.parent:this).$root.$options.shadowRoot)}:o),s)if(d.functional){d._injectStyles=s;var u=d.render;d.render=function(e,n){return s.call(n),u(e,n)}}else{var l=d.beforeCreate;d.beforeCreate=l?[].concat(l,s):[s]}return{exports:e,options:d}}(f,i,[],!1,null,null,null);y.options.__file="registry/lib/components/video/bvid-convert/BvidConvert.vue";var g=y.exports},569:function(e){"use strict";e.exports=coreApis.spinQuery},344:function(e){"use strict";e.exports=coreApis.utils.urls}},n={};function t(i){var o=n[i];if(void 0!==o)return o.exports;var r=n[i]={id:i,exports:{}};return e[i](r,r.exports,t),r.exports}t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,{a:n}),n},t.d=function(e,n){for(var i in n)t.o(n,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:n[i]})},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){"use strict";t.d(i,{component:function(){return o}});var e=t(569),n=t(344);const o={name:"bvidConvert",displayName:"BV 号转换",entry:none,description:{"zh-CN":"在功能面板中显示视频的 AV 号和 BV 号."},tags:[componentsTags.video,componentsTags.utils],widget:{component:()=>Promise.resolve().then(t.bind(t,791)).then((e=>e.default)),condition:e.hasVideo},urlInclude:n.videoAndBangumiUrls,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +i=Boolean(window&&document&&document.all&&!window.atob)),i},r=function(){var e={};return function(n){if(void 0===e[n]){var t=document.querySelector(n);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}e[n]=t}return e[n]}}(),a=[];function c(e){for(var n=-1,t=0;tu.some((e=>n.includes(`${e}=`)))?`https://www.bilibili.com/video/${e}`:null,({id:e})=>s.bangumiUrls.some((e=>(0,c.matchUrlPattern)(e)))?`https://www.bilibili.com/video/${e}`:null,({id:e,url:n,query:t})=>n.replace(/\/[^\/]+$/,`/${e}`)+t];var f=Vue.extend({components:{VIcon:d.VIcon},data:()=>({aid:"",aidCopied:!1,bvid:"",bvidCopied:!1}),async mounted(){(0,r.videoChange)((async()=>{this.aid=`av${unsafeWindow.aid}`,this.bvid=unsafeWindow.bvid;const e=await(0,a.select)(".av-link,.bv-link,.bvid-link");e&&(this.bvid=e.innerHTML.trim())}))},methods:{async copyLink(e){if(this[`${e}Copied`])return;const n={query:location.search,url:location.origin+location.pathname,id:this[e]},t=l.map((e=>e(n))).filter((e=>null!==e))[0];await navigator.clipboard.writeText(t),this[`${e}Copied`]=!0,setTimeout((()=>this[`${e}Copied`]=!1),1e3)}}}),v=t(379),p=t.n(v),m=t(408),b=t.n(m),h={insert:"head",singleton:!1};p()(b(),h),b().locals;var y=function(e,n,t,i,o,r,a,c){var s,d="function"==typeof e?e.options:e;if(n&&(d.render=n,d.staticRenderFns=t,d._compiled=!0),i&&(d.functional=!0),r&&(d._scopeId="data-v-"+r),a?(s=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},d._ssrRegister=s):o&&(s=c?function(){o.call(this,(d.functional?this.parent:this).$root.$options.shadowRoot)}:o),s)if(d.functional){d._injectStyles=s;var u=d.render;d.render=function(e,n){return s.call(n),u(e,n)}}else{var l=d.beforeCreate;d.beforeCreate=l?[].concat(l,s):[s]}return{exports:e,options:d}}(f,i,[],!1,null,null,null);y.options.__file="registry/lib/components/video/bvid-convert/BvidConvert.vue";var g=y.exports},569:function(e){"use strict";e.exports=coreApis.spinQuery},344:function(e){"use strict";e.exports=coreApis.utils.urls}},n={};function t(i){var o=n[i];if(void 0!==o)return o.exports;var r=n[i]={id:i,exports:{}};return e[i](r,r.exports,t),r.exports}t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,{a:n}),n},t.d=function(e,n){for(var i in n)t.o(n,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:n[i]})},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){"use strict";t.d(i,{component:function(){return o}});var e=t(569),n=t(344);const o={name:"bvidConvert",displayName:"BV 号转换",entry:none,description:{"zh-CN":"在功能面板中显示视频的 AV 号和 BV 号."},tags:[componentsTags.video,componentsTags.utils],widget:{component:()=>Promise.resolve().then(t.bind(t,791)).then((e=>e.default)),condition:e.hasVideo},urlInclude:n.videoAndBangumiUrls,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/danmaku/airborne.js b/registry/dist/components/video/danmaku/airborne.js index 1a1b108af..2fac9355c 100644 --- a/registry/dist/components/video/danmaku/airborne.js +++ b/registry/dist/components/video/danmaku/airborne.js @@ -6,4 +6,4 @@ t.i=function(e,n,o){"string"==typeof e&&( // eslint-disable-next-line no-param-reassign e=[[null,e,""]]);var r={};if(o)for(var i=0;iPromise.resolve().then(r.t.bind(r,851,23))),(async({settings:e})=>{const{enabled:r}=e,i=e=>{if(!e)return NaN;const t=e.match(/(\d+)[ ]*[::时分][ ]*(\d+)([ ]*[::分][ ]*(\d+))?/);if(!t)return NaN;if(t[3]){const[,n,o,,r]=t.map((e=>parseInt(e)));return[n,o,r].some((e=>Number.isNaN(e)))||e.includes("分")&&!e.includes("时")?NaN:3600*n+60*o+r}const[,n,o]=t.map((e=>parseInt(e)));return[n,o].some((e=>Number.isNaN(e)))?NaN:60*n+o},a=e=>{if(!r)return;const t=e.target;if(!t.classList.contains("b-danmaku"))return;const n=i(t.textContent);Number.isNaN(n)||unsafeWindow.player.seek(n,!1)};(0,n.forEachVideoDanmaku)({added:e=>{const t=!Number.isNaN(i(e.text));e.element.classList.toggle("airborne",t)}}),(0,o.videoChange)((async()=>{const e=await t.playerAgent.query.video.wrap();e.classList.contains("airborne-enabled")||(e.classList.add("airborne-enabled"),e.addEventListener("click",a))}))})),commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var a=this[i][0];null!=a&&(r[a]=!0)}for(var c=0;cPromise.resolve().then(r.t.bind(r,851,23))),(async({settings:e})=>{const{enabled:r}=e,i=e=>{if(!e)return NaN;const t=e.match(/(\d+)[ ]*[::时分][ ]*(\d+)([ ]*[::分][ ]*(\d+))?/);if(!t)return NaN;if(t[3]){const[,n,o,,r]=t.map((e=>parseInt(e)));return[n,o,r].some((e=>Number.isNaN(e)))||e.includes("分")&&!e.includes("时")?NaN:3600*n+60*o+r}const[,n,o]=t.map((e=>parseInt(e)));return[n,o].some((e=>Number.isNaN(e)))?NaN:60*n+o},a=e=>{if(!r)return;const t=e.target;if(!t.classList.contains("b-danmaku"))return;const n=i(t.textContent);Number.isNaN(n)||unsafeWindow.player.seek(n,!1)};(0,n.forEachVideoDanmaku)({added:e=>{const t=!Number.isNaN(i(e.text));e.element.classList.toggle("airborne",t)}}),(0,o.videoChange)((async()=>{const e=await t.playerAgent.query.video.wrap();e.classList.contains("airborne-enabled")||(e.classList.add("airborne-enabled"),e.addEventListener("click",a))}))})),commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/danmaku/download.js b/registry/dist/components/video/danmaku/download.js index 52ebc6e4c..4a5677fb5 100644 --- a/registry/dist/components/video/danmaku/download.js +++ b/registry/dist/components/video/danmaku/download.js @@ -9,4 +9,4 @@ t=[[null,t,""]]);var o={};if(n)for(var r=0;r{t.danmaku=c}));var u=Vue.extend({components:{DefaultWidget:l.DefaultWidget},data:()=>({disabled:!1}),methods:{async download(t){try{this.disabled=!0;const e=(0,a.getFriendlyTitle)(),i=await(0,d.getBlobByType)(t);await o.DownloadPackage.single(`${e}.${t}`,i)}catch(t){(0,r.logError)(t)}finally{this.disabled=!1}}}}),p=(0,i(900).Z)(u,n,[],!1,null,null,null);p.options.__file="registry/lib/components/video/danmaku/download/DownloadDanmaku.vue";var h=p.exports},998:function(t,e,i){"use strict";i.r(e),i.d(e,{default:function(){return m}});var n=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"download-danmaku-config download-video-config-section"},[i("div",{staticClass:"download-video-config-item"},[i("div",{staticClass:"download-video-config-title"},[t._v("\n 弹幕:\n ")]),t._v(" "),i("VDropdown",{attrs:{items:t.items},scopedSlots:t._u([{key:"item",fn:function(e){var i=e.item;return[t._v("\n "+t._s(i)+"\n ")]}}]),model:{value:t.type,callback:function(e){t.type=e},expression:"type"}})],1)])};n._withStripped=!0;var o=coreApis.settings,r=i(643);const a=(0,o.getComponentSettings)("downloadVideo").options;var s=Vue.extend({components:{VDropdown:r.VDropdown},data:()=>({type:a.danmakuType??"无",items:["无","ass","json","xml"]}),computed:{enabled(){return"无"!==this.type}},watch:{type(t){a.danmakuType=t}}}),l=i(379),c=i.n(l),d=i(311),u=i.n(d),p={insert:"head",singleton:!1},h=(c()(u(),p),u().locals,(0,i(900).Z)(s,n,[],!1,null,null,null));h.options.__file="registry/lib/components/video/danmaku/download/Plugin.vue";var m=h.exports},900:function(t,e,i){"use strict";function n(t,e,i,n,o,r,a,s){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=i,c._compiled=!0),n&&(c.functional=!0),r&&(c._scopeId="data-v-"+r),a?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=l):o&&(l=s?function(){o.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:o),l)if(c.functional){c._injectStyles=l;var d=c.render;c.render=function(t,e){return l.call(e),d(t,e)}}else{var u=c.beforeCreate;c.beforeCreate=u?[].concat(u,l):[l]}return{exports:t,options:c}}i.d(e,{Z:function(){return n}})},574:function(t){"use strict";t.exports=''},643:function(t){"use strict";t.exports=coreApis.ui},729:function(t){"use strict";t.exports=coreApis.utils.log},129:function(t){"use strict";t.exports=coreApis.utils.title}},e={};function i(n){var o=e[n];if(void 0!==o)return o.exports;var r=e[n]={id:n,exports:{}};return t[n](r,r.exports,i),r.exports}i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,{a:e}),e},i.d=function(t,e){for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};return function(){"use strict";i.d(n,{component:function(){return r}});var t=coreApis.spinQuery,e=coreApis.toast,o=coreApis.utils.urls;const r={name:"downloadDanmaku",displayName:"下载弹幕",description:{"zh-CN":"启用下载弹幕支持, 在视频和番剧页面中可从功能面板里下载弹幕. 请注意 ASS 弹幕下载不会包含高级弹幕, 字幕弹幕等."},tags:[componentsTags.video],entry:none,reload:none,unload:none,plugin:{displayName:"下载视频 - 下载弹幕支持",setup:({addData:t})=>{t("downloadVideo.assets",(async t=>{const{getBlobByType:n}=await Promise.resolve().then(i.bind(i,448));t.push({name:"downloadDanmaku",displayName:"下载弹幕",getAssets:async(t,i)=>{const{type:o,enabled:r}=i;if(!r)return[];const a=e.Toast.info("获取弹幕中...","下载弹幕");let s=0;const l=await Promise.allSettled(t.map((async e=>{const i=await n(o,e.input);return s++,a.message=`获取弹幕中... (${s}/${t.length})`,{name:`${e.input.title}.${o}`,data:i}}))),c=l.filter((t=>"fulfilled"===t.status)),d=l.filter((t=>"rejected"===t.status));return a.message=`获取完成. 成功 ${c.length} 个, 失败 ${d.length} 个.`,c.map((t=>t.value))},component:()=>Promise.resolve().then(i.bind(i,998)).then((t=>t.default))})}))}},urlInclude:o.videoAndBangumiUrls,widget:{condition:t.hasVideo,component:()=>Promise.resolve().then(i.bind(i,274)).then((t=>t.default))},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),n=n.component}()})); \ No newline at end of file +n=Boolean(window&&document&&document.all&&!window.atob)),n},r=function(){var t={};return function(e){if(void 0===t[e]){var i=document.querySelector(e);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(t){i=null}t[e]=i}return t[e]}}(),a=[];function s(t){for(var e=-1,i=0;i{t.danmaku=c}));var u=Vue.extend({components:{DefaultWidget:l.DefaultWidget},data:()=>({disabled:!1}),methods:{async download(t){try{this.disabled=!0;const e=(0,a.getFriendlyTitle)(),i=await(0,d.getBlobByType)(t);await o.DownloadPackage.single(`${e}.${t}`,i)}catch(t){(0,r.logError)(t)}finally{this.disabled=!1}}}}),p=(0,i(900).Z)(u,n,[],!1,null,null,null);p.options.__file="registry/lib/components/video/danmaku/download/DownloadDanmaku.vue";var h=p.exports},998:function(t,e,i){"use strict";i.r(e),i.d(e,{default:function(){return m}});var n=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"download-danmaku-config download-video-config-section"},[i("div",{staticClass:"download-video-config-item"},[i("div",{staticClass:"download-video-config-title"},[t._v("\n 弹幕:\n ")]),t._v(" "),i("VDropdown",{attrs:{items:t.items},scopedSlots:t._u([{key:"item",fn:function(e){var i=e.item;return[t._v("\n "+t._s(i)+"\n ")]}}]),model:{value:t.type,callback:function(e){t.type=e},expression:"type"}})],1)])};n._withStripped=!0;var o=coreApis.settings,r=i(643);const a=(0,o.getComponentSettings)("downloadVideo").options;var s=Vue.extend({components:{VDropdown:r.VDropdown},data:()=>({type:a.danmakuType??"无",items:["无","ass","json","xml"]}),computed:{enabled(){return"无"!==this.type}},watch:{type(t){a.danmakuType=t}}}),l=i(379),c=i.n(l),d=i(311),u=i.n(d),p={insert:"head",singleton:!1},h=(c()(u(),p),u().locals,(0,i(900).Z)(s,n,[],!1,null,null,null));h.options.__file="registry/lib/components/video/danmaku/download/Plugin.vue";var m=h.exports},900:function(t,e,i){"use strict";function n(t,e,i,n,o,r,a,s){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=i,c._compiled=!0),n&&(c.functional=!0),r&&(c._scopeId="data-v-"+r),a?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=l):o&&(l=s?function(){o.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:o),l)if(c.functional){c._injectStyles=l;var d=c.render;c.render=function(t,e){return l.call(e),d(t,e)}}else{var u=c.beforeCreate;c.beforeCreate=u?[].concat(u,l):[l]}return{exports:t,options:c}}i.d(e,{Z:function(){return n}})},574:function(t){"use strict";t.exports=''},643:function(t){"use strict";t.exports=coreApis.ui},729:function(t){"use strict";t.exports=coreApis.utils.log},129:function(t){"use strict";t.exports=coreApis.utils.title}},e={};function i(n){var o=e[n];if(void 0!==o)return o.exports;var r=e[n]={id:n,exports:{}};return t[n](r,r.exports,i),r.exports}i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,{a:e}),e},i.d=function(t,e){for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};return function(){"use strict";i.d(n,{component:function(){return r}});var t=coreApis.spinQuery,e=coreApis.toast,o=coreApis.utils.urls;const r={name:"downloadDanmaku",displayName:"下载弹幕",description:{"zh-CN":"启用下载弹幕支持, 在视频和番剧页面中可从功能面板里下载弹幕. 请注意 ASS 弹幕下载不会包含高级弹幕, 字幕弹幕等."},tags:[componentsTags.video],entry:none,reload:none,unload:none,plugin:{displayName:"下载视频 - 下载弹幕支持",setup:({addData:t})=>{t("downloadVideo.assets",(async t=>{const{getBlobByType:n}=await Promise.resolve().then(i.bind(i,448));t.push({name:"downloadDanmaku",displayName:"下载弹幕",getAssets:async(t,i)=>{const{type:o,enabled:r}=i;if(!r)return[];const a=e.Toast.info("获取弹幕中...","下载弹幕");let s=0;const l=await Promise.allSettled(t.map((async e=>{const i=await n(o,e.input);return s++,a.message=`获取弹幕中... (${s}/${t.length})`,{name:`${e.input.title}.${o}`,data:i}}))),c=l.filter((t=>"fulfilled"===t.status)),d=l.filter((t=>"rejected"===t.status));return a.message=`获取完成. 成功 ${c.length} 个, 失败 ${d.length} 个.`,c.map((t=>t.value))},component:()=>Promise.resolve().then(i.bind(i,998)).then((t=>t.default))})}))}},urlInclude:o.videoAndBangumiUrls,widget:{condition:t.hasVideo,component:()=>Promise.resolve().then(i.bind(i,274)).then((t=>t.default))},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),n=n.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/danmaku/expand.js b/registry/dist/components/video/danmaku/expand.js index e3cd00220..2c7238a5d 100644 --- a/registry/dist/components/video/danmaku/expand.js +++ b/registry/dist/components/video/danmaku/expand.js @@ -1 +1 @@ -!function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports["video/danmaku/expand"]=o():e["video/danmaku/expand"]=o()}(self,(function(){return function(){"use strict";var e={d:function(o,t){for(var n in t)e.o(t,n)&&!e.o(o,n)&&Object.defineProperty(o,n,{enumerable:!0,get:t[n]})},o:function(e,o){return Object.prototype.hasOwnProperty.call(e,o)}},o={};e.d(o,{component:function(){return a}});var t=coreApis.observer,n=coreApis.spinQuery,i=coreApis.utils,s=coreApis.utils.urls;const a={name:"expandDanmakuList",displayName:"展开弹幕列表",entry:async({settings:{options:e}})=>{(0,t.videoChange)((async()=>{if(s.mediaListUrls.some((e=>(0,i.matchUrlPattern)(e)))&&e.ignoreMediaList)return;const o=await(0,n.select)(".bui-collapse-wrap");if(o&&o.classList.contains("bui-collapse-wrap-folded")){(await(0,n.select)(".bui-collapse-header"))?.click()}}))},tags:[componentsTags.video],description:{"zh-CN":"每次加载视频时自动展开弹幕列表."},options:{ignoreMediaList:{defaultValue:!0,displayName:"合集类页面不自动展开"}},urlInclude:[...s.videoAndBangumiUrls,...s.mediaListUrls],commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"};return o=o.component}()})); \ No newline at end of file +!function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports["video/danmaku/expand"]=o():e["video/danmaku/expand"]=o()}(self,(function(){return function(){"use strict";var e={d:function(o,t){for(var n in t)e.o(t,n)&&!e.o(o,n)&&Object.defineProperty(o,n,{enumerable:!0,get:t[n]})},o:function(e,o){return Object.prototype.hasOwnProperty.call(e,o)}},o={};e.d(o,{component:function(){return s}});var t=coreApis.observer,n=coreApis.spinQuery,i=coreApis.utils,a=coreApis.utils.urls;const s={name:"expandDanmakuList",displayName:"展开弹幕列表",entry:async({settings:{options:e}})=>{(0,t.videoChange)((async()=>{if(a.mediaListUrls.some((e=>(0,i.matchUrlPattern)(e)))&&e.ignoreMediaList)return;const o=await(0,n.select)(".bui-collapse-wrap");if(o&&o.classList.contains("bui-collapse-wrap-folded")){(await(0,n.select)(".bui-collapse-header"))?.click()}}))},tags:[componentsTags.video],description:{"zh-CN":"每次加载视频时自动展开弹幕列表."},options:{ignoreMediaList:{defaultValue:!0,displayName:"合集类页面不自动展开"}},urlInclude:[...a.videoAndBangumiUrls,...a.mediaListUrls],commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"};return o=o.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/default-location.js b/registry/dist/components/video/default-location.js index 9ecc52775..c1a72ae55 100644 --- a/registry/dist/components/video/default-location.js +++ b/registry/dist/components/video/default-location.js @@ -1,4 +1,4 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["video/default-location"]=t():e["video/default-location"]=t()}(self,(function(){return function(){var e={543:function(e,t,n){"use strict";n.d(t,{component:function(){return u},E:function(){return r},F:function(){return l}});var o=coreApis.utils.urls,i=coreApis.spinQuery,a=n(492);const s="//www.bilibili.com/video/",l={withTitle:{displayName:"带标题视频页",urls:[s,...o.mediaListUrls]},noTitle:{displayName:"无标题视频页",urls:[...o.bangumiUrls,...o.cheeseUrls]},bnj:{displayName:"拜年纪视频页",urls:[/\/\/www\.bilibili\.com\/festival\/(\d+)bnj/]}},r=lodash.once((()=>{for(const[e,{urls:t}]of Object.entries(l))if((0,o.matchCurrentPage)(t))return e;return null}));class c{constructor(e,t){this.lastMoment=e,this.result=t}}const d=async()=>{const e=6e4,t=(0,i.select)(".bb-comment",{maxRetry:50,queryInterval:600}),n=[e/2,e,3*e].map((e=>({time:e,callback:async e=>{console.warn(`[videoDefaultLocation] waiting more than ${e}ms for the page to load`)}})));return null!==(await async function(e,t){let n={time:0,callback:none},o=null;const i=t[Symbol.iterator](),a=()=>{const e=i.next();if(!e.done){const t=e.value;o=setTimeout((()=>{o=null,n.callback(n.time),n=t,a()}),t.time-n.time)}};a();const s=await e;return null!==o&&clearTimeout(o),new c(n.time,s)}(t,n)).result||(console.error("[videoDefaultLocation] waiting for page load timeout"),!1)},u={name:"videoDefaultLocation",displayName:"视频页默认定位",tags:[componentsTags.video],urlInclude:o.allVideoUrls,description:{"zh-CN":a},extraOptions:()=>Promise.resolve().then(n.bind(n,108)).then((e=>e.default)),options:{locations:{defaultValue:lodash.mapValues(l,(()=>0)),hidden:!0}},entry:async({settings:{options:{locations:e}}})=>{const t=window?.performance?.getEntriesByType("navigation");if(1!==t?.length)return void console.error(`[videoDefaultLocation] 无法处理 PerformanceNavigationTiming 不是一个的情况。url: ${window.location.href}`);if("navigate"!==t[0].type)return;if((0,o.matchCurrentPage)(s)){const e=unsafeWindow.scrollTo;unsafeWindow.scrollTo=()=>{unsafeWindow.scrollTo=e}}const n=r();if(null===n)return void console.error(`[videoDefaultLocation] unknown page type. url: ${window.location.href}`);const i=e[n],a=document.documentElement;(i{for(const[e,{urls:t}]of Object.entries(l))if((0,o.matchCurrentPage)(t))return e;return null}));class c{constructor(e,t){this.lastMoment=e,this.result=t}}const d=async()=>{const e=6e4,t=(0,i.select)(".bb-comment",{maxRetry:50,queryInterval:600}),n=[e/2,e,3*e].map((e=>({time:e,callback:async e=>{console.warn(`[videoDefaultLocation] waiting more than ${e}ms for the page to load`)}})));return null!==(await async function(e,t){let n={time:0,callback:none},o=null;const i=t[Symbol.iterator](),a=()=>{const e=i.next();if(!e.done){const t=e.value;o=setTimeout((()=>{o=null,n.callback(n.time),n=t,a()}),t.time-n.time)}};a();const s=await e;return null!==o&&clearTimeout(o),new c(n.time,s)}(t,n)).result||(console.error("[videoDefaultLocation] waiting for page load timeout"),!1)},u={name:"videoDefaultLocation",displayName:"视频页默认定位",tags:[componentsTags.video],urlInclude:o.allVideoUrls,description:{"zh-CN":a},extraOptions:()=>Promise.resolve().then(n.bind(n,108)).then((e=>e.default)),options:{locations:{defaultValue:lodash.mapValues(l,(()=>0)),hidden:!0}},entry:async({settings:{options:{locations:e}}})=>{const t=window?.performance?.getEntriesByType("navigation");if(1!==t?.length)return void console.error(`[videoDefaultLocation] 无法处理 PerformanceNavigationTiming 不是一个的情况。url: ${window.location.href}`);if("navigate"!==t[0].type)return;if((0,o.matchCurrentPage)(s)){const e=unsafeWindow.scrollTo;unsafeWindow.scrollTo=()=>{unsafeWindow.scrollTo=e}}const n=r();if(null===n)return void console.error(`[videoDefaultLocation] unknown page type. url: ${window.location.href}`);const i=e[n],a=document.documentElement;(i({episodeItems:[],maxCheckedItems:32,lastCheckedEpisodeIndex:-1}),computed:{checkedRatio(){return`(${this.episodeItems.filter((e=>e.isChecked)).length}/${this.episodeItems.length})`},inputItems(){return this.episodeItems.map((e=>e.inputItem))},checkedInputItems(){return this.episodeItems.filter((e=>e.isChecked)).map((e=>e.inputItem))}},created(){this.getEpisodeItems()},methods:{shiftSelect(e,t,n){e.shiftKey&&-1!==this.lastCheckedEpisodeIndex?e.shiftKey&&-1!==this.lastCheckedEpisodeIndex&&(this.episodeItems.slice(Math.min(this.lastCheckedEpisodeIndex,n)+1,Math.max(this.lastCheckedEpisodeIndex,n)).forEach((e=>{e.isChecked=!e.isChecked})),this.lastCheckedEpisodeIndex=n,e.preventDefault()):this.lastCheckedEpisodeIndex=n},forEachItem(e){this.episodeItems.forEach(e)},async getEpisodeItems(){this.episodeItems.length>0||(this.episodeItems=await this.api(this))}}}),g=n(379),b=n.n(g),w=n(49),y=n.n(w),x={insert:"head",singleton:!1},_=(b()(y(),x),y().locals,n(900)),I=(0,_.Z)(v,m,[],!1,null,null,null);I.options.__file="registry/lib/components/video/download/inputs/EpisodesPicker.vue";var k=I.exports;const C=e=>Vue.extend({computed:{checkedInputItems(){return this.$refs.picker.checkedInputItems}},render:t=>t(k,{props:{api:e},ref:"picker"})}),A={name:"bangumi.batch",displayName:"当前番剧 (多P)",match:h.bangumiUrls,batch:!0,getInputs:async e=>e?.checkedInputItems??[],component:async()=>C((async e=>{const t=document.querySelector("meta[property='og:url']");if(null===t)return(0,a.logError)("获取番剧数据失败: 无法找到 Season ID"),[];const n=t.getAttribute("content")?.match(/play\/ss(\d+)/)?.[1];if(void 0===n)return(0,a.logError)("获取番剧数据失败: 无法解析 Season ID"),[];const i=await(0,f.getJson)(`https://api.bilibili.com/pgc/web/season/section?season_id=${n}`);if(0!==i.code)return(0,a.logError)(`获取番剧数据失败: 无法获取番剧集数列表, message=${i.message}`),[];const s=i.result.main_section.episodes;return s.map(((t,n)=>{const i=t.long_title?t.title:(n+1).toString(),a=t.long_title?t.long_title:t.title;return{key:t.cid,title:`${i} - ${a}`,isChecked:ne?.checkedInputItems??[],component:async()=>C((async e=>{const{aid:t}=unsafeWindow,n=`https://api.bilibili.com/x/web-interface/view?aid=${t}`,i=await(0,f.getJsonWithCredentials)(n);if(0!==i.code)return(0,a.logError)(`获取视频选集列表失败, message = ${i.message}`),[];const{pages:s}=i.data;return void 0===s?((0,a.logError)("获取视频选集列表失败, 没有找到选集信息."),[]):s.map(((n,i)=>({key:n.cid,title:`P${n.page} ${n.part}`,isChecked:i[{aid:unsafeWindow.aid,cid:unsafeWindow.cid,title:(0,u.getFriendlyTitle)(!0)}],component:()=>Promise.resolve().then(n.bind(n,762)).then((e=>e.default))};var E=coreApis.utils.sort;const S=(e,t)=>{e.quality&&t.currentQuality.value!==e.quality.value&&(e.allowQualityDrop?console.warn(`'${e.title}' 不支持选择的清晰度${e.quality.displayName}, 已降级为${t.currentQuality.displayName}`):(e=>{if(c.vipRequiredQualities.find((t=>t.value===e)))throw new Error("您选择的清晰度需要大会员, 请更改清晰度后重试.");if(c.loginRequiredQualities.find((t=>t.value===e)))throw new Error("您选择的清晰度需要先登录.");throw new Error("获取下载链接失败, 请尝试更换清晰度或更换格式.")})(e.quality.value))};var $=coreApis.download;function O(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class q{constructor(e){O(this,"input",void 0),O(this,"fragments",void 0),O(this,"qualities",void 0),O(this,"currentQuality",void 0),O(this,"jsonData",void 0),Object.assign(this,e)}get totalSize(){return lodash.sumBy(this.fragments,(e=>e.size))}get totalLength(){return lodash.sumBy(this.fragments,(e=>e.length))}get titledFragments(){return this.fragments.map(((e,t)=>{const n=this.fragments.filter((t=>t.extension===e.extension)).length>1?` - ${(0,d.formatNumber)(t+1,this.fragments.length)}`:"";return{...e,title:`${this.input.title}${n}${e.extension}`}}))}}class Q{constructor(e){this.infos=e,O(this,"inputs",[]),O(this,"extraAssets",[]),this.inputs=e.map((e=>e.input))}get isSingleVideo(){return this.inputs.length<2}async downloadExtraAssets(){console.log("[downloadExtraAssets]",this.extraAssets);const e=`${(0,u.getFriendlyTitle)(!1)}.zip`;await new $.DownloadPackage(this.extraAssets).emit(e)}}const U=e=>`https://api.bilibili.com/x/player/playurl?${e}`,T=e=>`https://api.bilibili.com/pgc/player/web/playurl?${e}`,j={video:".mp4",audio:".m4a"};let P;!function(e){e.Avc="AVC/H.264",e.Hevc="HEVC/H.265",e.Av1="AV1"}(P||(P={}));const N=e=>({url:e.downloadUrl,backupUrls:e.backupUrls,length:e.duration,size:Math.trunc(e.bandWidth*e.duration/8),extension:j[e.type]??".m4s"}),W=async(e,t={})=>{const{codec:n=P.Avc,filters:i}=t,o={video:()=>!0,audio:()=>!0,...i},{aid:a,cid:d,quality:r}=e,l={avid:a,cid:d,qn:r?.value??"",otype:"json",fourk:1,fnver:0,fnval:4048},p=h.bangumiUrls.some((e=>(0,s.matchUrlPattern)(e)))?T((0,s.formData)(l)):U((0,s.formData)(l)),u=await(0,f.bilibiliApi)((0,f.getJsonWithCredentials)(p),"获取视频链接失败");if(!u.dash)throw new Error("此视频没有 dash 格式, 请改用其他格式.");const m=c.allQualities.find((e=>e.value===u.quality)),{duration:v,video:g,audio:b,dolby:w}=u.dash,y=e=>{switch(e){case 12:return P.Hevc;case 13:return P.Av1;default:case 7:return P.Avc}},x=g.filter((e=>e.id===m.value)).map((e=>({type:"video",videoCodec:y(e.codecid),quality:m,width:e.width,height:e.height,codecs:e.codecs,codecId:e.codecid,bandWidth:e.bandwidth,frameRate:e.frameRate,backupUrls:(e.backupUrl||e.backup_url||[]).map((e=>e.replace("http:","https:"))),downloadUrl:(e.baseUrl||e.base_url||"").replace("http:","https:"),duration:v}))).filter((e=>o.video(e))),_=(b||[]).map((e=>({type:"audio",bandWidth:e.bandwidth,codecs:e.codecs,codecId:e.codecid,backupUrls:(e.backupUrl||e.backup_url||[]).map((e=>e.replace("http:","https:"))),downloadUrl:(e.baseUrl||e.base_url||"").replace("http:","https:"),duration:v}))).filter((e=>o.audio(e)));w&&_.push(...w.audio?.map((e=>({type:"audio",bandWidth:e.bandwidth,codecs:e.codecs,codecId:-1,backupUrls:[],downloadUrl:(e.baseUrl||e.base_url||"").replace("http:","https:"),duration:v})))??[]);const I=(e=>{const{videoDashes:t,audioDashes:n,videoCodec:i}=e,o=[];if(0!==t.length){const e=e=>e.videoCodec===i;if(t.some(e)){const n=t.filter(e).sort((0,E.ascendingSort)((e=>e.bandWidth)))[0];o.push(N(n))}else o.push(N(t.sort((0,E.ascendingSort)((e=>e.bandWidth)))[0]))}if(0!==n.length){const e=n.sort((0,E.descendingSort)((e=>e.bandWidth)))[0];o.push(N(e))}return o})({audioDashes:_,videoDashes:x,videoCodec:n}),k=u.accept_quality.map((e=>c.allQualities.find((t=>t.value===e)))).filter((e=>void 0!==e)),C=new q({input:e,jsonData:u,fragments:I,qualities:k,currentQuality:m});return S(e,C),C},z={name:"video.dash.avc",displayName:"dash (AVC/H.264)",description:"音画分离的 mp4 格式, 编码为 H.264, 体积较大, 兼容性较好. 下载后可以合并为单个 mp4 文件. 如果视频源没有此编码, 则会自动选择其他同清晰度的编码格式.",downloadVideoInfo:async e=>W(e,{codec:P.Avc})},B={name:"video.dash.hevc",displayName:"dash (HEVC/H.265)",description:"音画分离的 mp4 格式, 编码为 H.265, 体积中等, 兼容性较差. 下载后可以合并为单个 mp4 文件. 如果视频源没有此编码, 则会自动选择其他同清晰度的编码格式.",downloadVideoInfo:async e=>W(e,{codec:P.Hevc})},F={name:"video.dash.av1",displayName:"dash (AV1)",description:"音画分离的 mp4 格式, 编码为 AV1, 体积较小, 兼容性中等. 下载后可以合并为单个 mp4 文件. 如果视频源没有此编码, 则会自动选择其他同清晰度的编码格式.",downloadVideoInfo:async e=>W(e,{codec:P.Av1})},H={name:"video.dash.audio",displayName:"dash (仅音频)",description:"仅下载视频中的音频轨道.",downloadVideoInfo:async e=>W(e,{filters:{video:()=>!1}})},M=(e,t)=>{const n=e=>t.length>e?t[e]:t[t.length-1];return{fragments:e.durl.map(((e,t)=>({length:e.length,size:e.size,url:e.url,backupUrls:e.backup_url,extension:n(t)}))),qualities:e.accept_quality.map((e=>c.allQualities.find((t=>t.value===e)))).filter((e=>void 0!==e)),currentQuality:c.allQualities.find((t=>t.value===e.quality))}},R={name:"video.flv",displayName:"flv",description:"使用 flv 格式下载, 兼容 H.264 编码.",downloadVideoInfo:e=>(async e=>{const{aid:t,cid:n,quality:i}=e,o={avid:t,cid:n,qn:i?.value??"",otype:"json",fourk:1,fnver:0,fnval:0},a=h.bangumiUrls.some((e=>(0,s.matchUrlPattern)(e)))?T((0,s.formData)(o)):U((0,s.formData)(o)),d=await(0,f.bilibiliApi)((0,f.getJsonWithCredentials)(a),"获取视频链接失败"),r=new q({input:e,jsonData:d,...M(d,[".flv"])});return S(e,r),r})(e)},G={name:"consoleLogDemo",displayName:"Toast",description:"弹一条消息显示出下载链接, 右键新标签页打开就可以下载. 链接有 referer 限制, 复制无用, 且不能保留视频文件名.",runAction:async e=>{const t=e.infos.flatMap((e=>e.titledFragments)),n=t.map((e=>e.url)).join("\n");p.Toast.show(t.map((e=>`${e.title}`)).join("\n"),"下载视频"),console.log(n),console.log(e)}},[L]=(0,l.registerAndGetData)("downloadVideo.inputs",[D,V,A]),[J]=(0,l.registerAndGetData)("downloadVideo.apis",[R,z,B,F,H]),[Z]=(0,l.registerAndGetData)("downloadVideo.assets",[]),[X]=(0,l.registerAndGetData)("downloadVideo.outputs",[G]),{basicConfig:Y}=(0,o.getComponentSettings)("downloadVideo").options,K=e=>e.filter((e=>e.match?.some((e=>(0,s.matchUrlPattern)(e)))??!0));var ee=Vue.extend({components:{VPopup:r.VPopup,VButton:r.VButton,VDropdown:r.VDropdown,VIcon:r.VIcon},props:{triggerElement:{required:!0}},data(){const e=Y.output;return{open:!1,busy:!1,testData:{videoInfo:null,multiple:!1},assets:Z,qualities:[],selectedQuality:void 0,inputs:[],selectedInput:void 0,apis:[],selectedApi:void 0,outputs:X,selectedOutput:X.find((t=>t.name===e))||X[0]}},computed:{assetsWithOptions(){return this.assets.filter((e=>e.component))},filteredQualities(){return 0===this.qualities.length?c.allQualities:this.qualities},canStartDownload(){if(this.busy||!this.open)return!1;return!Object.entries(this).filter((([e])=>e.startsWith("selected"))).some((([,e])=>!e))}},watch:{selectedInput(e){void 0!==e&&this.updateTestVideoInfo()},selectedApi(e){void 0!==e&&(this.updateTestVideoInfo(),Y.api=e.name)},selectedOutput(e){void 0!==e&&(Y.output=e.name)}},mounted(){coreApis.observer.videoChange((()=>{this.selectedInput=void 0,this.selectedApi=void 0;const e=K(L);this.inputs=e,this.selectedInput=e[0];const t=K(J);this.apis=t;const n=t.find((e=>e.name===Y.api));this.selectedApi=n||t[0]}))},methods:{formatFileSize:d.formatFileSize,saveSelectedQuality(){const e=this.selectedQuality;void 0!==e&&(Y.quality=e.value,this.updateTestVideoInfo())},async getVideoItems(){const e=this.selectedInput;return await e.getInputs(this.$refs.inputOptions)},async updateTestVideoInfo(){if(!this.selectedInput||!this.selectedApi)return;this.testData.videoInfo=null;const e=this.selectedInput,t=e.getTestInput?.()??{aid:unsafeWindow.aid,cid:unsafeWindow.cid,title:(0,u.getFriendlyTitle)(!0)};console.log("[updateTestVideoInfo]",t),this.testData.multiple=e.batch;const n=this.selectedApi;try{const e=await n.downloadVideoInfo(t);this.qualities=e.qualities;if((!this.selectedQuality||!e.qualities.some((e=>e.value===this.selectedQuality.value)))&&(this.selectedQuality=e.qualities[0],Y.quality)){const[t]=e.qualities.filter((e=>e.value<=Y.quality));t&&(this.selectedQuality=t)}t.quality=this.selectedQuality;const i=await n.downloadVideoInfo(t);this.testData.videoInfo=i}catch(e){this.testData.videoInfo=void 0}},async startDownload(e,t){try{this.busy=!0;const n=this.selectedInput,i=this.selectedApi,o=await n.getInputs(this.$refs.inputOptions);if(0===o.length)return void p.Toast.info("未接收到视频, 如果输入源支持批量, 请至少选择一个视频.","下载视频",3e3);o.forEach((e=>{e.quality=this.selectedQuality}));const s=await Promise.all(o.map((e=>i.downloadVideoInfo(e))));if(0===s.length||0===lodash.sumBy(s,(e=>e.fragments.length)))return void p.Toast.info("未接收到可下载数据, 请检查输入源和格式是否适用于当前视频.","下载视频",3e3);const a=new Q(s),d=(await Promise.all(Z.map((e=>e.getAssets(s,this.$refs.assetsOptions.find((t=>t.$attrs.name===e.name))))))).flat();a.extraAssets.push(...d),await a.downloadExtraAssets(),await t.runAction(a,e)}catch(e){(0,a.logError)(e)}finally{this.busy=!1}}}}),te=n(228),ne=n.n(te),ie={insert:"head",singleton:!1},oe=(b()(ne(),ie),ne().locals,(0,_.Z)(ee,i,[],!1,null,null,null));oe.options.__file="registry/lib/components/video/download/DownloadVideo.vue";var se=oe.exports},272:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return d}});var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"multiple-widgets"},[n("DefaultWidget",{ref:"button",attrs:{name:"下载视频",icon:"mdi-download"},on:{mouseover:function(t){return e.createDownloadPanel()},click:function(t){return e.toggleDownloadPanel()}}})],1)};let o;i._withStripped=!0;var s=Vue.extend({components:{DefaultWidget:coreApis.ui.DefaultWidget},methods:{async createDownloadPanel(){if(!o){const e=document.createElement("div");document.body.appendChild(e);const t=await Promise.resolve().then(n.bind(n,701)).then((e=>e.default));o=new t({propsData:{triggerElement:this.$refs.button}}).$mount(e)}},async toggleDownloadPanel(){o&&(o.open=!o.open)}}}),a=(0,n(900).Z)(s,i,[],!1,null,null,null);a.options.__file="registry/lib/components/video/download/Widget.vue";var d=a.exports},762:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return h}});var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"single-video-info download-video-config-section"},[e.imageUrl?n("img",{staticClass:"shadow",attrs:{src:e.imageUrl}}):e._e(),e._v(" "),e.imageUrl?n("img",{attrs:{src:e.imageUrl}}):e._e()])};i._withStripped=!0;var o=coreApis.observer,s=n(729),a=coreApis.componentApis.video.videoInfo,d=Vue.extend({data:()=>({imageUrl:""}),created(){(0,o.videoChange)((async()=>{const{aid:e}=unsafeWindow,t=new a.VideoInfo(e);try{await t.fetchInfo()}catch(e){throw(0,s.logError)(e),e}this.imageUrl=t.coverUrl.replace("http:","https:")}))}}),r=n(379),l=n.n(r),c=n(436),p=n.n(c),u={insert:"head",singleton:!1},f=(l()(p(),u),p().locals,(0,n(900).Z)(d,i,[],!1,null,null,null));f.options.__file="registry/lib/components/video/download/inputs/video/SingleVideoInfo.vue";var h=f.exports},900:function(e,t,n){"use strict";function i(e,t,n,i,o,s,a,d){var r,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),i&&(l.functional=!0),s&&(l._scopeId="data-v-"+s),a?(r=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},l._ssrRegister=r):o&&(r=d?function(){o.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:o),r)if(l.functional){l._injectStyles=r;var c=l.render;l.render=function(e,t){return r.call(t),c(e,t)}}else{var p=l.beforeCreate;l.beforeCreate=p?[].concat(p,r):[r]}return{exports:e,options:l}}n.d(t,{Z:function(){return i}})},729:function(e){"use strict";e.exports=coreApis.utils.log}},t={};function n(i){var o=t[i];if(void 0!==o)return o.exports;var s=t[i]={id:i,exports:{}};return e[i](s,s.exports,n),s.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){"use strict";n.d(i,{component:function(){return t}});var e=coreApis.spinQuery;const t={name:"downloadVideo",displayName:"下载视频",description:"在功能面板中添加下载视频支持. 请注意不能下载超出账号权限的视频, 例如非大会员下载大会员清晰度视频, 或者大陆地区网络下载港澳台地区番剧, 都是不可以的.",entry:none,reload:none,unload:none,widget:{component:()=>Promise.resolve().then(n.bind(n,272)).then((e=>e.default)),condition:()=>(0,e.hasVideo)()},tags:[componentsTags.video],options:{basicConfig:{defaultValue:{},displayName:"基础配置",hidden:!0}},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +i=Boolean(window&&document&&document.all&&!window.atob)),i},s=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),a=[];function d(e){for(var t=-1,n=0;n({episodeItems:[],maxCheckedItems:32,lastCheckedEpisodeIndex:-1}),computed:{checkedRatio(){return`(${this.episodeItems.filter((e=>e.isChecked)).length}/${this.episodeItems.length})`},inputItems(){return this.episodeItems.map((e=>e.inputItem))},checkedInputItems(){return this.episodeItems.filter((e=>e.isChecked)).map((e=>e.inputItem))}},created(){this.getEpisodeItems()},methods:{shiftSelect(e,t,n){e.shiftKey&&-1!==this.lastCheckedEpisodeIndex?e.shiftKey&&-1!==this.lastCheckedEpisodeIndex&&(this.episodeItems.slice(Math.min(this.lastCheckedEpisodeIndex,n)+1,Math.max(this.lastCheckedEpisodeIndex,n)).forEach((e=>{e.isChecked=!e.isChecked})),this.lastCheckedEpisodeIndex=n,e.preventDefault()):this.lastCheckedEpisodeIndex=n},forEachItem(e){this.episodeItems.forEach(e)},async getEpisodeItems(){this.episodeItems.length>0||(this.episodeItems=await this.api(this))}}}),g=n(379),w=n.n(g),b=n(49),y=n.n(b),x={insert:"head",singleton:!1},_=(w()(y(),x),y().locals,n(900)),I=(0,_.Z)(v,m,[],!1,null,null,null);I.options.__file="registry/lib/components/video/download/inputs/EpisodesPicker.vue";var k=I.exports;const C=e=>Vue.extend({computed:{checkedInputItems(){return this.$refs.picker.checkedInputItems}},render:t=>t(k,{props:{api:e},ref:"picker"})}),A={name:"bangumi.batch",displayName:"当前番剧 (多P)",match:h.bangumiUrls,batch:!0,getInputs:async e=>e?.checkedInputItems??[],component:async()=>C((async e=>{const t=document.querySelector("meta[property='og:url']");if(null===t)return(0,a.logError)("获取番剧数据失败: 无法找到 Season ID"),[];const n=t.getAttribute("content")?.match(/play\/ss(\d+)/)?.[1];if(void 0===n)return(0,a.logError)("获取番剧数据失败: 无法解析 Season ID"),[];const i=await(0,f.getJson)(`https://api.bilibili.com/pgc/web/season/section?season_id=${n}`);if(0!==i.code)return(0,a.logError)(`获取番剧数据失败: 无法获取番剧集数列表, message=${i.message}`),[];const s=i.result.main_section.episodes;return s.map(((t,n)=>{const i=t.long_title?t.title:(n+1).toString(),a=t.long_title?t.long_title:t.title;return{key:t.cid,title:`${i} - ${a}`,isChecked:ne?.checkedInputItems??[],component:async()=>C((async e=>{const{aid:t}=unsafeWindow,n=`https://api.bilibili.com/x/web-interface/view?aid=${t}`,i=await(0,f.getJsonWithCredentials)(n);if(0!==i.code)return(0,a.logError)(`获取视频选集列表失败, message = ${i.message}`),[];const{pages:s}=i.data;return void 0===s?((0,a.logError)("获取视频选集列表失败, 没有找到选集信息."),[]):s.map(((n,i)=>({key:n.cid,title:`P${n.page} ${n.part}`,isChecked:i[{aid:unsafeWindow.aid,cid:unsafeWindow.cid,title:(0,u.getFriendlyTitle)(!0)}],component:()=>Promise.resolve().then(n.bind(n,762)).then((e=>e.default))};var E=coreApis.utils.sort;const S=(e,t)=>{e.quality&&t.currentQuality.value!==e.quality.value&&(e.allowQualityDrop?console.warn(`'${e.title}' 不支持选择的清晰度${e.quality.displayName}, 已降级为${t.currentQuality.displayName}`):(e=>{if(c.vipRequiredQualities.find((t=>t.value===e)))throw new Error("您选择的清晰度需要大会员, 请更改清晰度后重试.");if(c.loginRequiredQualities.find((t=>t.value===e)))throw new Error("您选择的清晰度需要先登录.");throw new Error("获取下载链接失败, 请尝试更换清晰度或更换格式.")})(e.quality.value))};var $=coreApis.download;function O(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class q{constructor(e){O(this,"input",void 0),O(this,"fragments",void 0),O(this,"qualities",void 0),O(this,"currentQuality",void 0),O(this,"jsonData",void 0),Object.assign(this,e)}get totalSize(){return lodash.sumBy(this.fragments,(e=>e.size))}get totalLength(){return lodash.sumBy(this.fragments,(e=>e.length))}get titledFragments(){return this.fragments.map(((e,t)=>{const n=this.fragments.filter((t=>t.extension===e.extension)).length>1?` - ${(0,d.formatNumber)(t+1,this.fragments.length)}`:"";return{...e,title:`${this.input.title}${n}${e.extension}`}}))}}class Q{constructor(e){this.infos=e,O(this,"inputs",[]),O(this,"extraAssets",[]),this.inputs=e.map((e=>e.input))}get isSingleVideo(){return this.inputs.length<2}async downloadExtraAssets(){console.log("[downloadExtraAssets]",this.extraAssets);const e=`${(0,u.getFriendlyTitle)(!1)}.zip`;await new $.DownloadPackage(this.extraAssets).emit(e)}}const U=e=>`https://api.bilibili.com/x/player/playurl?${e}`,T=e=>`https://api.bilibili.com/pgc/player/web/playurl?${e}`,j={video:".mp4",audio:".m4a"};let P;!function(e){e.Avc="AVC/H.264",e.Hevc="HEVC/H.265",e.Av1="AV1"}(P||(P={}));const N=e=>({url:e.downloadUrl,backupUrls:e.backupUrls,length:e.duration,size:Math.trunc(e.bandWidth*e.duration/8),extension:j[e.type]??".m4s"}),W=async(e,t={})=>{const{codec:n=P.Avc,filters:i}=t,o={video:()=>!0,audio:()=>!0,...i},{aid:a,cid:d,quality:r}=e,l={avid:a,cid:d,qn:r?.value??"",otype:"json",fourk:1,fnver:0,fnval:4048},p=h.bangumiUrls.some((e=>(0,s.matchUrlPattern)(e)))?T((0,s.formData)(l)):U((0,s.formData)(l)),u=await(0,f.bilibiliApi)((0,f.getJsonWithCredentials)(p),"获取视频链接失败");if(!u.dash)throw new Error("此视频没有 dash 格式, 请改用其他格式.");const m=c.allQualities.find((e=>e.value===u.quality)),{duration:v,video:g,audio:w,dolby:b}=u.dash,y=e=>{switch(e){case 12:return P.Hevc;case 13:return P.Av1;default:case 7:return P.Avc}},x=g.filter((e=>e.id===m.value)).map((e=>({type:"video",videoCodec:y(e.codecid),quality:m,width:e.width,height:e.height,codecs:e.codecs,codecId:e.codecid,bandWidth:e.bandwidth,frameRate:e.frameRate,backupUrls:(e.backupUrl||e.backup_url||[]).map((e=>e.replace("http:","https:"))),downloadUrl:(e.baseUrl||e.base_url||"").replace("http:","https:"),duration:v}))).filter((e=>o.video(e))),_=(w||[]).map((e=>({type:"audio",bandWidth:e.bandwidth,codecs:e.codecs,codecId:e.codecid,backupUrls:(e.backupUrl||e.backup_url||[]).map((e=>e.replace("http:","https:"))),downloadUrl:(e.baseUrl||e.base_url||"").replace("http:","https:"),duration:v}))).filter((e=>o.audio(e)));b&&_.push(...b.audio?.map((e=>({type:"audio",bandWidth:e.bandwidth,codecs:e.codecs,codecId:-1,backupUrls:[],downloadUrl:(e.baseUrl||e.base_url||"").replace("http:","https:"),duration:v})))??[]);const I=(e=>{const{videoDashes:t,audioDashes:n,videoCodec:i}=e,o=[];if(0!==t.length){const e=e=>e.videoCodec===i;if(t.some(e)){const n=t.filter(e).sort((0,E.ascendingSort)((e=>e.bandWidth)))[0];o.push(N(n))}else o.push(N(t.sort((0,E.ascendingSort)((e=>e.bandWidth)))[0]))}if(0!==n.length){const e=n.sort((0,E.descendingSort)((e=>e.bandWidth)))[0];o.push(N(e))}return o})({audioDashes:_,videoDashes:x,videoCodec:n}),k=u.accept_quality.map((e=>c.allQualities.find((t=>t.value===e)))).filter((e=>void 0!==e)),C=new q({input:e,jsonData:u,fragments:I,qualities:k,currentQuality:m});return S(e,C),C},z={name:"video.dash.avc",displayName:"dash (AVC/H.264)",description:"音画分离的 mp4 格式, 编码为 H.264, 体积较大, 兼容性较好. 下载后可以合并为单个 mp4 文件. 如果视频源没有此编码, 则会自动选择其他同清晰度的编码格式.",downloadVideoInfo:async e=>W(e,{codec:P.Avc})},B={name:"video.dash.hevc",displayName:"dash (HEVC/H.265)",description:"音画分离的 mp4 格式, 编码为 H.265, 体积中等, 兼容性较差. 下载后可以合并为单个 mp4 文件. 如果视频源没有此编码, 则会自动选择其他同清晰度的编码格式.",downloadVideoInfo:async e=>W(e,{codec:P.Hevc})},F={name:"video.dash.av1",displayName:"dash (AV1)",description:"音画分离的 mp4 格式, 编码为 AV1, 体积较小, 兼容性中等. 下载后可以合并为单个 mp4 文件. 如果视频源没有此编码, 则会自动选择其他同清晰度的编码格式.",downloadVideoInfo:async e=>W(e,{codec:P.Av1})},H={name:"video.dash.audio",displayName:"dash (仅音频)",description:"仅下载视频中的音频轨道.",downloadVideoInfo:async e=>W(e,{filters:{video:()=>!1}})},M=(e,t)=>{const n=e=>t.length>e?t[e]:t[t.length-1];return{fragments:e.durl.map(((e,t)=>({length:e.length,size:e.size,url:e.url,backupUrls:e.backup_url,extension:n(t)}))),qualities:e.accept_quality.map((e=>c.allQualities.find((t=>t.value===e)))).filter((e=>void 0!==e)),currentQuality:c.allQualities.find((t=>t.value===e.quality))}},R={name:"video.flv",displayName:"flv",description:"使用 flv 格式下载, 兼容 H.264 编码.",downloadVideoInfo:e=>(async e=>{const{aid:t,cid:n,quality:i}=e,o={avid:t,cid:n,qn:i?.value??"",otype:"json",fourk:1,fnver:0,fnval:0},a=h.bangumiUrls.some((e=>(0,s.matchUrlPattern)(e)))?T((0,s.formData)(o)):U((0,s.formData)(o)),d=await(0,f.bilibiliApi)((0,f.getJsonWithCredentials)(a),"获取视频链接失败"),r=new q({input:e,jsonData:d,...M(d,[".flv"])});return S(e,r),r})(e)},G={name:"consoleLogDemo",displayName:"Toast",description:"弹一条消息显示出下载链接, 右键新标签页打开就可以下载. 链接有 referer 限制, 复制无用, 且不能保留视频文件名.",runAction:async e=>{const t=e.infos.flatMap((e=>e.titledFragments)),n=t.map((e=>e.url)).join("\n");p.Toast.show(t.map((e=>`${e.title}`)).join("\n"),"下载视频"),console.log(n),console.log(e)}},[L]=(0,l.registerAndGetData)("downloadVideo.inputs",[D,V,A]),[J]=(0,l.registerAndGetData)("downloadVideo.apis",[R,z,B,F,H]),[Z]=(0,l.registerAndGetData)("downloadVideo.assets",[]),[X]=(0,l.registerAndGetData)("downloadVideo.outputs",[G]),{basicConfig:Y}=(0,o.getComponentSettings)("downloadVideo").options,K=e=>e.filter((e=>e.match?.some((e=>(0,s.matchUrlPattern)(e)))??!0));var ee=Vue.extend({components:{VPopup:r.VPopup,VButton:r.VButton,VDropdown:r.VDropdown,VIcon:r.VIcon},props:{triggerElement:{required:!0}},data(){const e=Y.output;return{open:!1,busy:!1,testData:{videoInfo:null,multiple:!1},assets:Z,qualities:[],selectedQuality:void 0,inputs:[],selectedInput:void 0,apis:[],selectedApi:void 0,outputs:X,selectedOutput:X.find((t=>t.name===e))||X[0]}},computed:{assetsWithOptions(){return this.assets.filter((e=>e.component))},filteredQualities(){return 0===this.qualities.length?c.allQualities:this.qualities},canStartDownload(){if(this.busy||!this.open)return!1;return!Object.entries(this).filter((([e])=>e.startsWith("selected"))).some((([,e])=>!e))}},watch:{selectedInput(e){void 0!==e&&this.updateTestVideoInfo()},selectedApi(e){void 0!==e&&(this.updateTestVideoInfo(),Y.api=e.name)},selectedOutput(e){void 0!==e&&(Y.output=e.name)}},mounted(){coreApis.observer.videoChange((()=>{this.selectedInput=void 0,this.selectedApi=void 0;const e=K(L);this.inputs=e,this.selectedInput=e[0];const t=K(J);this.apis=t;const n=t.find((e=>e.name===Y.api));this.selectedApi=n||t[0]}))},methods:{formatFileSize:d.formatFileSize,saveSelectedQuality(){const e=this.selectedQuality;void 0!==e&&(Y.quality=e.value,this.updateTestVideoInfo())},async getVideoItems(){const e=this.selectedInput;return await e.getInputs(this.$refs.inputOptions)},async updateTestVideoInfo(){if(!this.selectedInput||!this.selectedApi)return;this.testData.videoInfo=null;const e=this.selectedInput,t=e.getTestInput?.()??{aid:unsafeWindow.aid,cid:unsafeWindow.cid,title:(0,u.getFriendlyTitle)(!0)};console.log("[updateTestVideoInfo]",t),this.testData.multiple=e.batch;const n=this.selectedApi;try{const e=await n.downloadVideoInfo(t);this.qualities=e.qualities;if((!this.selectedQuality||!e.qualities.some((e=>e.value===this.selectedQuality.value)))&&(this.selectedQuality=e.qualities[0],Y.quality)){const[t]=e.qualities.filter((e=>e.value<=Y.quality));t&&(this.selectedQuality=t)}t.quality=this.selectedQuality;const i=await n.downloadVideoInfo(t);this.testData.videoInfo=i}catch(e){this.testData.videoInfo=void 0}},async startDownload(e,t){try{this.busy=!0;const n=this.selectedInput,i=this.selectedApi,o=await n.getInputs(this.$refs.inputOptions);if(0===o.length)return void p.Toast.info("未接收到视频, 如果输入源支持批量, 请至少选择一个视频.","下载视频",3e3);o.forEach((e=>{e.quality=this.selectedQuality}));const s=await Promise.all(o.map((e=>i.downloadVideoInfo(e))));if(0===s.length||0===lodash.sumBy(s,(e=>e.fragments.length)))return void p.Toast.info("未接收到可下载数据, 请检查输入源和格式是否适用于当前视频.","下载视频",3e3);const a=new Q(s),d=(await Promise.all(Z.map((e=>e.getAssets(s,this.$refs.assetsOptions.find((t=>t.$attrs.name===e.name))))))).flat();a.extraAssets.push(...d),await a.downloadExtraAssets(),await t.runAction(a,e)}catch(e){(0,a.logError)(e)}finally{this.busy=!1}}}}),te=n(228),ne=n.n(te),ie={insert:"head",singleton:!1},oe=(w()(ne(),ie),ne().locals,(0,_.Z)(ee,i,[],!1,null,null,null));oe.options.__file="registry/lib/components/video/download/DownloadVideo.vue";var se=oe.exports},272:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return d}});var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"multiple-widgets"},[n("DefaultWidget",{ref:"button",attrs:{name:"下载视频",icon:"mdi-download"},on:{mouseover:function(t){return e.createDownloadPanel()},click:function(t){return e.toggleDownloadPanel()}}})],1)};let o;i._withStripped=!0;var s=Vue.extend({components:{DefaultWidget:coreApis.ui.DefaultWidget},methods:{async createDownloadPanel(){if(!o){const e=document.createElement("div");document.body.appendChild(e);const t=await Promise.resolve().then(n.bind(n,701)).then((e=>e.default));o=new t({propsData:{triggerElement:this.$refs.button}}).$mount(e)}},async toggleDownloadPanel(){o&&(o.open=!o.open)}}}),a=(0,n(900).Z)(s,i,[],!1,null,null,null);a.options.__file="registry/lib/components/video/download/Widget.vue";var d=a.exports},762:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return h}});var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"single-video-info download-video-config-section"},[e.imageUrl?n("img",{staticClass:"shadow",attrs:{src:e.imageUrl}}):e._e(),e._v(" "),e.imageUrl?n("img",{attrs:{src:e.imageUrl}}):e._e()])};i._withStripped=!0;var o=coreApis.observer,s=n(729),a=coreApis.componentApis.video.videoInfo,d=Vue.extend({data:()=>({imageUrl:""}),created(){(0,o.videoChange)((async()=>{const{aid:e}=unsafeWindow,t=new a.VideoInfo(e);try{await t.fetchInfo()}catch(e){throw(0,s.logError)(e),e}this.imageUrl=t.coverUrl.replace("http:","https:")}))}}),r=n(379),l=n.n(r),c=n(436),p=n.n(c),u={insert:"head",singleton:!1},f=(l()(p(),u),p().locals,(0,n(900).Z)(d,i,[],!1,null,null,null));f.options.__file="registry/lib/components/video/download/inputs/video/SingleVideoInfo.vue";var h=f.exports},900:function(e,t,n){"use strict";function i(e,t,n,i,o,s,a,d){var r,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),i&&(l.functional=!0),s&&(l._scopeId="data-v-"+s),a?(r=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},l._ssrRegister=r):o&&(r=d?function(){o.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:o),r)if(l.functional){l._injectStyles=r;var c=l.render;l.render=function(e,t){return r.call(t),c(e,t)}}else{var p=l.beforeCreate;l.beforeCreate=p?[].concat(p,r):[r]}return{exports:e,options:l}}n.d(t,{Z:function(){return i}})},729:function(e){"use strict";e.exports=coreApis.utils.log}},t={};function n(i){var o=t[i];if(void 0!==o)return o.exports;var s=t[i]={id:i,exports:{}};return e[i](s,s.exports,n),s.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){"use strict";n.d(i,{component:function(){return t}});var e=coreApis.spinQuery;const t={name:"downloadVideo",displayName:"下载视频",description:"在功能面板中添加下载视频支持. 请注意不能下载超出账号权限的视频, 例如非大会员下载大会员清晰度视频, 或者大陆地区网络下载港澳台地区番剧, 都是不可以的.",entry:none,reload:none,unload:none,widget:{component:()=>Promise.resolve().then(n.bind(n,272)).then((e=>e.default)),condition:()=>(0,e.hasVideo)()},tags:[componentsTags.video],options:{basicConfig:{defaultValue:{},displayName:"基础配置",hidden:!0}},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/full-description.js b/registry/dist/components/video/full-description.js index 40039a0e7..c05231e88 100644 --- a/registry/dist/components/video/full-description.js +++ b/registry/dist/components/video/full-description.js @@ -6,4 +6,4 @@ n.i=function(e,t,o){"string"==typeof e&&( // eslint-disable-next-line no-param-reassign e=[[null,e,""]]);var r={};if(o)for(var i=0;i{(0,i.addStyle)(s(),u),(0,n.videoChange)((async()=>{if(!await(0,r.select)(".video-desc"))return;(await(0,r.select)('.video-desc .btn[report-id="abstract_spread"], .video-desc .toggle-btn'))?.click()}))},d={name:u,entry:a,reload:a,unload:()=>{(0,i.removeStyle)(u)},displayName:"展开视频简介",tags:[componentsTags.video,componentsTags.style],description:{"zh-CN":"总是展开完整的视频简介."},urlInclude:e.videoAndBangumiUrls,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),o=o.component}()})); \ No newline at end of file +var c=this[i][0];null!=c&&(r[c]=!0)}for(var s=0;s{(0,i.addStyle)(s(),a),(0,n.videoChange)((async()=>{if(!await(0,r.select)(".video-desc"))return;(await(0,r.select)('.video-desc .btn[report-id="abstract_spread"], .video-desc .toggle-btn'))?.click()}))},d={name:a,entry:u,reload:u,unload:()=>{(0,i.removeStyle)(a)},displayName:"展开视频简介",tags:[componentsTags.video,componentsTags.style],description:{"zh-CN":"总是展开完整的视频简介."},urlInclude:e.videoAndBangumiUrls,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),o=o.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/full-episode-title.js b/registry/dist/components/video/full-episode-title.js index f40c9f782..5076aebdb 100644 --- a/registry/dist/components/video/full-episode-title.js +++ b/registry/dist/components/video/full-episode-title.js @@ -6,4 +6,4 @@ e.i=function(t,n,o){"string"==typeof t&&( // eslint-disable-next-line no-param-reassign t=[[null,t,""]]);var r={};if(o)for(var i=0;iPromise.resolve().then(r.t.bind(r,916,23)))),displayName:"展开选集标题",description:{"zh-CN":"总是完全展开视频选集列表的标题, 注意对番剧无效."},tags:[componentsTags.video],urlInclude:e.videoUrls,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var u=this[i][0];null!=u&&(r[u]=!0)}for(var c=0;cPromise.resolve().then(r.t.bind(r,916,23)))),displayName:"展开选集标题",description:{"zh-CN":"总是完全展开视频选集列表的标题, 注意对番剧无效."},tags:[componentsTags.video],urlInclude:e.videoUrls,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/outer-watchlater.js b/registry/dist/components/video/outer-watchlater.js index ead31b5a8..1f1e840da 100644 --- a/registry/dist/components/video/outer-watchlater.js +++ b/registry/dist/components/video/outer-watchlater.js @@ -9,4 +9,4 @@ t=[[null,t,""]]);var r={};if(o)for(var i=0;i({watchlaterList:i.watchlaterList,aid:unsafeWindow.aid,tipText:"",tipShowing:!1,tipHandle:0,on:!1}),created(){this.on=this.isInWatchlater()},methods:{isInWatchlater(){return this.watchlaterList.includes(parseInt(this.aid))},showTip(t){this.tipText=t,this.tipShowing=!0,this.tipHandle&&clearTimeout(this.tipHandle),this.tipHandle=setTimeout((()=>{this.tipShowing=!1}),2e3)},async toggle(){await(0,i.toggleWatchlater)(this.aid),this.on=this.isInWatchlater(),this.showTip(this.on?"已添加至稍后再看":"已从稍后再看移除")}}}),s=n(379),c=n.n(s),l=n(772),u=n.n(l),d={insert:"head",singleton:!1};c()(u(),d),u().locals;var p=function(t,e,n,o,r,i,a,s){var c,l="function"==typeof t?t.options:t;if(e&&(l.render=e,l.staticRenderFns=n,l._compiled=!0),o&&(l.functional=!0),i&&(l._scopeId="data-v-"+i),a?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},l._ssrRegister=c):r&&(c=s?function(){r.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(t,e){return c.call(e),u(t,e)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:t,options:l}}(a,o,[],!1,null,null,null);p.options.__file="registry/lib/components/video/outer-watchlater/OuterWatchlater.vue";var f=p.exports},156:function(t){"use strict";t.exports=coreApis.observer},109:function(t){"use strict";t.exports=coreApis.utils}},o={};function r(t){var e=o[t];if(void 0!==e)return e.exports;var i=o[t]={id:t,exports:{}};return n[t](i,i.exports,r),i.exports}r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},e=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__},r.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var i=Object.create(null);r.r(i);var a={};t=t||[null,e({}),e([]),e(e)];for(var s=2&o&&n;"object"==typeof s&&!~t.indexOf(s);s=e(s))Object.getOwnPropertyNames(s).forEach((function(t){a[t]=function(){return n[t]}}));return a.default=function(){return n},r.d(i,a),i},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var i={};return function(){"use strict";r.d(i,{component:function(){return e}});var t=coreApis.utils.urls;const e={name:"outerWatchlater",displayName:"外置稍后再看",entry:async()=>{const{mountVueComponent:t,getUID:e,playerReady:n}=await Promise.resolve().then(r.t.bind(r,109,23));if(!e())return;await n();const o=dq(".video-toolbar .ops .collect");if(!o)return;const i=t(await Promise.resolve().then(r.bind(r,410)));o.insertAdjacentElement("afterend",i.$el);const{videoChange:a}=await Promise.resolve().then(r.t.bind(r,156,23));a((()=>{i.aid=unsafeWindow.aid}))},tags:[componentsTags.video],description:{"zh-CN":"将视频页面菜单里的 `稍后再看` 移到外面."},urlInclude:t.videoUrls,urlExclude:t.watchlaterUrls,reload:()=>{dqa(".ops .watchlater").forEach((t=>{t.style.display="inline-block"}))},unload:()=>{dqa(".ops .watchlater").forEach((t=>{t.style.display="none"}))},plugin:{displayName:"稍后再看 - 快捷键支持",setup:({addData:t})=>{t("keymap.actions",(t=>{t.watchlater={displayName:"稍后再看",run:t=>{const{clickElement:e}=t;return e(".video-toolbar .ops .watchlater, .more-ops-list .ops-watch-later, .video-toolbar-module .see-later-box",t)}}})),t("keymap.presets",(t=>{t.watchlater="shift w"}))}},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +o=Boolean(window&&document&&document.all&&!window.atob)),o},i=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),a=[];function s(t){for(var e=-1,n=0;n({watchlaterList:i.watchlaterList,aid:unsafeWindow.aid,tipText:"",tipShowing:!1,tipHandle:0,on:!1}),created(){this.on=this.isInWatchlater()},methods:{isInWatchlater(){return this.watchlaterList.includes(parseInt(this.aid))},showTip(t){this.tipText=t,this.tipShowing=!0,this.tipHandle&&clearTimeout(this.tipHandle),this.tipHandle=setTimeout((()=>{this.tipShowing=!1}),2e3)},async toggle(){await(0,i.toggleWatchlater)(this.aid),this.on=this.isInWatchlater(),this.showTip(this.on?"已添加至稍后再看":"已从稍后再看移除")}}}),s=n(379),c=n.n(s),l=n(772),u=n.n(l),d={insert:"head",singleton:!1};c()(u(),d),u().locals;var p=function(t,e,n,o,r,i,a,s){var c,l="function"==typeof t?t.options:t;if(e&&(l.render=e,l.staticRenderFns=n,l._compiled=!0),o&&(l.functional=!0),i&&(l._scopeId="data-v-"+i),a?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},l._ssrRegister=c):r&&(c=s?function(){r.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(t,e){return c.call(e),u(t,e)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:t,options:l}}(a,o,[],!1,null,null,null);p.options.__file="registry/lib/components/video/outer-watchlater/OuterWatchlater.vue";var f=p.exports},156:function(t){"use strict";t.exports=coreApis.observer},109:function(t){"use strict";t.exports=coreApis.utils}},o={};function r(t){var e=o[t];if(void 0!==e)return e.exports;var i=o[t]={id:t,exports:{}};return n[t](i,i.exports,r),i.exports}r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},e=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__},r.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var i=Object.create(null);r.r(i);var a={};t=t||[null,e({}),e([]),e(e)];for(var s=2&o&&n;"object"==typeof s&&!~t.indexOf(s);s=e(s))Object.getOwnPropertyNames(s).forEach((function(t){a[t]=function(){return n[t]}}));return a.default=function(){return n},r.d(i,a),i},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var i={};return function(){"use strict";r.d(i,{component:function(){return e}});var t=coreApis.utils.urls;const e={name:"outerWatchlater",displayName:"外置稍后再看",entry:async()=>{const{mountVueComponent:t,getUID:e,playerReady:n}=await Promise.resolve().then(r.t.bind(r,109,23));if(!e())return;await n();const o=dq(".video-toolbar .ops .collect");if(!o)return;const i=t(await Promise.resolve().then(r.bind(r,410)));o.insertAdjacentElement("afterend",i.$el);const{videoChange:a}=await Promise.resolve().then(r.t.bind(r,156,23));a((()=>{i.aid=unsafeWindow.aid}))},tags:[componentsTags.video],description:{"zh-CN":"将视频页面菜单里的 `稍后再看` 移到外面."},urlInclude:t.videoUrls,urlExclude:t.watchlaterUrls,reload:()=>{dqa(".ops .watchlater").forEach((t=>{t.style.display="inline-block"}))},unload:()=>{dqa(".ops .watchlater").forEach((t=>{t.style.display="none"}))},plugin:{displayName:"稍后再看 - 快捷键支持",setup:({addData:t})=>{t("keymap.actions",(t=>{t.watchlater={displayName:"稍后再看",run:t=>{const{clickElement:e}=t;return e(".video-toolbar .ops .watchlater, .more-ops-list .ops-watch-later, .video-toolbar-module .see-later-box",t)}}})),t("keymap.presets",(t=>{t.watchlater="shift w"}))}},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/player/auto-light.js b/registry/dist/components/video/player/auto-light.js index 58d0790ff..0b2795b2a 100644 --- a/registry/dist/components/video/player/auto-light.js +++ b/registry/dist/components/video/player/auto-light.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["video/player/auto-light"]=t():e["video/player/auto-light"]=t()}(self,(function(){return function(){"use strict";var e,t,n={579:function(e){e.exports=coreApis.componentApis.video.playerLight},109:function(e){e.exports=coreApis.utils}},o={};function r(e){var t=o[e];if(void 0!==t)return t.exports;var i=o[e]={exports:{}};return n[e](i,i.exports,r),i.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var i=Object.create(null);r.r(i);var c={};e=e||[null,t({}),t([]),t(t)];for(var u=2&o&&n;"object"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach((function(e){c[e]=function(){return n[e]}}));return c.default=function(){return n},r.d(i,c),i},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){r.d(i,{component:function(){return o}});var e=coreApis.componentApis.video.playerAgent,t=coreApis.observer;let n;const o={name:"playerAutoLight",displayName:"播放时自动关灯",urlInclude:coreApis.utils.urls.allVideoUrls,tags:[componentsTags.video],description:{"zh-CN":"在视频播放时自动关灯, 暂停或结束时再自动打开."},entry:async()=>{const{isEmbeddedPlayer:o}=await Promise.resolve().then(r.t.bind(r,109,23)),{lightOn:i,lightOff:c}=await Promise.resolve().then(r.t.bind(r,579,23));o()||(0,t.videoChange)((async()=>{if(null!=n){const e=await n.query.video.element();e.removeEventListener("ended",i),e.removeEventListener("pause",i),e.removeEventListener("play",c)}n=e.playerAgent;const t=await n.query.video.element();n.isAutoPlay()&&c(),t.addEventListener("ended",i),t.addEventListener("pause",i),t.addEventListener("play",c)}))},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["video/player/auto-light"]=t():e["video/player/auto-light"]=t()}(self,(function(){return function(){"use strict";var e,t,n={579:function(e){e.exports=coreApis.componentApis.video.playerLight},109:function(e){e.exports=coreApis.utils}},o={};function r(e){var t=o[e];if(void 0!==t)return t.exports;var i=o[e]={exports:{}};return n[e](i,i.exports,r),i.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var i=Object.create(null);r.r(i);var a={};e=e||[null,t({}),t([]),t(t)];for(var u=2&o&&n;"object"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach((function(e){a[e]=function(){return n[e]}}));return a.default=function(){return n},r.d(i,a),i},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){r.d(i,{component:function(){return o}});var e=coreApis.componentApis.video.playerAgent,t=coreApis.observer;let n;const o={name:"playerAutoLight",displayName:"播放时自动关灯",urlInclude:coreApis.utils.urls.allVideoUrls,tags:[componentsTags.video],description:{"zh-CN":"在视频播放时自动关灯, 暂停或结束时再自动打开."},entry:async()=>{const{isEmbeddedPlayer:o}=await Promise.resolve().then(r.t.bind(r,109,23)),{lightOn:i,lightOff:a}=await Promise.resolve().then(r.t.bind(r,579,23));o()||(0,t.videoChange)((async()=>{if(null!=n){const e=await n.query.video.element();e.removeEventListener("ended",i),e.removeEventListener("pause",i),e.removeEventListener("play",a)}n=e.playerAgent;const t=await n.query.video.element();n.isAutoPlay()&&a(),t.addEventListener("ended",i),t.addEventListener("pause",i),t.addEventListener("play",a)}))},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/player/control-background.js b/registry/dist/components/video/player/control-background.js index 7b1bcec10..98b634a4b 100644 --- a/registry/dist/components/video/player/control-background.js +++ b/registry/dist/components/video/player/control-background.js @@ -6,4 +6,4 @@ t.i=function(o,e,n){"string"==typeof o&&( // eslint-disable-next-line no-param-reassign o=[[null,o,""]]);var r={};if(n)for(var i=0;i{const{addComponentListener:t}=await Promise.resolve().then(r.t.bind(r,407,23));t(`${o.name}.includeProgress`,(o=>{document.body.classList.toggle("video-control-progress-background",o)}),!0),t(`${o.name}.opacity`,lodash.debounce((o=>{document.documentElement.style.setProperty("--video-control-opacity",(o/100).toString())}),200),!0)},instantStyles:[{name:"playerControlBackground",style:()=>Promise.resolve().then(r.t.bind(r,90,23))}],urlInclude:o.playerUrls,options:{opacity:{displayName:"不透明度(%)",defaultValue:64,slider:{}},includeProgress:{displayName:"包括进度条",defaultValue:!0}},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var a=this[i][0];null!=a&&(r[a]=!0)}for(var l=0;l{const{addComponentListener:t}=await Promise.resolve().then(r.t.bind(r,407,23));t(`${o.name}.includeProgress`,(o=>{document.body.classList.toggle("video-control-progress-background",o)}),!0),t(`${o.name}.opacity`,lodash.debounce((o=>{document.documentElement.style.setProperty("--video-control-opacity",(o/100).toString())}),200),!0)},instantStyles:[{name:"playerControlBackground",style:()=>Promise.resolve().then(r.t.bind(r,90,23))}],urlInclude:o.playerUrls,options:{opacity:{displayName:"不透明度(%)",defaultValue:64,slider:{}},includeProgress:{displayName:"包括进度条",defaultValue:!0}},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/player/default-mode.js b/registry/dist/components/video/player/default-mode.js index 0f9c02c12..d96b8aeb3 100644 --- a/registry/dist/components/video/player/default-mode.js +++ b/registry/dist/components/video/player/default-mode.js @@ -1 +1 @@ -!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports["video/player/default-mode"]=n():e["video/player/default-mode"]=n()}(self,(function(){return function(){"use strict";var e={d:function(n,t){for(var o in t)e.o(t,o)&&!e.o(n,o)&&Object.defineProperty(n,o,{enumerable:!0,get:t[o]})},o:function(e,n){return Object.prototype.hasOwnProperty.call(e,n)}},n={};e.d(n,{component:function(){return c}});var t=coreApis.componentApis.video.playerAgent,o=coreApis.spinQuery,l=coreApis.utils,a=coreApis.utils.lazyPanel,r=coreApis.utils.urls;let s;!function(e){e.Normal="常规",e.Wide="宽屏",e.WebFullscreen="网页全屏",e.Fullscreen="全屏"}(s||(s={}));const c={name:"defaultPlayerMode",displayName:"默认播放器模式",entry:async({settings:{options:e}})=>{if((0,l.isEmbeddedPlayer)())return;const{query:{control:{buttons:n}}}=t.playerAgent;await(0,l.playerReady)();const r=new Map([[s.Normal,none],[s.Wide,async()=>{await(0,a.loadLazyPanel)(n.widescreen.selector),(0,l.disableWindowScroll)((()=>t.playerAgent.widescreen()))}],[s.WebFullscreen,async()=>{await(0,a.loadLazyPanel)(n.webFullscreen.selector),t.playerAgent.webFullscreen()}],[s.Fullscreen,async()=>{null!==await(0,o.sq)((()=>dq(t.playerAgent.query.video.element.selector)),(e=>null!==e&&4===e.readyState&&"complete"===document.readyState&&document.hasFocus()))?t.playerAgent.fullscreen():console.warn("[默认播放器模式] 未能应用全屏模式, 等待超时.")}]]),c=await t.playerAgent.query.video.element();if(!c)return;const i=r.get(e.mode);e.applyOnPlay&&!t.playerAgent.isAutoPlay()?c.addEventListener("play",i,{once:!0}):i()},tags:[componentsTags.video],description:{"zh-CN":"控制是否使用默认播放器模式, 可以为`常规`, `宽屏`, `网页全屏`或`全屏`. 注意: 不能和其他影响定位的功能一同使用, 例如播放器定位. (相关讨论: [#483](https://github.com/the1812/Bilibili-Evolved/issues/483))","en-US":"Set the default player mode. Could be `Normal`, `Widescreen`, `Web fullscreen` or `Fullscreen`.","ja-JP":"デフォルト・プレーヤー・モードが使用するかどうかを制御する、 例えば`常规`、`宽屏`、 `网页全屏`か`全屏`."},options:{mode:{defaultValue:s.Normal,displayName:"模式选择",dropdownEnum:s},applyOnPlay:{defaultValue:!1,displayName:"播放时应用"}},urlInclude:r.allVideoUrls,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"};return n=n.component}()})); \ No newline at end of file +!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports["video/player/default-mode"]=n():e["video/player/default-mode"]=n()}(self,(function(){return function(){"use strict";var e={d:function(n,t){for(var o in t)e.o(t,o)&&!e.o(n,o)&&Object.defineProperty(n,o,{enumerable:!0,get:t[o]})},o:function(e,n){return Object.prototype.hasOwnProperty.call(e,n)}},n={};e.d(n,{component:function(){return i}});var t=coreApis.componentApis.video.playerAgent,o=coreApis.spinQuery,l=coreApis.utils,a=coreApis.utils.lazyPanel,r=coreApis.utils.urls;let s;!function(e){e.Normal="常规",e.Wide="宽屏",e.WebFullscreen="网页全屏",e.Fullscreen="全屏"}(s||(s={}));const i={name:"defaultPlayerMode",displayName:"默认播放器模式",entry:async({settings:{options:e}})=>{if((0,l.isEmbeddedPlayer)())return;const{query:{control:{buttons:n}}}=t.playerAgent;await(0,l.playerReady)();const r=new Map([[s.Normal,none],[s.Wide,async()=>{await(0,a.loadLazyPanel)(n.widescreen.selector),(0,l.disableWindowScroll)((()=>t.playerAgent.widescreen()))}],[s.WebFullscreen,async()=>{await(0,a.loadLazyPanel)(n.webFullscreen.selector),t.playerAgent.webFullscreen()}],[s.Fullscreen,async()=>{null!==await(0,o.sq)((()=>dq(t.playerAgent.query.video.element.selector)),(e=>null!==e&&4===e.readyState&&"complete"===document.readyState&&document.hasFocus()))?t.playerAgent.fullscreen():console.warn("[默认播放器模式] 未能应用全屏模式, 等待超时.")}]]),i=await t.playerAgent.query.video.element();if(!i)return;const c=r.get(e.mode);e.applyOnPlay&&!t.playerAgent.isAutoPlay()?i.addEventListener("play",c,{once:!0}):c()},tags:[componentsTags.video],description:{"zh-CN":"控制是否使用默认播放器模式, 可以为`常规`, `宽屏`, `网页全屏`或`全屏`. 注意: 不能和其他影响定位的功能一同使用, 例如播放器定位. (相关讨论: [#483](https://github.com/the1812/Bilibili-Evolved/issues/483))","en-US":"Set the default player mode. Could be `Normal`, `Widescreen`, `Web fullscreen` or `Fullscreen`.","ja-JP":"デフォルト・プレーヤー・モードが使用するかどうかを制御する、 例えば`常规`、`宽屏`、 `网页全屏`か`全屏`."},options:{mode:{defaultValue:s.Normal,displayName:"模式选择",dropdownEnum:s},applyOnPlay:{defaultValue:!1,displayName:"播放时应用"}},urlInclude:r.allVideoUrls,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"};return n=n.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/player/double-click-fullscreen.js b/registry/dist/components/video/player/double-click-fullscreen.js index 76f2a2bc0..8f195597a 100644 --- a/registry/dist/components/video/player/double-click-fullscreen.js +++ b/registry/dist/components/video/player/double-click-fullscreen.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["video/player/double-click-fullscreen"]=t():e["video/player/double-click-fullscreen"]=t()}(self,(function(){return function(){"use strict";var e,t,n={730:function(e){e.exports=coreApis.componentApis.video.playerAgent},156:function(e){e.exports=coreApis.observer},109:function(e){e.exports=coreApis.utils}},o={};function r(e){var t=o[e];if(void 0!==t)return t.exports;var i=o[e]={exports:{}};return n[e](i,i.exports,r),i.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var i=Object.create(null);r.r(i);var c={};e=e||[null,t({}),t([]),t(t)];for(var l=2&o&&n;"object"==typeof l&&!~e.indexOf(l);l=t(l))Object.getOwnPropertyNames(l).forEach((function(e){c[e]=function(){return n[e]}}));return c.default=function(){return n},r.d(i,c),i},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){r.d(i,{component:function(){return t}});var e=coreApis.utils.urls;const t={name:"doubleClickFullscreen",displayName:"双击全屏",description:"为视频播放器启用双击全屏功能, 请注意不能和 `启用双击控制` 一同使用.",entry:async({settings:{options:e}})=>{const{videoChange:t}=await Promise.resolve().then(r.t.bind(r,156,23));t((async()=>{const{DoubleClickEvent:t}=await Promise.resolve().then(r.t.bind(r,109,23)),{playerAgent:n}=await Promise.resolve().then(r.t.bind(r,730,23)),o=await n.query.danmakuTipLayer();if(null===o)return void console.error("playerArea not found");const i="double-click-fullscreen";if(!o.classList.contains(i)){o.classList.add(i);const r=n.query.video.container.sync(),c=new t((()=>n.fullscreen()),e.preventSingleClick);c.singleClickHandler=()=>n.togglePlay(),c.bind(r)}}))},tags:[componentsTags.video],options:{preventSingleClick:{displayName:"双击时阻止单击事件",defaultValue:!0}},urlInclude:e.playerUrls,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["video/player/double-click-fullscreen"]=t():e["video/player/double-click-fullscreen"]=t()}(self,(function(){return function(){"use strict";var e,t,n={730:function(e){e.exports=coreApis.componentApis.video.playerAgent},156:function(e){e.exports=coreApis.observer},109:function(e){e.exports=coreApis.utils}},o={};function r(e){var t=o[e];if(void 0!==t)return t.exports;var i=o[e]={exports:{}};return n[e](i,i.exports,r),i.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var i=Object.create(null);r.r(i);var c={};e=e||[null,t({}),t([]),t(t)];for(var l=2&o&&n;"object"==typeof l&&!~e.indexOf(l);l=t(l))Object.getOwnPropertyNames(l).forEach((function(e){c[e]=function(){return n[e]}}));return c.default=function(){return n},r.d(i,c),i},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){r.d(i,{component:function(){return t}});var e=coreApis.utils.urls;const t={name:"doubleClickFullscreen",displayName:"双击全屏",description:"为视频播放器启用双击全屏功能, 请注意不能和 `启用双击控制` 一同使用.",entry:async({settings:{options:e}})=>{const{videoChange:t}=await Promise.resolve().then(r.t.bind(r,156,23));t((async()=>{const{DoubleClickEvent:t}=await Promise.resolve().then(r.t.bind(r,109,23)),{playerAgent:n}=await Promise.resolve().then(r.t.bind(r,730,23)),o=await n.query.danmakuTipLayer();if(null===o)return void console.error("playerArea not found");const i="double-click-fullscreen";if(!o.classList.contains(i)){o.classList.add(i);const r=n.query.video.container.sync(),c=new t((()=>n.fullscreen()),e.preventSingleClick);c.singleClickHandler=()=>n.togglePlay(),c.bind(r)}}))},tags:[componentsTags.video],options:{preventSingleClick:{displayName:"双击时阻止单击事件",defaultValue:!0}},urlInclude:e.playerUrls,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/player/focus.js b/registry/dist/components/video/player/focus.js index 5e8be2a7c..a9e6cfbbe 100644 --- a/registry/dist/components/video/player/focus.js +++ b/registry/dist/components/video/player/focus.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["video/player/focus"]=t():e["video/player/focus"]=t()}(self,(function(){return function(){"use strict";var e,t,o={103:function(e){e.exports="进入视频 / 番剧页面时, 自动定位到播放器. 注意: 不能和其他影响定位的功能一同使用, 例如自动宽屏. (相关讨论: [#483](https://github.com/the1812/Bilibili-Evolved/issues/483))\n\n可设置定位时的竖直偏移量, 单位为像素(px)."},569:function(e){e.exports=coreApis.spinQuery},109:function(e){e.exports=coreApis.utils}},n={};function r(e){var t=n[e];if(void 0!==t)return t.exports;var i=n[e]={exports:{}};return o[e](i,i.exports,r),i.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(o,n){if(1&n&&(o=this(o)),8&n)return o;if("object"==typeof o&&o){if(4&n&&o.__esModule)return o;if(16&n&&"function"==typeof o.then)return o}var i=Object.create(null);r.r(i);var u={};e=e||[null,t({}),t([]),t(t)];for(var c=2&n&&o;"object"==typeof c&&!~e.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach((function(e){u[e]=function(){return o[e]}}));return u.default=function(){return o},r.d(i,u),i},r.d=function(e,t){for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){r.d(i,{component:function(){return o}});var e=coreApis.utils.urls,t=r(103);const o={name:"playerFocus",displayName:"播放器定位",tags:[componentsTags.video],entry:async({settings:{options:e}})=>{const t=document.URL.includes("bangumi")?".bilibili-player":".video-info .video-title .tit",{select:o}=await Promise.resolve().then(r.t.bind(r,569,23)),{playerReady:n}=await Promise.resolve().then(r.t.bind(r,109,23)),i=await o(t);await n(),i&&(i.scrollIntoView(),0!==e.offset&&window.scrollBy(0,e.offset))},description:{"zh-CN":t},options:{offset:{displayName:"定位偏移量",defaultValue:-10}},urlInclude:e.videoAndBangumiUrls,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["video/player/focus"]=t():e["video/player/focus"]=t()}(self,(function(){return function(){"use strict";var e,t,o={103:function(e){e.exports="进入视频 / 番剧页面时, 自动定位到播放器. 注意: 不能和其他影响定位的功能一同使用, 例如自动宽屏. (相关讨论: [#483](https://github.com/the1812/Bilibili-Evolved/issues/483))\n\n可设置定位时的竖直偏移量, 单位为像素(px)."},569:function(e){e.exports=coreApis.spinQuery},109:function(e){e.exports=coreApis.utils}},n={};function r(e){var t=n[e];if(void 0!==t)return t.exports;var i=n[e]={exports:{}};return o[e](i,i.exports,r),i.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(o,n){if(1&n&&(o=this(o)),8&n)return o;if("object"==typeof o&&o){if(4&n&&o.__esModule)return o;if(16&n&&"function"==typeof o.then)return o}var i=Object.create(null);r.r(i);var f={};e=e||[null,t({}),t([]),t(t)];for(var u=2&n&&o;"object"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach((function(e){f[e]=function(){return o[e]}}));return f.default=function(){return o},r.d(i,f),i},r.d=function(e,t){for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){r.d(i,{component:function(){return o}});var e=coreApis.utils.urls,t=r(103);const o={name:"playerFocus",displayName:"播放器定位",tags:[componentsTags.video],entry:async({settings:{options:e}})=>{const t=document.URL.includes("bangumi")?".bilibili-player":".video-info .video-title .tit",{select:o}=await Promise.resolve().then(r.t.bind(r,569,23)),{playerReady:n}=await Promise.resolve().then(r.t.bind(r,109,23)),i=await o(t);await n(),i&&(i.scrollIntoView(),0!==e.offset&&window.scrollBy(0,e.offset))},description:{"zh-CN":t},options:{offset:{displayName:"定位偏移量",defaultValue:-10}},urlInclude:e.videoAndBangumiUrls,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/player/intersection-actions.js b/registry/dist/components/video/player/intersection-actions.js index ba91daa6a..012d1d80a 100644 --- a/registry/dist/components/video/player/intersection-actions.js +++ b/registry/dist/components/video/player/intersection-actions.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["video/player/intersection-actions"]=t():e["video/player/intersection-actions"]=t()}(self,(function(){return function(){"use strict";var e={d:function(t,n){for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{component:function(){return s}});var n,o=coreApis.componentApis.video.playerAgent,i=coreApis.componentApis.video.playerLight,a=coreApis.observer,r=coreApis.settings;!function(e){e.Top="视频顶部",e.Medium="视频中间",e.Bottom="视频底部"}(n||(n={}));const s={name:"playerIntersectionActions",author:{name:"FoundTheWOUT",link:"https://github.com/FoundTheWOUT"},tags:[componentsTags.video],entry:async({settings:{options:e},metadata:t})=>{const s=e,{query:{video:p}}=o.playerAgent,d=await p.element(),c=document.getElementById("video-player")??(dq(".player-wrap")||dq(".player-module"));let u,l=!0;function m(e){switch(e){case n.Top:return 1;case n.Medium:return.5;case n.Bottom:return 0;default:return.5}}function y(){u.observe(c)}function g(){u.unobserve(c)}const f=e=>new IntersectionObserver((([e])=>{e.isIntersecting?l||(l=!0,s.pause&&d.paused&&d.play(),s.light&&(0,r.getComponentSettings)("playerAutoLight").enabled&&!s.pause&&!d.paused&&(0,i.lightOff)()):(d.paused||(l=!1),s.pause&&!d.paused&&d.pause(),s.light&&(0,r.getComponentSettings)("playerAutoLight").enabled&&!s.pause&&(0,i.lightOn)())}),{threshold:m(e||s.triggerLocation)});(0,r.addComponentListener)(`${t.name}.triggerLocation`,(e=>{g(),u=f(e),y()})),u=f(),(0,a.videoChange)((async()=>{o.playerAgent.isAutoPlay()&&y(),d.addEventListener("play",y),d.addEventListener("ended",g)}))},displayName:"播放器位置动作",description:{"zh-CN":"设置当播放器移出视图的位置变化时执行的动作."},options:{triggerLocation:{defaultValue:n.Medium,displayName:"触发位置",dropdownEnum:n},pause:{defaultValue:!1,displayName:"自动暂停"},light:{defaultValue:!0,displayName:"自动开灯"}},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"};return t=t.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["video/player/intersection-actions"]=t():e["video/player/intersection-actions"]=t()}(self,(function(){return function(){"use strict";var e={d:function(t,n){for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{component:function(){return s}});var n,o=coreApis.componentApis.video.playerAgent,a=coreApis.componentApis.video.playerLight,i=coreApis.observer,r=coreApis.settings;!function(e){e.Top="视频顶部",e.Medium="视频中间",e.Bottom="视频底部"}(n||(n={}));const s={name:"playerIntersectionActions",author:{name:"FoundTheWOUT",link:"https://github.com/FoundTheWOUT"},tags:[componentsTags.video],entry:async({settings:{options:e},metadata:t})=>{const s=e,{query:{video:p}}=o.playerAgent,d=await p.element(),u=document.getElementById("video-player")??(dq(".player-wrap")||dq(".player-module"));let c,l=!0;function f(e){switch(e){case n.Top:return 1;case n.Medium:return.5;case n.Bottom:return 0;default:return.5}}function m(){c.observe(u)}function y(){c.unobserve(u)}const g=e=>new IntersectionObserver((([e])=>{e.isIntersecting?l||(l=!0,s.pause&&d.paused&&d.play(),s.light&&(0,r.getComponentSettings)("playerAutoLight").enabled&&!s.pause&&!d.paused&&(0,a.lightOff)()):(d.paused||(l=!1),s.pause&&!d.paused&&d.pause(),s.light&&(0,r.getComponentSettings)("playerAutoLight").enabled&&!s.pause&&(0,a.lightOn)())}),{threshold:f(e||s.triggerLocation)});(0,r.addComponentListener)(`${t.name}.triggerLocation`,(e=>{y(),c=g(e),m()})),c=g(),(0,i.videoChange)((async()=>{o.playerAgent.isAutoPlay()&&m(),d.addEventListener("play",m),d.addEventListener("ended",y)}))},displayName:"播放器位置动作",description:{"zh-CN":"设置当播放器移出视图的位置变化时执行的动作."},options:{triggerLocation:{defaultValue:n.Medium,displayName:"触发位置",dropdownEnum:n},pause:{defaultValue:!1,displayName:"自动暂停"},light:{defaultValue:!0,displayName:"自动开灯"}},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"};return t=t.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/player/legacy-auto-play.js b/registry/dist/components/video/player/legacy-auto-play.js index a2b2bf81a..e8e998f60 100644 --- a/registry/dist/components/video/player/legacy-auto-play.js +++ b/registry/dist/components/video/player/legacy-auto-play.js @@ -1 +1 @@ -!function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports["video/player/legacy-auto-play"]=o():e["video/player/legacy-auto-play"]=o()}(self,(function(){return function(){"use strict";var e={d:function(o,t){for(var i in t)e.o(t,i)&&!e.o(o,i)&&Object.defineProperty(o,i,{enumerable:!0,get:t[i]})},o:function(e,o){return Object.prototype.hasOwnProperty.call(e,o)}},o={};e.d(o,{component:function(){return c}});var t=coreApis.observer,i=coreApis.spinQuery,n=coreApis.utils,a=coreApis.utils.urls;const c={name:"legacyAutoPlay",displayName:"传统连播模式",description:"模拟传统的多 P 连播策略: 仅连播视频的分 P, 最后 1P 放完禁止连播其他推荐视频.",tags:[componentsTags.video],urlInclude:a.videoUrls,entry:async()=>{const e={enable:[".base-video-sections .next-button",".multi-page .next-button",".player-auxiliary-autoplay-switch input"],disable:[".recommend-list .next-button"]},o=[()=>Boolean(dq(".multi-page .list-box li.on:last-child")),()=>Boolean(dq(".video-sections-item:last-child .video-episode-card:last-child .video-episode-card__info-playing")),()=>Boolean(dq(".video-sections-item:last-child .video-episode-card:last-child .video-episode-card__info-title-playing"))];await(0,n.playerReady)();const a=async()=>{const t=await(0,i.select)([...e.disable,...e.enable].join(","));if(!t)return;var n;(e.enable.some((e=>t.matches(e)))&&o.every((e=>!e())))!==(n=t,Boolean(n.querySelector(".switch-button.on")||n.matches(":checked")))&&t.click()};(0,t.videoChange)((async()=>{a();(await(0,i.select)(".bilibili-player-video video"))?.addEventListener("play",a,{once:!0})}))},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"};return o=o.component}()})); \ No newline at end of file +!function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports["video/player/legacy-auto-play"]=o():e["video/player/legacy-auto-play"]=o()}(self,(function(){return function(){"use strict";var e={d:function(o,t){for(var i in t)e.o(t,i)&&!e.o(o,i)&&Object.defineProperty(o,i,{enumerable:!0,get:t[i]})},o:function(e,o){return Object.prototype.hasOwnProperty.call(e,o)}},o={};e.d(o,{component:function(){return c}});var t=coreApis.observer,i=coreApis.spinQuery,n=coreApis.utils,a=coreApis.utils.urls;const c={name:"legacyAutoPlay",displayName:"传统连播模式",description:"模拟传统的多 P 连播策略: 仅连播视频的分 P, 最后 1P 放完禁止连播其他推荐视频.",tags:[componentsTags.video],urlInclude:a.videoUrls,entry:async()=>{const e={enable:[".base-video-sections .next-button",".multi-page .next-button",".player-auxiliary-autoplay-switch input"],disable:[".recommend-list .next-button"]},o=[()=>Boolean(dq(".multi-page .list-box li.on:last-child")),()=>Boolean(dq(".video-sections-item:last-child .video-episode-card:last-child .video-episode-card__info-playing")),()=>Boolean(dq(".video-sections-item:last-child .video-episode-card:last-child .video-episode-card__info-title-playing"))];await(0,n.playerReady)();const a=async()=>{const t=await(0,i.select)([...e.disable,...e.enable].join(","));if(!t)return;var n;(e.enable.some((e=>t.matches(e)))&&o.every((e=>!e())))!==(n=t,Boolean(n.querySelector(".switch-button.on")||n.matches(":checked")))&&t.click()};(0,t.videoChange)((async()=>{a();(await(0,i.select)(".bilibili-player-video video"))?.addEventListener("play",a,{once:!0})}))},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"};return o=o.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/player/preserve-danmaku-input.js b/registry/dist/components/video/player/preserve-danmaku-input.js index a142b7630..b39863925 100644 --- a/registry/dist/components/video/player/preserve-danmaku-input.js +++ b/registry/dist/components/video/player/preserve-danmaku-input.js @@ -6,4 +6,4 @@ t.i=function(e,n,r){"string"==typeof e&&( // eslint-disable-next-line no-param-reassign e=[[null,e,""]]);var o={};if(r)for(var i=0;iPromise.resolve().then(o.t.bind(o,369,23)))),displayName:"强制保留弹幕发送栏",tags:[componentsTags.style,componentsTags.video],description:{"zh-CN":"在视频播放器网页全屏时, 即使宽度过小也强制保留弹幕发送栏, 注意这可能导致右侧的功能按钮挤出边界."},urlInclude:t.playerUrls,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var u=this[i][0];null!=u&&(o[u]=!0)}for(var c=0;cPromise.resolve().then(o.t.bind(o,369,23)))),displayName:"强制保留弹幕发送栏",tags:[componentsTags.style,componentsTags.video],description:{"zh-CN":"在视频播放器网页全屏时, 即使宽度过小也强制保留弹幕发送栏, 注意这可能导致右侧的功能按钮挤出边界."},urlInclude:t.playerUrls,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/player/remove-popup.js b/registry/dist/components/video/player/remove-popup.js index 59e8eb3aa..e30600ad3 100644 --- a/registry/dist/components/video/player/remove-popup.js +++ b/registry/dist/components/video/player/remove-popup.js @@ -6,4 +6,4 @@ o.i=function(e,t,n){"string"==typeof e&&( // eslint-disable-next-line no-param-reassign e=[[null,e,""]]);var r={};if(n)for(var i=0;iPromise.resolve().then(r.t.bind(r,78,23))),(({settings:e,metadata:t})=>{const{options:n}=e,{kebabCase:r}=lodash;Object.keys(n).forEach((e=>{(0,o.addComponentListener)(`${t.name}.${e}`,(o=>{document.body.classList.toggle(`${r(t.name)}-${r(e)}`,o)}),!0)}))})),displayName:"删除视频弹窗",tags:[componentsTags.video,componentsTags.style],description:{"zh-CN":"删除视频播放器中出现的各种弹窗, 类别可在选项中分别选择."},urlInclude:t.playerUrls,options:{votes:{defaultValue:!1,displayName:"投票"},relatedVideos:{defaultValue:!0,displayName:"关联视频"},comboLikes:{defaultValue:!0,displayName:"关注/三连"},rates:{defaultValue:!0,displayName:"评分"}},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var p=this[i][0];null!=p&&(r[p]=!0)}for(var a=0;aPromise.resolve().then(r.t.bind(r,78,23))),(({settings:e,metadata:t})=>{const{options:n}=e,{kebabCase:r}=lodash;Object.keys(n).forEach((e=>{(0,o.addComponentListener)(`${t.name}.${e}`,(o=>{document.body.classList.toggle(`${r(t.name)}-${r(e)}`,o)}),!0)}))})),displayName:"删除视频弹窗",tags:[componentsTags.video,componentsTags.style],description:{"zh-CN":"删除视频播放器中出现的各种弹窗, 类别可在选项中分别选择."},urlInclude:t.playerUrls,options:{votes:{defaultValue:!1,displayName:"投票"},relatedVideos:{defaultValue:!0,displayName:"关联视频"},comboLikes:{defaultValue:!0,displayName:"关注/三连"},rates:{defaultValue:!0,displayName:"评分"}},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/player/screenshot.js b/registry/dist/components/video/player/screenshot.js index d433d73df..a9880935f 100644 --- a/registry/dist/components/video/player/screenshot.js +++ b/registry/dist/components/video/player/screenshot.js @@ -9,4 +9,4 @@ e=[[null,e,""]]);var o={};if(i)for(var r=0;r=this.video.videoWidth/this.video.videoHeight?(c.height=this.video.videoHeight,c.width=this.video.videoHeight*t):(c.width=this.video.videoWidth,c.height=this.video.videoWidth/t)}else c.width=this.video.videoWidth,c.height=this.video.videoHeight;const t=c.getContext("2d");if(null===t)return void e("视频截图失败: canvas 未创建或创建失败.");const n=(c.width-this.video.videoWidth)/2,r=(c.height-this.video.videoHeight)/2;if(t.drawImage(this.video,n,r),this.withDanmaku){const e=dq("canvas.bilibili-player-video-danmaku, canvas.dm-canvas");null!==e&&t.drawImage(e,0,0,c.width,c.height)}try{c.toBlob((t=>{null!==t?(this.blob=t,this.url=URL.createObjectURL(t)):e("视频截图失败: 创建 blob 失败.")}),"image/png")}catch(t){e("视频截图失败: 操作被浏览器阻止. 这通常发生于电影的试看片段, 请在正片尝试使用截图功能.")}}get filename(){return`${(0,s.getFriendlyTitle)()} @${this.time.replace(/:/g,"-")} ${this.timeStamp.toString()}.png`}get id(){return this.videoTime.toString()+this.timeStamp.toString()}get time(){const e=Math.trunc(this.videoTime/3600).toString(),t=Math.trunc(this.videoTime/60).toString(),n=(this.videoTime%60).toFixed(2);return"0"===e?`${t.padStart(2,"0")}:${n.padStart(5,"0")}`:`${e}:${t.padStart(2,"0")}:${n.padStart(5,"0")}`}revoke(){URL.revokeObjectURL(this.url)}}var l=o(155),h=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"video-screenshot-container"},[n("transition-group",{staticClass:"video-screenshot-list",attrs:{name:"video-screenshot-list",tag:"div"}},e._l(e.screenshots,(function(t){return n("VideoScreenshot",{key:t.id,attrs:{filename:t.filename,"object-url":t.url,time:t.time},on:{discard:function(n){return e.discard(t)}}})})),1),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.showBatch,expression:"showBatch"}],staticClass:"video-screenshot-batch"},[n("button",{on:{click:e.saveAll}},[n("VIcon",{attrs:{size:18,icon:"mdi-content-save"}}),e._v("全部保存\n ")],1),e._v(" "),n("button",{on:{click:e.discardAll}},[n("VIcon",{attrs:{size:18,icon:"mdi-delete-forever"}}),e._v("全部丢弃\n ")],1)])],1)};h._withStripped=!0;var u=coreApis.download,v=coreApis.ui,p=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"video-screenshot-thumbnail"},[e.objectUrl?n("img",{attrs:{src:e.objectUrl}}):e._e(),e._v(" "),e.objectUrl?n("div",{staticClass:"mask"},[n("a",{ref:"link",staticClass:"link",staticStyle:{display:"none"},attrs:{href:e.objectUrl,download:e.filename}}),e._v(" "),n("button",{staticClass:"save",attrs:{title:"保存"},on:{click:e.save}},[n("VIcon",{attrs:{size:28,icon:"mdi-content-save-outline"}})],1),e._v(" "),n("button",{staticClass:"discard",attrs:{title:"丢弃"},on:{click:e.discard}},[n("VIcon",{attrs:{size:28,icon:"mdi-delete-forever-outline"}})],1),e._v(" "),n("span",{staticClass:"time"},[e._v(e._s(e.time))])]):n("div",{staticClass:"loading",on:{click:e.discard}})])};p._withStripped=!0;var f=Vue.extend({components:{VIcon:v.VIcon},props:{objectUrl:{type:String,required:!0},filename:{type:String,required:!0},time:{type:String,required:!0}},methods:{discard(){this.$emit("discard")},save(){this.$refs.link.click(),this.discard()}}}),m=o(379),b=o.n(m),g=o(914),y=o.n(g),w={insert:"head",singleton:!1};b()(y(),w),y().locals;function x(e,t,n,i,o,r,s,a){var c,d="function"==typeof e?e.options:e;if(t&&(d.render=t,d.staticRenderFns=n,d._compiled=!0),i&&(d.functional=!0),r&&(d._scopeId="data-v-"+r),s?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},d._ssrRegister=c):o&&(c=a?function(){o.call(this,(d.functional?this.parent:this).$root.$options.shadowRoot)}:o),c)if(d.functional){d._injectStyles=c;var l=d.render;d.render=function(e,t){return c.call(t),l(e,t)}}else{var h=d.beforeCreate;d.beforeCreate=h?[].concat(h,c):[c]}return{exports:e,options:d}}var k=x(f,p,[],!1,null,null,null);k.options.__file="registry/lib/components/video/player/screenshot/VideoScreenshot.vue";var _=k.exports,S=Vue.extend({components:{VIcon:v.VIcon,VideoScreenshot:_},data:()=>({screenshots:[]}),computed:{showBatch(){return this.screenshots.length>=2}},methods:{discard(e){this.screenshots.splice(this.screenshots.indexOf(e),1),e.revoke()},async saveAll(){const e=new u.DownloadPackage;this.screenshots.forEach((t=>{e.add(t.filename,t.blob,{date:new Date(t.timeStamp)})})),await e.emit(`${(0,s.getFriendlyTitle)()}.zip`),this.discardAll()},discardAll(){this.screenshots.forEach((e=>e.revoke())),this.screenshots=[]}}}),C=o(97),j=o.n(C),A={insert:"head",singleton:!1},T=(b()(j(),A),j().locals,x(S,h,[],!1,null,null,null));T.options.__file="registry/lib/components/video/player/screenshot/VideoScreenshotContainer.vue";var O=T.exports;const V="video-screenshot-disable",E={name:"videoScreenshot",displayName:"启用视频截图",tags:[componentsTags.video],entry:async()=>{let n;(0,e.addControlBarButton)({name:"takeScreenshot",displayName:"截图",icon:"mdi-camera",order:0,action:async e=>{const{playerAgent:i}=await Promise.resolve().then(o.t.bind(o,730,23)),r=await i.query.video.element();if(r instanceof HTMLVideoElement){const i=((e,t=!1)=>{const n=e.currentTime;return new d(e,n,t)})(r,e.shiftKey);n||(n=(0,t.mountVueComponent)(O),document.body.insertAdjacentElement("beforeend",n.$el)),n.screenshots.unshift(i)}else{const{logError:e}=await Promise.resolve().then(o.t.bind(o,729,23));e("视频截图失败: 无法定位视频元素, 请尝试右击视频两次后另存为图片, 或将播放策略改为 AV1 或 AVC.")}}})},description:{"zh-CN":l},urlInclude:n.playerUrls,reload:()=>document.body.classList.remove(V),unload:()=>document.body.classList.add(V),plugin:{displayName:"视频截图 - 快捷键支持",setup:({addData:e})=>{e("keymap.actions",(e=>{e.takeScreenshot={displayName:"视频截图",run:e=>{const{clickElement:t}=e;return t('.be-video-control-bar-extend [data-name="takeScreenshot"]',e)}}})),e("keymap.presets",(e=>{e.takeScreenshot="ctrl [shift] alt c"}))}},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file +i=Boolean(window&&document&&document.all&&!window.atob)),i},r=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),s=[];function a(e){for(var t=-1,n=0;n=this.video.videoWidth/this.video.videoHeight?(c.height=this.video.videoHeight,c.width=this.video.videoHeight*t):(c.width=this.video.videoWidth,c.height=this.video.videoWidth/t)}else c.width=this.video.videoWidth,c.height=this.video.videoHeight;const t=c.getContext("2d");if(null===t)return void e("视频截图失败: canvas 未创建或创建失败.");const n=(c.width-this.video.videoWidth)/2,r=(c.height-this.video.videoHeight)/2;if(t.drawImage(this.video,n,r),this.withDanmaku){const e=dq("canvas.bilibili-player-video-danmaku, canvas.dm-canvas");null!==e&&t.drawImage(e,0,0,c.width,c.height)}try{c.toBlob((t=>{null!==t?(this.blob=t,this.url=URL.createObjectURL(t)):e("视频截图失败: 创建 blob 失败.")}),"image/png")}catch(t){e("视频截图失败: 操作被浏览器阻止. 这通常发生于电影的试看片段, 请在正片尝试使用截图功能.")}}get filename(){return`${(0,s.getFriendlyTitle)()} @${this.time.replace(/:/g,"-")} ${this.timeStamp.toString()}.png`}get id(){return this.videoTime.toString()+this.timeStamp.toString()}get time(){const e=Math.trunc(this.videoTime/3600).toString(),t=Math.trunc(this.videoTime/60).toString(),n=(this.videoTime%60).toFixed(2);return"0"===e?`${t.padStart(2,"0")}:${n.padStart(5,"0")}`:`${e}:${t.padStart(2,"0")}:${n.padStart(5,"0")}`}revoke(){URL.revokeObjectURL(this.url)}}var l=o(155),h=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"video-screenshot-container"},[n("transition-group",{staticClass:"video-screenshot-list",attrs:{name:"video-screenshot-list",tag:"div"}},e._l(e.screenshots,(function(t){return n("VideoScreenshot",{key:t.id,attrs:{filename:t.filename,"object-url":t.url,time:t.time},on:{discard:function(n){return e.discard(t)}}})})),1),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.showBatch,expression:"showBatch"}],staticClass:"video-screenshot-batch"},[n("button",{on:{click:e.saveAll}},[n("VIcon",{attrs:{size:18,icon:"mdi-content-save"}}),e._v("全部保存\n ")],1),e._v(" "),n("button",{on:{click:e.discardAll}},[n("VIcon",{attrs:{size:18,icon:"mdi-delete-forever"}}),e._v("全部丢弃\n ")],1)])],1)};h._withStripped=!0;var u=coreApis.download,v=coreApis.ui,p=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"video-screenshot-thumbnail"},[e.objectUrl?n("img",{attrs:{src:e.objectUrl}}):e._e(),e._v(" "),e.objectUrl?n("div",{staticClass:"mask"},[n("a",{ref:"link",staticClass:"link",staticStyle:{display:"none"},attrs:{href:e.objectUrl,download:e.filename}}),e._v(" "),n("button",{staticClass:"save",attrs:{title:"保存"},on:{click:e.save}},[n("VIcon",{attrs:{size:28,icon:"mdi-content-save-outline"}})],1),e._v(" "),n("button",{staticClass:"discard",attrs:{title:"丢弃"},on:{click:e.discard}},[n("VIcon",{attrs:{size:28,icon:"mdi-delete-forever-outline"}})],1),e._v(" "),n("span",{staticClass:"time"},[e._v(e._s(e.time))])]):n("div",{staticClass:"loading",on:{click:e.discard}})])};p._withStripped=!0;var f=Vue.extend({components:{VIcon:v.VIcon},props:{objectUrl:{type:String,required:!0},filename:{type:String,required:!0},time:{type:String,required:!0}},methods:{discard(){this.$emit("discard")},save(){this.$refs.link.click(),this.discard()}}}),m=o(379),b=o.n(m),g=o(914),y=o.n(g),w={insert:"head",singleton:!1};b()(y(),w),y().locals;function x(e,t,n,i,o,r,s,a){var c,d="function"==typeof e?e.options:e;if(t&&(d.render=t,d.staticRenderFns=n,d._compiled=!0),i&&(d.functional=!0),r&&(d._scopeId="data-v-"+r),s?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},d._ssrRegister=c):o&&(c=a?function(){o.call(this,(d.functional?this.parent:this).$root.$options.shadowRoot)}:o),c)if(d.functional){d._injectStyles=c;var l=d.render;d.render=function(e,t){return c.call(t),l(e,t)}}else{var h=d.beforeCreate;d.beforeCreate=h?[].concat(h,c):[c]}return{exports:e,options:d}}var k=x(f,p,[],!1,null,null,null);k.options.__file="registry/lib/components/video/player/screenshot/VideoScreenshot.vue";var _=k.exports,S=Vue.extend({components:{VIcon:v.VIcon,VideoScreenshot:_},data:()=>({screenshots:[]}),computed:{showBatch(){return this.screenshots.length>=2}},methods:{discard(e){this.screenshots.splice(this.screenshots.indexOf(e),1),e.revoke()},async saveAll(){const e=new u.DownloadPackage;this.screenshots.forEach((t=>{e.add(t.filename,t.blob,{date:new Date(t.timeStamp)})})),await e.emit(`${(0,s.getFriendlyTitle)()}.zip`),this.discardAll()},discardAll(){this.screenshots.forEach((e=>e.revoke())),this.screenshots=[]}}}),C=o(97),j=o.n(C),A={insert:"head",singleton:!1},T=(b()(j(),A),j().locals,x(S,h,[],!1,null,null,null));T.options.__file="registry/lib/components/video/player/screenshot/VideoScreenshotContainer.vue";var O=T.exports;const V="video-screenshot-disable",E={name:"videoScreenshot",displayName:"启用视频截图",tags:[componentsTags.video],entry:async()=>{let n;(0,e.addControlBarButton)({name:"takeScreenshot",displayName:"截图",icon:"mdi-camera",order:0,action:async e=>{const{playerAgent:i}=await Promise.resolve().then(o.t.bind(o,730,23)),r=await i.query.video.element();if(r instanceof HTMLVideoElement){const i=((e,t=!1)=>{const n=e.currentTime;return new d(e,n,t)})(r,e.shiftKey);n||(n=(0,t.mountVueComponent)(O),document.body.insertAdjacentElement("beforeend",n.$el)),n.screenshots.unshift(i)}else{const{logError:e}=await Promise.resolve().then(o.t.bind(o,729,23));e("视频截图失败: 无法定位视频元素, 请尝试右击视频两次后另存为图片, 或将播放策略改为 AV1 或 AVC.")}}})},description:{"zh-CN":l},urlInclude:n.playerUrls,reload:()=>document.body.classList.remove(V),unload:()=>document.body.classList.add(V),plugin:{displayName:"视频截图 - 快捷键支持",setup:({addData:e})=>{e("keymap.actions",(e=>{e.takeScreenshot={displayName:"视频截图",run:e=>{const{clickElement:t}=e;return t('.be-video-control-bar-extend [data-name="takeScreenshot"]',e)}}})),e("keymap.presets",(e=>{e.takeScreenshot="ctrl [shift] alt c"}))}},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/player/seek-by-frames.js b/registry/dist/components/video/player/seek-by-frames.js index bd7dd1ec2..0d2e467ef 100644 --- a/registry/dist/components/video/player/seek-by-frames.js +++ b/registry/dist/components/video/player/seek-by-frames.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["video/player/seek-by-frames"]=t():e["video/player/seek-by-frames"]=t()}(self,(function(){return function(){"use strict";var e,t,n={988:function(e){e.exports="在播放器的时间右边增加两个按钮, 用于**较精细**调整视频时间. 装有 `快捷键扩展` 时支持键盘快捷键Shift+/.\n\n> 注: `视频的实际播放帧率`跟`视频本身的帧率`和`显示器的刷新率`有关, 很难计算一个精准的数值, 部分视频仍然会有暂停不到那种一闪而过的图的情况."},689:function(e){e.exports='\n\x3c!-- Generator: Adobe Illustrator 24.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --\x3e\n\n\n\t\n\n\n\n'},164:function(e){e.exports='\n\x3c!-- Generator: Adobe Illustrator 24.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --\x3e\n\n\n\t\n\n\n\n'},730:function(e){e.exports=coreApis.componentApis.video.playerAgent}},r={};function o(e){var t=r[e];if(void 0!==t)return t.exports;var a=r[e]={exports:{}};return n[e](a,a.exports,o),a.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},o.t=function(n,r){if(1&r&&(n=this(n)),8&r)return n;if("object"==typeof n&&n){if(4&r&&n.__esModule)return n;if(16&r&&"function"==typeof n.then)return n}var a=Object.create(null);o.r(a);var i={};e=e||[null,t({}),t([]),t(t)];for(var s=2&r&&n;"object"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach((function(e){i[e]=function(){return n[e]}}));return i.default=function(){return n},o.d(a,i),a},o.d=function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};return function(){o.d(a,{component:function(){return d}});var e=coreApis.componentApis.video.videoControlBar,t=coreApis.observer,n=coreApis.utils,r=coreApis.utils.urls,i=coreApis.pluginApis.data,s=o(988),c=o(689),l=o(164);const u="seek-by-frame-disable",d={name:"seekByFrames",displayName:"启用逐帧调整",tags:[componentsTags.video],description:{"zh-CN":s},entry:async()=>{await(0,n.playerReady)();const{playerAgent:r}=await Promise.resolve().then(o.t.bind(o,730,23));(0,i.addData)("ui.icons",(e=>{e["seek-left"]=c,e["seek-right"]=l}));let a=0;(0,t.attributesSubtree)(`${r.query.control.buttons.quality.selector} ul`,(()=>{const e=dq(`${r.query.control.buttons.quality.selector} .bui-select-item-active, ${r.query.control.buttons.quality.selector} .active`),t=e?parseInt(e.getAttribute("data-value")):0,n=(()=>{switch(t){case 116:case 74:return 6e4/1001;default:return 3e4/1001}})();a=1/n}));const s=e=>{r.changeTime(e*a)};(0,e.addControlBarButton)({name:"seekPrevFrame",displayName:"上一帧",icon:"seek-left",order:1,action:()=>{s(-1)}}),(0,e.addControlBarButton)({name:"seekNextFrame",displayName:"下一帧",icon:"seek-right",order:2,action:()=>{s(1)}})},reload:()=>document.body.classList.remove(u),unload:()=>document.body.classList.add(u),urlInclude:r.playerUrls,plugin:{displayName:"逐帧调整 - 快捷键支持",setup:()=>{(0,i.addData)("keymap.actions",(e=>{e.previousFrame={displayName:"上一帧",run:e=>{const{clickElement:t}=e;return t('.be-video-control-bar-extend [data-name="seekPrevFrame"]',e)}},e.nextFrame={displayName:"下一帧",run:e=>{const{clickElement:t}=e;return t('.be-video-control-bar-extend [data-name="seekNextFrame"]',e)}}})),(0,i.addData)("keymap.presets",(e=>{e.previousFrame="shift arrowLeft",e.nextFrame="shift arrowRight"}))}},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),a=a.component}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["video/player/seek-by-frames"]=t():e["video/player/seek-by-frames"]=t()}(self,(function(){return function(){"use strict";var e,t,n={988:function(e){e.exports="在播放器的时间右边增加两个按钮, 用于**较精细**调整视频时间. 装有 `快捷键扩展` 时支持键盘快捷键Shift+/.\n\n> 注: `视频的实际播放帧率`跟`视频本身的帧率`和`显示器的刷新率`有关, 很难计算一个精准的数值, 部分视频仍然会有暂停不到那种一闪而过的图的情况."},689:function(e){e.exports='\n\x3c!-- Generator: Adobe Illustrator 24.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --\x3e\n\n\n\t\n\n\n\n'},164:function(e){e.exports='\n\x3c!-- Generator: Adobe Illustrator 24.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --\x3e\n\n\n\t\n\n\n\n'},730:function(e){e.exports=coreApis.componentApis.video.playerAgent}},r={};function o(e){var t=r[e];if(void 0!==t)return t.exports;var a=r[e]={exports:{}};return n[e](a,a.exports,o),a.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},o.t=function(n,r){if(1&r&&(n=this(n)),8&r)return n;if("object"==typeof n&&n){if(4&r&&n.__esModule)return n;if(16&r&&"function"==typeof n.then)return n}var a=Object.create(null);o.r(a);var i={};e=e||[null,t({}),t([]),t(t)];for(var s=2&r&&n;"object"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach((function(e){i[e]=function(){return n[e]}}));return i.default=function(){return n},o.d(a,i),a},o.d=function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};return function(){o.d(a,{component:function(){return d}});var e=coreApis.componentApis.video.videoControlBar,t=coreApis.observer,n=coreApis.utils,r=coreApis.utils.urls,i=coreApis.pluginApis.data,s=o(988),c=o(689),l=o(164);const u="seek-by-frame-disable",d={name:"seekByFrames",displayName:"启用逐帧调整",tags:[componentsTags.video],description:{"zh-CN":s},entry:async()=>{await(0,n.playerReady)();const{playerAgent:r}=await Promise.resolve().then(o.t.bind(o,730,23));(0,i.addData)("ui.icons",(e=>{e["seek-left"]=c,e["seek-right"]=l}));let a=0;(0,t.attributesSubtree)(`${r.query.control.buttons.quality.selector} ul`,(()=>{const e=dq(`${r.query.control.buttons.quality.selector} .bui-select-item-active, ${r.query.control.buttons.quality.selector} .active`),t=e?parseInt(e.getAttribute("data-value")):0,n=(()=>{switch(t){case 116:case 74:return 6e4/1001;default:return 3e4/1001}})();a=1/n}));const s=e=>{r.changeTime(e*a)};(0,e.addControlBarButton)({name:"seekPrevFrame",displayName:"上一帧",icon:"seek-left",order:1,action:()=>{s(-1)}}),(0,e.addControlBarButton)({name:"seekNextFrame",displayName:"下一帧",icon:"seek-right",order:2,action:()=>{s(1)}})},reload:()=>document.body.classList.remove(u),unload:()=>document.body.classList.add(u),urlInclude:r.playerUrls,plugin:{displayName:"逐帧调整 - 快捷键支持",setup:()=>{(0,i.addData)("keymap.actions",(e=>{e.previousFrame={displayName:"上一帧",run:e=>{const{clickElement:t}=e;return t('.be-video-control-bar-extend [data-name="seekPrevFrame"]',e)}},e.nextFrame={displayName:"下一帧",run:e=>{const{clickElement:t}=e;return t('.be-video-control-bar-extend [data-name="seekNextFrame"]',e)}}})),(0,i.addData)("keymap.presets",(e=>{e.previousFrame="shift arrowLeft",e.nextFrame="shift arrowRight"}))}},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),a=a.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/player/show-cover.js b/registry/dist/components/video/player/show-cover.js index 259079d59..9daf7844c 100644 --- a/registry/dist/components/video/player/show-cover.js +++ b/registry/dist/components/video/player/show-cover.js @@ -7,4 +7,4 @@ t.i=function(e,o,n){"string"==typeof e&&( e=[[null,e,""]]);var r={};if(n)for(var i=0;i{let o;// eslint-disable-next-line prefer-arrow-callback -(0,t.createHook)(await(0,t.isBwpVideo)()?BwpElement.prototype:HTMLVideoElement.prototype,"play",(function(){return document.body.style.removeProperty("--cover-url"),!0}));(0,e.videoChange)((async({aid:e})=>{if(!e)return void console.warn("[播放前显示封面] 未找到av号");if(e===o)return;o=e;const{VideoInfo:t}=await Promise.resolve().then(r.t.bind(r,705,23)),n=new t(e);await n.fetchInfo(),document.body.style.setProperty("--cover-url",`url('${n.coverUrl}')`)}))},instantStyles:[{name:"showCoverBeforePlay",style:()=>Promise.resolve().then(r.t.bind(r,319,23))}],description:{"zh-CN":"在视频开始播放前, 在播放器中显示封面."},tags:[componentsTags.video],commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +(0,t.createHook)(await(0,t.isBwpVideo)()?BwpElement.prototype:HTMLVideoElement.prototype,"play",(function(){return document.body.style.removeProperty("--cover-url"),!0}));(0,e.videoChange)((async({aid:e})=>{if(!e)return void console.warn("[播放前显示封面] 未找到av号");if(e===o)return;o=e;const{VideoInfo:t}=await Promise.resolve().then(r.t.bind(r,705,23)),n=new t(e);await n.fetchInfo(),document.body.style.setProperty("--cover-url",`url('${n.coverUrl}')`)}))},instantStyles:[{name:"showCoverBeforePlay",style:()=>Promise.resolve().then(r.t.bind(r,319,23))}],description:{"zh-CN":"在视频开始播放前, 在播放器中显示封面."},tags:[componentsTags.video],commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/player/skip-charge-list.js b/registry/dist/components/video/player/skip-charge-list.js index 5d8561419..865a8376d 100644 --- a/registry/dist/components/video/player/skip-charge-list.js +++ b/registry/dist/components/video/player/skip-charge-list.js @@ -6,4 +6,4 @@ t.i=function(e,n,o){"string"==typeof e&&( // eslint-disable-next-line no-param-reassign e=[[null,e,""]]);var r={};if(o)for(var i=0;iPromise.resolve().then(r.t.bind(r,829,23))),(async()=>{const{videoChange:e}=await Promise.resolve().then(r.t.bind(r,156,23)),{select:t}=await Promise.resolve().then(r.t.bind(r,569,23));e((async()=>{(await t("video"))?.addEventListener("ended",(async()=>{if(document.body.classList.contains(n))return;(await t(".bilibili-player-electric-panel-jump"))?.click()}))}))})),c={name:"skipChargeList",displayName:"跳过充电鸣谢",tags:[componentsTags.video],entry:o,description:{"zh-CN":"自动跳过视频结尾的充电鸣谢. 注意: 不包括番剧承包鸣谢."},reload:()=>document.body.classList.remove(n),unload:()=>document.body.classList.add(n),urlInclude:t.playerUrls,commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file +var c=this[i][0];null!=c&&(r[c]=!0)}for(var s=0;sPromise.resolve().then(r.t.bind(r,829,23))),(async()=>{const{videoChange:e}=await Promise.resolve().then(r.t.bind(r,156,23)),{select:t}=await Promise.resolve().then(r.t.bind(r,569,23));e((async()=>{(await t("video"))?.addEventListener("ended",(async()=>{if(document.body.classList.contains(n))return;(await t(".bilibili-player-electric-panel-jump"))?.click()}))}))})),c={name:"skipChargeList",displayName:"跳过充电鸣谢",tags:[componentsTags.video],entry:o,description:{"zh-CN":"自动跳过视频结尾的充电鸣谢. 注意: 不包括番剧承包鸣谢."},reload:()=>document.body.classList.remove(n),unload:()=>document.body.classList.add(n),urlInclude:t.playerUrls,commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),i=i.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/quick-favorite.js b/registry/dist/components/video/quick-favorite.js index fe4928079..a9d6b0b21 100644 --- a/registry/dist/components/video/quick-favorite.js +++ b/registry/dist/components/video/quick-favorite.js @@ -9,4 +9,4 @@ A=[[null,A,""]]);var n={};if(i)for(var o=0;o({aid:unsafeWindow.aid,favoriteTitle:"",isFavorite:!1,tipText:"",tipShowing:!1,tipHandle:0,lists:[],selectedFavorite:"<未选择>",listShowing:!1}),watch:{selectedFavorite(A){if(0===this.lists.length)return;const{lists:t}=this,e=t.find((t=>t.title===A));e?(l.favoriteFolderID=e.id,this.syncFavoriteState()):console.error("list not found in selectedFavorite(value)")},async listShowing(A){if(A&&(document.addEventListener("click",(A=>{const t=this.$el,e=A.target;e===t||t.contains(e)||(this.listShowing=!1)})),0===this.lists.length))try{const A=await(0,o.getJsonWithCredentials)(`https://api.bilibili.com/medialist/gateway/base/created?pn=1&ps=100&up_mid=${(0,r.getUID)()}&is_space=0`);if(0!==A.code)throw new Error(`获取收藏夹列表失败: ${A.message}`);this.lists=lodash.get(A,"data.list",[])}catch(A){(0,a.logError)(A)}}},created(){this.syncFavoriteState()},methods:{async syncFavoriteState(){if(0!==l.favoriteFolderID)try{const A=await(0,o.getJsonWithCredentials)(`https://api.bilibili.com/x/v3/fav/folder/created/list-all?type=2&rid=${this.aid}&up_mid=${(0,r.getUID)()}`);if(0!==A.code)throw new Error(`获取收藏状态失败: ${A.message}`);const t=lodash.get(A,"data.list",[]).find((A=>A.id===l.favoriteFolderID));if(void 0===t)return void(l.favoriteFolderID=0);this.isFavorite=Boolean(t.fav_state),this.favoriteTitle=t.title,this.selectedFavorite=t.title}catch(A){(0,a.logError)(A)}},showTip(A){this.tipText=A,this.tipShowing=!0,this.tipHandle&&clearTimeout(this.tipHandle),this.tipHandle=setTimeout((()=>{this.tipShowing=!1}),2e3)},async toggle(){if(0===l.favoriteFolderID)return void(this.listShowing=!0);const A={rid:this.aid,type:2,add_media_ids:"",del_media_ids:"",csrf:(0,r.getCsrf)()};A[this.isFavorite?"del_media_ids":"add_media_ids"]=l.favoriteFolderID.toString();try{await(0,o.postTextWithCredentials)("https://api.bilibili.com/x/v3/fav/resource/deal",Object.entries(A).map((([A,t])=>`${A}=${t}`)).join("&")),this.isFavorite=!this.isFavorite,this.showTip(this.isFavorite?`已添加至收藏夹: ${this.favoriteTitle}`:`已移出收藏夹: ${this.favoriteTitle}`)}catch(A){s.Toast.error(`快速收藏失败: ${A.message}`,"快速收藏"),console.error(A)}}}}),u=e(379),f=e.n(u),p=e(886),v=e.n(p),g={insert:"head",singleton:!1};f()(v(),g),v().locals;var h=function(A,t,e,i,n,o,r,a){var s,c="function"==typeof A?A.options:A;if(t&&(c.render=t,c.staticRenderFns=e,c._compiled=!0),i&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),r?(s=function(A){(A=A||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(A=__VUE_SSR_CONTEXT__),n&&n.call(this,A),A&&A._registeredComponents&&A._registeredComponents.add(r)},c._ssrRegister=s):n&&(s=a?function(){n.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:n),s)if(c.functional){c._injectStyles=s;var l=c.render;c.render=function(A,t){return s.call(t),l(A,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,s):[s]}return{exports:A,options:c}}(d,i,[],!1,null,null,null);h.options.__file="registry/lib/components/video/quick-favorite/QuickFavorite.vue";var m=h.exports},156:function(A){"use strict";A.exports=coreApis.observer},109:function(A){"use strict";A.exports=coreApis.utils}},i={};function n(A){var t=i[A];if(void 0!==t)return t.exports;var o=i[A]={id:A,exports:{}};return e[A](o,o.exports,n),o.exports}n.n=function(A){var t=A&&A.__esModule?function(){return A.default}:function(){return A};return n.d(t,{a:t}),t},t=Object.getPrototypeOf?function(A){return Object.getPrototypeOf(A)}:function(A){return A.__proto__},n.t=function(e,i){if(1&i&&(e=this(e)),8&i)return e;if("object"==typeof e&&e){if(4&i&&e.__esModule)return e;if(16&i&&"function"==typeof e.then)return e}var o=Object.create(null);n.r(o);var r={};A=A||[null,t({}),t([]),t(t)];for(var a=2&i&&e;"object"==typeof a&&!~A.indexOf(a);a=t(a))Object.getOwnPropertyNames(a).forEach((function(A){r[A]=function(){return e[A]}}));return r.default=function(){return e},n.d(o,r),o},n.d=function(A,t){for(var e in t)n.o(t,e)&&!n.o(A,e)&&Object.defineProperty(A,e,{enumerable:!0,get:t[e]})},n.o=function(A,t){return Object.prototype.hasOwnProperty.call(A,t)},n.r=function(A){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})};var o={};return function(){"use strict";n.d(o,{component:function(){return t}});var A=coreApis.utils.urls;const t={name:"quickFavorite",displayName:"启用快速收藏",description:{"zh-CN":"启用快速收藏, 在视频页面可以一键收藏到设定的某个收藏夹. 首次启动时或者右键点击快速收藏图标可以配置快速收藏夹."},entry:async()=>{const{playerReady:A,mountVueComponent:t,getUID:e}=await Promise.resolve().then(n.t.bind(n,109,23));if(!e())return;await A();const i=dq(".video-toolbar .ops .collect");if(!i)return;const o=await Promise.resolve().then(n.bind(n,727));let r;const{videoChange:a}=await Promise.resolve().then(n.t.bind(n,156,23));a((()=>{r||(r=t(o),i.insertAdjacentElement("afterend",r.$el)),r.aid=unsafeWindow.aid,r.syncFavoriteState()}))},unload:()=>{dqa(".ops .quick-favorite").forEach((A=>A.style.display="none"))},reload:()=>{dqa(".ops .quick-favorite").forEach((A=>A.style.display="inline-block"))},urlInclude:A.videoUrls,urlExclude:A.favoriteListUrls,tags:[componentsTags.video],options:{favoriteFolderID:{defaultValue:0,displayName:"快速收藏夹ID",hidden:!0}},plugin:{displayName:"快速收藏 - 快捷键支持",setup:({addData:A})=>{A("keymap.actions",(A=>{A.quickFavorite={displayName:"快速收藏",run:A=>{const{clickElement:t}=A;return t(".quick-favorite",A)}}})),A("keymap.presets",(A=>{A.quickFavorite="shift s"}))}},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),o=o.component}()})); \ No newline at end of file +i=Boolean(window&&document&&document.all&&!window.atob)),i},o=function(){var A={};return function(t){if(void 0===A[t]){var e=document.querySelector(t);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(A){e=null}A[t]=e}return A[t]}}(),r=[];function a(A){for(var t=-1,e=0;e({aid:unsafeWindow.aid,favoriteTitle:"",isFavorite:!1,tipText:"",tipShowing:!1,tipHandle:0,lists:[],selectedFavorite:"<未选择>",listShowing:!1}),watch:{selectedFavorite(A){if(0===this.lists.length)return;const{lists:t}=this,e=t.find((t=>t.title===A));e?(l.favoriteFolderID=e.id,this.syncFavoriteState()):console.error("list not found in selectedFavorite(value)")},async listShowing(A){if(A&&(document.addEventListener("click",(A=>{const t=this.$el,e=A.target;e===t||t.contains(e)||(this.listShowing=!1)})),0===this.lists.length))try{const A=await(0,o.getJsonWithCredentials)(`https://api.bilibili.com/medialist/gateway/base/created?pn=1&ps=100&up_mid=${(0,r.getUID)()}&is_space=0`);if(0!==A.code)throw new Error(`获取收藏夹列表失败: ${A.message}`);this.lists=lodash.get(A,"data.list",[])}catch(A){(0,a.logError)(A)}}},created(){this.syncFavoriteState()},methods:{async syncFavoriteState(){if(0!==l.favoriteFolderID)try{const A=await(0,o.getJsonWithCredentials)(`https://api.bilibili.com/x/v3/fav/folder/created/list-all?type=2&rid=${this.aid}&up_mid=${(0,r.getUID)()}`);if(0!==A.code)throw new Error(`获取收藏状态失败: ${A.message}`);const t=lodash.get(A,"data.list",[]).find((A=>A.id===l.favoriteFolderID));if(void 0===t)return void(l.favoriteFolderID=0);this.isFavorite=Boolean(t.fav_state),this.favoriteTitle=t.title,this.selectedFavorite=t.title}catch(A){(0,a.logError)(A)}},showTip(A){this.tipText=A,this.tipShowing=!0,this.tipHandle&&clearTimeout(this.tipHandle),this.tipHandle=setTimeout((()=>{this.tipShowing=!1}),2e3)},async toggle(){if(0===l.favoriteFolderID)return void(this.listShowing=!0);const A={rid:this.aid,type:2,add_media_ids:"",del_media_ids:"",csrf:(0,r.getCsrf)()};A[this.isFavorite?"del_media_ids":"add_media_ids"]=l.favoriteFolderID.toString();try{await(0,o.postTextWithCredentials)("https://api.bilibili.com/x/v3/fav/resource/deal",Object.entries(A).map((([A,t])=>`${A}=${t}`)).join("&")),this.isFavorite=!this.isFavorite,this.showTip(this.isFavorite?`已添加至收藏夹: ${this.favoriteTitle}`:`已移出收藏夹: ${this.favoriteTitle}`)}catch(A){s.Toast.error(`快速收藏失败: ${A.message}`,"快速收藏"),console.error(A)}}}}),u=e(379),f=e.n(u),p=e(886),v=e.n(p),g={insert:"head",singleton:!1};f()(v(),g),v().locals;var h=function(A,t,e,i,n,o,r,a){var s,c="function"==typeof A?A.options:A;if(t&&(c.render=t,c.staticRenderFns=e,c._compiled=!0),i&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),r?(s=function(A){(A=A||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(A=__VUE_SSR_CONTEXT__),n&&n.call(this,A),A&&A._registeredComponents&&A._registeredComponents.add(r)},c._ssrRegister=s):n&&(s=a?function(){n.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:n),s)if(c.functional){c._injectStyles=s;var l=c.render;c.render=function(A,t){return s.call(t),l(A,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,s):[s]}return{exports:A,options:c}}(d,i,[],!1,null,null,null);h.options.__file="registry/lib/components/video/quick-favorite/QuickFavorite.vue";var m=h.exports},156:function(A){"use strict";A.exports=coreApis.observer},109:function(A){"use strict";A.exports=coreApis.utils}},i={};function n(A){var t=i[A];if(void 0!==t)return t.exports;var o=i[A]={id:A,exports:{}};return e[A](o,o.exports,n),o.exports}n.n=function(A){var t=A&&A.__esModule?function(){return A.default}:function(){return A};return n.d(t,{a:t}),t},t=Object.getPrototypeOf?function(A){return Object.getPrototypeOf(A)}:function(A){return A.__proto__},n.t=function(e,i){if(1&i&&(e=this(e)),8&i)return e;if("object"==typeof e&&e){if(4&i&&e.__esModule)return e;if(16&i&&"function"==typeof e.then)return e}var o=Object.create(null);n.r(o);var r={};A=A||[null,t({}),t([]),t(t)];for(var a=2&i&&e;"object"==typeof a&&!~A.indexOf(a);a=t(a))Object.getOwnPropertyNames(a).forEach((function(A){r[A]=function(){return e[A]}}));return r.default=function(){return e},n.d(o,r),o},n.d=function(A,t){for(var e in t)n.o(t,e)&&!n.o(A,e)&&Object.defineProperty(A,e,{enumerable:!0,get:t[e]})},n.o=function(A,t){return Object.prototype.hasOwnProperty.call(A,t)},n.r=function(A){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})};var o={};return function(){"use strict";n.d(o,{component:function(){return t}});var A=coreApis.utils.urls;const t={name:"quickFavorite",displayName:"启用快速收藏",description:{"zh-CN":"启用快速收藏, 在视频页面可以一键收藏到设定的某个收藏夹. 首次启动时或者右键点击快速收藏图标可以配置快速收藏夹."},entry:async()=>{const{playerReady:A,mountVueComponent:t,getUID:e}=await Promise.resolve().then(n.t.bind(n,109,23));if(!e())return;await A();const i=dq(".video-toolbar .ops .collect");if(!i)return;const o=await Promise.resolve().then(n.bind(n,727));let r;const{videoChange:a}=await Promise.resolve().then(n.t.bind(n,156,23));a((()=>{r||(r=t(o),i.insertAdjacentElement("afterend",r.$el)),r.aid=unsafeWindow.aid,r.syncFavoriteState()}))},unload:()=>{dqa(".ops .quick-favorite").forEach((A=>A.style.display="none"))},reload:()=>{dqa(".ops .quick-favorite").forEach((A=>A.style.display="inline-block"))},urlInclude:A.videoUrls,urlExclude:A.favoriteListUrls,tags:[componentsTags.video],options:{favoriteFolderID:{defaultValue:0,displayName:"快速收藏夹ID",hidden:!0}},plugin:{displayName:"快速收藏 - 快捷键支持",setup:({addData:A})=>{A("keymap.actions",(A=>{A.quickFavorite={displayName:"快速收藏",run:A=>{const{clickElement:t}=A;return t(".quick-favorite",A)}}})),A("keymap.presets",(A=>{A.quickFavorite="shift s"}))}},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),o=o.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/seo-redirect.js b/registry/dist/components/video/seo-redirect.js index a095f7b8f..ad5cfbd08 100644 --- a/registry/dist/components/video/seo-redirect.js +++ b/registry/dist/components/video/seo-redirect.js @@ -1 +1 @@ -!function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports["video/seo-redirect"]=o():e["video/seo-redirect"]=o()}(self,(function(){return function(){"use strict";var e={d:function(o,t){for(var n in t)e.o(t,n)&&!e.o(o,n)&&Object.defineProperty(o,n,{enumerable:!0,get:t[n]})},o:function(e,o){return Object.prototype.hasOwnProperty.call(e,o)}},o={};e.d(o,{component:function(){return t}});const t={name:"seoRedirect",displayName:"SEO 页面重定向",entry:()=>{window.location.assign(document.URL.replace("/s/","/"))},urlInclude:["//www.bilibili.com/s/video/"],tags:[componentsTags.video],description:{"zh-CN":"进入 SEO 视频页面时 (`https://www.bilibili.com/s/video/`) 自动跳转到原视频页面."},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"};return o=o.component}()})); \ No newline at end of file +!function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports["video/seo-redirect"]=o():e["video/seo-redirect"]=o()}(self,(function(){return function(){"use strict";var e={d:function(o,t){for(var n in t)e.o(t,n)&&!e.o(o,n)&&Object.defineProperty(o,n,{enumerable:!0,get:t[n]})},o:function(e,o){return Object.prototype.hasOwnProperty.call(e,o)}},o={};e.d(o,{component:function(){return t}});const t={name:"seoRedirect",displayName:"SEO 页面重定向",entry:()=>{window.location.assign(document.URL.replace("/s/","/"))},urlInclude:["//www.bilibili.com/s/video/"],tags:[componentsTags.video],description:{"zh-CN":"进入 SEO 视频页面时 (`https://www.bilibili.com/s/video/`) 自动跳转到原视频页面."},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"};return o=o.component}()})); \ No newline at end of file diff --git a/registry/dist/components/video/subtitle/download.js b/registry/dist/components/video/subtitle/download.js index 13edd2211..d01aeb5e6 100644 --- a/registry/dist/components/video/subtitle/download.js +++ b/registry/dist/components/video/subtitle/download.js @@ -9,4 +9,4 @@ t=[[null,t,""]]);var i={};if(o)for(var r=0;r{t.subtitle=u}));var d=Vue.extend({components:{DefaultWidget:r.DefaultWidget},data:()=>({disabled:!1}),methods:{async download(t){try{this.disabled=!0;const e=await(0,l.mE)(t);c.DownloadPackage.single(`${(0,s.getFriendlyTitle)(!0)}.${t}`,e)}catch(t){(0,a.logError)(t)}finally{this.disabled=!1}}}}),f=(0,n(900).Z)(d,o,[],!1,null,null,null);f.options.__file="registry/lib/components/video/subtitle/download/DownloadSubtitle.vue";var p=f.exports},63:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return g}});var o=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"download-subtitle-config download-video-config-section"},[n("div",{staticClass:"download-video-config-item"},[n("div",{staticClass:"download-video-config-title"},[t._v("\n 字幕:\n ")]),t._v(" "),n("VDropdown",{attrs:{items:t.items},scopedSlots:t._u([{key:"item",fn:function(e){var n=e.item;return[t._v("\n "+t._s(n)+"\n ")]}}]),model:{value:t.type,callback:function(e){t.type=e},expression:"type"}})],1)])};o._withStripped=!0;var i=coreApis.settings,r=n(643);const a=(0,i.getComponentSettings)("downloadVideo").options;var s=Vue.extend({components:{VDropdown:r.VDropdown},data:()=>({type:a.subtitleType??"无",items:["无","ass","json"]}),computed:{enabled(){return"无"!==this.type}},watch:{type(t){a.subtitleType=t}}}),c=n(379),l=n.n(c),u=n(44),d=n.n(u),f={insert:"head",singleton:!1},p=(l()(d(),f),d().locals,(0,n(900).Z)(s,o,[],!1,null,null,null));p.options.__file="registry/lib/components/video/subtitle/download/Plugin.vue";var g=p.exports},900:function(t,e,n){"use strict";function o(t,e,n,o,i,r,a,s){var c,l="function"==typeof t?t.options:t;if(e&&(l.render=e,l.staticRenderFns=n,l._compiled=!0),o&&(l.functional=!0),r&&(l._scopeId="data-v-"+r),a?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},l._ssrRegister=c):i&&(c=s?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(t,e){return c.call(e),u(t,e)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:t,options:l}}n.d(e,{Z:function(){return o}})},942:function(t){"use strict";t.exports=''},740:function(t){"use strict";t.exports=coreApis.componentApis.video.assUtils},730:function(t){"use strict";t.exports=coreApis.componentApis.video.playerAgent},705:function(t){"use strict";t.exports=coreApis.componentApis.video.videoInfo},141:function(t){"use strict";t.exports=coreApis.toast},643:function(t){"use strict";t.exports=coreApis.ui},129:function(t){"use strict";t.exports=coreApis.utils.title}},o={};function i(t){var e=o[t];if(void 0!==e)return e.exports;var r=o[t]={id:t,exports:{}};return n[t](r,r.exports,i),r.exports}i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,{a:e}),e},e=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__},i.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var r=Object.create(null);i.r(r);var a={};t=t||[null,e({}),e([]),e(e)];for(var s=2&o&&n;"object"==typeof s&&!~t.indexOf(s);s=e(s))Object.getOwnPropertyNames(s).forEach((function(t){a[t]=function(){return n[t]}}));return a.default=function(){return n},i.d(r,a),r},i.d=function(t,e){for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};return function(){"use strict";i.d(r,{component:function(){return a}});var t=coreApis.spinQuery,e=i(141),n=coreApis.utils.urls,o=i(951);const a={name:"downloadSubtitle",displayName:"下载字幕",description:{"zh-CN":"启用下载字幕支持, 在视频页面中可从功能面板里下载字幕."},tags:[componentsTags.video],entry:none,urlInclude:n.videoUrls,widget:{condition:t.hasVideo,component:()=>Promise.resolve().then(i.bind(i,6)).then((t=>t.default))},plugin:{displayName:"下载视频 - 下载字幕支持",setup:({addData:t})=>{t("downloadVideo.assets",(async t=>{t.push({name:"downloadSubtitles",displayName:"下载字幕",getAssets:async(t,n)=>{const{type:i,enabled:r}=n;if(!r)return[];const a=e.Toast.info("获取字幕中...","下载字幕");let s=0;const c=await Promise.allSettled(t.map((async e=>{const n=await(0,o.mE)(i,e.input);return s++,a.message=`获取字幕中... (${s}/${t.length})`,{name:`${e.input.title}.${i}`,data:n}}))),l=c.filter((t=>"fulfilled"===t.status)),u=c.filter((t=>"rejected"===t.status));return a.message=`获取完成. 成功 ${l.length} 个, 失败 ${u.length} 个.`,l.map((t=>t.value))},component:()=>Promise.resolve().then(i.bind(i,63)).then((t=>t.default))})}))}},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file +o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),a=[];function s(t){for(var e=-1,n=0;n{t.subtitle=u}));var d=Vue.extend({components:{DefaultWidget:r.DefaultWidget},data:()=>({disabled:!1}),methods:{async download(t){try{this.disabled=!0;const e=await(0,l.mE)(t);c.DownloadPackage.single(`${(0,s.getFriendlyTitle)(!0)}.${t}`,e)}catch(t){(0,a.logError)(t)}finally{this.disabled=!1}}}}),f=(0,n(900).Z)(d,o,[],!1,null,null,null);f.options.__file="registry/lib/components/video/subtitle/download/DownloadSubtitle.vue";var p=f.exports},63:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return g}});var o=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"download-subtitle-config download-video-config-section"},[n("div",{staticClass:"download-video-config-item"},[n("div",{staticClass:"download-video-config-title"},[t._v("\n 字幕:\n ")]),t._v(" "),n("VDropdown",{attrs:{items:t.items},scopedSlots:t._u([{key:"item",fn:function(e){var n=e.item;return[t._v("\n "+t._s(n)+"\n ")]}}]),model:{value:t.type,callback:function(e){t.type=e},expression:"type"}})],1)])};o._withStripped=!0;var i=coreApis.settings,r=n(643);const a=(0,i.getComponentSettings)("downloadVideo").options;var s=Vue.extend({components:{VDropdown:r.VDropdown},data:()=>({type:a.subtitleType??"无",items:["无","ass","json"]}),computed:{enabled(){return"无"!==this.type}},watch:{type(t){a.subtitleType=t}}}),c=n(379),l=n.n(c),u=n(44),d=n.n(u),f={insert:"head",singleton:!1},p=(l()(d(),f),d().locals,(0,n(900).Z)(s,o,[],!1,null,null,null));p.options.__file="registry/lib/components/video/subtitle/download/Plugin.vue";var g=p.exports},900:function(t,e,n){"use strict";function o(t,e,n,o,i,r,a,s){var c,l="function"==typeof t?t.options:t;if(e&&(l.render=e,l.staticRenderFns=n,l._compiled=!0),o&&(l.functional=!0),r&&(l._scopeId="data-v-"+r),a?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},l._ssrRegister=c):i&&(c=s?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(t,e){return c.call(e),u(t,e)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:t,options:l}}n.d(e,{Z:function(){return o}})},942:function(t){"use strict";t.exports=''},740:function(t){"use strict";t.exports=coreApis.componentApis.video.assUtils},730:function(t){"use strict";t.exports=coreApis.componentApis.video.playerAgent},705:function(t){"use strict";t.exports=coreApis.componentApis.video.videoInfo},141:function(t){"use strict";t.exports=coreApis.toast},643:function(t){"use strict";t.exports=coreApis.ui},129:function(t){"use strict";t.exports=coreApis.utils.title}},o={};function i(t){var e=o[t];if(void 0!==e)return e.exports;var r=o[t]={id:t,exports:{}};return n[t](r,r.exports,i),r.exports}i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,{a:e}),e},e=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__},i.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var r=Object.create(null);i.r(r);var a={};t=t||[null,e({}),e([]),e(e)];for(var s=2&o&&n;"object"==typeof s&&!~t.indexOf(s);s=e(s))Object.getOwnPropertyNames(s).forEach((function(t){a[t]=function(){return n[t]}}));return a.default=function(){return n},i.d(r,a),r},i.d=function(t,e){for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};return function(){"use strict";i.d(r,{component:function(){return a}});var t=coreApis.spinQuery,e=i(141),n=coreApis.utils.urls,o=i(951);const a={name:"downloadSubtitle",displayName:"下载字幕",description:{"zh-CN":"启用下载字幕支持, 在视频页面中可从功能面板里下载字幕."},tags:[componentsTags.video],entry:none,urlInclude:n.videoUrls,widget:{condition:t.hasVideo,component:()=>Promise.resolve().then(i.bind(i,6)).then((t=>t.default))},plugin:{displayName:"下载视频 - 下载字幕支持",setup:({addData:t})=>{t("downloadVideo.assets",(async t=>{t.push({name:"downloadSubtitles",displayName:"下载字幕",getAssets:async(t,n)=>{const{type:i,enabled:r}=n;if(!r)return[];const a=e.Toast.info("获取字幕中...","下载字幕");let s=0;const c=await Promise.allSettled(t.map((async e=>{const n=await(0,o.mE)(i,e.input);return s++,a.message=`获取字幕中... (${s}/${t.length})`,{name:`${e.input.title}.${i}`,data:n}}))),l=c.filter((t=>"fulfilled"===t.status)),u=c.filter((t=>"rejected"===t.status));return a.message=`获取完成. 成功 ${l.length} 个, 失败 ${u.length} 个.`,l.map((t=>t.value))},component:()=>Promise.resolve().then(i.bind(i,63)).then((t=>t.default))})}))}},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),r=r.component}()})); \ No newline at end of file diff --git a/registry/dist/plugins/launch-bar/trending-search.js b/registry/dist/plugins/launch-bar/trending-search.js index 868efe2c6..ad4234b84 100644 --- a/registry/dist/plugins/launch-bar/trending-search.js +++ b/registry/dist/plugins/launch-bar/trending-search.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["launch-bar/trending-search"]=t():e["launch-bar/trending-search"]=t()}(self,(function(){return function(){"use strict";var e,t,r={663:function(e){e.exports=coreApis.ajax}},n={};function o(e){var t=n[e];if(void 0!==t)return t.exports;var a=n[e]={exports:{}};return r[e](a,a.exports,o),a.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},o.t=function(r,n){if(1&n&&(r=this(r)),8&n)return r;if("object"==typeof r&&r){if(4&n&&r.__esModule)return r;if(16&n&&"function"==typeof r.then)return r}var a=Object.create(null);o.r(a);var i={};e=e||[null,t({}),t([]),t(t)];for(var c=2&n&&r;"object"==typeof c&&!~e.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach((function(e){i[e]=function(){return r[e]}}));return i.default=function(){return r},o.d(a,i),a},o.d=function(e,t){for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};return function(){o.d(a,{plugin:function(){return e}});const e={name:"launchBar.trendingSearch",displayName:"搜索栏 - 搜索推荐",description:'在脚本的搜索栏中默认显示类似 b 站搜索栏的搜索推荐词, 替代原来的 "搜索" 两字.',setup:({addData:e})=>{e("launchBar.recommended",(async e=>{const{getJson:t}=await Promise.resolve().then(o.t.bind(o,663,23)),r=await t("https://api.bilibili.com/x/web-interface/search/default");if(0===r.code){let t;e.word=r.data.show_name,t=""!==r.data.url?r.data.url:r.data.name.startsWith("av")?`https://www.bilibili.com/${r.data.name}`:`https://search.bilibili.com/all?keyword=${r.data.name}`,e.href=t}else console.error("获取搜索推荐词失败")}))},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),a=a.plugin}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["launch-bar/trending-search"]=t():e["launch-bar/trending-search"]=t()}(self,(function(){return function(){"use strict";var e,t,r={663:function(e){e.exports=coreApis.ajax}},n={};function o(e){var t=n[e];if(void 0!==t)return t.exports;var a=n[e]={exports:{}};return r[e](a,a.exports,o),a.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},o.t=function(r,n){if(1&n&&(r=this(r)),8&n)return r;if("object"==typeof r&&r){if(4&n&&r.__esModule)return r;if(16&n&&"function"==typeof r.then)return r}var a=Object.create(null);o.r(a);var i={};e=e||[null,t({}),t([]),t(t)];for(var c=2&n&&r;"object"==typeof c&&!~e.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach((function(e){i[e]=function(){return r[e]}}));return i.default=function(){return r},o.d(a,i),a},o.d=function(e,t){for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};return function(){o.d(a,{plugin:function(){return e}});const e={name:"launchBar.trendingSearch",displayName:"搜索栏 - 搜索推荐",description:'在脚本的搜索栏中默认显示类似 b 站搜索栏的搜索推荐词, 替代原来的 "搜索" 两字.',setup:({addData:e})=>{e("launchBar.recommended",(async e=>{const{getJson:t}=await Promise.resolve().then(o.t.bind(o,663,23)),r=await t("https://api.bilibili.com/x/web-interface/search/default");if(0===r.code){let t;e.word=r.data.show_name,t=""!==r.data.url?r.data.url:r.data.name.startsWith("av")?`https://www.bilibili.com/${r.data.name}`:`https://search.bilibili.com/all?keyword=${r.data.name}`,e.href=t}else console.error("获取搜索推荐词失败")}))},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),a=a.plugin}()})); \ No newline at end of file diff --git a/registry/dist/plugins/settings-panel/recent-components.js b/registry/dist/plugins/settings-panel/recent-components.js index 4e2abe43a..6d80a93a7 100644 --- a/registry/dist/plugins/settings-panel/recent-components.js +++ b/registry/dist/plugins/settings-panel/recent-components.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["settings-panel/recent-components"]=t():e["settings-panel/recent-components"]=t()}(self,(function(){return function(){"use strict";var e,t,n={407:function(e){e.exports=coreApis.settings}},o={};function r(e){var t=o[e];if(void 0!==t)return t.exports;var i=o[e]={exports:{}};return n[e](i,i.exports,r),i.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var i=Object.create(null);r.r(i);var a={};e=e||[null,t({}),t([]),t(t)];for(var c=2&o&&n;"object"==typeof c&&!~e.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach((function(e){a[e]=function(){return n[e]}}));return a.default=function(){return n},r.d(i,a),i},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){r.d(i,{plugin:function(){return e}});const e={name:"settingsPanel.tagFilters.recentComponents",displayName:'设置面板 - "最近使用" 类别',description:'在设置面板中添加 "最近使用" 类别, 方便检索最近操作过的组件.',setup:({addData:e,addHook:t})=>{const n=async()=>{const{getGeneralSettings:e}=await Promise.resolve().then(r.t.bind(r,407,23)),t=e();return t.recentComponents||(t.recentComponents={}),t.recentComponents};t("settingsPanel.componentDetail.open",{after:async e=>{(await n())[e]=Number(new Date)}}),t("userComponents.add",{after:async(e,t,o)=>{(await n())[o.name]=Number(new Date)}}),t("userComponents.remove",{after:async e=>{delete(await n())[e.name]}}),e("settingsPanel.tagFilters",(async e=>{const t=await n();e.unshift((({renderedComponents:e})=>({name:"recent",displayName:"最近",color:"inherit",icon:"mdi-clock-outline",order:0,count:e.length,filter:e=>lodash.sortBy(e,(e=>t[e.name]??0)).reverse()})))}))},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),i=i.plugin}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["settings-panel/recent-components"]=t():e["settings-panel/recent-components"]=t()}(self,(function(){return function(){"use strict";var e,t,n={407:function(e){e.exports=coreApis.settings}},o={};function r(e){var t=o[e];if(void 0!==t)return t.exports;var a=o[e]={exports:{}};return n[e](a,a.exports,r),a.exports}t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},r.t=function(n,o){if(1&o&&(n=this(n)),8&o)return n;if("object"==typeof n&&n){if(4&o&&n.__esModule)return n;if(16&o&&"function"==typeof n.then)return n}var a=Object.create(null);r.r(a);var i={};e=e||[null,t({}),t([]),t(t)];for(var s=2&o&&n;"object"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach((function(e){i[e]=function(){return n[e]}}));return i.default=function(){return n},r.d(a,i),a},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};return function(){r.d(a,{plugin:function(){return e}});const e={name:"settingsPanel.tagFilters.recentComponents",displayName:'设置面板 - "最近使用" 类别',description:'在设置面板中添加 "最近使用" 类别, 方便检索最近操作过的组件.',setup:({addData:e,addHook:t})=>{const n=async()=>{const{getGeneralSettings:e}=await Promise.resolve().then(r.t.bind(r,407,23)),t=e();return t.recentComponents||(t.recentComponents={}),t.recentComponents};t("settingsPanel.componentDetail.open",{after:async e=>{(await n())[e]=Number(new Date)}}),t("userComponents.add",{after:async(e,t,o)=>{(await n())[o.name]=Number(new Date)}}),t("userComponents.remove",{after:async e=>{delete(await n())[e.name]}}),e("settingsPanel.tagFilters",(async e=>{const t=await n();e.unshift((({renderedComponents:e})=>({name:"recent",displayName:"最近",color:"inherit",icon:"mdi-clock-outline",order:0,count:e.length,filter:e=>lodash.sortBy(e,(e=>t[e.name]??0)).reverse()})))}))},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),a=a.plugin}()})); \ No newline at end of file diff --git a/registry/dist/plugins/style/custom-navbar-dark-mode.js b/registry/dist/plugins/style/custom-navbar-dark-mode.js index 97d6fb625..001f50d71 100644 --- a/registry/dist/plugins/style/custom-navbar-dark-mode.js +++ b/registry/dist/plugins/style/custom-navbar-dark-mode.js @@ -9,4 +9,4 @@ t=[[null,t,""]]);var o={};if(r)for(var a=0;a({dark:(0,o.getComponentSettings)("darkMode").enabled}),created(){(0,o.addComponentListener)("darkMode",(t=>{this.dark=t}))}}),i=n(379),s=n.n(i),c=n(35),d=n.n(c),u={insert:"head",singleton:!1};s()(d(),u),d().locals;var f=function(t,e,n,r,o,a,i,s){var c,d="function"==typeof t?t.options:t;if(e&&(d.render=e,d.staticRenderFns=n,d._compiled=!0),r&&(d.functional=!0),a&&(d._scopeId="data-v-"+a),i?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(i)},d._ssrRegister=c):o&&(c=s?function(){o.call(this,(d.functional?this.parent:this).$root.$options.shadowRoot)}:o),c)if(d.functional){d._injectStyles=c;var u=d.render;d.render=function(t,e){return c.call(e),u(t,e)}}else{var f=d.beforeCreate;d.beforeCreate=f?[].concat(f,c):[c]}return{exports:t,options:d}}(a,r,[],!1,null,null,null);f.options.__file="registry/lib/plugins/style/custom-navbar-dark-mode/NavbarDarkMode.vue";var l=f.exports},407:function(t){"use strict";t.exports=coreApis.settings}},r={};function o(t){var e=r[t];if(void 0!==e)return e.exports;var a=r[t]={id:t,exports:{}};return n[t](a,a.exports,o),a.exports}o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,{a:e}),e},e=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__},o.t=function(n,r){if(1&r&&(n=this(n)),8&r)return n;if("object"==typeof n&&n){if(4&r&&n.__esModule)return n;if(16&r&&"function"==typeof n.then)return n}var a=Object.create(null);o.r(a);var i={};t=t||[null,e({}),e([]),e(e)];for(var s=2&r&&n;"object"==typeof s&&!~t.indexOf(s);s=e(s))Object.getOwnPropertyNames(s).forEach((function(t){i[t]=function(){return n[t]}}));return i.default=function(){return n},o.d(a,i),a},o.d=function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var a={};return function(){"use strict";o.d(a,{plugin:function(){return t}});const t={name:"customNavbar.items.darkMode",displayName:"自定义顶栏 - 夜间模式开关",description:"为自定义顶栏添加一个夜间模式开关, 方便快速切换夜间模式.",async setup({addData:t}){const{getComponentSettings:e}=await Promise.resolve().then(o.t.bind(o,407,23));t("customNavbar.items",(t=>{t.push({name:"darkMode",displayName:"夜间开关",content:()=>Promise.resolve().then(o.bind(o,53)),clickAction:()=>{const t=e("darkMode");t.enabled=!t.enabled}})}))},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),a=a.plugin}()})); \ No newline at end of file +r=Boolean(window&&document&&document.all&&!window.atob)),r},a=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),i=[];function s(t){for(var e=-1,n=0;n({dark:(0,o.getComponentSettings)("darkMode").enabled}),created(){(0,o.addComponentListener)("darkMode",(t=>{this.dark=t}))}}),i=n(379),s=n.n(i),c=n(35),u=n.n(c),d={insert:"head",singleton:!1};s()(u(),d),u().locals;var f=function(t,e,n,r,o,a,i,s){var c,u="function"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),a&&(u._scopeId="data-v-"+a),i?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(i)},u._ssrRegister=c):o&&(c=s?function(){o.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:o),c)if(u.functional){u._injectStyles=c;var d=u.render;u.render=function(t,e){return c.call(e),d(t,e)}}else{var f=u.beforeCreate;u.beforeCreate=f?[].concat(f,c):[c]}return{exports:t,options:u}}(a,r,[],!1,null,null,null);f.options.__file="registry/lib/plugins/style/custom-navbar-dark-mode/NavbarDarkMode.vue";var l=f.exports},407:function(t){"use strict";t.exports=coreApis.settings}},r={};function o(t){var e=r[t];if(void 0!==e)return e.exports;var a=r[t]={id:t,exports:{}};return n[t](a,a.exports,o),a.exports}o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,{a:e}),e},e=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__},o.t=function(n,r){if(1&r&&(n=this(n)),8&r)return n;if("object"==typeof n&&n){if(4&r&&n.__esModule)return n;if(16&r&&"function"==typeof n.then)return n}var a=Object.create(null);o.r(a);var i={};t=t||[null,e({}),e([]),e(e)];for(var s=2&r&&n;"object"==typeof s&&!~t.indexOf(s);s=e(s))Object.getOwnPropertyNames(s).forEach((function(t){i[t]=function(){return n[t]}}));return i.default=function(){return n},o.d(a,i),a},o.d=function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var a={};return function(){"use strict";o.d(a,{plugin:function(){return t}});const t={name:"customNavbar.items.darkMode",displayName:"自定义顶栏 - 夜间模式开关",description:"为自定义顶栏添加一个夜间模式开关, 方便快速切换夜间模式.",async setup({addData:t}){const{getComponentSettings:e}=await Promise.resolve().then(o.t.bind(o,407,23));t("customNavbar.items",(t=>{t.push({name:"darkMode",displayName:"夜间开关",content:()=>Promise.resolve().then(o.bind(o,53)),clickAction:()=>{const t=e("darkMode");t.enabled=!t.enabled}})}))},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),a=a.plugin}()})); \ No newline at end of file diff --git a/registry/dist/plugins/utils/keymap-dark-mode.js b/registry/dist/plugins/utils/keymap-dark-mode.js index 973cff0c0..d1021de9b 100644 --- a/registry/dist/plugins/utils/keymap-dark-mode.js +++ b/registry/dist/plugins/utils/keymap-dark-mode.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["utils/keymap-dark-mode"]=t():e["utils/keymap-dark-mode"]=t()}(self,(function(){return function(){"use strict";var e={d:function(t,o){for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{plugin:function(){return o}});const o={name:"keymap.actions.darkMode",displayName:"快捷键扩展 - 夜间模式",description:'在快捷键的动作列表里添加一个 "夜间模式", 可以通过快捷键切换夜间模式',setup:({addData:e,coreApis:{settings:t}})=>{e("keymap.actions",(e=>{e.darkMode={displayName:"夜间模式",run:()=>{const e=t.getComponentSettings("darkMode");e.enabled=!e.enabled}}})),e("keymap.presets",(e=>{e.darkMode=""}))},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"};return t=t.plugin}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["utils/keymap-dark-mode"]=t():e["utils/keymap-dark-mode"]=t()}(self,(function(){return function(){"use strict";var e={d:function(t,o){for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{plugin:function(){return o}});const o={name:"keymap.actions.darkMode",displayName:"快捷键扩展 - 夜间模式",description:'在快捷键的动作列表里添加一个 "夜间模式", 可以通过快捷键切换夜间模式',setup:({addData:e,coreApis:{settings:t}})=>{e("keymap.actions",(e=>{e.darkMode={displayName:"夜间模式",run:()=>{const e=t.getComponentSettings("darkMode");e.enabled=!e.enabled}}})),e("keymap.presets",(e=>{e.darkMode=""}))},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"};return t=t.plugin}()})); \ No newline at end of file diff --git a/registry/dist/plugins/utils/keymap-empty-action.ts.js b/registry/dist/plugins/utils/keymap-empty-action.ts.js index fd0418a8a..d95d946cf 100644 --- a/registry/dist/plugins/utils/keymap-empty-action.ts.js +++ b/registry/dist/plugins/utils/keymap-empty-action.ts.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["utils/keymap-empty-action.ts"]=t():e["utils/keymap-empty-action.ts"]=t()}(self,(function(){return function(){"use strict";var e={d:function(t,n){for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{plugin:function(){return n}});const n={name:"keymap.actions.empty",displayName:"快捷键扩展 - 无动作",description:'在快捷键的动作列表里添加一个 "无动作", 将按键绑定到这个上面就可以阻止原有的快捷键行为.',setup:({addData:e})=>{e("keymap.actions",(e=>{e.empty={displayName:"无动作",prevent:!0,run:none}})),e("keymap.presets",(e=>{e.empty=""}))},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"};return t=t.plugin}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["utils/keymap-empty-action.ts"]=t():e["utils/keymap-empty-action.ts"]=t()}(self,(function(){return function(){"use strict";var e={d:function(t,n){for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{plugin:function(){return n}});const n={name:"keymap.actions.empty",displayName:"快捷键扩展 - 无动作",description:'在快捷键的动作列表里添加一个 "无动作", 将按键绑定到这个上面就可以阻止原有的快捷键行为.',setup:({addData:e})=>{e("keymap.actions",(e=>{e.empty={displayName:"无动作",prevent:!0,run:none}})),e("keymap.presets",(e=>{e.empty=""}))},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"};return t=t.plugin}()})); \ No newline at end of file diff --git a/registry/dist/plugins/v-loading/reimu.js b/registry/dist/plugins/v-loading/reimu.js index af4a7ad74..c815d5cfc 100644 --- a/registry/dist/plugins/v-loading/reimu.js +++ b/registry/dist/plugins/v-loading/reimu.js @@ -9,4 +9,4 @@ A=[[null,A,""]]);var g={};if(C)for(var E=0;E{A("vLoading",(A=>{A.content=()=>Promise.resolve().then(Q.bind(Q,421)).then((A=>A.default))}))},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),C=C.plugin}()})); \ No newline at end of file +C=Boolean(window&&document&&document.all&&!window.atob)),C},E=function(){var A={};return function(I){if(void 0===A[I]){var Q=document.querySelector(I);if(window.HTMLIFrameElement&&Q instanceof window.HTMLIFrameElement)try{Q=Q.contentDocument.head}catch(A){Q=null}A[I]=Q}return A[I]}}(),B=[];function M(A){for(var I=-1,Q=0;Q{A("vLoading",(A=>{A.content=()=>Promise.resolve().then(Q.bind(Q,421)).then((A=>A.default))}))},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),C=C.plugin}()})); \ No newline at end of file diff --git a/registry/dist/plugins/video/download/aria2-output.js b/registry/dist/plugins/video/download/aria2-output.js index ad4c3ed60..8fe5b88e1 100644 --- a/registry/dist/plugins/video/download/aria2-output.js +++ b/registry/dist/plugins/video/download/aria2-output.js @@ -9,4 +9,4 @@ e=[[null,e,""]]);var r={};if(o)for(var i=0;ie.name===l.selectedRpcProfileName))??(l.rpcProfiles.length<1?(l.rpcProfiles.push(a),a):l.rpcProfiles[0]);console.log(l,d);var p=Vue.extend({components:{TextBox:s.TextBox,VButton:s.VButton,VIcon:s.VIcon,VDropdown:s.VDropdown,TextArea:s.TextArea},data:()=>({isRenaming:!1,profileRename:"",rpcProfiles:l.rpcProfiles,selectedRpcProfile:d}),methods:{saveSettings(){l.selectedRpcProfileName=this.selectedRpcProfile.name,l.rpcProfiles=this.rpcProfiles,Object.assign(c,l)},async startRename(){this.profileRename=this.selectedRpcProfile.name,this.isRenaming=!0,await this.$nextTick(),this.$refs.renameInput?.focus()},endRename(){const e=this.profileRename;e?l.rpcProfiles.some((t=>t.name!==this.selectedRpcProfile.name&&t.name===e))?i.Toast.error("名称不得与其他预设重复","重命名 RPC 预设",2e3):(this.selectedRpcProfile.name=this.profileRename,this.isRenaming=!1,this.saveSettings()):i.Toast.error("名称不得为空","重命名 RPC 预设",2e3)},newProfile(){const e={...this.selectedRpcProfile},t={num:1,toString(){return`未命名${this.num}`}};for(;l.rpcProfiles.some((e=>e.name===t.toString()));)t.num++;e.name=t.toString(),l.rpcProfiles.push(e),this.selectedRpcProfile=e},deleteProfile(){if(l.rpcProfiles.length<2)return;const e=l.rpcProfiles.findIndex((e=>e.name===this.selectedRpcProfile.name));-1!==e&&confirm(`确认删除 RPC 预设 "${this.selectedRpcProfile.name}" 吗?`)&&(l.rpcProfiles.splice(e,1),this.selectedRpcProfile=l.rpcProfiles[0])}}}),f=n(379),u=n.n(f),m=n(207),h=n.n(m),v={insert:"head",singleton:!1};u()(h(),v),h().locals;var g=function(e,t,n,o,r,i,s,a){var c,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),o&&(l.functional=!0),i&&(l._scopeId="data-v-"+i),s?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):r&&(c=a?function(){r.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var d=l.render;l.render=function(e,t){return c.call(t),d(e,t)}}else{var p=l.beforeCreate;l.beforeCreate=p?[].concat(p,c):[c]}return{exports:e,options:l}}(p,o,[],!1,null,null,null);g.options.__file="registry/lib/plugins/video/download/aria2-output/RpcConfig.vue";var P=g.exports},141:function(e){"use strict";e.exports=coreApis.toast}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={id:o,exports:{}};return e[o](i,i.exports,n),i.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return function(){"use strict";n.d(o,{plugin:function(){return h}});var e=coreApis.download,t=coreApis.utils.constants,r=coreApis.utils.title;const i={name:"aria2",displayName:"aria2 Input",description:"使用 aria2 命令行输入文件开始下载. (aria2c -i xxx.txt)",runAction:async n=>{const{infos:o}=n,i=document.URL.replace(window.location.search,""),s=`\n# Generated by Bilibili Evolved Video Export\n# https://github.com/the1812/Bilibili-Evolved/\n${o.map((e=>e.titledFragments.map((e=>({url:e.url,params:{referer:i,userAgent:t.UserAgent,out:e.title}}))).flat().map((e=>{const t=Object.entries(e.params).map((([e,t])=>` ${lodash.kebabCase(e)}=${t}`)).join("\n");return`${e.url}\n${t}`})))).flat().join("\n")}`.trim();await e.DownloadPackage.single(`${(0,r.getFriendlyTitle)()}.txt`,s)}};var s=coreApis.ajax,a=n(141),c=coreApis.utils.log;const l=e=>{const t=e.host.match(/^http[s]?:\/\//)?e.host:`http://${e.host}`;return{option:e,host:t,methodName:"aria2.addUri"}},d=async(e,t)=>{try{let n=await t();return"string"==typeof n&&(n=JSON.parse(n)),void 0!==n.error?1===n.error.code?{param:e,success:!1,message:"请求遭到拒绝, 请检查您的密钥相关设置."}:{param:e,success:!1,message:`请求发生错误, code = ${n.error.code}, message = ${n.error.message}`}:{param:e,success:!0,message:n.result}}catch(t){return{param:e,success:!1,message:`无法连接到RPC主机, error = ${t.toString()}`}}},p=async(e,t)=>{const{option:n,host:o,methodName:r}=l(e);return d(t,(async()=>{const e=window.btoa(unescape(encodeURIComponent(JSON.stringify(t.params)))),i=`${o}:${n.port}/jsonrpc?method=${r}&id=${t.id}¶ms=${e}`;return console.log(`RPC request: ${i}`),i.startsWith("http:")?(0,s.monkey)({method:"GET",url:i,responseType:"json"}):(0,s.getJson)(i)}))},f=async(e,t)=>{const{option:n,host:o,methodName:r}=l(e);return d(t,(async()=>{const e=`${o}:${n.port}/jsonrpc`,i={method:r,id:t.id,params:t.params};return e.startsWith("http:")?(0,s.monkey)({method:"POST",url:e,responseType:"json",data:JSON.stringify(i)}):(0,s.postJson)(e,i)}))},u=e=>{if(!e)return{};const t=e.split("\n").map((e=>{const[t,...n]=e.trim().split("=");return[t.trim(),n.join("=").trim()]})).filter((e=>Boolean(e[1])));return Object.fromEntries(t)},m={name:"aria2Rpc",displayName:"aria2 RPC",description:"使用 aria2 RPC 功能发送下载请求.",runAction:async(e,n)=>{const{infos:o}=e,{selectedRpcProfile:r}=n,{secretKey:i,dir:s,other:l}=r,d=document.URL.replace(window.location.search,""),m=o.map((e=>e.titledFragments.map((e=>{const n=[];i&&n.push(`token:${i}`),n.push([e.url]),n.push({referer:d,"user-agent":t.UserAgent,out:e.title,dir:s||void 0,...u(l)});return{params:n,id:encodeURIComponent(e.title)}})))).flat(),h=await(async(e,t)=>{const n=[];for(const o of t){let t;t="get"===e.method?await p(e,o):await f(e,o),n.push(t)}return n})(r,m);if(console.table(h),1===h.length){const e=h[0];e.success?a.Toast.success(`成功发送了请求, GID = ${e.message}`,"aria2 RPC",5e3):(0,c.logError)(e.message)}else{const e=h.filter((e=>e.success)).length,t=h.length-e;a.Toast.info(`发送了 ${h.length} 个请求, 成功 ${e} 个, 失败 ${t} 个.`,"aria2 RPC",5e3)}},component:()=>Promise.resolve().then(n.bind(n,355)).then((e=>e.default))},h={name:"downloadVideo.outputs.aria2",displayName:"下载视频 - aria2 输出支持",description:"为下载视频增加 aria2 文件导出和 RPC 输出支持.",setup:({addData:e})=>{e("downloadVideo.outputs",(e=>{e.push(i),e.push(m)}))},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),o=o.plugin}()})); \ No newline at end of file +o=Boolean(window&&document&&document.all&&!window.atob)),o},i=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),s=[];function a(e){for(var t=-1,n=0;ne.name===l.selectedRpcProfileName))??(l.rpcProfiles.length<1?(l.rpcProfiles.push(a),a):l.rpcProfiles[0]);console.log(l,d);var p=Vue.extend({components:{TextBox:s.TextBox,VButton:s.VButton,VIcon:s.VIcon,VDropdown:s.VDropdown,TextArea:s.TextArea},data:()=>({isRenaming:!1,profileRename:"",rpcProfiles:l.rpcProfiles,selectedRpcProfile:d}),methods:{saveSettings(){l.selectedRpcProfileName=this.selectedRpcProfile.name,l.rpcProfiles=this.rpcProfiles,Object.assign(c,l)},async startRename(){this.profileRename=this.selectedRpcProfile.name,this.isRenaming=!0,await this.$nextTick(),this.$refs.renameInput?.focus()},endRename(){const e=this.profileRename;e?l.rpcProfiles.some((t=>t.name!==this.selectedRpcProfile.name&&t.name===e))?i.Toast.error("名称不得与其他预设重复","重命名 RPC 预设",2e3):(this.selectedRpcProfile.name=this.profileRename,this.isRenaming=!1,this.saveSettings()):i.Toast.error("名称不得为空","重命名 RPC 预设",2e3)},newProfile(){const e={...this.selectedRpcProfile},t={num:1,toString(){return`未命名${this.num}`}};for(;l.rpcProfiles.some((e=>e.name===t.toString()));)t.num++;e.name=t.toString(),l.rpcProfiles.push(e),this.selectedRpcProfile=e},deleteProfile(){if(l.rpcProfiles.length<2)return;const e=l.rpcProfiles.findIndex((e=>e.name===this.selectedRpcProfile.name));-1!==e&&confirm(`确认删除 RPC 预设 "${this.selectedRpcProfile.name}" 吗?`)&&(l.rpcProfiles.splice(e,1),this.selectedRpcProfile=l.rpcProfiles[0])}}}),f=n(379),u=n.n(f),m=n(207),h=n.n(m),v={insert:"head",singleton:!1};u()(h(),v),h().locals;var g=function(e,t,n,o,r,i,s,a){var c,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),o&&(l.functional=!0),i&&(l._scopeId="data-v-"+i),s?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):r&&(c=a?function(){r.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var d=l.render;l.render=function(e,t){return c.call(t),d(e,t)}}else{var p=l.beforeCreate;l.beforeCreate=p?[].concat(p,c):[c]}return{exports:e,options:l}}(p,o,[],!1,null,null,null);g.options.__file="registry/lib/plugins/video/download/aria2-output/RpcConfig.vue";var P=g.exports},141:function(e){"use strict";e.exports=coreApis.toast}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={id:o,exports:{}};return e[o](i,i.exports,n),i.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return function(){"use strict";n.d(o,{plugin:function(){return h}});var e=coreApis.download,t=coreApis.utils.constants,r=coreApis.utils.title;const i={name:"aria2",displayName:"aria2 Input",description:"使用 aria2 命令行输入文件开始下载. (aria2c -i xxx.txt)",runAction:async n=>{const{infos:o}=n,i=document.URL.replace(window.location.search,""),s=`\n# Generated by Bilibili Evolved Video Export\n# https://github.com/the1812/Bilibili-Evolved/\n${o.map((e=>e.titledFragments.map((e=>({url:e.url,params:{referer:i,userAgent:t.UserAgent,out:e.title}}))).flat().map((e=>{const t=Object.entries(e.params).map((([e,t])=>` ${lodash.kebabCase(e)}=${t}`)).join("\n");return`${e.url}\n${t}`})))).flat().join("\n")}`.trim();await e.DownloadPackage.single(`${(0,r.getFriendlyTitle)()}.txt`,s)}};var s=coreApis.ajax,a=n(141),c=coreApis.utils.log;const l=e=>{const t=e.host.match(/^http[s]?:\/\//)?e.host:`http://${e.host}`;return{option:e,host:t,methodName:"aria2.addUri"}},d=async(e,t)=>{try{let n=await t();return"string"==typeof n&&(n=JSON.parse(n)),void 0!==n.error?1===n.error.code?{param:e,success:!1,message:"请求遭到拒绝, 请检查您的密钥相关设置."}:{param:e,success:!1,message:`请求发生错误, code = ${n.error.code}, message = ${n.error.message}`}:{param:e,success:!0,message:n.result}}catch(t){return{param:e,success:!1,message:`无法连接到RPC主机, error = ${t.toString()}`}}},p=async(e,t)=>{const{option:n,host:o,methodName:r}=l(e);return d(t,(async()=>{const e=window.btoa(unescape(encodeURIComponent(JSON.stringify(t.params)))),i=`${o}:${n.port}/jsonrpc?method=${r}&id=${t.id}¶ms=${e}`;return console.log(`RPC request: ${i}`),i.startsWith("http:")?(0,s.monkey)({method:"GET",url:i,responseType:"json"}):(0,s.getJson)(i)}))},f=async(e,t)=>{const{option:n,host:o,methodName:r}=l(e);return d(t,(async()=>{const e=`${o}:${n.port}/jsonrpc`,i={method:r,id:t.id,params:t.params};return e.startsWith("http:")?(0,s.monkey)({method:"POST",url:e,responseType:"json",data:JSON.stringify(i)}):(0,s.postJson)(e,i)}))},u=e=>{if(!e)return{};const t=e.split("\n").map((e=>{const[t,...n]=e.trim().split("=");return[t.trim(),n.join("=").trim()]})).filter((e=>Boolean(e[1])));return Object.fromEntries(t)},m={name:"aria2Rpc",displayName:"aria2 RPC",description:"使用 aria2 RPC 功能发送下载请求.",runAction:async(e,n)=>{const{infos:o}=e,{selectedRpcProfile:r}=n,{secretKey:i,dir:s,other:l}=r,d=document.URL.replace(window.location.search,""),m=o.map((e=>e.titledFragments.map((e=>{const n=[];i&&n.push(`token:${i}`),n.push([e.url]),n.push({referer:d,"user-agent":t.UserAgent,out:e.title,dir:s||void 0,...u(l)});return{params:n,id:encodeURIComponent(e.title)}})))).flat(),h=await(async(e,t)=>{const n=[];for(const o of t){let t;t="get"===e.method?await p(e,o):await f(e,o),n.push(t)}return n})(r,m);if(console.table(h),1===h.length){const e=h[0];e.success?a.Toast.success(`成功发送了请求, GID = ${e.message}`,"aria2 RPC",5e3):(0,c.logError)(e.message)}else{const e=h.filter((e=>e.success)).length,t=h.length-e;a.Toast.info(`发送了 ${h.length} 个请求, 成功 ${e} 个, 失败 ${t} 个.`,"aria2 RPC",5e3)}},component:()=>Promise.resolve().then(n.bind(n,355)).then((e=>e.default))},h={name:"downloadVideo.outputs.aria2",displayName:"下载视频 - aria2 输出支持",description:"为下载视频增加 aria2 文件导出和 RPC 输出支持.",setup:({addData:e})=>{e("downloadVideo.outputs",(e=>{e.push(i),e.push(m)}))},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),o=o.plugin}()})); \ No newline at end of file diff --git a/registry/dist/plugins/video/download/idm-output.js b/registry/dist/plugins/video/download/idm-output.js index 5f73e2b81..93e808397 100644 --- a/registry/dist/plugins/video/download/idm-output.js +++ b/registry/dist/plugins/video/download/idm-output.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["video/download/idm-output"]=t():e["video/download/idm-output"]=t()}(self,(function(){return function(){"use strict";var e={d:function(t,o){for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{plugin:function(){return r}});var o=coreApis.download,n=coreApis.utils.constants,i=coreApis.utils.title;const r={name:"downloadVideo.outputs.idm",displayName:"下载视频 - IDM 输出支持",description:"为下载视频增加 IDM 输出支持.",setup:({addData:e})=>{e("downloadVideo.outputs",(e=>{e.push({name:"idm",displayName:"IDM",description:"使用 IDM 的 .ef2 格式导出, 可以在 IDM 中使用导入开始下载.",runAction:async e=>{const{infos:t}=e,r=document.URL.replace(window.location.search,""),a=t.map((e=>e.titledFragments.map((e=>`<\n${e.url}\nreferer: ${r}\nUser-Agent: ${n.UserAgent}\nfilename: ${e.title}\n>`.trim())))).flat().concat("").join("\n").replace(/([^\r])\n/g,"$1\r\n");await o.DownloadPackage.single(`${(0,i.getFriendlyTitle)()}.ef2`,a)}})}))},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"};return t=t.plugin}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["video/download/idm-output"]=t():e["video/download/idm-output"]=t()}(self,(function(){return function(){"use strict";var e={d:function(t,o){for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{plugin:function(){return r}});var o=coreApis.download,n=coreApis.utils.constants,i=coreApis.utils.title;const r={name:"downloadVideo.outputs.idm",displayName:"下载视频 - IDM 输出支持",description:"为下载视频增加 IDM 输出支持.",setup:({addData:e})=>{e("downloadVideo.outputs",(e=>{e.push({name:"idm",displayName:"IDM",description:"使用 IDM 的 .ef2 格式导出, 可以在 IDM 中使用导入开始下载.",runAction:async e=>{const{infos:t}=e,r=document.URL.replace(window.location.search,""),a=t.map((e=>e.titledFragments.map((e=>`<\n${e.url}\nreferer: ${r}\nUser-Agent: ${n.UserAgent}\nfilename: ${e.title}\n>`.trim())))).flat().concat("").join("\n").replace(/([^\r])\n/g,"$1\r\n");await o.DownloadPackage.single(`${(0,i.getFriendlyTitle)()}.ef2`,a)}})}))},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"};return t=t.plugin}()})); \ No newline at end of file diff --git a/registry/dist/plugins/video/download/mpv-output-playlist.js b/registry/dist/plugins/video/download/mpv-output-playlist.js index 23aa33c2a..01443af19 100644 --- a/registry/dist/plugins/video/download/mpv-output-playlist.js +++ b/registry/dist/plugins/video/download/mpv-output-playlist.js @@ -9,4 +9,4 @@ e=[[null,e,""]]);var i={};if(o)for(var r=0;r({mpvInfo:s}),methods:{saveInfo(){Object.assign(a,s)}}}),l=n(379),u=n.n(l),d=n(25),p=n.n(d),f={insert:"head",singleton:!1};u()(p(),f),p().locals;var v=function(e,t,n,o,i,r,a,s){var c,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),o&&(l.functional=!0),r&&(l._scopeId="data-v-"+r),a?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},l._ssrRegister=c):i&&(c=s?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:e,options:l}}(c,o,[],!1,null,null,null);v.options.__file="registry/lib/plugins/video/download/mpv-output-playlist/MpvConfig.vue";var m=v.exports}},t={};function n(o){var i=t[o];if(void 0!==i)return i.exports;var r=t[o]={id:o,exports:{}};return e[o](r,r.exports,n),r.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return function(){"use strict";n.d(o,{plugin:function(){return s}});var e=coreApis.ajax,t=coreApis.toast,i=coreApis.utils.constants,r=coreApis.utils.log;const a={name:"mpv-playlist",displayName:"MPV播放",description:"格式选择flv,千万不能选音画分离的dash。建议把mpv.exe所在目录加进环境变量。",runAction:async(n,o)=>{const{infos:a}=n,{mpvInfo:s}=o,c=a.flatMap((e=>e.titledFragments)).map((e=>e.url)),l=a.flatMap((e=>e.titledFragments)).map((e=>e.title)),u={dir:s.dir,referer:"https://www.bilibili.com/","user-agent":i.UserAgent,urls:c,titles:l},d=`http://${s.host}:${s.port}`,p=await(0,e.postJson)(d,u),f=JSON.parse(p);f.success?t.Toast.success(`成功发送了请求: ${f.message}`,"MPV播放",3e3):(0,r.logError)(f.message)},component:()=>Promise.resolve().then(n.bind(n,524)).then((e=>e.default))},s={name:"downloadVideo.outputs.mpv-playlist",displayName:"下载视频 - MPV 播放支持(列表)",author:{name:"wuliic",link:"https://github.com/wullic"},description:"为下载视频增加 MPV 输出支持,支持列表播放,配置方式请参考 [playwithmpv](https://github.com/videoanywhere/playwithmpv)",setup:({addData:e})=>{e("downloadVideo.outputs",(e=>{e.push(a)}))},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"}}(),o=o.plugin}()})); \ No newline at end of file +o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),a=[];function s(e){for(var t=-1,n=0;n({mpvInfo:s}),methods:{saveInfo(){Object.assign(a,s)}}}),l=n(379),u=n.n(l),d=n(25),f=n.n(d),p={insert:"head",singleton:!1};u()(f(),p),f().locals;var v=function(e,t,n,o,i,r,a,s){var c,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),o&&(l.functional=!0),r&&(l._scopeId="data-v-"+r),a?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},l._ssrRegister=c):i&&(c=s?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:e,options:l}}(c,o,[],!1,null,null,null);v.options.__file="registry/lib/plugins/video/download/mpv-output-playlist/MpvConfig.vue";var m=v.exports}},t={};function n(o){var i=t[o];if(void 0!==i)return i.exports;var r=t[o]={id:o,exports:{}};return e[o](r,r.exports,n),r.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return function(){"use strict";n.d(o,{plugin:function(){return s}});var e=coreApis.ajax,t=coreApis.toast,i=coreApis.utils.constants,r=coreApis.utils.log;const a={name:"mpv-playlist",displayName:"MPV播放",description:"格式选择flv,千万不能选音画分离的dash。建议把mpv.exe所在目录加进环境变量。",runAction:async(n,o)=>{const{infos:a}=n,{mpvInfo:s}=o,c=a.flatMap((e=>e.titledFragments)).map((e=>e.url)),l=a.flatMap((e=>e.titledFragments)).map((e=>e.title)),u={dir:s.dir,referer:"https://www.bilibili.com/","user-agent":i.UserAgent,urls:c,titles:l},d=`http://${s.host}:${s.port}`,f=await(0,e.postJson)(d,u),p=JSON.parse(f);p.success?t.Toast.success(`成功发送了请求: ${p.message}`,"MPV播放",3e3):(0,r.logError)(p.message)},component:()=>Promise.resolve().then(n.bind(n,524)).then((e=>e.default))},s={name:"downloadVideo.outputs.mpv-playlist",displayName:"下载视频 - MPV 播放支持(列表)",author:{name:"wuliic",link:"https://github.com/wullic"},description:"为下载视频增加 MPV 输出支持,支持列表播放,配置方式请参考 [playwithmpv](https://github.com/videoanywhere/playwithmpv)",setup:({addData:e})=>{e("downloadVideo.outputs",(e=>{e.push(a)}))},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"}}(),o=o.plugin}()})); \ No newline at end of file diff --git a/registry/dist/plugins/video/download/mpv-output.js b/registry/dist/plugins/video/download/mpv-output.js index 353220d00..51ffc6807 100644 --- a/registry/dist/plugins/video/download/mpv-output.js +++ b/registry/dist/plugins/video/download/mpv-output.js @@ -1 +1 @@ -!function(o,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["video/download/mpv-output"]=e():o["video/download/mpv-output"]=e()}(self,(function(){return function(){"use strict";var o={d:function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o:function(o,e){return Object.prototype.hasOwnProperty.call(o,e)}},e={};o.d(e,{plugin:function(){return n}});var t=coreApis.toast;const n={name:"downloadVideo.outputs.mpv",displayName:"下载视频 - MPV 输出支持",author:{name:"diannaojiang",link:"https://github.com/diannaojiang"},description:"为下载视频增加 MPV 输出支持, 配置方式请参考 [Bilibili-Playin-Mpv](https://github.com/diannaojiang/Bilibili-Playin-Mpv)",setup:({addData:o})=>{o("downloadVideo.outputs",(o=>{o.push({name:"mpv",displayName:"MPV",description:"弹一条消息显示出播放按钮,点击即可使用MPV进行播放",runAction:async o=>{const e=o.infos.flatMap((o=>o.titledFragments)),n=e.map((o=>o.url)).join("\n"),i=`mpv://--http-header-fields="referer:https://www.bilibili.com/" "${e[0].url}" --audio-file="${e[1].url}"`;console.log(i),t.Toast.show(`播放`,"MPV播放"),console.log(n),console.log(o)}})}))},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"};return e=e.plugin}()})); \ No newline at end of file +!function(o,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["video/download/mpv-output"]=e():o["video/download/mpv-output"]=e()}(self,(function(){return function(){"use strict";var o={d:function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o:function(o,e){return Object.prototype.hasOwnProperty.call(o,e)}},e={};o.d(e,{plugin:function(){return n}});var t=coreApis.toast;const n={name:"downloadVideo.outputs.mpv",displayName:"下载视频 - MPV 输出支持",author:{name:"diannaojiang",link:"https://github.com/diannaojiang"},description:"为下载视频增加 MPV 输出支持, 配置方式请参考 [Bilibili-Playin-Mpv](https://github.com/diannaojiang/Bilibili-Playin-Mpv)",setup:({addData:o})=>{o("downloadVideo.outputs",(o=>{o.push({name:"mpv",displayName:"MPV",description:"弹一条消息显示出播放按钮,点击即可使用MPV进行播放",runAction:async o=>{const e=o.infos.flatMap((o=>o.titledFragments)),n=e.map((o=>o.url)).join("\n"),i=`mpv://--http-header-fields="referer:https://www.bilibili.com/" "${e[0].url}" --audio-file="${e[1].url}"`;console.log(i),t.Toast.show(`播放`,"MPV播放"),console.log(n),console.log(o)}})}))},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"};return e=e.plugin}()})); \ No newline at end of file diff --git a/registry/dist/plugins/video/player/speed.js b/registry/dist/plugins/video/player/speed.js index a9f776287..0c372de29 100644 --- a/registry/dist/plugins/video/player/speed.js +++ b/registry/dist/plugins/video/player/speed.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["video/player/speed"]=t():e["video/player/speed"]=t()}(self,(function(){return function(){"use strict";var e={d:function(t,s){for(var n in s)e.o(s,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:s[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{plugin:function(){return $}});var s=coreApis.toast,n=coreApis.componentApis.video.playerAgent,r=coreApis.lifeCycle,o=coreApis.observer,i=coreApis.utils,a=coreApis.utils.sort,c=coreApis.settings;const d=e=>"function"==typeof e?{next:e}:e,l=e=>function e(t,s,n){let r=!1;const o=[],i=[];let a=!1;const l=()=>{for(;o.length;)o.pop()();i.length=0,a=!0},p=e=>{a||(i.forEach((t=>{t.error?.(e),(0,c.getGeneralSettings)().devMode&&console.error(e)})),l())},u=e=>{a||i.forEach((t=>{try{t.next(e)}catch(e){p(e)}}))},b=()=>{i.forEach((e=>{e.complete?.()})),l()},h=()=>{if(r)return;const e=t?.({next:u,error:p,complete:b});e&&o.push(e),r=!0},m=e=>null==e?null:(i.push(e),()=>{lodash.pull(i,e)}),y=(...t)=>0===t.length?{subscribe:e=>{const t=m(d(e));return(n?.connect??h)(),t},pipe:y,next:u,error:p,complete:b,...n}:e(t[0],{subscribe:m},n||{connect:h,next:u}).pipe(...t.slice(1));if(s){const e=t?.({subscribe:e=>s.subscribe({error:p,complete:b,...d(e)}),next:u,error:p,complete:b});e&&o.push(e)}return y()}(e),p=(e,t)=>l((({next:s})=>(e.addEventListener(t,s),()=>e.removeEventListener(t,s)))),u=e=>new Promise(((t,s)=>{const n=e.subscribe({next:e=>{t(e),n()},error:()=>{s(),n()},complete:()=>{s(),n()}})})),b=e=>(...t)=>{Promise.resolve().then((()=>e(...t)))},h=(...e)=>l((({next:t,error:s,complete:n})=>(e=>{const t=new Set;return e((e=>{lodash.castArray(e).forEach((e=>{t.add(e)}))})),()=>{t.forEach((e=>{e()}))}})((r=>{const o=[];let i=0;r(e.map(((r,a)=>{return r.pipe((c=b,({subscribe:e,next:t,complete:s,error:n})=>{e(lodash.mapValues({next:t,complete:s,error:n},(e=>c(e))))})).subscribe({next:s=>{o[a]=s,o.reduce((e=>e+1),0)===e.length&&t(o.slice())},complete:()=>{i++,i===e.length&&n()},error:s});var c}))),r((()=>{o.length=0,i=0}))})))),m=e=>({subscribe:t,next:s,error:n})=>{t(lodash.debounce((e=>{try{s(e)}catch(e){n(e)}}),e))},y=e=>({subscribe:t,next:s})=>{t((t=>{e(t)&&s(t)}))},f=(...e)=>({next:t,subscribe:s})=>{let n=!1;s((s=>{n||e.forEach((e=>t(e))),t(s),n=!0}))};var v=coreApis.pluginApis.data;const g=(e,t)=>{const s=t=>{(0,v.registerAndGetData)(e,t)[0]=t},n=(0,v.getData)(e);if(n.length)return[n[0],s];if(t){const e=t();return s(e),[e,s]}return[void 0,s]},w=(e,t=!1)=>t&&1===e?"倍速":Math.trunc(e)===e?`${e}.0x`:`${e}x`,E=e=>{if("倍速"===e)return 1;const t=/([0-9]*[.]?[0-9]+)x/.exec(e);if(t)return parseFloat(t[1]);throw new Error(`unknown speed text: ${e}`)};const x=n.playerAgent.provideCustomQuery({video:{speedMenuList:".bilibili-player-video-btn-speed-menu",speedMenuItem:".bilibili-player-video-btn-speed-menu-list",speedNameBtn:".bilibili-player-video-btn-speed-name",speedContainer:".bilibili-player-video-btn-speed",active:".bilibili-player-active",show:".bilibili-player-speed-show"},bangumi:{speedMenuList:".squirtle-speed-select-list",speedMenuItem:".squirtle-select-item",speedNameBtn:".squirtle-speed-select-result",speedContainer:".squirtle-speed-wrap",active:".active",show:".bilibili-player-speed-show"}});let S;!function(e){e[e.MIN=0]="MIN",e[e.CURRENT=1]="CURRENT",e[e.MAX=2]="MAX"}(S||(S={}));const N=(e,t,s)=>{const n=new MutationObserver(s);return n.observe(e,t),n},k=([e,t])=>{if(!e)throw new Error("speed container element not found!");if(!t)throw new Error("video element not found!");const s=e.querySelector(x.custom.speedNameBtn.selector),n=e.querySelector(x.custom.speedMenuList.selector);let r,o,c;const d=l(),p=l().pipe((({subscribe:e,next:t})=>{let s,n=!0;e((e=>{(n||s!==e)&&(n=!1,s=e,t(e))}))}));p.pipe(f(void 0),(({subscribe:e,next:t})=>{const s=[];return e((e=>{2===s.length&&s.shift(),s.push(e),2===s.length&&t(s.slice())})),()=>{s.length=0}})).subscribe((([e,t])=>{o=e,r=t}));const u=e=>{if(e)switch(e.nodeType){case Node.TEXT_NODE:p.next(E(e.data));break;case Node.ELEMENT_NODE:p.next(E(e.innerHTML));break;default:console.warn("The target parameter of updateActiveVideoSpeed must be a Node, and the node type must be one of TEXT_NODE and ELEMENT_NODE")}},b=()=>{c=lodash([...n.children]).map((e=>lodash.attempt((()=>E(e.textContent))))).reject((e=>lodash.isError(e))).sort((0,a.ascendingSort)()).value()};u(s),b();const h=N(n,{childList:!0,attributes:!0},(e=>{const{attributes:t=[],childList:s=[]}=lodash.groupBy(e,"type");s.length&&b(),d.next({attributes:t,childList:s})})),m=N(s,{childList:!0,subtree:!0},(e=>{e.forEach((e=>{const[t]=e.addedNodes;u(t)}))}));return{containerElement:e,videoElement:t,nameBtnElement:s,menuListElement:n,query:e=>{return(0,i.des)(`./*[contains(@class, "${t=x.custom.speedMenuItem.selector,t.replace(/^\./,"")}") and normalize-space()="${w(e)}"]`,n);var t},dispose:()=>{h.disconnect(),m.disconnect()},activeVideoSpeed$:p,menuListElementMutations$:d,getActiveVideoSpeed:()=>r,getOldActiveVideoSpeed:()=>o,getAvailableSpeedValues:()=>c}},C=e=>{const{videoElement:t,menuListElement:s}=e,n=p(s,"click").pipe((r=e=>{const{innerText:t,innerHTML:s}=e.target,n=t.trim()||s.trim();return lodash.attempt((()=>E(n)))},({subscribe:e,next:t})=>{e((e=>{t(r(e))}))}),y((e=>!lodash.isError(e))));var r;const o=l((({next:e})=>{let s=t;do{s=Object.getPrototypeOf(s)}while(null===s||!Object.prototype.hasOwnProperty.call(s,"playbackRate"));const n=Object.getOwnPropertyDescriptor(s,"playbackRate");return Object.defineProperty(s,"playbackRate",{set(t){n.set.call(this,t),e(t)}}),()=>{Object.defineProperty(s,"playbackRate",n)}})),i=n.pipe((({subscribe:e,next:t})=>{let s,n=!0;e((e=>{(n||s!==e)&&(n=!1,s=e,t(e))}))})),a=o.pipe((({subscribe:e,next:t})=>{let s,n=!0;e((e=>{(n||s!==e)&&(n=!1,s=e,t(e))}))})),c=l((({next:e})=>{const t=h(i,a);return t.subscribe((([t,s])=>{t===s&&e(s)})),()=>t.complete()})).pipe((({subscribe:e,next:t})=>{let s,n=!0;e((e=>{(n||s!==e)&&(n=!1,s=e,t(e))}))}));let d;a.pipe(m(200),f(void 0),(({subscribe:e,next:t})=>{const s=[];return e((e=>{2===s.length&&s.shift(),s.push(e),2===s.length&&t(s.slice())})),()=>{s.length=0}})).subscribe((([e])=>{d=e}));const u={menuListElementClickSpeed$:n,menuListElementClickSpeedChange$:i,playbackRate$:o,playbackRateChange$:a,videoSpeedChange$:c};return{...e,...u,dispose:()=>{lodash.values(u).forEach((e=>{e.complete()})),e.dispose()},getOldPlaybackRate:()=>d}},[T]=g("speed.NoSuchSpeedMenuItemElementError",(()=>class extends Error{constructor(e){const t=lodash.attempt((()=>w(e))),s=lodash.isError(t)?String(e):String(t);var n,r,o;super(`There is no such speed menu item as ${s}`),this.speed=e,o=void 0,(r="formattedSpeed")in(n=this)?Object.defineProperty(n,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[r]=o,this.formattedSpeed=s}})),A=e=>{const{query:t,videoElement:s,videoSpeedChange$:n,getOldActiveVideoSpeed:r,getAvailableSpeedValues:o,getActiveVideoSpeed:i}=e,a=async(e,r=200)=>{const o=t(e);if(null==o)throw new T(e);o.click();const i=t=>{if((t??s.playbackRate)!==e)throw new Error(`failed to set ${w(e)} video speed.`)},a=[u(n.pipe(m(Math.max(0,r||0))))];r>0&&a.push(new Promise(((e,t)=>setTimeout((()=>setTimeout(t,r)))))),await Promise.all(a).then(i).catch(i)},c=async()=>{await a(1)},d=async(e,t)=>{if(lodash.isNil(e)&&(e=!1),"boolean"==typeof e)e||1===s.playbackRate?await a(r()):await c();else{const s=o();switch(t){case S.MIN:await a(s[e]);break;case S.MAX:await a(s[s.length-1+e]);break;case S.CURRENT:default:{const t=s.indexOf(i());if(-1===t)throw new Error("Unexpected Error: The available speed values do not include the active speed value, this should be a bug, please report the issue on github!");await a(s[t+e])}}}},l=async e=>{try{await d(e,S.CURRENT)}catch(e){if(console.warn(e),!(e instanceof T))throw e}};return Object.assign(e,{set:a,force:async e=>{s.playbackRate=e},reset:c,toggle:d,step:l,increase:async()=>{await l(1)},decrease:async()=>{await l(-1)}})},O=()=>g("speed.speedContext"),L=()=>g("speed.buildArguments$",(()=>{return l().pipe((e=e=>e.settings.enabled,({subscribe:t,next:s})=>{const n=new Set;return t((t=>{const r=n.size;e(t)?n.add(t):n.delete(t),n.size!==r&&s([...n])})),()=>{n.clear()}}));var e})),M=async(e=lodash.identity)=>{const[t,s]=O();if(t)return t;let n,i;const[a]=g("lifeCycleComponentLoaded$",(()=>p(unsafeWindow,r.LifeCycleEventTypes.ComponentsLoaded))),[c]=L(),[d]=g("speed.videoChange$",(()=>((e,...t)=>l((({next:s})=>{e(...t,s)})))(o.videoChange).pipe(y((({aid:e,cid:t})=>e||t))))),[b]=g("speed.speedContext$",(()=>l((({next:t})=>h(d,c,a).subscribe((([s,r])=>{const[o]=O();o?.dispose(),i?.("context update");const a=new Promise(((e,t)=>{n=e,i=t}));Promise.all([Promise.all([x.custom.speedContainer(),x.query.video.element()]).then(n),a]).then((([,e])=>e)).then(k).then(C).then(A).then((e=>Object.assign(e,{videoIdObject:s,speedContext$:b,videoChange$:d}))).then(e(r)).then(t).catch((e=>console.error(e)))}))))));return b.subscribe(s),u(b)},$={name:"speed.keymap",displayName:"视频倍速 - 快捷键支持",author:{name:"JLoeve",link:"https://github.com/LonelySteve"},description:"\n\n为操作视频倍速提供快捷键支持:\n\n- 提高倍速\n- 降低倍速\n- 切换倍速\n\n若添加并启用了记忆倍速组件,则还会增加一个快捷键:\n\n- 清除倍速记忆\n ",setup:({addData:e,addHook:t})=>{const n=e=>async t=>{const s=await M();return await e(s),t.showTip(w(s.videoElement.playbackRate),"mdi-fast-forward"),!0};e("keymap.actions",(e=>{Object.assign(e,{videoSpeedIncrease:{displayName:"提高倍速",run:n((({increase:e})=>e()))},videoSpeedDecrease:{displayName:"降低倍速",run:n((({decrease:e})=>e()))},videoSpeedToggle:{displayName:"切换倍速",run:n((({toggle:e})=>{e()}))}})})),e("keymap.presets",(e=>{e.videoSpeedIncrease="shift > 》 arrowUp",e.videoSpeedDecrease="shift < 《 arrowDown",e.videoSpeedToggle="shift ? ?"})),t("speed.component.rememberVideoSpeed",{after:t=>{e("keymap.actions",(e=>{e.videoSpeedForget={displayName:"清除倍速记忆",run:lodash.debounce(n((async()=>{t.settings.enabled?t.options.individualRemember?(t.forgetSpeed(),await t.resetVideoSpeed(),s.Toast.success("已清除当前视频倍速记忆值",t.metadata.displayName,3e3)):s.Toast.error("选项「各视频分别记忆」已禁用,不能清除当前视频倍速记忆值",t.metadata.displayName,5e3):s.Toast.error("组件已禁用,不能清除当前视频倍速记忆值",t.metadata.displayName,5e3)})),200)}})),e("keymap.presets",(e=>{e.videoSpeedForget="shift : :"}))}})},commitHash:"9c9c5fd27250d3d9c2e74eb367ebb825cba14ab1",coreVersion:"2.1.9"};return t=t.plugin}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["video/player/speed"]=t():e["video/player/speed"]=t()}(self,(function(){return function(){"use strict";var e={d:function(t,s){for(var n in s)e.o(s,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:s[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{plugin:function(){return $}});var s=coreApis.toast,n=coreApis.componentApis.video.playerAgent,r=coreApis.lifeCycle,o=coreApis.observer,i=coreApis.utils,a=coreApis.utils.sort,c=coreApis.settings;const l=e=>"function"==typeof e?{next:e}:e,d=e=>function e(t,s,n){let r=!1;const o=[],i=[];let a=!1;const d=()=>{for(;o.length;)o.pop()();i.length=0,a=!0},p=e=>{a||(i.forEach((t=>{t.error?.(e),(0,c.getGeneralSettings)().devMode&&console.error(e)})),d())},u=e=>{a||i.forEach((t=>{try{t.next(e)}catch(e){p(e)}}))},b=()=>{i.forEach((e=>{e.complete?.()})),d()},h=()=>{if(r)return;const e=t?.({next:u,error:p,complete:b});e&&o.push(e),r=!0},m=e=>null==e?null:(i.push(e),()=>{lodash.pull(i,e)}),f=(...t)=>0===t.length?{subscribe:e=>{const t=m(l(e));return(n?.connect??h)(),t},pipe:f,next:u,error:p,complete:b,...n}:e(t[0],{subscribe:m},n||{connect:h,next:u}).pipe(...t.slice(1));if(s){const e=t?.({subscribe:e=>s.subscribe({error:p,complete:b,...l(e)}),next:u,error:p,complete:b});e&&o.push(e)}return f()}(e),p=(e,t)=>d((({next:s})=>(e.addEventListener(t,s),()=>e.removeEventListener(t,s)))),u=e=>new Promise(((t,s)=>{const n=e.subscribe({next:e=>{t(e),n()},error:()=>{s(),n()},complete:()=>{s(),n()}})})),b=e=>(...t)=>{Promise.resolve().then((()=>e(...t)))},h=(...e)=>d((({next:t,error:s,complete:n})=>(e=>{const t=new Set;return e((e=>{lodash.castArray(e).forEach((e=>{t.add(e)}))})),()=>{t.forEach((e=>{e()}))}})((r=>{const o=[];let i=0;r(e.map(((r,a)=>{return r.pipe((c=b,({subscribe:e,next:t,complete:s,error:n})=>{e(lodash.mapValues({next:t,complete:s,error:n},(e=>c(e))))})).subscribe({next:s=>{o[a]=s,o.reduce((e=>e+1),0)===e.length&&t(o.slice())},complete:()=>{i++,i===e.length&&n()},error:s});var c}))),r((()=>{o.length=0,i=0}))})))),m=e=>({subscribe:t,next:s,error:n})=>{t(lodash.debounce((e=>{try{s(e)}catch(e){n(e)}}),e))},f=e=>({subscribe:t,next:s})=>{t((t=>{e(t)&&s(t)}))},y=(...e)=>({next:t,subscribe:s})=>{let n=!1;s((s=>{n||e.forEach((e=>t(e))),t(s),n=!0}))};var v=coreApis.pluginApis.data;const g=(e,t)=>{const s=t=>{(0,v.registerAndGetData)(e,t)[0]=t},n=(0,v.getData)(e);if(n.length)return[n[0],s];if(t){const e=t();return s(e),[e,s]}return[void 0,s]},w=(e,t=!1)=>t&&1===e?"倍速":Math.trunc(e)===e?`${e}.0x`:`${e}x`,E=e=>{if("倍速"===e)return 1;const t=/([0-9]*[.]?[0-9]+)x/.exec(e);if(t)return parseFloat(t[1]);throw new Error(`unknown speed text: ${e}`)};const x=n.playerAgent.provideCustomQuery({video:{speedMenuList:".bilibili-player-video-btn-speed-menu",speedMenuItem:".bilibili-player-video-btn-speed-menu-list",speedNameBtn:".bilibili-player-video-btn-speed-name",speedContainer:".bilibili-player-video-btn-speed",active:".bilibili-player-active",show:".bilibili-player-speed-show"},bangumi:{speedMenuList:".squirtle-speed-select-list",speedMenuItem:".squirtle-select-item",speedNameBtn:".squirtle-speed-select-result",speedContainer:".squirtle-speed-wrap",active:".active",show:".bilibili-player-speed-show"}});let S;!function(e){e[e.MIN=0]="MIN",e[e.CURRENT=1]="CURRENT",e[e.MAX=2]="MAX"}(S||(S={}));const N=(e,t,s)=>{const n=new MutationObserver(s);return n.observe(e,t),n},k=([e,t])=>{if(!e)throw new Error("speed container element not found!");if(!t)throw new Error("video element not found!");const s=e.querySelector(x.custom.speedNameBtn.selector),n=e.querySelector(x.custom.speedMenuList.selector);let r,o,c;const l=d(),p=d().pipe((({subscribe:e,next:t})=>{let s,n=!0;e((e=>{(n||s!==e)&&(n=!1,s=e,t(e))}))}));p.pipe(y(void 0),(({subscribe:e,next:t})=>{const s=[];return e((e=>{2===s.length&&s.shift(),s.push(e),2===s.length&&t(s.slice())})),()=>{s.length=0}})).subscribe((([e,t])=>{o=e,r=t}));const u=e=>{if(e)switch(e.nodeType){case Node.TEXT_NODE:p.next(E(e.data));break;case Node.ELEMENT_NODE:p.next(E(e.innerHTML));break;default:console.warn("The target parameter of updateActiveVideoSpeed must be a Node, and the node type must be one of TEXT_NODE and ELEMENT_NODE")}},b=()=>{c=lodash([...n.children]).map((e=>lodash.attempt((()=>E(e.textContent))))).reject((e=>lodash.isError(e))).sort((0,a.ascendingSort)()).value()};u(s),b();const h=N(n,{childList:!0,attributes:!0},(e=>{const{attributes:t=[],childList:s=[]}=lodash.groupBy(e,"type");s.length&&b(),l.next({attributes:t,childList:s})})),m=N(s,{childList:!0,subtree:!0},(e=>{e.forEach((e=>{const[t]=e.addedNodes;u(t)}))}));return{containerElement:e,videoElement:t,nameBtnElement:s,menuListElement:n,query:e=>{return(0,i.des)(`./*[contains(@class, "${t=x.custom.speedMenuItem.selector,t.replace(/^\./,"")}") and normalize-space()="${w(e)}"]`,n);var t},dispose:()=>{h.disconnect(),m.disconnect()},activeVideoSpeed$:p,menuListElementMutations$:l,getActiveVideoSpeed:()=>r,getOldActiveVideoSpeed:()=>o,getAvailableSpeedValues:()=>c}},C=e=>{const{videoElement:t,menuListElement:s}=e,n=p(s,"click").pipe((r=e=>{const{innerText:t,innerHTML:s}=e.target,n=t.trim()||s.trim();return lodash.attempt((()=>E(n)))},({subscribe:e,next:t})=>{e((e=>{t(r(e))}))}),f((e=>!lodash.isError(e))));var r;const o=d((({next:e})=>{let s=t;do{s=Object.getPrototypeOf(s)}while(null===s||!Object.prototype.hasOwnProperty.call(s,"playbackRate"));const n=Object.getOwnPropertyDescriptor(s,"playbackRate");return Object.defineProperty(s,"playbackRate",{set(t){n.set.call(this,t),e(t)}}),()=>{Object.defineProperty(s,"playbackRate",n)}})),i=n.pipe((({subscribe:e,next:t})=>{let s,n=!0;e((e=>{(n||s!==e)&&(n=!1,s=e,t(e))}))})),a=o.pipe((({subscribe:e,next:t})=>{let s,n=!0;e((e=>{(n||s!==e)&&(n=!1,s=e,t(e))}))})),c=d((({next:e})=>{const t=h(i,a);return t.subscribe((([t,s])=>{t===s&&e(s)})),()=>t.complete()})).pipe((({subscribe:e,next:t})=>{let s,n=!0;e((e=>{(n||s!==e)&&(n=!1,s=e,t(e))}))}));let l;a.pipe(m(200),y(void 0),(({subscribe:e,next:t})=>{const s=[];return e((e=>{2===s.length&&s.shift(),s.push(e),2===s.length&&t(s.slice())})),()=>{s.length=0}})).subscribe((([e])=>{l=e}));const u={menuListElementClickSpeed$:n,menuListElementClickSpeedChange$:i,playbackRate$:o,playbackRateChange$:a,videoSpeedChange$:c};return{...e,...u,dispose:()=>{lodash.values(u).forEach((e=>{e.complete()})),e.dispose()},getOldPlaybackRate:()=>l}},[T]=g("speed.NoSuchSpeedMenuItemElementError",(()=>class extends Error{constructor(e){const t=lodash.attempt((()=>w(e))),s=lodash.isError(t)?String(e):String(t);var n,r,o;super(`There is no such speed menu item as ${s}`),this.speed=e,o=void 0,(r="formattedSpeed")in(n=this)?Object.defineProperty(n,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[r]=o,this.formattedSpeed=s}})),A=e=>{const{query:t,videoElement:s,videoSpeedChange$:n,getOldActiveVideoSpeed:r,getAvailableSpeedValues:o,getActiveVideoSpeed:i}=e,a=async(e,r=200)=>{const o=t(e);if(null==o)throw new T(e);o.click();const i=t=>{if((t??s.playbackRate)!==e)throw new Error(`failed to set ${w(e)} video speed.`)},a=[u(n.pipe(m(Math.max(0,r||0))))];r>0&&a.push(new Promise(((e,t)=>setTimeout((()=>setTimeout(t,r)))))),await Promise.all(a).then(i).catch(i)},c=async()=>{await a(1)},l=async(e,t)=>{if(lodash.isNil(e)&&(e=!1),"boolean"==typeof e)e||1===s.playbackRate?await a(r()):await c();else{const s=o();switch(t){case S.MIN:await a(s[e]);break;case S.MAX:await a(s[s.length-1+e]);break;case S.CURRENT:default:{const t=s.indexOf(i());if(-1===t)throw new Error("Unexpected Error: The available speed values do not include the active speed value, this should be a bug, please report the issue on github!");await a(s[t+e])}}}},d=async e=>{try{await l(e,S.CURRENT)}catch(e){if(console.warn(e),!(e instanceof T))throw e}};return Object.assign(e,{set:a,force:async e=>{s.playbackRate=e},reset:c,toggle:l,step:d,increase:async()=>{await d(1)},decrease:async()=>{await d(-1)}})},O=()=>g("speed.speedContext"),L=()=>g("speed.buildArguments$",(()=>{return d().pipe((e=e=>e.settings.enabled,({subscribe:t,next:s})=>{const n=new Set;return t((t=>{const r=n.size;e(t)?n.add(t):n.delete(t),n.size!==r&&s([...n])})),()=>{n.clear()}}));var e})),M=async(e=lodash.identity)=>{const[t,s]=O();if(t)return t;let n,i;const[a]=g("lifeCycleComponentLoaded$",(()=>p(unsafeWindow,r.LifeCycleEventTypes.ComponentsLoaded))),[c]=L(),[l]=g("speed.videoChange$",(()=>((e,...t)=>d((({next:s})=>{e(...t,s)})))(o.videoChange).pipe(f((({aid:e,cid:t})=>e||t))))),[b]=g("speed.speedContext$",(()=>d((({next:t})=>h(l,c,a).subscribe((([s,r])=>{const[o]=O();o?.dispose(),i?.("context update");const a=new Promise(((e,t)=>{n=e,i=t}));Promise.all([Promise.all([x.custom.speedContainer(),x.query.video.element()]).then(n),a]).then((([,e])=>e)).then(k).then(C).then(A).then((e=>Object.assign(e,{videoIdObject:s,speedContext$:b,videoChange$:l}))).then(e(r)).then(t).catch((e=>console.error(e)))}))))));return b.subscribe(s),u(b)},$={name:"speed.keymap",displayName:"视频倍速 - 快捷键支持",author:{name:"JLoeve",link:"https://github.com/LonelySteve"},description:"\n\n为操作视频倍速提供快捷键支持:\n\n- 提高倍速\n- 降低倍速\n- 切换倍速\n\n若添加并启用了记忆倍速组件,则还会增加一个快捷键:\n\n- 清除倍速记忆\n ",setup:({addData:e,addHook:t})=>{const n=e=>async t=>{const s=await M();return await e(s),t.showTip(w(s.videoElement.playbackRate),"mdi-fast-forward"),!0};e("keymap.actions",(e=>{Object.assign(e,{videoSpeedIncrease:{displayName:"提高倍速",run:n((({increase:e})=>e()))},videoSpeedDecrease:{displayName:"降低倍速",run:n((({decrease:e})=>e()))},videoSpeedToggle:{displayName:"切换倍速",run:n((({toggle:e})=>{e()}))}})})),e("keymap.presets",(e=>{e.videoSpeedIncrease="shift > 》 arrowUp",e.videoSpeedDecrease="shift < 《 arrowDown",e.videoSpeedToggle="shift ? ?"})),t("speed.component.rememberVideoSpeed",{after:t=>{e("keymap.actions",(e=>{e.videoSpeedForget={displayName:"清除倍速记忆",run:lodash.debounce(n((async()=>{t.settings.enabled?t.options.individualRemember?(t.forgetSpeed(),await t.resetVideoSpeed(),s.Toast.success("已清除当前视频倍速记忆值",t.metadata.displayName,3e3)):s.Toast.error("选项「各视频分别记忆」已禁用,不能清除当前视频倍速记忆值",t.metadata.displayName,5e3):s.Toast.error("组件已禁用,不能清除当前视频倍速记忆值",t.metadata.displayName,5e3)})),200)}})),e("keymap.presets",(e=>{e.videoSpeedForget="shift : :"}))}})},commitHash:"757a595fd6822f725aaff6043359ce284fafa284",coreVersion:"2.1.9"};return t=t.plugin}()})); \ No newline at end of file From c08057da57b5c1a3bdb4f579ddae14ada1abe27b Mon Sep 17 00:00:00 2001 From: Grant Howard Date: Wed, 18 May 2022 23:15:28 +0800 Subject: [PATCH 08/78] Update bug_report.yml --- .github/ISSUE_TEMPLATE/bug_report.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index a445f2b21..90966bbed 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -72,7 +72,9 @@ body: id: logs attributes: label: 错误信息 - description: 脚本直接报告的错误信息, 或者浏览器开发者工具 (F12 或 Ctrl+Shift+I 召唤) 里 Console / 控制台 一栏的输出, 在过滤里填入 `-/^DevTools/ -jinkela -[Report -BY_CLIENT`, 剩下的信息就可以粘贴过来.
    + description: | + 脚本直接报告的错误信息, 或者浏览器开发者工具 (F12 或 Ctrl+Shift+I 召唤) 里 Console / 控制台 一栏的输出, 在过滤里填入 `-/^DevTools/ -jinkela -[Report -BY_CLIENT`, 剩下的信息就可以粘贴过来.
    + 如果是近期出问题, 并且其中包含 `couldn't load @require from URL 'https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js'`, 请看 #3337 的解答 render: shell placeholder: 请输入 validations: From bc268c1fd2aecdce4fa4f610d48c3efa6dc14a8c Mon Sep 17 00:00:00 2001 From: Grant Howard Date: Wed, 18 May 2022 23:17:13 +0800 Subject: [PATCH 09/78] Update bug_report.yml --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 90966bbed..3319359a9 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -74,7 +74,7 @@ body: label: 错误信息 description: | 脚本直接报告的错误信息, 或者浏览器开发者工具 (F12 或 Ctrl+Shift+I 召唤) 里 Console / 控制台 一栏的输出, 在过滤里填入 `-/^DevTools/ -jinkela -[Report -BY_CLIENT`, 剩下的信息就可以粘贴过来.
    - 如果是近期出问题, 并且其中包含 `couldn't load @require from URL 'https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js'`, 请看 #3337 的解答 + 如果是近期出问题, 并且其中包含 `couldn't load @require from URL 'https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js'`, 请看 [#3337](https://github.com/the1812/Bilibili-Evolved/issues/3337) 的解答 render: shell placeholder: 请输入 validations: From e842624c787ac70f322ab7b2b3833955b4725daf Mon Sep 17 00:00:00 2001 From: the1812 Date: Mon, 23 May 2022 00:10:00 +0800 Subject: [PATCH 10/78] Update dark styles (#3191) --- .../style/dark-mode/_dark-definitions.scss | 2 +- .../components/style/dark-mode/dark-mode.scss | 1 + .../style/dark-mode/dark-slice-16.scss | 405 ++++++++++++++++++ 3 files changed, 407 insertions(+), 1 deletion(-) create mode 100644 registry/lib/components/style/dark-mode/dark-slice-16.scss diff --git a/registry/lib/components/style/dark-mode/_dark-definitions.scss b/registry/lib/components/style/dark-mode/_dark-definitions.scss index f1f274c8f..26bdd3d4e 100644 --- a/registry/lib/components/style/dark-mode/_dark-definitions.scss +++ b/registry/lib/components/style/dark-mode/_dark-definitions.scss @@ -87,7 +87,7 @@ $vip-color: "FB7299"; @mixin to-white { filter: brightness(0) invert(1) !important; } -@mixin to-gray($invert: 0.7) { +@mixin to-gray($invert: 0.666) { filter: brightness(0) invert($invert) !important; } @mixin grayscale($value: 1) { diff --git a/registry/lib/components/style/dark-mode/dark-mode.scss b/registry/lib/components/style/dark-mode/dark-mode.scss index 6e4a5a7c9..848dc0abb 100644 --- a/registry/lib/components/style/dark-mode/dark-mode.scss +++ b/registry/lib/components/style/dark-mode/dark-mode.scss @@ -13,4 +13,5 @@ @import "./dark-slice-13.scss"; @import "./dark-slice-14.scss"; @import "./dark-slice-15.scss"; +@import "./dark-slice-16.scss"; @import "./dark-navbar.scss"; \ No newline at end of file diff --git a/registry/lib/components/style/dark-mode/dark-slice-16.scss b/registry/lib/components/style/dark-mode/dark-slice-16.scss new file mode 100644 index 000000000..4da9e5f3f --- /dev/null +++ b/registry/lib/components/style/dark-mode/dark-slice-16.scss @@ -0,0 +1,405 @@ +@import './dark-definitions'; + +#app .bg { + @include no-image(); +} +@mixin dyn-container-skeleton() { + &--skeleton { + @include background-color('4'); + } +} +.bili-dyn-live-users { + @include dyn-container-skeleton(); + @include background-color('4'); + &__title { + @include color('e'); + span { + @include color('a'); + } + } + &__more { + @include color('a'); + &::after { + @include border-color('a'); + } + &:hover { + @include theme-color(); + &::after { + @include theme-border-color(); + } + } + } + &__item { + &__face-container { + box-shadow: 0 0 0 1px var(--theme-color) !important; + } + &__uname { + @include color('e'); + } + &__title { + @include color('a'); + } + } +} +.bili-dyn-my-info { + @include dyn-container-skeleton(); + @include background-color('4'); + &__name { + @include color('e'); + } + &__stat__item { + &__count { + @include color('e'); + } + &:hover { + .bili-dyn-my-info__stat__item__count { + @include theme-color(); + } + } + &__label { + @include color('a'); + } + } +} +.bili-dyn-publishing { + @include dyn-container-skeleton(); + @include background-color('4'); + &__tools { + &__item { + &:hover { + @include to-theme('blue'); + } + &.emoji { + @include background-color(); + } + } + } + .bili-rich-textarea__inner { + @include background-color(); + @include color('e'); + &.empty::before { + @include color('a'); + } + } + .bili-dyn-publishing { + &__hint { + @include color('a'); + &::after { + @include color('6'); + } + } + &__action { + @include theme-background-color(); + @include foreground-color(); + &.disabled { + @include background-color('6'); + @include color('a'); + } + } + } +} +.bili-dyn-up-list { + @include dyn-container-skeleton(); + @include background-color('4'); + &__prev, + &__next { + @include to-gray(); + &.disabled { + opacity: 0.4 !important; + } + &:hover:not(.disabled) { + @include to-white(); + } + } + &__item { + &__face { + @include border-color(); + box-shadow: 0 0 0 1px #999 !important; + &.all { + @include theme-background-color('30'); + @include no-shadow(); + img { + @include to-theme('blue'); + } + } + } + &__name { + @include color('e'); + } + &.active { + .bili-dyn-up-list__item__face { + @include theme-background-color('30'); + box-shadow: 0 0 0 1px var(--theme-color) !important; + } + .bili-dyn-up-list__item__name { + @include theme-color(); + } + } + } +} +.bili-dyn-list-tabs { + @include dyn-container-skeleton(); + @include background-color('4'); + &__item { + @include color('e'); + &:hover, + &.active { + @include theme-color(); + } + } + &__highlight { + @include theme-background-color(); + } +} +.bili-dyn-list { + &__notification { + @include theme-background-color(); + @include foreground-color(); + } + .bili-dyn-item { + @include background-color('4'); + .bili-dyn-title { + &__text { + &:not([style*='color: rgb(251, 114, 153);']) { + @include color('e'); + } + &:hover { + @include theme-color(); + } + } + } + .bili-dyn-time { + @include color('a'); + &:hover { + @include theme-color(); + } + } + .bili-dyn-more { + &__btn { + &:hover { + @include to-theme('blue'); + } + } + + &__menu { + @include color('e'); + &__item { + &:hover { + @include theme-color(); + } + } + } + } + .bili-dyn-action { + @include color('a'); + &__icon { + @include to-gray(); + } + &.active, + &:hover { + @include theme-color(); + .bili-dyn-action__icon { + @include to-theme('blue'); + } + } + } + .bili-dyn-card-article, + .bili-dyn-card-common { + @include background-color('3'); + &:hover { + @include no-shadow(); + } + } + .bili-dyn-card-article, + .bili-dyn-card-pgc, + .bili-dyn-card-common, + .bili-dyn-card-live, + .bili-dyn-card-video { + @include border-color(); + &__body { + @include background-color('3'); + } + &__title { + @include color('e'); + } + &__desc, + &__stat { + @include color('a'); + } + &__tag { + &.state--1 { + @include theme-background-color(); + } + &.state--0 { + @include background-color('2'); + } + } + &__badge { + @include theme-background-color(); + } + &:hover { + .bili-dyn-card-article__title, + .bili-dyn-card-pgc__title, + .bili-dyn-card-common__title, + .bili-dyn-card-live__title, + .bili-dyn-card-video__title { + @include theme-color(); + } + } + } + .bili-dyn-topic { + &__card { + &:hover { + @include theme-background-color('20'); + } + } + &__icon, + &__text { + @include theme-color(); + } + } + .bili-rich-text { + &__content { + @include color('e'); + } + &-link, + &-topic { + @include theme-color(); + &::before { + @include to-theme('blue'); + } + &:hover { + @include theme-background-color('20'); + } + } + &-module { + @include color('e'); + &:hover { + @include theme-background-color('20'); + } + } + } + .bili-dyn-content { + &__orig { + &.reference { + @include background-color('2'); + } + } + } + .dyn-orig-author { + &__name { + @include color('e'); + &:hover { + @include theme-color(); + } + } + &__action { + @include color('a'); + } + &__following { + @include theme-border-color(); + @include theme-color(); + } + } + .bili-dyn-forward { + &__more { + @include color('a'); + @include border-color(); + } + &-publishing { + &__action { + &__count { + @include color('a'); + } + &__btn { + @include theme-background-color(); + @include foreground-color(); + } + } + &__emoji { + @include border-color(); + @include no-shadow(); + @include color('a'); + @include background-color('2'); + i { + @include to-gray(); + } + &:hover { + @include color('e'); + i { + @include to-white(); + } + } + } + &__editor { + @include border-color(); + @include background-color('2'); + &:focus-within { + @include theme-border-color(); + } + .bili-rich-textarea__inner { + @include color('e'); + @include background-color(); + &::before { + @include color('a'); + } + } + } + } + } + .bili-dyn-interaction { + &::before { + @include background-color('6'); + } + .bili-rich-text__content { + @include color('a'); + } + } + .bili-dyn-item { + &__extra { + @include border-color('6'); + } + &-fold { + @include color('a'); + &:hover { + @include theme-color(); + } + } + } + .dyn-reserve { + &__card { + @include background-color('3'); + } + &__title { + @include color('e'); + } + &__desc { + @include color('a'); + } + &__action button { + @include theme-background-color(); + @include foreground-color(); + &.check, + &.disabled { + @include background-color('6'); + @include color('a'); + } + } + } + } +} +.bili-dyn-list-loading { + @include background-color('4'); +} +.bili-popover { + &, + &__arrow { + @include border-color('8884'); + @include background-color('3'); + } +} +.bili-awesome-img { + &--sleepy { + @include background-color('28'); + } +} From c0cf8930990f6efcb4c4254e378ec0c0335aba10 Mon Sep 17 00:00:00 2001 From: the1812 Date: Mon, 23 May 2022 09:19:20 +0800 Subject: [PATCH 11/78] Update dark styles (#3191) --- .../style/dark-mode/dark-slice-16.scss | 258 +++++++++++++++++- 1 file changed, 244 insertions(+), 14 deletions(-) diff --git a/registry/lib/components/style/dark-mode/dark-slice-16.scss b/registry/lib/components/style/dark-mode/dark-slice-16.scss index 4da9e5f3f..42bd0d546 100644 --- a/registry/lib/components/style/dark-mode/dark-slice-16.scss +++ b/registry/lib/components/style/dark-mode/dark-slice-16.scss @@ -66,6 +66,7 @@ @include background-color('4'); &__tools { &__item { + &.active, &:hover { @include to-theme('blue'); } @@ -81,20 +82,24 @@ @include color('a'); } } - .bili-dyn-publishing { - &__hint { - @include color('a'); - &::after { - @include color('6'); - } + &-timing-setting { + @include background-color('2'); + &__label { + @include color('e'); } - &__action { - @include theme-background-color(); - @include foreground-color(); - &.disabled { - @include background-color('6'); - @include color('a'); - } + } + &__hint { + @include color('a'); + &::after { + @include color('6'); + } + } + &__action { + @include theme-background-color(); + @include foreground-color(); + &.disabled { + @include background-color('6'); + @include color('a'); } } } @@ -160,7 +165,7 @@ @include background-color('4'); .bili-dyn-title { &__text { - &:not([style*='color: rgb(251, 114, 153);']) { + &:not([style*='color:']) { @include color('e'); } &:hover { @@ -302,6 +307,20 @@ } } .bili-dyn-forward { + &__item { + @include border-color('6'); + } + &-item { + &__uname:not([style*='color:']) { + @include color('e'); + } + &__time { + @include color('a'); + } + &__action { + @include theme-color(); + } + } &__more { @include color('a'); @include border-color(); @@ -388,6 +407,31 @@ } } } +.bili-dyn-banner { + @include background-color('4'); + @include dyn-container-skeleton(); + &__title { + @include color('e'); + } +} +.topic-panel { + @include background-color('4'); + @include dyn-container-skeleton(); + &__nav-title { + @include color('e'); + } + .relevant-topic { + &::before { + @include to-theme('blue'); + } + &__title { + @include color('e'); + } + &__exposed { + @include color('a'); + } + } +} .bili-dyn-list-loading { @include background-color('4'); } @@ -397,9 +441,195 @@ @include border-color('8884'); @include background-color('3'); } + + &-modal { + &__footer::after { + @include border-color('5'); + } + &__button { + border: 1px solid; + @include color('e'); + @include background-color(); + @include border-color('8'); + &::before { + @include border-color(); + } + &:hover { + @include theme-color(); + @include theme-border-color(); + } + &.confirm:not(.disabled) { + @include theme-background-color(); + @include border-color(); + @include foreground-color(); + } + &.disabled { + @include background-color('5'); + @include border-color(); + @include color('a'); + } + } + } } .bili-awesome-img { &--sleepy { @include background-color('28'); } } +.bili-user-profile { + &, + &__error, + &__loading { + @include background-color('3'); + @include color('e'); + } + .bili-user-profile-view { + &__info { + &__uname:not([style*='color:']) { + @include color('e'); + } + &__stat { + @include color('a'); + span { + @include color('e'); + } + } + &__signature { + @include color('a'); + } + &__button { + &.follow { + @include border-color(); + @include theme-background-color(); + @include foreground-color(); + &.checked { + @include background-color('5'); + @include color('a'); + } + } + &.chat { + @include background-color(); + @include border-color('5'); + @include color('e'); + &:hover { + @include theme-border-color(); + @include theme-color(); + } + } + } + } + } +} +.bili-emoji { + @include color('e'); + &__list__item { + &:hover { + @include background-color('5'); + } + } + &__footer { + @include background-color(); + } + &__pkg { + &:hover, + &.active { + @include background-color('5'); + } + } +} +.bili-pics-uploader { + &__title { + @include color('e'); + } + &__desc { + @include color('a'); + } +} +.bili-at-popup { + @include background-color('3'); + @include color('e'); + @include border-color('8884'); + &__hint { + @include color('e'); + } + &__group-name { + @include color('a'); + } + &__user { + &-name { + @include color('e'); + } + &-fans { + @include color('a'); + } + &--selected { + @include background-color('5'); + } + } +} +.bili-create-poll { + &__opt__title { + @include color('e'); + } +} +.bili-input { + &, + &__inner { + @include background-color(); + @include color('e'); + } + &__count { + @include color('a'); + } + + &::before { + @include border-color('6'); + } + &:focus-within::before { + @include theme-border-color(); + } +} +.bili-radio { + &__inner { + @include border-color('a'); + @include background-color(); + &::after { + @include theme-background-color(); + } + } + &__label { + @include color('e'); + } + &.checked { + .bili-radio__inner { + @include theme-border-color(); + } + } +} +.bili-select-dropdown { + @include background-color('3'); + @include theme-shadow(); + &__item { + @include color('e'); + &:hover { + @include background-color('5'); + } + } +} +.bili-reserve { + &__type { + @include color('e'); + } + &__form { + &__title { + @include color('a'); + } + } +} +.bili-time-picker { + &__child { + &__unit { + @include color('a'); + } + } +} From f4220ebcc00737688683d8fcf1fe7ff6e90eade7 Mon Sep 17 00:00:00 2001 From: the1812 Date: Mon, 23 May 2022 22:55:01 +0800 Subject: [PATCH 12/78] Update dark styles (#3191) --- .../style/dark-mode/dark-slice-16.scss | 459 ++++++++++-------- 1 file changed, 257 insertions(+), 202 deletions(-) diff --git a/registry/lib/components/style/dark-mode/dark-slice-16.scss b/registry/lib/components/style/dark-mode/dark-slice-16.scss index 42bd0d546..397a53cfe 100644 --- a/registry/lib/components/style/dark-mode/dark-slice-16.scss +++ b/registry/lib/components/style/dark-mode/dark-slice-16.scss @@ -161,250 +161,250 @@ @include theme-background-color(); @include foreground-color(); } - .bili-dyn-item { - @include background-color('4'); - .bili-dyn-title { - &__text { - &:not([style*='color:']) { - @include color('e'); - } +} +.bili-dyn-item { + @include background-color('4'); + .bili-dyn-title { + &__text { + &:not([style*='color:']) { + @include color('e'); + } + &:hover { + @include theme-color(); + } + } + } + .bili-dyn-time { + @include color('a'); + &:hover { + @include theme-color(); + } + } + .bili-dyn-more { + &__btn { + &:hover { + @include to-theme('blue'); + } + } + + &__menu { + @include color('e'); + &__item { &:hover { @include theme-color(); } } } - .bili-dyn-time { - @include color('a'); - &:hover { - @include theme-color(); + } + .bili-dyn-action { + @include color('a'); + &__icon { + @include to-gray(); + } + &.active, + &:hover { + @include theme-color(); + .bili-dyn-action__icon { + @include to-theme('blue'); } } - .bili-dyn-more { - &__btn { - &:hover { - @include to-theme('blue'); - } - } - - &__menu { - @include color('e'); - &__item { - &:hover { - @include theme-color(); - } - } - } + } + .bili-dyn-card-article, + .bili-dyn-card-common { + @include background-color('3'); + &:hover { + @include no-shadow(); } - .bili-dyn-action { - @include color('a'); - &__icon { - @include to-gray(); - } - &.active, - &:hover { - @include theme-color(); - .bili-dyn-action__icon { - @include to-theme('blue'); - } - } - } - .bili-dyn-card-article, - .bili-dyn-card-common { + } + .bili-dyn-card-article, + .bili-dyn-card-pgc, + .bili-dyn-card-common, + .bili-dyn-card-live, + .bili-dyn-card-video { + @include border-color(); + &__body { @include background-color('3'); - &:hover { - @include no-shadow(); - } } - .bili-dyn-card-article, - .bili-dyn-card-pgc, - .bili-dyn-card-common, - .bili-dyn-card-live, - .bili-dyn-card-video { - @include border-color(); - &__body { - @include background-color('3'); - } - &__title { - @include color('e'); - } - &__desc, - &__stat { - @include color('a'); - } - &__tag { - &.state--1 { - @include theme-background-color(); - } - &.state--0 { - @include background-color('2'); - } - } - &__badge { + &__title { + @include color('e'); + } + &__desc, + &__stat { + @include color('a'); + } + &__tag { + &.state--1 { @include theme-background-color(); } + &.state--0 { + @include background-color('2'); + } + } + &__badge { + @include theme-background-color(); + } + &:hover { + .bili-dyn-card-article__title, + .bili-dyn-card-pgc__title, + .bili-dyn-card-common__title, + .bili-dyn-card-live__title, + .bili-dyn-card-video__title { + @include theme-color(); + } + } + } + .bili-dyn-topic { + &__card { &:hover { - .bili-dyn-card-article__title, - .bili-dyn-card-pgc__title, - .bili-dyn-card-common__title, - .bili-dyn-card-live__title, - .bili-dyn-card-video__title { - @include theme-color(); - } + @include theme-background-color('20'); } } - .bili-dyn-topic { - &__card { - &:hover { - @include theme-background-color('20'); - } + &__icon, + &__text { + @include theme-color(); + } + } + .bili-rich-text { + &__content { + @include color('e'); + } + &-link, + &-topic { + @include theme-color(); + &::before { + @include to-theme('blue'); } - &__icon, - &__text { + &:hover { + @include theme-background-color('20'); + } + } + &-module { + @include color('e'); + &:hover { + @include theme-background-color('20'); + } + } + } + .bili-dyn-content { + &__orig { + &.reference { + @include background-color('2'); + } + } + } + .dyn-orig-author { + &__name { + @include color('e'); + &:hover { @include theme-color(); } } - .bili-rich-text { - &__content { - @include color('e'); - } - &-link, - &-topic { - @include theme-color(); - &::before { - @include to-theme('blue'); - } - &:hover { - @include theme-background-color('20'); - } - } - &-module { - @include color('e'); - &:hover { - @include theme-background-color('20'); - } - } + &__action { + @include color('a'); } - .bili-dyn-content { - &__orig { - &.reference { - @include background-color('2'); - } - } + &__following { + @include theme-border-color(); + @include theme-color(); } - .dyn-orig-author { - &__name { + } + .bili-dyn-forward { + &__item { + @include border-color('6'); + } + &-item { + &__uname:not([style*='color:']) { @include color('e'); - &:hover { - @include theme-color(); - } + } + &__time { + @include color('a'); } &__action { - @include color('a'); - } - &__following { - @include theme-border-color(); @include theme-color(); } } - .bili-dyn-forward { - &__item { - @include border-color('6'); - } - &-item { - &__uname:not([style*='color:']) { - @include color('e'); - } - &__time { + &__more { + @include color('a'); + @include border-color(); + } + &-publishing { + &__action { + &__count { @include color('a'); } - &__action { - @include theme-color(); + &__btn { + @include theme-background-color(); + @include foreground-color(); } } - &__more { - @include color('a'); + &__emoji { @include border-color(); + @include no-shadow(); + @include color('a'); + @include background-color('2'); + i { + @include to-gray(); + } + &:hover { + @include color('e'); + i { + @include to-white(); + } + } } - &-publishing { - &__action { - &__count { + &__editor { + @include border-color(); + @include background-color('2'); + &:focus-within { + @include theme-border-color(); + } + .bili-rich-textarea__inner { + @include color('e'); + @include background-color(); + &::before { @include color('a'); } - &__btn { - @include theme-background-color(); - @include foreground-color(); - } - } - &__emoji { - @include border-color(); - @include no-shadow(); - @include color('a'); - @include background-color('2'); - i { - @include to-gray(); - } - &:hover { - @include color('e'); - i { - @include to-white(); - } - } - } - &__editor { - @include border-color(); - @include background-color('2'); - &:focus-within { - @include theme-border-color(); - } - .bili-rich-textarea__inner { - @include color('e'); - @include background-color(); - &::before { - @include color('a'); - } - } } } } - .bili-dyn-interaction { - &::before { + } + .bili-dyn-interaction { + &::before { + @include background-color('6'); + } + .bili-rich-text__content { + @include color('a'); + } + } + .bili-dyn-item { + &__extra { + @include border-color('6'); + } + &-fold { + @include color('a'); + &:hover { + @include theme-color(); + } + } + } + .dyn-reserve { + &__card { + @include background-color('3'); + } + &__title { + @include color('e'); + } + &__desc { + @include color('a'); + } + &__action button { + @include theme-background-color(); + @include foreground-color(); + &.check, + &.disabled { @include background-color('6'); - } - .bili-rich-text__content { @include color('a'); } } - .bili-dyn-item { - &__extra { - @include border-color('6'); - } - &-fold { - @include color('a'); - &:hover { - @include theme-color(); - } - } - } - .dyn-reserve { - &__card { - @include background-color('3'); - } - &__title { - @include color('e'); - } - &__desc { - @include color('a'); - } - &__action button { - @include theme-background-color(); - @include foreground-color(); - &.check, - &.disabled { - @include background-color('6'); - @include color('a'); - } - } - } } } .bili-dyn-banner { @@ -436,6 +436,7 @@ @include background-color('4'); } .bili-popover { + @include no-shadow(); &, &__arrow { @include border-color('8884'); @@ -632,4 +633,58 @@ @include color('a'); } } + .bili-input { + &__suffix { + .bili-picker-input__suffix--up { + @include theme-border-color(); + } + } + } +} +.bili-date-picker { + &-input { + &__suffix--calendar-active { + @include to-theme('blue'); + } + } + &__header { + @include border-color('5'); + &__label { + @include color('a'); + } + button i { + @include border-color('a'); + } + } + &__body { + thead { + tr th { + @include color('a'); + } + } + tbody { + tr td { + @include color('e'); + &.disabled { + @include color('5'); + } + &.active { + @include theme-color(); + @include theme-border-color(); + } + } + } + } +} +.bili-picker-panel { + @include background-color('3'); + @include border-color('8884'); + .bili-picker { + &__option { + @include color('e'); + &.active { + @include theme-color(); + } + } + } } From 5522c12c4b50378b368da57b9e7c88540f10371b Mon Sep 17 00:00:00 2001 From: the1812 Date: Mon, 23 May 2022 23:04:18 +0800 Subject: [PATCH 13/78] Fix z-index --- registry/lib/components/style/dark-mode/dark-slice-16.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/registry/lib/components/style/dark-mode/dark-slice-16.scss b/registry/lib/components/style/dark-mode/dark-slice-16.scss index 397a53cfe..f02418d85 100644 --- a/registry/lib/components/style/dark-mode/dark-slice-16.scss +++ b/registry/lib/components/style/dark-mode/dark-slice-16.scss @@ -62,6 +62,7 @@ } } .bili-dyn-publishing { + z-index: 1; // 下面的 to-theme filter 会改变层级, 这里修复一下 @include dyn-container-skeleton(); @include background-color('4'); &__tools { From c4c9fad42aa8102045f76b8cc7f4911aa8ff3e8d Mon Sep 17 00:00:00 2001 From: the1812 Date: Tue, 24 May 2022 23:10:45 +0800 Subject: [PATCH 14/78] Fix clean up too early --- .../components/utils/dev-client/Action.vue | 31 +++---------------- .../lib/components/utils/dev-client/client.ts | 11 ++++--- .../components/utils/dev-client/converter.ts | 24 ++++++++++++++ .../lib/components/utils/dev-client/index.ts | 8 +++-- .../components/utils/dev-client/options.ts | 3 +- 5 files changed, 44 insertions(+), 33 deletions(-) create mode 100644 registry/lib/components/utils/dev-client/converter.ts diff --git a/registry/lib/components/utils/dev-client/Action.vue b/registry/lib/components/utils/dev-client/Action.vue index 4194e7d20..69ed5d8d2 100644 --- a/registry/lib/components/utils/dev-client/Action.vue +++ b/registry/lib/components/utils/dev-client/Action.vue @@ -21,35 +21,14 @@ diff --git a/src/components/settings-panel/SettingsPanel.vue b/src/components/settings-panel/SettingsPanel.vue index 1ac797ba9..3ca08514f 100644 --- a/src/components/settings-panel/SettingsPanel.vue +++ b/src/components/settings-panel/SettingsPanel.vue @@ -222,19 +222,25 @@ export default { this.componentDetailOpen = true openHooks.after(component.name) }, - updateRenderedComponents() { + async updateRenderedComponents() { + const textMap: Record = Object.fromEntries( + await Promise.all(components.map(async c => [c.name, ([ + c.name, + c.displayName, + c.tags.map(t => `${t.name}\n${t.displayName}`).join('\n'), + await getDescriptionText(c), + ]).join('\n').toLowerCase()])), + ) const internalFiltered = components.filter(c => { if (c.hidden) { return false } if (this.searchKeyword) { - const text = [ - c.name, - c.displayName, - c.tags.map(t => `${t.name}\n${t.displayName}`).join('\n'), - getDescriptionText(c), - ] - return text.join('\n').toLowerCase().includes(this.searchKeyword.toLowerCase()) + const text = textMap[c.name] + if (!text) { + return false + } + return text.includes(this.searchKeyword.toLowerCase()) } return true }) diff --git a/src/components/settings-panel/index.en-US.md b/src/components/settings-panel/index.en-US.md new file mode 100644 index 000000000..b09817543 --- /dev/null +++ b/src/components/settings-panel/index.en-US.md @@ -0,0 +1 @@ +TODO: en-US doc \ No newline at end of file diff --git a/src/components/settings-panel/index.en-US.ts b/src/components/settings-panel/index.en-US.ts new file mode 100644 index 000000000..96fc78f41 --- /dev/null +++ b/src/components/settings-panel/index.en-US.ts @@ -0,0 +1,11 @@ +import { Translation } from '@/components/i18n/types' + +export const map = new Map([ + ['通用设置', 'General'], + ['实验性', 'Experimental'], + ['通用', 'General'], + ['开发者模式', 'Dev mode'], + ['辅助颜色', 'Accent color'], + ['功能加载模式', 'Script loading mode'], + ['样式加载模式', 'Style loading mode'], +]) diff --git a/src/components/settings-panel/desc.md b/src/components/settings-panel/index.md similarity index 100% rename from src/components/settings-panel/desc.md rename to src/components/settings-panel/index.md diff --git a/src/components/settings-panel/index.ts b/src/components/settings-panel/index.ts index 53ed6a357..8b2df14a4 100644 --- a/src/components/settings-panel/index.ts +++ b/src/components/settings-panel/index.ts @@ -11,7 +11,6 @@ import { OptionsOfMetadata, } from '../define' import { provideActions } from './external-actions' -import description from './desc.md' export const WidgetsPlugin = 'widgets' @@ -98,23 +97,9 @@ export const component = defineComponentMetadata({ name: 'settingsPanel', displayName: '通用设置', configurable: false, - description, entry, options, tags: [componentsTags.general], - i18n: { - 'en-US': { - map: [ - ['通用设置', 'General'], - ['实验性', 'Experimental'], - ['通用', 'General'], - ['开发者模式', 'Dev mode'], - ['辅助颜色', 'Accent color'], - ['功能加载模式', 'Script loading mode'], - ['样式加载模式', 'Style loading mode'], - ], - }, - }, plugin: { displayName: '设置面板 - 功能扩展', setup: () => { diff --git a/src/components/settings-panel/sub-pages/online-registry/RegistryItem.vue b/src/components/settings-panel/sub-pages/online-registry/RegistryItem.vue index a7b06388d..b9b7d2976 100644 --- a/src/components/settings-panel/sub-pages/online-registry/RegistryItem.vue +++ b/src/components/settings-panel/sub-pages/online-registry/RegistryItem.vue @@ -40,19 +40,19 @@