From 027ca9207fb55fa138462df1b46dd0d75d60c12e Mon Sep 17 00:00:00 2001 From: the1812 Date: Thu, 24 Oct 2019 10:53:20 +0800 Subject: [PATCH] Add blackboards --- bilibili-evolved.offline.user.js | 4 +- bilibili-evolved.preview-offline.user.js | 4 +- bilibili-evolved.preview.user.js | 2 +- bilibili-evolved.user.js | 2 +- min/bundle.json | 2 +- min/bundle.zip | Bin 1397290 -> 1400131 bytes min/simple-home.vue.min.js | 2 +- src/activity/feeds-apis.ts | 2 +- .../simplify-home/simple-home/simple-home.vue | 165 +++++++++++++++++- 9 files changed, 171 insertions(+), 12 deletions(-) diff --git a/bilibili-evolved.offline.user.js b/bilibili-evolved.offline.user.js index 494d42cfe..e277bbc52 100644 --- a/bilibili-evolved.offline.user.js +++ b/bilibili-evolved.offline.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name Bilibili Evolved (Offline) -// @version 461.26 +// @version 461.33 // @description Bilibili Evolved 的离线版, 所有功能都已内置于脚本中. // @author Grant Howard, Coulomb-G // @copyright 2019, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G) @@ -1171,7 +1171,7 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/settings-tooltip.min.js"] = (()=>{return(e,a)=>{const n={useDefaultPlayerMode:`控制是否使用默认播放器模式, 可以为常规, 宽屏, 网页全屏全屏.`,defaultPlayerMode:`设置默认的播放器模式.`,applyPlayerModeOnPlay:`是否在播放时应用模式, 若选择否就会在未开始播放时就应用.`,useDefaultPlayerLayout:`设置默认的播放器布局, 尽量在相应的页面里设置(比如在番剧播放页面设置番剧播放器布局), 否则可能没有效果.\n- 旧版: 传统布局\n- 新版: 视频区默认的新版布局\n注: 旧版布局中, 很多脚本功能将不适用.`,defaultPlayerLayout:`设置视频区的布局.`,defaultBangumiLayout:`设置番剧区的布局.`,useDefaultVideoQuality:`进入视频时自动选择指定的画质, 若视频最高画质低于所选画质, 则使用视频的最高画质.`,defaultVideoQuality:`设定自动选择的视频画质.`,autoLightOff:`首次播放时, 自动进入关灯模式, 并在播放结束后自动开灯.`,useDefaultDanmakuSettings:`设置默认是否开启弹幕, 以及是否记住防挡字幕和智能防挡弹幕.`,enableDanmaku:`控制弹幕是否默认开启.`,rememberDanmakuSettings:`控制是否记住弹幕设置, 包括防挡字幕和智能防挡弹幕. 在播放器中改动这些设置后, 每个视频都会默认使用这些设置.`,expandDanmakuList:`新版播放页面中, 弹幕列表默认收起以显示推荐的其他视频. 启用此功能可在每次加载视频时自动展开弹幕列表.`,expandDescription:`长的视频简介默认会被折叠, 启用此功能可以强制展开完整的视频简介.`,autoPlay:`进入视频页面时自动开始播放视频.`,autoContinue:`播放视频时如果检测到历史记录信息(上次看到...消息), 则自动跳转到相应的时间播放.`,skipChargeList:`自动跳过视频结尾的充电鸣谢.`,framePlayback:`在播放器的时间右边增加两个按钮, 用于精细调整视频时间. 支持键盘快捷键Shift + 左/右方向键. (旧版播放器只能用键盘快捷键, 不会显示按钮)`,playerFocus:`进入视频/番剧页面时, 自动定位到播放器.`,playerFocusOffset:`定位时的竖直偏移量, 单位为像素(px).`,customStyleColor:`设定顶栏(样式调整启用时)和夜间模式使用的主题色, 可以点击颜色预览的圆圈打开色板, 其中含有预定义的16种主题色, 也可以在右侧的文本框直接输入任何有效的16进制颜色值(#rrggbb#rgb).`,useNewStyle:`主要会改变顶栏的样式, 并有一些其他地方的界面微调:\n- 为播放器增加主题色投影\n- 可控制顶栏对横幅的透明度\n- 使播放器按钮垂直对齐\n- 使部分搜索栏的提示文字的颜色更清晰\n- 隐藏播放页面的"返回旧版"侧栏\n- 修复直播间一些文字初始状态不正确\n- 窄屏幕下强制保留弹幕发送栏`,blurBackgroundOpacity:`设置顶栏对横幅的透明度(0~1), 数值越高顶栏越淡, 当横幅关闭时此选项无效.`,useDarkStyle:`夜间模式更适合光线暗的环境, 并会大量应用主题颜色.`,darkSchedule:`设置一个使用夜间模式的时间段, 进入/离开此时间段时, 会自动开启/关闭夜间模式.\n结束时间小于起始时间时将视为次日, 如18:006:00表示晚上18:00到次日6:00.`,darkScheduleStart:`设置计划时段的起始时间.`,darkScheduleEnd:`设置计划时段的结束时间.`,compactLayout:`设置首页是否使用紧凑布局, 视频的间距会减小并削去圆角, 分区栏的图标会使用高清重制版. 目前仅支持首页, 其他分区的样式后续会添加.`,useCommentStyle:`- 删除热评头像下方的关注按钮\n- 删除用户的等级标识\n- 删除发送源信息(来自安卓客户端这种)\n- 发送时间移动到右上角\n- 位图图标全部换用矢量图标, 高分屏不会模糊\n注: 关注和等级可以通过鼠标停留在头像上, 在弹出的资料卡小窗中查看.`,simplifyLiveroom:`- 隐藏姥爷图标\n- 隐藏粉丝勋章\n- 隐藏活动头衔\n- 隐藏用户等级\n- 隐藏舰长图标\n- 隐藏全区广播\n- 隐藏欢迎信息 (xxx姥爷进入直播间)\n- 隐藏抽奖提示 (开通舰长, 小飞船抽奖等)\n- 禁用直播间皮肤\n每一项都可以在附加功能中单独选择是否隐藏.`,overrideNavBar:`开启后, 在主站中总是把搜索框置于顶栏, 如果页面里没有搜索栏则不会显示.`,showBanner:`控制是否显示主站顶部的横幅`,preserveRank:`控制是否在搜索框左侧显示排行榜图标.`,blurVideoControl:`模糊视频控制栏背景, 原版的阴影效果将无效.`,customControlBackground:`给视频控制栏附上半透明的黑色, 代替原来的阴影.`,customControlBackgroundOpacity:`设置控制栏着色的黑色不透明度(0~1), 数值越大黑色越浓.`,harunaScale:`根据屏幕DPI缩放直播看板娘的大小以提高像素的清晰度.`,removeLiveWatermark:`删除观看直播时角落的水印.`,removeVideoTopMask:`删除视频里鼠标经过时出现在右上角的覆盖层.`,removeAds:`删除站内的各种广告. 包括首页的推广模块, 手机app推荐, 视频页面右侧的广告等.`,watchLaterRedirect:`将稍后再看的链接重定向为普通播放网址, 以使用新版播放页面.`,favoritesRedirect:`将个人空间收藏夹里的视频重定向为直链, 而不是收藏夹播单链接.`,hideTopSearch:`将搜索框的推荐词替换为搜索.`,fullTweetsTitle:`在顶栏的动态预览框中, 总是展开完整的标题.`,fullPageTitle:`在视频选集列表中, 总是展开完整的标题.`,showDeadVideoTitle:`在个人空间中, 为已失效视频恢复标题和封面.`,useBiliplusRedirect:`将失效视频重定向到BiliPlus.`,biliplusRedirect:`在视频/番剧/空间中, 附加功能"转到BiliPlus", 点击可以转到BiliPlus上对应的页面.`,imageResolution:`根据屏幕DPI请求更高分辨率的图片, 例如DPI缩放200%则请求2倍的分辨率, 加载时间也会相应变长一些.`,oldTweets:`将新版动态的链接换为旧版动态, 同时可在附加功能中在新旧动态间切换.`,touchNavBar:`删除顶栏右侧的一级链接(从大会员历史), 以方便触屏设备快速预览信息. 被删除的链接可从各预览中的查看更多进入.`,comboLike:`为素质三连(长按点赞)启用触摸支持.`,touchVideoPlayer:`增大控制栏的按钮间距, 使触摸操作更准确. 并为播放器启用触摸支持:\n- 左右滑动可调整进度\n- 上下滑动可调整音量\n- 进度调整可在左上角和右上角取消\n- 在不同位置滑动, 可以使用3档不同的灵敏度.`,touchVideoPlayerAnimation:`决定是否要对触摸调整的提示框使用出现/消失动画, 此动画可能导致掉帧.`,touchVideoPlayerDoubleTapControl:`将操作方式更改为: 单击显示/隐藏控制栏, 双击播放/暂停.`,toast:`允许在网页左下角显示来自本脚本的消息, 如更新提醒, 错误提示等.`,toastInternalError:`开启后, 错误消息将显示详细的技术性错误信息及堆栈跟踪, 这通常用于准确地确定问题发生的原因, 所以报告问题时这些信息会非常有用.`,useCache:`使用缓存以提高脚本的加载速度.`};function t(e){const a=e.querySelector("input");if(a){return a.getAttribute("key")}return null}(async()=>{a.applyStyle("settingsTooltipStyle");const e=await SpinQuery.select(()=>document.querySelector(".gui-settings-tooltip"));document.querySelectorAll(".gui-settings-content>ul>li").forEach(a=>{a.addEventListener("mouseover",()=>{const s=n[t(a)];if(s!==undefined){e.innerHTML=s;e.classList.add("show")}});a.addEventListener("mouseout",()=>{e.classList.remove("show")})})})();return{export:{toolTips:n}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/settings-tooltip.zh-CN.min.js"] = (()=>{return(a,n)=>{const e=new Map([["useDefaultPlayerMode",`控制是否使用默认播放器模式, 可以为常规, 宽屏, 网页全屏全屏.`],["defaultPlayerMode",`设置默认的播放器模式.`],["applyPlayerModeOnPlay",`是否在播放时应用模式, 若选择否就会在未开始播放时就应用.`],["useDefaultPlayerLayout",`设置默认的播放器布局, 尽量在相应的页面里设置(比如在番剧播放页面设置番剧播放器布局), 否则可能没有效果.\n- 旧版: 传统布局\n- 新版: 视频区默认的新版布局\n注: 旧版布局中, 很多脚本功能将不适用.`],["defaultPlayerLayout",`设置视频区的布局.`],["defaultBangumiLayout",`设置番剧区的布局.`],["useDefaultVideoQuality",`进入视频时自动选择指定的画质, 若视频最高画质低于所选画质, 则使用视频的最高画质.`],["defaultVideoQuality",`设定自动选择的视频画质.`],["autoLightOff",`首次播放时, 自动进入关灯模式, 并在播放结束后自动开灯.`],["useDefaultDanmakuSettings",`设置默认是否开启弹幕, 以及是否记住防挡字幕和智能防挡弹幕.`],["enableDanmaku",`控制弹幕是否默认开启.`],["rememberDanmakuSettings",`控制是否记住弹幕设置, 包括防挡字幕和智能防挡弹幕. 在播放器中改动这些设置后, 每个视频都会默认使用这些设置.`],["expandDanmakuList",`新版播放页面中, 弹幕列表默认收起以显示推荐的其他视频. 启用此功能可在每次加载视频时自动展开弹幕列表.`],["expandDescription",`长的视频简介默认会被折叠, 启用此功能可以强制展开完整的视频简介.`],["autoPlay",`进入视频页面时自动开始播放视频.`],["autoContinue",`播放视频时如果检测到历史记录信息(上次看到...消息), 则自动跳转到相应的时间播放.`],["skipChargeList",`自动跳过视频结尾的充电鸣谢.`],["framePlayback",`在播放器的时间右边增加两个按钮, 用于精细调整视频时间. 支持键盘快捷键Shift+/. (旧版播放器只能用键盘快捷键, 不会显示按钮)`],["playerFocus",`进入视频/番剧页面时, 自动定位到播放器.`],["playerFocusOffset",`定位时的竖直偏移量, 单位为像素(px).`],["customStyleColor",`设定顶栏(自定义顶栏启用时)和夜间模式使用的主题色, 可以点击颜色预览的圆圈打开色板, 其中含有预定义的16种主题色, 也可以在右侧的文本框直接输入任何有效的16进制颜色值(#rrggbb#rgb).`],["useNewStyle",`主要会改变顶栏的样式, 并有一些其他地方的界面微调:\n- 为播放器增加主题色投影\n- 可控制顶栏对横幅的透明度\n- 使播放器按钮垂直对齐\n- 使部分搜索栏的提示文字的颜色更清晰\n- 隐藏播放页面的"返回旧版"侧栏\n- 修复直播间一些文字初始状态不正确\n- 窄屏幕下强制保留弹幕发送栏`],["blurBackgroundOpacity",`设置顶栏对横幅的透明度(0~1), 数值越高顶栏越淡, 当横幅关闭时此选项无效.`],["useDarkStyle",`夜间模式更适合光线暗的环境, 并会大量应用主题颜色.`],["darkSchedule",`设置一个使用夜间模式的时间段, 进入/离开此时间段时, 会自动开启/关闭夜间模式.\n结束时间小于起始时间时将视为次日, 如18:006:00表示晚上18:00到次日6:00.`],["darkScheduleStart",`设置计划时段的起始时间.`],["darkScheduleEnd",`设置计划时段的结束时间.`],["compactLayout",`设置首页是否使用紧凑布局, 视频的间距会减小, 分区栏的图标会使用高清重制版.`],["useCommentStyle",`- 删除热评头像下方的关注按钮\n- 删除用户的等级标识\n- 删除发送源信息(来自安卓客户端这种)\n- 删除用户名右边的勋章\n- 删除评论区顶部的横幅\n- 发送时间移动到右上角\n- 位图图标全部换用矢量图标, 高分屏不会模糊\n- 投票仅显示链接, 隐藏下面的大框.\n注: 关注和等级可以通过鼠标停留在头像上, 在弹出的资料卡小窗中查看.`],["simplifyLiveroom",`- 隐藏老爷图标\n- 隐藏粉丝勋章\n- 隐藏活动头衔\n- 隐藏用户等级\n- 隐藏舰长图标\n- 隐藏全区广播\n- 隐藏欢迎信息 (xxx老爷进入直播间)\n- 隐藏礼物弹幕 (仅弹幕列表, 特殊效果如节奏风暴不受影响)\n- 隐藏上舰提示 (弹幕列表里的 xxx开通了舰长)\n- 隐藏付费礼物 (播放器下面的各种金瓜子礼物, 以及许愿瓶, 上舰等)\n- 隐藏活动横幅\n- 隐藏抽奖提示 (开通舰长, 小飞船抽奖等)\n- 禁用直播间皮肤\n每一项都可以在附加功能中单独选择是否隐藏.`],["preserveRank",`控制是否在搜索框左侧显示排行榜图标.`],["blurVideoControl",`模糊视频控制栏背景, 原版的阴影效果将无效.`],["customControlBackground",`给视频控制栏附上半透明的黑色, 代替原来的阴影.`],["customControlBackgroundOpacity",`设置控制栏着色的黑色不透明度(0~1), 数值越大黑色越浓.`],["harunaScale",`根据屏幕DPI缩放直播看板娘的大小以提高像素的清晰度.`],["removeLiveWatermark",`删除观看直播时角落的水印.`],["removeVideoTopMask",`删除视频里鼠标经过时出现在右上角的覆盖层.`],["removeAds",`删除站内的各种广告. 包括首页的推广模块, 手机app推荐, 视频页面右侧的广告等.`],["showBlockedAdsTip",`删除首页推广模块的广告后显示"🚫已屏蔽广告"来替代空白区域.`],["watchLaterRedirect",`将稍后再看的链接重定向为普通播放网址, 以使用新版播放页面.`],["favoritesRedirect",`将个人空间收藏夹里的视频重定向为直链, 而不是收藏夹播单链接.`],["hideTopSearch",`将搜索框的推荐词替换为搜索.`],["fullTweetsTitle",`在顶栏的动态预览框中, 总是展开完整的视频标题.`],["fullPageTitle",`在视频选集列表中, 总是展开完整的标题.`],["showDeadVideoTitle",`在个人空间中, 为已失效视频恢复标题和封面.`],["useBiliplusRedirect",`将失效视频重定向到BiliPlus.`],["deadVideoTitleProvider",`失效视频的信息来源: 稍后再看较稳定, 但需要一点时间来查询; BiliPlus速度更快, 但是因为没写完暂不开放.`],["biliplusRedirect",`在视频/番剧/空间中, 附加功能"转到BiliPlus", 点击可以转到BiliPlus上对应的页面.`],["imageResolution",`根据屏幕DPI请求更高分辨率的图片, 例如DPI缩放200%则请求2倍的分辨率, 加载时间也会相应变长一些.`],["oldTweets",`将新版动态的链接换为旧版动态, 同时可在附加功能中在新旧动态间切换.`],["touchNavBar",`删除顶栏右侧的一级链接(从大会员历史), 以方便触屏设备快速预览信息. 被删除的链接可从各预览中的查看更多进入.`],["comboLike",`为素质三连(长按点赞)启用触摸支持.`],["touchVideoPlayer",`增大控制栏的按钮间距, 使触摸操作更准确. 并为播放器启用触摸支持:\n- 左右滑动可调整进度\n- 上下滑动可调整音量\n- 进度调整可在左上角和右上角取消\n- 在不同位置滑动, 可以使用3档不同的灵敏度.`],["touchVideoPlayerAnimation",`决定是否要对触摸调整的提示框使用出现/消失动画, 此动画可能导致掉帧.`],["touchVideoPlayerDoubleTapControl",`将操作方式更改为: 单击显示/隐藏控制栏, 双击播放/暂停.`],["toast",`允许在网页左下角显示来自本脚本的消息, 如更新提醒, 错误提示等.`],["toastInternalError",`开启后, 错误消息将显示详细的技术性错误信息及堆栈跟踪, 这通常用于准确地确定问题发生的原因, 所以报告问题时这些信息会非常有用.`],["useCache",`使用缓存以提高脚本的加载速度.`],["outerWatchlater",`将视频页面菜单里的稍后再看移到外面.`],["i18n",`为界面中一些常用文本提供翻译.`],["i18nLanguage",`翻译的目标语言.`],["customNavbar",`启用自定义顶栏, 替代原版的顶栏, 仅对主站生效, 不影响直播/相簿/会员购等.`],["customNavbarSeasonLogo",`是否使用季节Logo代替普通的Logo.`],["customNavbarFill",`是否使用主题色填充顶栏.`],["allNavbarFill",`是否使用主题色填充其他的顶栏, 包括直播/相簿/会员购等.`],["customNavbarShadow",`是否为顶栏添加一层阴影效果.`],["customNavbarCompact",`是否为顶栏使用更紧凑的布局, 紧凑布局将使用更小的间距, 以及在视频标题过长时用...省略后面的部分.`],["customNavbarBlur",`是否在顶部横幅存在时, 使用背景模糊效果.`],["playerShadow",`为播放器添加主题色投影.`],["narrowDanmaku",`在网页全屏时, 即使宽度过小也强制保留弹幕发送栏, 注意这可能导致右侧的功能按钮挤出边界.`],["hideOldEntry",`隐藏播放页右侧的返回旧版入口.`],["hideBanner",`隐藏首页顶部横幅.`],["allowJumpContinue",`当历史记录的集数与当前打开的不一致时, 仍然自动跳转.`],["hideBangumiReviews",`隐藏番剧播放页面里的点评板块.`],["videoScreenshot",`启用视频快速截图, 将在播放器的时间右边增加一个截图按钮. 支持键盘快捷键Ctrl+Alt+C. (旧版播放器只能用键盘快捷键, 不会显示按钮)\n如果弹幕渲染类型选择了Canvas, 则可以再按住Shift键来截取带弹幕的截图. 也就是鼠标操作为"按住Shift点击截图按钮", 键盘操作为"Ctrl+Shift+Alt+C".`],["filenameFormat",`自定义文件命名格式, 作用于下载弹幕, 下载视频, 视频截图, 查看封面.\n可以使用的变量有:\n- title: 视频标题/直播间标题\n- ep: 选集标题\n- aid: AV号\n- cid: CID (每个视频的唯一编号, AV号对应的视频可能有多集)\n- lid: 直播间号\n- y/M/d: 年/月/日\n- h/m/s/ms: 时/分/秒/毫秒\n\n默认的格式是[title][ - ep], 标题+选集标题, 当没有选集标题时则只有标题.\n\n变量要放在方括号里, 而方括号里的其他内容会在变量有效时出现. 比如格式如果写成[title] - [ep], 那么即使没有选集标题, 中间那个 - 也会出现在文件名里. 如果像默认那样放在方括号里, 没有选集标题时, - 也不会出现.\n\n例如, 想要标题+AV号+时间的格式, 可以设定为[title][ AVaid] [y]-[M]-[d] [h]-[m]-[s], 能够得到类似xxxx AV23333 2019-05-29 19-59-44的名字.`],["noLiveAutoplay",`禁止直播首页的推荐直播间自动开始播放.`],["hideHomeLive",`隐藏直播首页的推荐直播间板块.`],["sideBarOffset",`设定侧栏的垂直偏移量, 单位为百分比, 允许的范围为 -40% ~ 40%.`],["hideCategory",`隐藏主站的分区栏, 分区仍然可以从顶栏的主站菜单中进入.`],["foldComment",`动态里查看评论区时, 在底部添加一个收起评论按钮, 这样就不用再回到上面收起了.`],["useDefaultVideoSpeed",`设置是否使用默认视频播放速度.`],["defaultVideoSpeed",`设置默认的视频播放速度.`],["seedsToCoins",`在附加功能中添加瓜子换硬币的按钮, 点击可以将700银瓜子换成1个硬币, 每天限1次.`],["autoDraw",`在当前直播间有抽奖活动时, 自动点击抽奖按钮. 注意只适用于少量抽奖, 那种99+限量抽奖可能跟不上其他人的手速(`],["keymap",`为视频播放器启用更多的快捷键:\n- w 网页全屏\n- t 宽屏\n- r 循环播放\n- m 静音\n- d 弹幕开关\n- l 点赞\n- c 投币\n- s 收藏\n- Shift + w 稍后再看\n- Shift + ↑/↓ / Shift + ,/. 播放速度调整\n- Shift + / 重置播放速度`],["doubleClickFullscreen",`允许双击播放器切换全屏, 请注意不能与播放器触摸支持-启用双击控制一同使用.`],["ajaxHook",`是否启用 Ajax Hook API, 其他插件或附加功能能够通过此 API 获取 Ajax 请求的信息.`],["scriptLoadingMode",`脚本功能的加载模式:\n- 同时: 与b站页面同时加载\n- 延后: 优先加载b站页面, 在b站页面加载完成后再开始加载脚本功能\n- 同时(自动): 根据页面自动选择加载模式, 默认采用同时模式\n- 延后(自动): 根据页面自动选择加载模式, 默认采用延后模式`],[`fullActivityContent`,`不管内容多长, 总是完全展开动态的内容.`],[`activityImageSaver`,`右键点击动态大图时, 如果这张图的右键菜单被禁止了, 将弹出带图片的消息方便保存.`],[`selectableColumnText`,`使专栏的文字可以选择.`],[`watchlaterExpireWarnings`,`稍后再看里的视频添加后60天会过期自动删除. 开启此功能可在期限不足14天时在稍后再看列表里显示过期警告.`],[`miniPlayerTouchMove`,`使迷你播放器的拖动条可以触摸拖动.`]]);return{export:{toolTips:e}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/show-dead-video-title.min.js"] = (()=>{return(e,t)=>{(async()=>{if(!document.URL.startsWith("https://space.bilibili.com")){return}class t{}class i extends t{convertToDeadVideoInfo(e,t){return{aid:e,title:t.title,cover:t.pic}}async queryInfo(e){const t=[];if(e.length<=i.MaxCountPerRequest){const s=await Ajax.getJson(`${i.BiliplusHost}/api/aidinfo?aid=${e.join(",")}`);if(s.code===0){t.push(...e.map(e=>{if(e in s.data){return this.convertToDeadVideoInfo(e,s.data[e])}else{return{aid:e,title:"已失效视频",cover:""}}}))}else{console.error(`[显示失效视频信息] Biliplus API 未成功. message=${s.message}`)}}else{t.push(...await this.queryInfo(e.slice(0,i.MaxCountPerRequest)));t.push(...await this.queryInfo(e.slice(i.MaxCountPerRequest)))}return t}}i.BiliplusHost=`https://hd.biliplus.com`;i.MaxCountPerRequest=30;class s extends t{async toggleWatchlater(e,t){for(const i of t){await Ajax.postTextWithCredentials(`https://api.bilibili.com/x/v2/history/toview/${e?"add":"del"}`,`aid=${i}&csrf=${getCsrf()}}`)}}async queryInfo(e){const t=[];await this.toggleWatchlater(true,e);const i=await Ajax.getJsonWithCredentials("https://api.bilibili.com/x/v2/history/toview/web");if(i.code===0){const s=i.data.list.map(e=>{return{aid:e.aid.toString(),title:e.title,cover:e.pic}});t.push(...e.map(e=>s.find(t=>t.aid===e)).filter(e=>e!==undefined));await this.toggleWatchlater(false,e)}else{console.error(`[显示失效视频信息] 稍后再看 API 未成功. message=${i.message}`)}return t}}const a=await SpinQuery.select("#app>.s-space");if(!a){return}Observer.childListSubtree(a,async()=>{const t=dqa(".disabled[data-aid]");if(t.length===0){return}const a=t.map(e=>e.getAttribute("data-aid"));const o=e.deadVideoTitleProvider==="BiliPlus"?new i:new s;const r=await o.queryInfo(a);console.log(`[显示失效视频信息]`,`deadVideos:`,t,`infos:`,r);t.forEach((t,i)=>{t.classList.remove("disabled");const s=t.getAttribute("data-aid");const a=(()=>{if(e.useBiliplusRedirect){return`https://hd.biliplus.com/video/av${s}`}else{return`//www.bilibili.com/video/av${s}`}})();const o=r.find(e=>e.aid===s);console.log(`[显示失效视频信息]`,"#"+i,o);if(o===undefined){console.error(`[显示失效视频信息]信息获取失败, aid=${s}`);return}const n=t.querySelector("a.cover");n.target="_blank";n.href=a;if(o.cover!==""){n.querySelector("img").src=o.cover.replace("http:","https:")}const l=t.querySelector("a.title");l.target="_blank";l.title=o.title;l.href=a;l.innerText=o.title})})})()}})(); -offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simple-home.vue.min.js"] = (()=>{return(e,t)=>{const s=`
快了, 已经在路上了.jpg
`;return{export:Object.assign({template:s},{})}}})(); +offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simple-home.vue.min.js"] = (()=>{return(o,a)=>{const e=`
活动
更多
`;a.applyStyleFromText(`.simple-home{--title-color:black;color:#444}body.dark .simple-home{--title-color:white;color:#ddd}.simple-home .more{background-color:#ddd;cursor:pointer;padding:2px 16px 2px 8px;display:flex;align-items:center;border-radius:16px;font-size:14px}.simple-home .more .be-icon{margin-right:8px;transition:.3s cubic-bezier(.25,.46,.45,.94)}.simple-home .more:hover .be-icon{transform:rotate(180deg)}body.dark .simple-home .more{background-color:#333}.simple-home .blackboards{display:grid;grid-template-areas:"header header" "dots cards";grid-template-columns:8px 1fr;grid-template-rows:1fr 250px;row-gap:16px;column-gap:16px}.simple-home .blackboards .header{grid-area:header;display:flex;justify-content:space-between;align-items:center}.simple-home .blackboards .header .title{color:var(--title-color);font-weight:700;font-size:24px}.simple-home .blackboards .jump-dots{grid-area:dots;align-self:center;justify-self:center}.simple-home .blackboards .jump-dots .jump-dot{background-color:#ddd;width:8px;height:20px;border-radius:8px;cursor:pointer}.simple-home .blackboards .jump-dots .jump-dot.active{background-color:var(--theme-color);height:40px}.simple-home .blackboards .jump-dots .jump-dot:not(:last-child){margin-bottom:6px}body.dark .simple-home .blackboards .jump-dots .jump-dot:not(.active){background-color:#444}.simple-home .blackboards .blackboard-cards{grid-area:cards;width:500px;height:250px;overflow:auto;scroll-snap-type:y mandatory;scrollbar-width:none!important}.simple-home .blackboards .blackboard-cards::-webkit-scrollbar{width:0!important;height:0!important}.simple-home .blackboards .blackboard-cards .blackboard-card{width:100%;height:100%;scroll-snap-align:start;position:relative;display:block}.simple-home .blackboards .blackboard-cards .blackboard-card img{width:100%;height:100%;object-fit:fill;border-radius:16px;display:block}.simple-home .blackboards .blackboard-cards .blackboard-card .title{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);padding:4px 16px;color:#fff;background-color:#000a;font-size:14px;font-weight:700;border-radius:14px;white-space:nowrap}`,"simple-home-style");return{export:Object.assign({template:e},{components:{Icon:()=>a.importAsync("icon.vue")},data(){return{blackboards:[],currentBlackboardIndex:0}},async mounted(){const{getBlackboards:o}=await a.importAsync("blackboard");this.blackboards=o().filter(o=>!o.isAd)}})}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simplify-home.min.css"] = `#app>.bili-header-m.stardust-common>.bili-wrapper,#app>.bili-wrapper,#app>.elevator-module,.bili-header-m .head-banner .head-content .head-logo,.international-footer,.international-header .b-wrap,.international-home>:not(.international-header){display:none!important}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simplify-home.min.js"] = (()=>{return(e,i)=>{(async()=>{if(document.URL.replace(window.location.search,"")!=="https://www.bilibili.com/"){i.removeStyle("simplifyHomeStyle");return}document.body.insertAdjacentHTML("beforeend",`\n\n`);const m=new Vue({el:"simplify-home",components:{SimplifyHome:()=>i.importAsync("simplify-home.vue")},data:{homeStyle:e.simplifyHomeStyle}});addSettingsListener("simplifyHomeStyle",e=>m.homeStyle=e,false)})()}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simplify-home.vue.min.js"] = (()=>{return(e,o)=>{const m=`
`;o.applyStyleFromText(`.simplify-home{padding-top:32px;display:flex;align-items:center;justify-content:center;background-color:#f4f4f4}body.dark .simplify-home{background-color:#181818}.simplify-home .simplify-home-component{max-width:100%}html{scroll-behavior:smooth}`,"simplify-home-style");return{export:Object.assign({template:m},{components:{"minimal-home":()=>o.importAsync("minimal-home.vue"),"simple-home":()=>o.importAsync("simple-home.vue")},computed:{activeComponent(){return this.homeStyle==="清爽"?"simple-home":"minimal-home"}},props:{homeStyle:String}})}}})(); diff --git a/bilibili-evolved.preview-offline.user.js b/bilibili-evolved.preview-offline.user.js index df8e093b4..1ef76a1a1 100644 --- a/bilibili-evolved.preview-offline.user.js +++ b/bilibili-evolved.preview-offline.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name Bilibili Evolved (Preview Offline) -// @version 461.26 +// @version 461.33 // @description Bilibili Evolved 的预览离线版, 可以抢先体验新功能, 并且所有功能都已内置于脚本中. // @author Grant Howard, Coulomb-G // @copyright 2019, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G) @@ -1171,7 +1171,7 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/settings-tooltip.min.js"] = (()=>{return(e,a)=>{const n={useDefaultPlayerMode:`控制是否使用默认播放器模式, 可以为常规, 宽屏, 网页全屏全屏.`,defaultPlayerMode:`设置默认的播放器模式.`,applyPlayerModeOnPlay:`是否在播放时应用模式, 若选择否就会在未开始播放时就应用.`,useDefaultPlayerLayout:`设置默认的播放器布局, 尽量在相应的页面里设置(比如在番剧播放页面设置番剧播放器布局), 否则可能没有效果.\n- 旧版: 传统布局\n- 新版: 视频区默认的新版布局\n注: 旧版布局中, 很多脚本功能将不适用.`,defaultPlayerLayout:`设置视频区的布局.`,defaultBangumiLayout:`设置番剧区的布局.`,useDefaultVideoQuality:`进入视频时自动选择指定的画质, 若视频最高画质低于所选画质, 则使用视频的最高画质.`,defaultVideoQuality:`设定自动选择的视频画质.`,autoLightOff:`首次播放时, 自动进入关灯模式, 并在播放结束后自动开灯.`,useDefaultDanmakuSettings:`设置默认是否开启弹幕, 以及是否记住防挡字幕和智能防挡弹幕.`,enableDanmaku:`控制弹幕是否默认开启.`,rememberDanmakuSettings:`控制是否记住弹幕设置, 包括防挡字幕和智能防挡弹幕. 在播放器中改动这些设置后, 每个视频都会默认使用这些设置.`,expandDanmakuList:`新版播放页面中, 弹幕列表默认收起以显示推荐的其他视频. 启用此功能可在每次加载视频时自动展开弹幕列表.`,expandDescription:`长的视频简介默认会被折叠, 启用此功能可以强制展开完整的视频简介.`,autoPlay:`进入视频页面时自动开始播放视频.`,autoContinue:`播放视频时如果检测到历史记录信息(上次看到...消息), 则自动跳转到相应的时间播放.`,skipChargeList:`自动跳过视频结尾的充电鸣谢.`,framePlayback:`在播放器的时间右边增加两个按钮, 用于精细调整视频时间. 支持键盘快捷键Shift + 左/右方向键. (旧版播放器只能用键盘快捷键, 不会显示按钮)`,playerFocus:`进入视频/番剧页面时, 自动定位到播放器.`,playerFocusOffset:`定位时的竖直偏移量, 单位为像素(px).`,customStyleColor:`设定顶栏(样式调整启用时)和夜间模式使用的主题色, 可以点击颜色预览的圆圈打开色板, 其中含有预定义的16种主题色, 也可以在右侧的文本框直接输入任何有效的16进制颜色值(#rrggbb#rgb).`,useNewStyle:`主要会改变顶栏的样式, 并有一些其他地方的界面微调:\n- 为播放器增加主题色投影\n- 可控制顶栏对横幅的透明度\n- 使播放器按钮垂直对齐\n- 使部分搜索栏的提示文字的颜色更清晰\n- 隐藏播放页面的"返回旧版"侧栏\n- 修复直播间一些文字初始状态不正确\n- 窄屏幕下强制保留弹幕发送栏`,blurBackgroundOpacity:`设置顶栏对横幅的透明度(0~1), 数值越高顶栏越淡, 当横幅关闭时此选项无效.`,useDarkStyle:`夜间模式更适合光线暗的环境, 并会大量应用主题颜色.`,darkSchedule:`设置一个使用夜间模式的时间段, 进入/离开此时间段时, 会自动开启/关闭夜间模式.\n结束时间小于起始时间时将视为次日, 如18:006:00表示晚上18:00到次日6:00.`,darkScheduleStart:`设置计划时段的起始时间.`,darkScheduleEnd:`设置计划时段的结束时间.`,compactLayout:`设置首页是否使用紧凑布局, 视频的间距会减小并削去圆角, 分区栏的图标会使用高清重制版. 目前仅支持首页, 其他分区的样式后续会添加.`,useCommentStyle:`- 删除热评头像下方的关注按钮\n- 删除用户的等级标识\n- 删除发送源信息(来自安卓客户端这种)\n- 发送时间移动到右上角\n- 位图图标全部换用矢量图标, 高分屏不会模糊\n注: 关注和等级可以通过鼠标停留在头像上, 在弹出的资料卡小窗中查看.`,simplifyLiveroom:`- 隐藏姥爷图标\n- 隐藏粉丝勋章\n- 隐藏活动头衔\n- 隐藏用户等级\n- 隐藏舰长图标\n- 隐藏全区广播\n- 隐藏欢迎信息 (xxx姥爷进入直播间)\n- 隐藏抽奖提示 (开通舰长, 小飞船抽奖等)\n- 禁用直播间皮肤\n每一项都可以在附加功能中单独选择是否隐藏.`,overrideNavBar:`开启后, 在主站中总是把搜索框置于顶栏, 如果页面里没有搜索栏则不会显示.`,showBanner:`控制是否显示主站顶部的横幅`,preserveRank:`控制是否在搜索框左侧显示排行榜图标.`,blurVideoControl:`模糊视频控制栏背景, 原版的阴影效果将无效.`,customControlBackground:`给视频控制栏附上半透明的黑色, 代替原来的阴影.`,customControlBackgroundOpacity:`设置控制栏着色的黑色不透明度(0~1), 数值越大黑色越浓.`,harunaScale:`根据屏幕DPI缩放直播看板娘的大小以提高像素的清晰度.`,removeLiveWatermark:`删除观看直播时角落的水印.`,removeVideoTopMask:`删除视频里鼠标经过时出现在右上角的覆盖层.`,removeAds:`删除站内的各种广告. 包括首页的推广模块, 手机app推荐, 视频页面右侧的广告等.`,watchLaterRedirect:`将稍后再看的链接重定向为普通播放网址, 以使用新版播放页面.`,favoritesRedirect:`将个人空间收藏夹里的视频重定向为直链, 而不是收藏夹播单链接.`,hideTopSearch:`将搜索框的推荐词替换为搜索.`,fullTweetsTitle:`在顶栏的动态预览框中, 总是展开完整的标题.`,fullPageTitle:`在视频选集列表中, 总是展开完整的标题.`,showDeadVideoTitle:`在个人空间中, 为已失效视频恢复标题和封面.`,useBiliplusRedirect:`将失效视频重定向到BiliPlus.`,biliplusRedirect:`在视频/番剧/空间中, 附加功能"转到BiliPlus", 点击可以转到BiliPlus上对应的页面.`,imageResolution:`根据屏幕DPI请求更高分辨率的图片, 例如DPI缩放200%则请求2倍的分辨率, 加载时间也会相应变长一些.`,oldTweets:`将新版动态的链接换为旧版动态, 同时可在附加功能中在新旧动态间切换.`,touchNavBar:`删除顶栏右侧的一级链接(从大会员历史), 以方便触屏设备快速预览信息. 被删除的链接可从各预览中的查看更多进入.`,comboLike:`为素质三连(长按点赞)启用触摸支持.`,touchVideoPlayer:`增大控制栏的按钮间距, 使触摸操作更准确. 并为播放器启用触摸支持:\n- 左右滑动可调整进度\n- 上下滑动可调整音量\n- 进度调整可在左上角和右上角取消\n- 在不同位置滑动, 可以使用3档不同的灵敏度.`,touchVideoPlayerAnimation:`决定是否要对触摸调整的提示框使用出现/消失动画, 此动画可能导致掉帧.`,touchVideoPlayerDoubleTapControl:`将操作方式更改为: 单击显示/隐藏控制栏, 双击播放/暂停.`,toast:`允许在网页左下角显示来自本脚本的消息, 如更新提醒, 错误提示等.`,toastInternalError:`开启后, 错误消息将显示详细的技术性错误信息及堆栈跟踪, 这通常用于准确地确定问题发生的原因, 所以报告问题时这些信息会非常有用.`,useCache:`使用缓存以提高脚本的加载速度.`};function t(e){const a=e.querySelector("input");if(a){return a.getAttribute("key")}return null}(async()=>{a.applyStyle("settingsTooltipStyle");const e=await SpinQuery.select(()=>document.querySelector(".gui-settings-tooltip"));document.querySelectorAll(".gui-settings-content>ul>li").forEach(a=>{a.addEventListener("mouseover",()=>{const s=n[t(a)];if(s!==undefined){e.innerHTML=s;e.classList.add("show")}});a.addEventListener("mouseout",()=>{e.classList.remove("show")})})})();return{export:{toolTips:n}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/settings-tooltip.zh-CN.min.js"] = (()=>{return(a,n)=>{const e=new Map([["useDefaultPlayerMode",`控制是否使用默认播放器模式, 可以为常规, 宽屏, 网页全屏全屏.`],["defaultPlayerMode",`设置默认的播放器模式.`],["applyPlayerModeOnPlay",`是否在播放时应用模式, 若选择否就会在未开始播放时就应用.`],["useDefaultPlayerLayout",`设置默认的播放器布局, 尽量在相应的页面里设置(比如在番剧播放页面设置番剧播放器布局), 否则可能没有效果.\n- 旧版: 传统布局\n- 新版: 视频区默认的新版布局\n注: 旧版布局中, 很多脚本功能将不适用.`],["defaultPlayerLayout",`设置视频区的布局.`],["defaultBangumiLayout",`设置番剧区的布局.`],["useDefaultVideoQuality",`进入视频时自动选择指定的画质, 若视频最高画质低于所选画质, 则使用视频的最高画质.`],["defaultVideoQuality",`设定自动选择的视频画质.`],["autoLightOff",`首次播放时, 自动进入关灯模式, 并在播放结束后自动开灯.`],["useDefaultDanmakuSettings",`设置默认是否开启弹幕, 以及是否记住防挡字幕和智能防挡弹幕.`],["enableDanmaku",`控制弹幕是否默认开启.`],["rememberDanmakuSettings",`控制是否记住弹幕设置, 包括防挡字幕和智能防挡弹幕. 在播放器中改动这些设置后, 每个视频都会默认使用这些设置.`],["expandDanmakuList",`新版播放页面中, 弹幕列表默认收起以显示推荐的其他视频. 启用此功能可在每次加载视频时自动展开弹幕列表.`],["expandDescription",`长的视频简介默认会被折叠, 启用此功能可以强制展开完整的视频简介.`],["autoPlay",`进入视频页面时自动开始播放视频.`],["autoContinue",`播放视频时如果检测到历史记录信息(上次看到...消息), 则自动跳转到相应的时间播放.`],["skipChargeList",`自动跳过视频结尾的充电鸣谢.`],["framePlayback",`在播放器的时间右边增加两个按钮, 用于精细调整视频时间. 支持键盘快捷键Shift+/. (旧版播放器只能用键盘快捷键, 不会显示按钮)`],["playerFocus",`进入视频/番剧页面时, 自动定位到播放器.`],["playerFocusOffset",`定位时的竖直偏移量, 单位为像素(px).`],["customStyleColor",`设定顶栏(自定义顶栏启用时)和夜间模式使用的主题色, 可以点击颜色预览的圆圈打开色板, 其中含有预定义的16种主题色, 也可以在右侧的文本框直接输入任何有效的16进制颜色值(#rrggbb#rgb).`],["useNewStyle",`主要会改变顶栏的样式, 并有一些其他地方的界面微调:\n- 为播放器增加主题色投影\n- 可控制顶栏对横幅的透明度\n- 使播放器按钮垂直对齐\n- 使部分搜索栏的提示文字的颜色更清晰\n- 隐藏播放页面的"返回旧版"侧栏\n- 修复直播间一些文字初始状态不正确\n- 窄屏幕下强制保留弹幕发送栏`],["blurBackgroundOpacity",`设置顶栏对横幅的透明度(0~1), 数值越高顶栏越淡, 当横幅关闭时此选项无效.`],["useDarkStyle",`夜间模式更适合光线暗的环境, 并会大量应用主题颜色.`],["darkSchedule",`设置一个使用夜间模式的时间段, 进入/离开此时间段时, 会自动开启/关闭夜间模式.\n结束时间小于起始时间时将视为次日, 如18:006:00表示晚上18:00到次日6:00.`],["darkScheduleStart",`设置计划时段的起始时间.`],["darkScheduleEnd",`设置计划时段的结束时间.`],["compactLayout",`设置首页是否使用紧凑布局, 视频的间距会减小, 分区栏的图标会使用高清重制版.`],["useCommentStyle",`- 删除热评头像下方的关注按钮\n- 删除用户的等级标识\n- 删除发送源信息(来自安卓客户端这种)\n- 删除用户名右边的勋章\n- 删除评论区顶部的横幅\n- 发送时间移动到右上角\n- 位图图标全部换用矢量图标, 高分屏不会模糊\n- 投票仅显示链接, 隐藏下面的大框.\n注: 关注和等级可以通过鼠标停留在头像上, 在弹出的资料卡小窗中查看.`],["simplifyLiveroom",`- 隐藏老爷图标\n- 隐藏粉丝勋章\n- 隐藏活动头衔\n- 隐藏用户等级\n- 隐藏舰长图标\n- 隐藏全区广播\n- 隐藏欢迎信息 (xxx老爷进入直播间)\n- 隐藏礼物弹幕 (仅弹幕列表, 特殊效果如节奏风暴不受影响)\n- 隐藏上舰提示 (弹幕列表里的 xxx开通了舰长)\n- 隐藏付费礼物 (播放器下面的各种金瓜子礼物, 以及许愿瓶, 上舰等)\n- 隐藏活动横幅\n- 隐藏抽奖提示 (开通舰长, 小飞船抽奖等)\n- 禁用直播间皮肤\n每一项都可以在附加功能中单独选择是否隐藏.`],["preserveRank",`控制是否在搜索框左侧显示排行榜图标.`],["blurVideoControl",`模糊视频控制栏背景, 原版的阴影效果将无效.`],["customControlBackground",`给视频控制栏附上半透明的黑色, 代替原来的阴影.`],["customControlBackgroundOpacity",`设置控制栏着色的黑色不透明度(0~1), 数值越大黑色越浓.`],["harunaScale",`根据屏幕DPI缩放直播看板娘的大小以提高像素的清晰度.`],["removeLiveWatermark",`删除观看直播时角落的水印.`],["removeVideoTopMask",`删除视频里鼠标经过时出现在右上角的覆盖层.`],["removeAds",`删除站内的各种广告. 包括首页的推广模块, 手机app推荐, 视频页面右侧的广告等.`],["showBlockedAdsTip",`删除首页推广模块的广告后显示"🚫已屏蔽广告"来替代空白区域.`],["watchLaterRedirect",`将稍后再看的链接重定向为普通播放网址, 以使用新版播放页面.`],["favoritesRedirect",`将个人空间收藏夹里的视频重定向为直链, 而不是收藏夹播单链接.`],["hideTopSearch",`将搜索框的推荐词替换为搜索.`],["fullTweetsTitle",`在顶栏的动态预览框中, 总是展开完整的视频标题.`],["fullPageTitle",`在视频选集列表中, 总是展开完整的标题.`],["showDeadVideoTitle",`在个人空间中, 为已失效视频恢复标题和封面.`],["useBiliplusRedirect",`将失效视频重定向到BiliPlus.`],["deadVideoTitleProvider",`失效视频的信息来源: 稍后再看较稳定, 但需要一点时间来查询; BiliPlus速度更快, 但是因为没写完暂不开放.`],["biliplusRedirect",`在视频/番剧/空间中, 附加功能"转到BiliPlus", 点击可以转到BiliPlus上对应的页面.`],["imageResolution",`根据屏幕DPI请求更高分辨率的图片, 例如DPI缩放200%则请求2倍的分辨率, 加载时间也会相应变长一些.`],["oldTweets",`将新版动态的链接换为旧版动态, 同时可在附加功能中在新旧动态间切换.`],["touchNavBar",`删除顶栏右侧的一级链接(从大会员历史), 以方便触屏设备快速预览信息. 被删除的链接可从各预览中的查看更多进入.`],["comboLike",`为素质三连(长按点赞)启用触摸支持.`],["touchVideoPlayer",`增大控制栏的按钮间距, 使触摸操作更准确. 并为播放器启用触摸支持:\n- 左右滑动可调整进度\n- 上下滑动可调整音量\n- 进度调整可在左上角和右上角取消\n- 在不同位置滑动, 可以使用3档不同的灵敏度.`],["touchVideoPlayerAnimation",`决定是否要对触摸调整的提示框使用出现/消失动画, 此动画可能导致掉帧.`],["touchVideoPlayerDoubleTapControl",`将操作方式更改为: 单击显示/隐藏控制栏, 双击播放/暂停.`],["toast",`允许在网页左下角显示来自本脚本的消息, 如更新提醒, 错误提示等.`],["toastInternalError",`开启后, 错误消息将显示详细的技术性错误信息及堆栈跟踪, 这通常用于准确地确定问题发生的原因, 所以报告问题时这些信息会非常有用.`],["useCache",`使用缓存以提高脚本的加载速度.`],["outerWatchlater",`将视频页面菜单里的稍后再看移到外面.`],["i18n",`为界面中一些常用文本提供翻译.`],["i18nLanguage",`翻译的目标语言.`],["customNavbar",`启用自定义顶栏, 替代原版的顶栏, 仅对主站生效, 不影响直播/相簿/会员购等.`],["customNavbarSeasonLogo",`是否使用季节Logo代替普通的Logo.`],["customNavbarFill",`是否使用主题色填充顶栏.`],["allNavbarFill",`是否使用主题色填充其他的顶栏, 包括直播/相簿/会员购等.`],["customNavbarShadow",`是否为顶栏添加一层阴影效果.`],["customNavbarCompact",`是否为顶栏使用更紧凑的布局, 紧凑布局将使用更小的间距, 以及在视频标题过长时用...省略后面的部分.`],["customNavbarBlur",`是否在顶部横幅存在时, 使用背景模糊效果.`],["playerShadow",`为播放器添加主题色投影.`],["narrowDanmaku",`在网页全屏时, 即使宽度过小也强制保留弹幕发送栏, 注意这可能导致右侧的功能按钮挤出边界.`],["hideOldEntry",`隐藏播放页右侧的返回旧版入口.`],["hideBanner",`隐藏首页顶部横幅.`],["allowJumpContinue",`当历史记录的集数与当前打开的不一致时, 仍然自动跳转.`],["hideBangumiReviews",`隐藏番剧播放页面里的点评板块.`],["videoScreenshot",`启用视频快速截图, 将在播放器的时间右边增加一个截图按钮. 支持键盘快捷键Ctrl+Alt+C. (旧版播放器只能用键盘快捷键, 不会显示按钮)\n如果弹幕渲染类型选择了Canvas, 则可以再按住Shift键来截取带弹幕的截图. 也就是鼠标操作为"按住Shift点击截图按钮", 键盘操作为"Ctrl+Shift+Alt+C".`],["filenameFormat",`自定义文件命名格式, 作用于下载弹幕, 下载视频, 视频截图, 查看封面.\n可以使用的变量有:\n- title: 视频标题/直播间标题\n- ep: 选集标题\n- aid: AV号\n- cid: CID (每个视频的唯一编号, AV号对应的视频可能有多集)\n- lid: 直播间号\n- y/M/d: 年/月/日\n- h/m/s/ms: 时/分/秒/毫秒\n\n默认的格式是[title][ - ep], 标题+选集标题, 当没有选集标题时则只有标题.\n\n变量要放在方括号里, 而方括号里的其他内容会在变量有效时出现. 比如格式如果写成[title] - [ep], 那么即使没有选集标题, 中间那个 - 也会出现在文件名里. 如果像默认那样放在方括号里, 没有选集标题时, - 也不会出现.\n\n例如, 想要标题+AV号+时间的格式, 可以设定为[title][ AVaid] [y]-[M]-[d] [h]-[m]-[s], 能够得到类似xxxx AV23333 2019-05-29 19-59-44的名字.`],["noLiveAutoplay",`禁止直播首页的推荐直播间自动开始播放.`],["hideHomeLive",`隐藏直播首页的推荐直播间板块.`],["sideBarOffset",`设定侧栏的垂直偏移量, 单位为百分比, 允许的范围为 -40% ~ 40%.`],["hideCategory",`隐藏主站的分区栏, 分区仍然可以从顶栏的主站菜单中进入.`],["foldComment",`动态里查看评论区时, 在底部添加一个收起评论按钮, 这样就不用再回到上面收起了.`],["useDefaultVideoSpeed",`设置是否使用默认视频播放速度.`],["defaultVideoSpeed",`设置默认的视频播放速度.`],["seedsToCoins",`在附加功能中添加瓜子换硬币的按钮, 点击可以将700银瓜子换成1个硬币, 每天限1次.`],["autoDraw",`在当前直播间有抽奖活动时, 自动点击抽奖按钮. 注意只适用于少量抽奖, 那种99+限量抽奖可能跟不上其他人的手速(`],["keymap",`为视频播放器启用更多的快捷键:\n- w 网页全屏\n- t 宽屏\n- r 循环播放\n- m 静音\n- d 弹幕开关\n- l 点赞\n- c 投币\n- s 收藏\n- Shift + w 稍后再看\n- Shift + ↑/↓ / Shift + ,/. 播放速度调整\n- Shift + / 重置播放速度`],["doubleClickFullscreen",`允许双击播放器切换全屏, 请注意不能与播放器触摸支持-启用双击控制一同使用.`],["ajaxHook",`是否启用 Ajax Hook API, 其他插件或附加功能能够通过此 API 获取 Ajax 请求的信息.`],["scriptLoadingMode",`脚本功能的加载模式:\n- 同时: 与b站页面同时加载\n- 延后: 优先加载b站页面, 在b站页面加载完成后再开始加载脚本功能\n- 同时(自动): 根据页面自动选择加载模式, 默认采用同时模式\n- 延后(自动): 根据页面自动选择加载模式, 默认采用延后模式`],[`fullActivityContent`,`不管内容多长, 总是完全展开动态的内容.`],[`activityImageSaver`,`右键点击动态大图时, 如果这张图的右键菜单被禁止了, 将弹出带图片的消息方便保存.`],[`selectableColumnText`,`使专栏的文字可以选择.`],[`watchlaterExpireWarnings`,`稍后再看里的视频添加后60天会过期自动删除. 开启此功能可在期限不足14天时在稍后再看列表里显示过期警告.`],[`miniPlayerTouchMove`,`使迷你播放器的拖动条可以触摸拖动.`]]);return{export:{toolTips:e}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/show-dead-video-title.min.js"] = (()=>{return(e,t)=>{(async()=>{if(!document.URL.startsWith("https://space.bilibili.com")){return}class t{}class i extends t{convertToDeadVideoInfo(e,t){return{aid:e,title:t.title,cover:t.pic}}async queryInfo(e){const t=[];if(e.length<=i.MaxCountPerRequest){const s=await Ajax.getJson(`${i.BiliplusHost}/api/aidinfo?aid=${e.join(",")}`);if(s.code===0){t.push(...e.map(e=>{if(e in s.data){return this.convertToDeadVideoInfo(e,s.data[e])}else{return{aid:e,title:"已失效视频",cover:""}}}))}else{console.error(`[显示失效视频信息] Biliplus API 未成功. message=${s.message}`)}}else{t.push(...await this.queryInfo(e.slice(0,i.MaxCountPerRequest)));t.push(...await this.queryInfo(e.slice(i.MaxCountPerRequest)))}return t}}i.BiliplusHost=`https://hd.biliplus.com`;i.MaxCountPerRequest=30;class s extends t{async toggleWatchlater(e,t){for(const i of t){await Ajax.postTextWithCredentials(`https://api.bilibili.com/x/v2/history/toview/${e?"add":"del"}`,`aid=${i}&csrf=${getCsrf()}}`)}}async queryInfo(e){const t=[];await this.toggleWatchlater(true,e);const i=await Ajax.getJsonWithCredentials("https://api.bilibili.com/x/v2/history/toview/web");if(i.code===0){const s=i.data.list.map(e=>{return{aid:e.aid.toString(),title:e.title,cover:e.pic}});t.push(...e.map(e=>s.find(t=>t.aid===e)).filter(e=>e!==undefined));await this.toggleWatchlater(false,e)}else{console.error(`[显示失效视频信息] 稍后再看 API 未成功. message=${i.message}`)}return t}}const a=await SpinQuery.select("#app>.s-space");if(!a){return}Observer.childListSubtree(a,async()=>{const t=dqa(".disabled[data-aid]");if(t.length===0){return}const a=t.map(e=>e.getAttribute("data-aid"));const o=e.deadVideoTitleProvider==="BiliPlus"?new i:new s;const r=await o.queryInfo(a);console.log(`[显示失效视频信息]`,`deadVideos:`,t,`infos:`,r);t.forEach((t,i)=>{t.classList.remove("disabled");const s=t.getAttribute("data-aid");const a=(()=>{if(e.useBiliplusRedirect){return`https://hd.biliplus.com/video/av${s}`}else{return`//www.bilibili.com/video/av${s}`}})();const o=r.find(e=>e.aid===s);console.log(`[显示失效视频信息]`,"#"+i,o);if(o===undefined){console.error(`[显示失效视频信息]信息获取失败, aid=${s}`);return}const n=t.querySelector("a.cover");n.target="_blank";n.href=a;if(o.cover!==""){n.querySelector("img").src=o.cover.replace("http:","https:")}const l=t.querySelector("a.title");l.target="_blank";l.title=o.title;l.href=a;l.innerText=o.title})})})()}})(); -offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simple-home.vue.min.js"] = (()=>{return(e,t)=>{const s=`
快了, 已经在路上了.jpg
`;return{export:Object.assign({template:s},{})}}})(); +offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simple-home.vue.min.js"] = (()=>{return(o,a)=>{const e=`
活动
更多
`;a.applyStyleFromText(`.simple-home{--title-color:black;color:#444}body.dark .simple-home{--title-color:white;color:#ddd}.simple-home .more{background-color:#ddd;cursor:pointer;padding:2px 16px 2px 8px;display:flex;align-items:center;border-radius:16px;font-size:14px}.simple-home .more .be-icon{margin-right:8px;transition:.3s cubic-bezier(.25,.46,.45,.94)}.simple-home .more:hover .be-icon{transform:rotate(180deg)}body.dark .simple-home .more{background-color:#333}.simple-home .blackboards{display:grid;grid-template-areas:"header header" "dots cards";grid-template-columns:8px 1fr;grid-template-rows:1fr 250px;row-gap:16px;column-gap:16px}.simple-home .blackboards .header{grid-area:header;display:flex;justify-content:space-between;align-items:center}.simple-home .blackboards .header .title{color:var(--title-color);font-weight:700;font-size:24px}.simple-home .blackboards .jump-dots{grid-area:dots;align-self:center;justify-self:center}.simple-home .blackboards .jump-dots .jump-dot{background-color:#ddd;width:8px;height:20px;border-radius:8px;cursor:pointer}.simple-home .blackboards .jump-dots .jump-dot.active{background-color:var(--theme-color);height:40px}.simple-home .blackboards .jump-dots .jump-dot:not(:last-child){margin-bottom:6px}body.dark .simple-home .blackboards .jump-dots .jump-dot:not(.active){background-color:#444}.simple-home .blackboards .blackboard-cards{grid-area:cards;width:500px;height:250px;overflow:auto;scroll-snap-type:y mandatory;scrollbar-width:none!important}.simple-home .blackboards .blackboard-cards::-webkit-scrollbar{width:0!important;height:0!important}.simple-home .blackboards .blackboard-cards .blackboard-card{width:100%;height:100%;scroll-snap-align:start;position:relative;display:block}.simple-home .blackboards .blackboard-cards .blackboard-card img{width:100%;height:100%;object-fit:fill;border-radius:16px;display:block}.simple-home .blackboards .blackboard-cards .blackboard-card .title{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);padding:4px 16px;color:#fff;background-color:#000a;font-size:14px;font-weight:700;border-radius:14px;white-space:nowrap}`,"simple-home-style");return{export:Object.assign({template:e},{components:{Icon:()=>a.importAsync("icon.vue")},data(){return{blackboards:[],currentBlackboardIndex:0}},async mounted(){const{getBlackboards:o}=await a.importAsync("blackboard");this.blackboards=o().filter(o=>!o.isAd)}})}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simplify-home.min.css"] = `#app>.bili-header-m.stardust-common>.bili-wrapper,#app>.bili-wrapper,#app>.elevator-module,.bili-header-m .head-banner .head-content .head-logo,.international-footer,.international-header .b-wrap,.international-home>:not(.international-header){display:none!important}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simplify-home.min.js"] = (()=>{return(e,i)=>{(async()=>{if(document.URL.replace(window.location.search,"")!=="https://www.bilibili.com/"){i.removeStyle("simplifyHomeStyle");return}document.body.insertAdjacentHTML("beforeend",`\n\n`);const m=new Vue({el:"simplify-home",components:{SimplifyHome:()=>i.importAsync("simplify-home.vue")},data:{homeStyle:e.simplifyHomeStyle}});addSettingsListener("simplifyHomeStyle",e=>m.homeStyle=e,false)})()}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simplify-home.vue.min.js"] = (()=>{return(e,o)=>{const m=`
`;o.applyStyleFromText(`.simplify-home{padding-top:32px;display:flex;align-items:center;justify-content:center;background-color:#f4f4f4}body.dark .simplify-home{background-color:#181818}.simplify-home .simplify-home-component{max-width:100%}html{scroll-behavior:smooth}`,"simplify-home-style");return{export:Object.assign({template:m},{components:{"minimal-home":()=>o.importAsync("minimal-home.vue"),"simple-home":()=>o.importAsync("simple-home.vue")},computed:{activeComponent(){return this.homeStyle==="清爽"?"simple-home":"minimal-home"}},props:{homeStyle:String}})}}})(); diff --git a/bilibili-evolved.preview.user.js b/bilibili-evolved.preview.user.js index d9a5013f7..bb9ff1510 100644 --- a/bilibili-evolved.preview.user.js +++ b/bilibili-evolved.preview.user.js @@ -1170,7 +1170,7 @@ onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/m onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/settings-tooltip.min.js"] = (()=>{return(e,a)=>{const n={useDefaultPlayerMode:`控制是否使用默认播放器模式, 可以为常规, 宽屏, 网页全屏全屏.`,defaultPlayerMode:`设置默认的播放器模式.`,applyPlayerModeOnPlay:`是否在播放时应用模式, 若选择否就会在未开始播放时就应用.`,useDefaultPlayerLayout:`设置默认的播放器布局, 尽量在相应的页面里设置(比如在番剧播放页面设置番剧播放器布局), 否则可能没有效果.\n- 旧版: 传统布局\n- 新版: 视频区默认的新版布局\n注: 旧版布局中, 很多脚本功能将不适用.`,defaultPlayerLayout:`设置视频区的布局.`,defaultBangumiLayout:`设置番剧区的布局.`,useDefaultVideoQuality:`进入视频时自动选择指定的画质, 若视频最高画质低于所选画质, 则使用视频的最高画质.`,defaultVideoQuality:`设定自动选择的视频画质.`,autoLightOff:`首次播放时, 自动进入关灯模式, 并在播放结束后自动开灯.`,useDefaultDanmakuSettings:`设置默认是否开启弹幕, 以及是否记住防挡字幕和智能防挡弹幕.`,enableDanmaku:`控制弹幕是否默认开启.`,rememberDanmakuSettings:`控制是否记住弹幕设置, 包括防挡字幕和智能防挡弹幕. 在播放器中改动这些设置后, 每个视频都会默认使用这些设置.`,expandDanmakuList:`新版播放页面中, 弹幕列表默认收起以显示推荐的其他视频. 启用此功能可在每次加载视频时自动展开弹幕列表.`,expandDescription:`长的视频简介默认会被折叠, 启用此功能可以强制展开完整的视频简介.`,autoPlay:`进入视频页面时自动开始播放视频.`,autoContinue:`播放视频时如果检测到历史记录信息(上次看到...消息), 则自动跳转到相应的时间播放.`,skipChargeList:`自动跳过视频结尾的充电鸣谢.`,framePlayback:`在播放器的时间右边增加两个按钮, 用于精细调整视频时间. 支持键盘快捷键Shift + 左/右方向键. (旧版播放器只能用键盘快捷键, 不会显示按钮)`,playerFocus:`进入视频/番剧页面时, 自动定位到播放器.`,playerFocusOffset:`定位时的竖直偏移量, 单位为像素(px).`,customStyleColor:`设定顶栏(样式调整启用时)和夜间模式使用的主题色, 可以点击颜色预览的圆圈打开色板, 其中含有预定义的16种主题色, 也可以在右侧的文本框直接输入任何有效的16进制颜色值(#rrggbb#rgb).`,useNewStyle:`主要会改变顶栏的样式, 并有一些其他地方的界面微调:\n- 为播放器增加主题色投影\n- 可控制顶栏对横幅的透明度\n- 使播放器按钮垂直对齐\n- 使部分搜索栏的提示文字的颜色更清晰\n- 隐藏播放页面的"返回旧版"侧栏\n- 修复直播间一些文字初始状态不正确\n- 窄屏幕下强制保留弹幕发送栏`,blurBackgroundOpacity:`设置顶栏对横幅的透明度(0~1), 数值越高顶栏越淡, 当横幅关闭时此选项无效.`,useDarkStyle:`夜间模式更适合光线暗的环境, 并会大量应用主题颜色.`,darkSchedule:`设置一个使用夜间模式的时间段, 进入/离开此时间段时, 会自动开启/关闭夜间模式.\n结束时间小于起始时间时将视为次日, 如18:006:00表示晚上18:00到次日6:00.`,darkScheduleStart:`设置计划时段的起始时间.`,darkScheduleEnd:`设置计划时段的结束时间.`,compactLayout:`设置首页是否使用紧凑布局, 视频的间距会减小并削去圆角, 分区栏的图标会使用高清重制版. 目前仅支持首页, 其他分区的样式后续会添加.`,useCommentStyle:`- 删除热评头像下方的关注按钮\n- 删除用户的等级标识\n- 删除发送源信息(来自安卓客户端这种)\n- 发送时间移动到右上角\n- 位图图标全部换用矢量图标, 高分屏不会模糊\n注: 关注和等级可以通过鼠标停留在头像上, 在弹出的资料卡小窗中查看.`,simplifyLiveroom:`- 隐藏姥爷图标\n- 隐藏粉丝勋章\n- 隐藏活动头衔\n- 隐藏用户等级\n- 隐藏舰长图标\n- 隐藏全区广播\n- 隐藏欢迎信息 (xxx姥爷进入直播间)\n- 隐藏抽奖提示 (开通舰长, 小飞船抽奖等)\n- 禁用直播间皮肤\n每一项都可以在附加功能中单独选择是否隐藏.`,overrideNavBar:`开启后, 在主站中总是把搜索框置于顶栏, 如果页面里没有搜索栏则不会显示.`,showBanner:`控制是否显示主站顶部的横幅`,preserveRank:`控制是否在搜索框左侧显示排行榜图标.`,blurVideoControl:`模糊视频控制栏背景, 原版的阴影效果将无效.`,customControlBackground:`给视频控制栏附上半透明的黑色, 代替原来的阴影.`,customControlBackgroundOpacity:`设置控制栏着色的黑色不透明度(0~1), 数值越大黑色越浓.`,harunaScale:`根据屏幕DPI缩放直播看板娘的大小以提高像素的清晰度.`,removeLiveWatermark:`删除观看直播时角落的水印.`,removeVideoTopMask:`删除视频里鼠标经过时出现在右上角的覆盖层.`,removeAds:`删除站内的各种广告. 包括首页的推广模块, 手机app推荐, 视频页面右侧的广告等.`,watchLaterRedirect:`将稍后再看的链接重定向为普通播放网址, 以使用新版播放页面.`,favoritesRedirect:`将个人空间收藏夹里的视频重定向为直链, 而不是收藏夹播单链接.`,hideTopSearch:`将搜索框的推荐词替换为搜索.`,fullTweetsTitle:`在顶栏的动态预览框中, 总是展开完整的标题.`,fullPageTitle:`在视频选集列表中, 总是展开完整的标题.`,showDeadVideoTitle:`在个人空间中, 为已失效视频恢复标题和封面.`,useBiliplusRedirect:`将失效视频重定向到BiliPlus.`,biliplusRedirect:`在视频/番剧/空间中, 附加功能"转到BiliPlus", 点击可以转到BiliPlus上对应的页面.`,imageResolution:`根据屏幕DPI请求更高分辨率的图片, 例如DPI缩放200%则请求2倍的分辨率, 加载时间也会相应变长一些.`,oldTweets:`将新版动态的链接换为旧版动态, 同时可在附加功能中在新旧动态间切换.`,touchNavBar:`删除顶栏右侧的一级链接(从大会员历史), 以方便触屏设备快速预览信息. 被删除的链接可从各预览中的查看更多进入.`,comboLike:`为素质三连(长按点赞)启用触摸支持.`,touchVideoPlayer:`增大控制栏的按钮间距, 使触摸操作更准确. 并为播放器启用触摸支持:\n- 左右滑动可调整进度\n- 上下滑动可调整音量\n- 进度调整可在左上角和右上角取消\n- 在不同位置滑动, 可以使用3档不同的灵敏度.`,touchVideoPlayerAnimation:`决定是否要对触摸调整的提示框使用出现/消失动画, 此动画可能导致掉帧.`,touchVideoPlayerDoubleTapControl:`将操作方式更改为: 单击显示/隐藏控制栏, 双击播放/暂停.`,toast:`允许在网页左下角显示来自本脚本的消息, 如更新提醒, 错误提示等.`,toastInternalError:`开启后, 错误消息将显示详细的技术性错误信息及堆栈跟踪, 这通常用于准确地确定问题发生的原因, 所以报告问题时这些信息会非常有用.`,useCache:`使用缓存以提高脚本的加载速度.`};function t(e){const a=e.querySelector("input");if(a){return a.getAttribute("key")}return null}(async()=>{a.applyStyle("settingsTooltipStyle");const e=await SpinQuery.select(()=>document.querySelector(".gui-settings-tooltip"));document.querySelectorAll(".gui-settings-content>ul>li").forEach(a=>{a.addEventListener("mouseover",()=>{const s=n[t(a)];if(s!==undefined){e.innerHTML=s;e.classList.add("show")}});a.addEventListener("mouseout",()=>{e.classList.remove("show")})})})();return{export:{toolTips:n}}}})(); onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/settings-tooltip.zh-CN.min.js"] = (()=>{return(a,n)=>{const e=new Map([["useDefaultPlayerMode",`控制是否使用默认播放器模式, 可以为常规, 宽屏, 网页全屏全屏.`],["defaultPlayerMode",`设置默认的播放器模式.`],["applyPlayerModeOnPlay",`是否在播放时应用模式, 若选择否就会在未开始播放时就应用.`],["useDefaultPlayerLayout",`设置默认的播放器布局, 尽量在相应的页面里设置(比如在番剧播放页面设置番剧播放器布局), 否则可能没有效果.\n- 旧版: 传统布局\n- 新版: 视频区默认的新版布局\n注: 旧版布局中, 很多脚本功能将不适用.`],["defaultPlayerLayout",`设置视频区的布局.`],["defaultBangumiLayout",`设置番剧区的布局.`],["useDefaultVideoQuality",`进入视频时自动选择指定的画质, 若视频最高画质低于所选画质, 则使用视频的最高画质.`],["defaultVideoQuality",`设定自动选择的视频画质.`],["autoLightOff",`首次播放时, 自动进入关灯模式, 并在播放结束后自动开灯.`],["useDefaultDanmakuSettings",`设置默认是否开启弹幕, 以及是否记住防挡字幕和智能防挡弹幕.`],["enableDanmaku",`控制弹幕是否默认开启.`],["rememberDanmakuSettings",`控制是否记住弹幕设置, 包括防挡字幕和智能防挡弹幕. 在播放器中改动这些设置后, 每个视频都会默认使用这些设置.`],["expandDanmakuList",`新版播放页面中, 弹幕列表默认收起以显示推荐的其他视频. 启用此功能可在每次加载视频时自动展开弹幕列表.`],["expandDescription",`长的视频简介默认会被折叠, 启用此功能可以强制展开完整的视频简介.`],["autoPlay",`进入视频页面时自动开始播放视频.`],["autoContinue",`播放视频时如果检测到历史记录信息(上次看到...消息), 则自动跳转到相应的时间播放.`],["skipChargeList",`自动跳过视频结尾的充电鸣谢.`],["framePlayback",`在播放器的时间右边增加两个按钮, 用于精细调整视频时间. 支持键盘快捷键Shift+/. (旧版播放器只能用键盘快捷键, 不会显示按钮)`],["playerFocus",`进入视频/番剧页面时, 自动定位到播放器.`],["playerFocusOffset",`定位时的竖直偏移量, 单位为像素(px).`],["customStyleColor",`设定顶栏(自定义顶栏启用时)和夜间模式使用的主题色, 可以点击颜色预览的圆圈打开色板, 其中含有预定义的16种主题色, 也可以在右侧的文本框直接输入任何有效的16进制颜色值(#rrggbb#rgb).`],["useNewStyle",`主要会改变顶栏的样式, 并有一些其他地方的界面微调:\n- 为播放器增加主题色投影\n- 可控制顶栏对横幅的透明度\n- 使播放器按钮垂直对齐\n- 使部分搜索栏的提示文字的颜色更清晰\n- 隐藏播放页面的"返回旧版"侧栏\n- 修复直播间一些文字初始状态不正确\n- 窄屏幕下强制保留弹幕发送栏`],["blurBackgroundOpacity",`设置顶栏对横幅的透明度(0~1), 数值越高顶栏越淡, 当横幅关闭时此选项无效.`],["useDarkStyle",`夜间模式更适合光线暗的环境, 并会大量应用主题颜色.`],["darkSchedule",`设置一个使用夜间模式的时间段, 进入/离开此时间段时, 会自动开启/关闭夜间模式.\n结束时间小于起始时间时将视为次日, 如18:006:00表示晚上18:00到次日6:00.`],["darkScheduleStart",`设置计划时段的起始时间.`],["darkScheduleEnd",`设置计划时段的结束时间.`],["compactLayout",`设置首页是否使用紧凑布局, 视频的间距会减小, 分区栏的图标会使用高清重制版.`],["useCommentStyle",`- 删除热评头像下方的关注按钮\n- 删除用户的等级标识\n- 删除发送源信息(来自安卓客户端这种)\n- 删除用户名右边的勋章\n- 删除评论区顶部的横幅\n- 发送时间移动到右上角\n- 位图图标全部换用矢量图标, 高分屏不会模糊\n- 投票仅显示链接, 隐藏下面的大框.\n注: 关注和等级可以通过鼠标停留在头像上, 在弹出的资料卡小窗中查看.`],["simplifyLiveroom",`- 隐藏老爷图标\n- 隐藏粉丝勋章\n- 隐藏活动头衔\n- 隐藏用户等级\n- 隐藏舰长图标\n- 隐藏全区广播\n- 隐藏欢迎信息 (xxx老爷进入直播间)\n- 隐藏礼物弹幕 (仅弹幕列表, 特殊效果如节奏风暴不受影响)\n- 隐藏上舰提示 (弹幕列表里的 xxx开通了舰长)\n- 隐藏付费礼物 (播放器下面的各种金瓜子礼物, 以及许愿瓶, 上舰等)\n- 隐藏活动横幅\n- 隐藏抽奖提示 (开通舰长, 小飞船抽奖等)\n- 禁用直播间皮肤\n每一项都可以在附加功能中单独选择是否隐藏.`],["preserveRank",`控制是否在搜索框左侧显示排行榜图标.`],["blurVideoControl",`模糊视频控制栏背景, 原版的阴影效果将无效.`],["customControlBackground",`给视频控制栏附上半透明的黑色, 代替原来的阴影.`],["customControlBackgroundOpacity",`设置控制栏着色的黑色不透明度(0~1), 数值越大黑色越浓.`],["harunaScale",`根据屏幕DPI缩放直播看板娘的大小以提高像素的清晰度.`],["removeLiveWatermark",`删除观看直播时角落的水印.`],["removeVideoTopMask",`删除视频里鼠标经过时出现在右上角的覆盖层.`],["removeAds",`删除站内的各种广告. 包括首页的推广模块, 手机app推荐, 视频页面右侧的广告等.`],["showBlockedAdsTip",`删除首页推广模块的广告后显示"🚫已屏蔽广告"来替代空白区域.`],["watchLaterRedirect",`将稍后再看的链接重定向为普通播放网址, 以使用新版播放页面.`],["favoritesRedirect",`将个人空间收藏夹里的视频重定向为直链, 而不是收藏夹播单链接.`],["hideTopSearch",`将搜索框的推荐词替换为搜索.`],["fullTweetsTitle",`在顶栏的动态预览框中, 总是展开完整的视频标题.`],["fullPageTitle",`在视频选集列表中, 总是展开完整的标题.`],["showDeadVideoTitle",`在个人空间中, 为已失效视频恢复标题和封面.`],["useBiliplusRedirect",`将失效视频重定向到BiliPlus.`],["deadVideoTitleProvider",`失效视频的信息来源: 稍后再看较稳定, 但需要一点时间来查询; BiliPlus速度更快, 但是因为没写完暂不开放.`],["biliplusRedirect",`在视频/番剧/空间中, 附加功能"转到BiliPlus", 点击可以转到BiliPlus上对应的页面.`],["imageResolution",`根据屏幕DPI请求更高分辨率的图片, 例如DPI缩放200%则请求2倍的分辨率, 加载时间也会相应变长一些.`],["oldTweets",`将新版动态的链接换为旧版动态, 同时可在附加功能中在新旧动态间切换.`],["touchNavBar",`删除顶栏右侧的一级链接(从大会员历史), 以方便触屏设备快速预览信息. 被删除的链接可从各预览中的查看更多进入.`],["comboLike",`为素质三连(长按点赞)启用触摸支持.`],["touchVideoPlayer",`增大控制栏的按钮间距, 使触摸操作更准确. 并为播放器启用触摸支持:\n- 左右滑动可调整进度\n- 上下滑动可调整音量\n- 进度调整可在左上角和右上角取消\n- 在不同位置滑动, 可以使用3档不同的灵敏度.`],["touchVideoPlayerAnimation",`决定是否要对触摸调整的提示框使用出现/消失动画, 此动画可能导致掉帧.`],["touchVideoPlayerDoubleTapControl",`将操作方式更改为: 单击显示/隐藏控制栏, 双击播放/暂停.`],["toast",`允许在网页左下角显示来自本脚本的消息, 如更新提醒, 错误提示等.`],["toastInternalError",`开启后, 错误消息将显示详细的技术性错误信息及堆栈跟踪, 这通常用于准确地确定问题发生的原因, 所以报告问题时这些信息会非常有用.`],["useCache",`使用缓存以提高脚本的加载速度.`],["outerWatchlater",`将视频页面菜单里的稍后再看移到外面.`],["i18n",`为界面中一些常用文本提供翻译.`],["i18nLanguage",`翻译的目标语言.`],["customNavbar",`启用自定义顶栏, 替代原版的顶栏, 仅对主站生效, 不影响直播/相簿/会员购等.`],["customNavbarSeasonLogo",`是否使用季节Logo代替普通的Logo.`],["customNavbarFill",`是否使用主题色填充顶栏.`],["allNavbarFill",`是否使用主题色填充其他的顶栏, 包括直播/相簿/会员购等.`],["customNavbarShadow",`是否为顶栏添加一层阴影效果.`],["customNavbarCompact",`是否为顶栏使用更紧凑的布局, 紧凑布局将使用更小的间距, 以及在视频标题过长时用...省略后面的部分.`],["customNavbarBlur",`是否在顶部横幅存在时, 使用背景模糊效果.`],["playerShadow",`为播放器添加主题色投影.`],["narrowDanmaku",`在网页全屏时, 即使宽度过小也强制保留弹幕发送栏, 注意这可能导致右侧的功能按钮挤出边界.`],["hideOldEntry",`隐藏播放页右侧的返回旧版入口.`],["hideBanner",`隐藏首页顶部横幅.`],["allowJumpContinue",`当历史记录的集数与当前打开的不一致时, 仍然自动跳转.`],["hideBangumiReviews",`隐藏番剧播放页面里的点评板块.`],["videoScreenshot",`启用视频快速截图, 将在播放器的时间右边增加一个截图按钮. 支持键盘快捷键Ctrl+Alt+C. (旧版播放器只能用键盘快捷键, 不会显示按钮)\n如果弹幕渲染类型选择了Canvas, 则可以再按住Shift键来截取带弹幕的截图. 也就是鼠标操作为"按住Shift点击截图按钮", 键盘操作为"Ctrl+Shift+Alt+C".`],["filenameFormat",`自定义文件命名格式, 作用于下载弹幕, 下载视频, 视频截图, 查看封面.\n可以使用的变量有:\n- title: 视频标题/直播间标题\n- ep: 选集标题\n- aid: AV号\n- cid: CID (每个视频的唯一编号, AV号对应的视频可能有多集)\n- lid: 直播间号\n- y/M/d: 年/月/日\n- h/m/s/ms: 时/分/秒/毫秒\n\n默认的格式是[title][ - ep], 标题+选集标题, 当没有选集标题时则只有标题.\n\n变量要放在方括号里, 而方括号里的其他内容会在变量有效时出现. 比如格式如果写成[title] - [ep], 那么即使没有选集标题, 中间那个 - 也会出现在文件名里. 如果像默认那样放在方括号里, 没有选集标题时, - 也不会出现.\n\n例如, 想要标题+AV号+时间的格式, 可以设定为[title][ AVaid] [y]-[M]-[d] [h]-[m]-[s], 能够得到类似xxxx AV23333 2019-05-29 19-59-44的名字.`],["noLiveAutoplay",`禁止直播首页的推荐直播间自动开始播放.`],["hideHomeLive",`隐藏直播首页的推荐直播间板块.`],["sideBarOffset",`设定侧栏的垂直偏移量, 单位为百分比, 允许的范围为 -40% ~ 40%.`],["hideCategory",`隐藏主站的分区栏, 分区仍然可以从顶栏的主站菜单中进入.`],["foldComment",`动态里查看评论区时, 在底部添加一个收起评论按钮, 这样就不用再回到上面收起了.`],["useDefaultVideoSpeed",`设置是否使用默认视频播放速度.`],["defaultVideoSpeed",`设置默认的视频播放速度.`],["seedsToCoins",`在附加功能中添加瓜子换硬币的按钮, 点击可以将700银瓜子换成1个硬币, 每天限1次.`],["autoDraw",`在当前直播间有抽奖活动时, 自动点击抽奖按钮. 注意只适用于少量抽奖, 那种99+限量抽奖可能跟不上其他人的手速(`],["keymap",`为视频播放器启用更多的快捷键:\n- w 网页全屏\n- t 宽屏\n- r 循环播放\n- m 静音\n- d 弹幕开关\n- l 点赞\n- c 投币\n- s 收藏\n- Shift + w 稍后再看\n- Shift + ↑/↓ / Shift + ,/. 播放速度调整\n- Shift + / 重置播放速度`],["doubleClickFullscreen",`允许双击播放器切换全屏, 请注意不能与播放器触摸支持-启用双击控制一同使用.`],["ajaxHook",`是否启用 Ajax Hook API, 其他插件或附加功能能够通过此 API 获取 Ajax 请求的信息.`],["scriptLoadingMode",`脚本功能的加载模式:\n- 同时: 与b站页面同时加载\n- 延后: 优先加载b站页面, 在b站页面加载完成后再开始加载脚本功能\n- 同时(自动): 根据页面自动选择加载模式, 默认采用同时模式\n- 延后(自动): 根据页面自动选择加载模式, 默认采用延后模式`],[`fullActivityContent`,`不管内容多长, 总是完全展开动态的内容.`],[`activityImageSaver`,`右键点击动态大图时, 如果这张图的右键菜单被禁止了, 将弹出带图片的消息方便保存.`],[`selectableColumnText`,`使专栏的文字可以选择.`],[`watchlaterExpireWarnings`,`稍后再看里的视频添加后60天会过期自动删除. 开启此功能可在期限不足14天时在稍后再看列表里显示过期警告.`],[`miniPlayerTouchMove`,`使迷你播放器的拖动条可以触摸拖动.`]]);return{export:{toolTips:e}}}})(); onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/show-dead-video-title.min.js"] = (()=>{return(e,t)=>{(async()=>{if(!document.URL.startsWith("https://space.bilibili.com")){return}class t{}class i extends t{convertToDeadVideoInfo(e,t){return{aid:e,title:t.title,cover:t.pic}}async queryInfo(e){const t=[];if(e.length<=i.MaxCountPerRequest){const s=await Ajax.getJson(`${i.BiliplusHost}/api/aidinfo?aid=${e.join(",")}`);if(s.code===0){t.push(...e.map(e=>{if(e in s.data){return this.convertToDeadVideoInfo(e,s.data[e])}else{return{aid:e,title:"已失效视频",cover:""}}}))}else{console.error(`[显示失效视频信息] Biliplus API 未成功. message=${s.message}`)}}else{t.push(...await this.queryInfo(e.slice(0,i.MaxCountPerRequest)));t.push(...await this.queryInfo(e.slice(i.MaxCountPerRequest)))}return t}}i.BiliplusHost=`https://hd.biliplus.com`;i.MaxCountPerRequest=30;class s extends t{async toggleWatchlater(e,t){for(const i of t){await Ajax.postTextWithCredentials(`https://api.bilibili.com/x/v2/history/toview/${e?"add":"del"}`,`aid=${i}&csrf=${getCsrf()}}`)}}async queryInfo(e){const t=[];await this.toggleWatchlater(true,e);const i=await Ajax.getJsonWithCredentials("https://api.bilibili.com/x/v2/history/toview/web");if(i.code===0){const s=i.data.list.map(e=>{return{aid:e.aid.toString(),title:e.title,cover:e.pic}});t.push(...e.map(e=>s.find(t=>t.aid===e)).filter(e=>e!==undefined));await this.toggleWatchlater(false,e)}else{console.error(`[显示失效视频信息] 稍后再看 API 未成功. message=${i.message}`)}return t}}const a=await SpinQuery.select("#app>.s-space");if(!a){return}Observer.childListSubtree(a,async()=>{const t=dqa(".disabled[data-aid]");if(t.length===0){return}const a=t.map(e=>e.getAttribute("data-aid"));const o=e.deadVideoTitleProvider==="BiliPlus"?new i:new s;const r=await o.queryInfo(a);console.log(`[显示失效视频信息]`,`deadVideos:`,t,`infos:`,r);t.forEach((t,i)=>{t.classList.remove("disabled");const s=t.getAttribute("data-aid");const a=(()=>{if(e.useBiliplusRedirect){return`https://hd.biliplus.com/video/av${s}`}else{return`//www.bilibili.com/video/av${s}`}})();const o=r.find(e=>e.aid===s);console.log(`[显示失效视频信息]`,"#"+i,o);if(o===undefined){console.error(`[显示失效视频信息]信息获取失败, aid=${s}`);return}const n=t.querySelector("a.cover");n.target="_blank";n.href=a;if(o.cover!==""){n.querySelector("img").src=o.cover.replace("http:","https:")}const l=t.querySelector("a.title");l.target="_blank";l.title=o.title;l.href=a;l.innerText=o.title})})})()}})(); -onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/simple-home.vue.min.js"] = (()=>{return(e,t)=>{const s=`
快了, 已经在路上了.jpg
`;return{export:Object.assign({template:s},{})}}})(); +onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/simple-home.vue.min.js"] = (()=>{return(o,a)=>{const e=`
活动
更多
`;a.applyStyleFromText(`.simple-home{--title-color:black;color:#444}body.dark .simple-home{--title-color:white;color:#ddd}.simple-home .more{background-color:#ddd;cursor:pointer;padding:2px 16px 2px 8px;display:flex;align-items:center;border-radius:16px;font-size:14px}.simple-home .more .be-icon{margin-right:8px;transition:.3s cubic-bezier(.25,.46,.45,.94)}.simple-home .more:hover .be-icon{transform:rotate(180deg)}body.dark .simple-home .more{background-color:#333}.simple-home .blackboards{display:grid;grid-template-areas:"header header" "dots cards";grid-template-columns:8px 1fr;grid-template-rows:1fr 250px;row-gap:16px;column-gap:16px}.simple-home .blackboards .header{grid-area:header;display:flex;justify-content:space-between;align-items:center}.simple-home .blackboards .header .title{color:var(--title-color);font-weight:700;font-size:24px}.simple-home .blackboards .jump-dots{grid-area:dots;align-self:center;justify-self:center}.simple-home .blackboards .jump-dots .jump-dot{background-color:#ddd;width:8px;height:20px;border-radius:8px;cursor:pointer}.simple-home .blackboards .jump-dots .jump-dot.active{background-color:var(--theme-color);height:40px}.simple-home .blackboards .jump-dots .jump-dot:not(:last-child){margin-bottom:6px}body.dark .simple-home .blackboards .jump-dots .jump-dot:not(.active){background-color:#444}.simple-home .blackboards .blackboard-cards{grid-area:cards;width:500px;height:250px;overflow:auto;scroll-snap-type:y mandatory;scrollbar-width:none!important}.simple-home .blackboards .blackboard-cards::-webkit-scrollbar{width:0!important;height:0!important}.simple-home .blackboards .blackboard-cards .blackboard-card{width:100%;height:100%;scroll-snap-align:start;position:relative;display:block}.simple-home .blackboards .blackboard-cards .blackboard-card img{width:100%;height:100%;object-fit:fill;border-radius:16px;display:block}.simple-home .blackboards .blackboard-cards .blackboard-card .title{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);padding:4px 16px;color:#fff;background-color:#000a;font-size:14px;font-weight:700;border-radius:14px;white-space:nowrap}`,"simple-home-style");return{export:Object.assign({template:e},{components:{Icon:()=>a.importAsync("icon.vue")},data(){return{blackboards:[],currentBlackboardIndex:0}},async mounted(){const{getBlackboards:o}=await a.importAsync("blackboard");this.blackboards=o().filter(o=>!o.isAd)}})}}})(); onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/simplify-home.min.css"] = `#app>.bili-header-m.stardust-common>.bili-wrapper,#app>.bili-wrapper,#app>.elevator-module,.bili-header-m .head-banner .head-content .head-logo,.international-footer,.international-header .b-wrap,.international-home>:not(.international-header){display:none!important}`; onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/simplify-home.min.js"] = (()=>{return(e,i)=>{(async()=>{if(document.URL.replace(window.location.search,"")!=="https://www.bilibili.com/"){i.removeStyle("simplifyHomeStyle");return}document.body.insertAdjacentHTML("beforeend",`\n\n`);const m=new Vue({el:"simplify-home",components:{SimplifyHome:()=>i.importAsync("simplify-home.vue")},data:{homeStyle:e.simplifyHomeStyle}});addSettingsListener("simplifyHomeStyle",e=>m.homeStyle=e,false)})()}})(); onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/simplify-home.vue.min.js"] = (()=>{return(e,o)=>{const m=`
`;o.applyStyleFromText(`.simplify-home{padding-top:32px;display:flex;align-items:center;justify-content:center;background-color:#f4f4f4}body.dark .simplify-home{background-color:#181818}.simplify-home .simplify-home-component{max-width:100%}html{scroll-behavior:smooth}`,"simplify-home-style");return{export:Object.assign({template:m},{components:{"minimal-home":()=>o.importAsync("minimal-home.vue"),"simple-home":()=>o.importAsync("simple-home.vue")},computed:{activeComponent(){return this.homeStyle==="清爽"?"simple-home":"minimal-home"}},props:{homeStyle:String}})}}})(); diff --git a/bilibili-evolved.user.js b/bilibili-evolved.user.js index 9809e16f1..a571d2f9f 100644 --- a/bilibili-evolved.user.js +++ b/bilibili-evolved.user.js @@ -1170,7 +1170,7 @@ onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/mi onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/settings-tooltip.min.js"] = (()=>{return(e,a)=>{const n={useDefaultPlayerMode:`控制是否使用默认播放器模式, 可以为常规, 宽屏, 网页全屏全屏.`,defaultPlayerMode:`设置默认的播放器模式.`,applyPlayerModeOnPlay:`是否在播放时应用模式, 若选择否就会在未开始播放时就应用.`,useDefaultPlayerLayout:`设置默认的播放器布局, 尽量在相应的页面里设置(比如在番剧播放页面设置番剧播放器布局), 否则可能没有效果.\n- 旧版: 传统布局\n- 新版: 视频区默认的新版布局\n注: 旧版布局中, 很多脚本功能将不适用.`,defaultPlayerLayout:`设置视频区的布局.`,defaultBangumiLayout:`设置番剧区的布局.`,useDefaultVideoQuality:`进入视频时自动选择指定的画质, 若视频最高画质低于所选画质, 则使用视频的最高画质.`,defaultVideoQuality:`设定自动选择的视频画质.`,autoLightOff:`首次播放时, 自动进入关灯模式, 并在播放结束后自动开灯.`,useDefaultDanmakuSettings:`设置默认是否开启弹幕, 以及是否记住防挡字幕和智能防挡弹幕.`,enableDanmaku:`控制弹幕是否默认开启.`,rememberDanmakuSettings:`控制是否记住弹幕设置, 包括防挡字幕和智能防挡弹幕. 在播放器中改动这些设置后, 每个视频都会默认使用这些设置.`,expandDanmakuList:`新版播放页面中, 弹幕列表默认收起以显示推荐的其他视频. 启用此功能可在每次加载视频时自动展开弹幕列表.`,expandDescription:`长的视频简介默认会被折叠, 启用此功能可以强制展开完整的视频简介.`,autoPlay:`进入视频页面时自动开始播放视频.`,autoContinue:`播放视频时如果检测到历史记录信息(上次看到...消息), 则自动跳转到相应的时间播放.`,skipChargeList:`自动跳过视频结尾的充电鸣谢.`,framePlayback:`在播放器的时间右边增加两个按钮, 用于精细调整视频时间. 支持键盘快捷键Shift + 左/右方向键. (旧版播放器只能用键盘快捷键, 不会显示按钮)`,playerFocus:`进入视频/番剧页面时, 自动定位到播放器.`,playerFocusOffset:`定位时的竖直偏移量, 单位为像素(px).`,customStyleColor:`设定顶栏(样式调整启用时)和夜间模式使用的主题色, 可以点击颜色预览的圆圈打开色板, 其中含有预定义的16种主题色, 也可以在右侧的文本框直接输入任何有效的16进制颜色值(#rrggbb#rgb).`,useNewStyle:`主要会改变顶栏的样式, 并有一些其他地方的界面微调:\n- 为播放器增加主题色投影\n- 可控制顶栏对横幅的透明度\n- 使播放器按钮垂直对齐\n- 使部分搜索栏的提示文字的颜色更清晰\n- 隐藏播放页面的"返回旧版"侧栏\n- 修复直播间一些文字初始状态不正确\n- 窄屏幕下强制保留弹幕发送栏`,blurBackgroundOpacity:`设置顶栏对横幅的透明度(0~1), 数值越高顶栏越淡, 当横幅关闭时此选项无效.`,useDarkStyle:`夜间模式更适合光线暗的环境, 并会大量应用主题颜色.`,darkSchedule:`设置一个使用夜间模式的时间段, 进入/离开此时间段时, 会自动开启/关闭夜间模式.\n结束时间小于起始时间时将视为次日, 如18:006:00表示晚上18:00到次日6:00.`,darkScheduleStart:`设置计划时段的起始时间.`,darkScheduleEnd:`设置计划时段的结束时间.`,compactLayout:`设置首页是否使用紧凑布局, 视频的间距会减小并削去圆角, 分区栏的图标会使用高清重制版. 目前仅支持首页, 其他分区的样式后续会添加.`,useCommentStyle:`- 删除热评头像下方的关注按钮\n- 删除用户的等级标识\n- 删除发送源信息(来自安卓客户端这种)\n- 发送时间移动到右上角\n- 位图图标全部换用矢量图标, 高分屏不会模糊\n注: 关注和等级可以通过鼠标停留在头像上, 在弹出的资料卡小窗中查看.`,simplifyLiveroom:`- 隐藏姥爷图标\n- 隐藏粉丝勋章\n- 隐藏活动头衔\n- 隐藏用户等级\n- 隐藏舰长图标\n- 隐藏全区广播\n- 隐藏欢迎信息 (xxx姥爷进入直播间)\n- 隐藏抽奖提示 (开通舰长, 小飞船抽奖等)\n- 禁用直播间皮肤\n每一项都可以在附加功能中单独选择是否隐藏.`,overrideNavBar:`开启后, 在主站中总是把搜索框置于顶栏, 如果页面里没有搜索栏则不会显示.`,showBanner:`控制是否显示主站顶部的横幅`,preserveRank:`控制是否在搜索框左侧显示排行榜图标.`,blurVideoControl:`模糊视频控制栏背景, 原版的阴影效果将无效.`,customControlBackground:`给视频控制栏附上半透明的黑色, 代替原来的阴影.`,customControlBackgroundOpacity:`设置控制栏着色的黑色不透明度(0~1), 数值越大黑色越浓.`,harunaScale:`根据屏幕DPI缩放直播看板娘的大小以提高像素的清晰度.`,removeLiveWatermark:`删除观看直播时角落的水印.`,removeVideoTopMask:`删除视频里鼠标经过时出现在右上角的覆盖层.`,removeAds:`删除站内的各种广告. 包括首页的推广模块, 手机app推荐, 视频页面右侧的广告等.`,watchLaterRedirect:`将稍后再看的链接重定向为普通播放网址, 以使用新版播放页面.`,favoritesRedirect:`将个人空间收藏夹里的视频重定向为直链, 而不是收藏夹播单链接.`,hideTopSearch:`将搜索框的推荐词替换为搜索.`,fullTweetsTitle:`在顶栏的动态预览框中, 总是展开完整的标题.`,fullPageTitle:`在视频选集列表中, 总是展开完整的标题.`,showDeadVideoTitle:`在个人空间中, 为已失效视频恢复标题和封面.`,useBiliplusRedirect:`将失效视频重定向到BiliPlus.`,biliplusRedirect:`在视频/番剧/空间中, 附加功能"转到BiliPlus", 点击可以转到BiliPlus上对应的页面.`,imageResolution:`根据屏幕DPI请求更高分辨率的图片, 例如DPI缩放200%则请求2倍的分辨率, 加载时间也会相应变长一些.`,oldTweets:`将新版动态的链接换为旧版动态, 同时可在附加功能中在新旧动态间切换.`,touchNavBar:`删除顶栏右侧的一级链接(从大会员历史), 以方便触屏设备快速预览信息. 被删除的链接可从各预览中的查看更多进入.`,comboLike:`为素质三连(长按点赞)启用触摸支持.`,touchVideoPlayer:`增大控制栏的按钮间距, 使触摸操作更准确. 并为播放器启用触摸支持:\n- 左右滑动可调整进度\n- 上下滑动可调整音量\n- 进度调整可在左上角和右上角取消\n- 在不同位置滑动, 可以使用3档不同的灵敏度.`,touchVideoPlayerAnimation:`决定是否要对触摸调整的提示框使用出现/消失动画, 此动画可能导致掉帧.`,touchVideoPlayerDoubleTapControl:`将操作方式更改为: 单击显示/隐藏控制栏, 双击播放/暂停.`,toast:`允许在网页左下角显示来自本脚本的消息, 如更新提醒, 错误提示等.`,toastInternalError:`开启后, 错误消息将显示详细的技术性错误信息及堆栈跟踪, 这通常用于准确地确定问题发生的原因, 所以报告问题时这些信息会非常有用.`,useCache:`使用缓存以提高脚本的加载速度.`};function t(e){const a=e.querySelector("input");if(a){return a.getAttribute("key")}return null}(async()=>{a.applyStyle("settingsTooltipStyle");const e=await SpinQuery.select(()=>document.querySelector(".gui-settings-tooltip"));document.querySelectorAll(".gui-settings-content>ul>li").forEach(a=>{a.addEventListener("mouseover",()=>{const s=n[t(a)];if(s!==undefined){e.innerHTML=s;e.classList.add("show")}});a.addEventListener("mouseout",()=>{e.classList.remove("show")})})})();return{export:{toolTips:n}}}})(); onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/settings-tooltip.zh-CN.min.js"] = (()=>{return(a,n)=>{const e=new Map([["useDefaultPlayerMode",`控制是否使用默认播放器模式, 可以为常规, 宽屏, 网页全屏全屏.`],["defaultPlayerMode",`设置默认的播放器模式.`],["applyPlayerModeOnPlay",`是否在播放时应用模式, 若选择否就会在未开始播放时就应用.`],["useDefaultPlayerLayout",`设置默认的播放器布局, 尽量在相应的页面里设置(比如在番剧播放页面设置番剧播放器布局), 否则可能没有效果.\n- 旧版: 传统布局\n- 新版: 视频区默认的新版布局\n注: 旧版布局中, 很多脚本功能将不适用.`],["defaultPlayerLayout",`设置视频区的布局.`],["defaultBangumiLayout",`设置番剧区的布局.`],["useDefaultVideoQuality",`进入视频时自动选择指定的画质, 若视频最高画质低于所选画质, 则使用视频的最高画质.`],["defaultVideoQuality",`设定自动选择的视频画质.`],["autoLightOff",`首次播放时, 自动进入关灯模式, 并在播放结束后自动开灯.`],["useDefaultDanmakuSettings",`设置默认是否开启弹幕, 以及是否记住防挡字幕和智能防挡弹幕.`],["enableDanmaku",`控制弹幕是否默认开启.`],["rememberDanmakuSettings",`控制是否记住弹幕设置, 包括防挡字幕和智能防挡弹幕. 在播放器中改动这些设置后, 每个视频都会默认使用这些设置.`],["expandDanmakuList",`新版播放页面中, 弹幕列表默认收起以显示推荐的其他视频. 启用此功能可在每次加载视频时自动展开弹幕列表.`],["expandDescription",`长的视频简介默认会被折叠, 启用此功能可以强制展开完整的视频简介.`],["autoPlay",`进入视频页面时自动开始播放视频.`],["autoContinue",`播放视频时如果检测到历史记录信息(上次看到...消息), 则自动跳转到相应的时间播放.`],["skipChargeList",`自动跳过视频结尾的充电鸣谢.`],["framePlayback",`在播放器的时间右边增加两个按钮, 用于精细调整视频时间. 支持键盘快捷键Shift+/. (旧版播放器只能用键盘快捷键, 不会显示按钮)`],["playerFocus",`进入视频/番剧页面时, 自动定位到播放器.`],["playerFocusOffset",`定位时的竖直偏移量, 单位为像素(px).`],["customStyleColor",`设定顶栏(自定义顶栏启用时)和夜间模式使用的主题色, 可以点击颜色预览的圆圈打开色板, 其中含有预定义的16种主题色, 也可以在右侧的文本框直接输入任何有效的16进制颜色值(#rrggbb#rgb).`],["useNewStyle",`主要会改变顶栏的样式, 并有一些其他地方的界面微调:\n- 为播放器增加主题色投影\n- 可控制顶栏对横幅的透明度\n- 使播放器按钮垂直对齐\n- 使部分搜索栏的提示文字的颜色更清晰\n- 隐藏播放页面的"返回旧版"侧栏\n- 修复直播间一些文字初始状态不正确\n- 窄屏幕下强制保留弹幕发送栏`],["blurBackgroundOpacity",`设置顶栏对横幅的透明度(0~1), 数值越高顶栏越淡, 当横幅关闭时此选项无效.`],["useDarkStyle",`夜间模式更适合光线暗的环境, 并会大量应用主题颜色.`],["darkSchedule",`设置一个使用夜间模式的时间段, 进入/离开此时间段时, 会自动开启/关闭夜间模式.\n结束时间小于起始时间时将视为次日, 如18:006:00表示晚上18:00到次日6:00.`],["darkScheduleStart",`设置计划时段的起始时间.`],["darkScheduleEnd",`设置计划时段的结束时间.`],["compactLayout",`设置首页是否使用紧凑布局, 视频的间距会减小, 分区栏的图标会使用高清重制版.`],["useCommentStyle",`- 删除热评头像下方的关注按钮\n- 删除用户的等级标识\n- 删除发送源信息(来自安卓客户端这种)\n- 删除用户名右边的勋章\n- 删除评论区顶部的横幅\n- 发送时间移动到右上角\n- 位图图标全部换用矢量图标, 高分屏不会模糊\n- 投票仅显示链接, 隐藏下面的大框.\n注: 关注和等级可以通过鼠标停留在头像上, 在弹出的资料卡小窗中查看.`],["simplifyLiveroom",`- 隐藏老爷图标\n- 隐藏粉丝勋章\n- 隐藏活动头衔\n- 隐藏用户等级\n- 隐藏舰长图标\n- 隐藏全区广播\n- 隐藏欢迎信息 (xxx老爷进入直播间)\n- 隐藏礼物弹幕 (仅弹幕列表, 特殊效果如节奏风暴不受影响)\n- 隐藏上舰提示 (弹幕列表里的 xxx开通了舰长)\n- 隐藏付费礼物 (播放器下面的各种金瓜子礼物, 以及许愿瓶, 上舰等)\n- 隐藏活动横幅\n- 隐藏抽奖提示 (开通舰长, 小飞船抽奖等)\n- 禁用直播间皮肤\n每一项都可以在附加功能中单独选择是否隐藏.`],["preserveRank",`控制是否在搜索框左侧显示排行榜图标.`],["blurVideoControl",`模糊视频控制栏背景, 原版的阴影效果将无效.`],["customControlBackground",`给视频控制栏附上半透明的黑色, 代替原来的阴影.`],["customControlBackgroundOpacity",`设置控制栏着色的黑色不透明度(0~1), 数值越大黑色越浓.`],["harunaScale",`根据屏幕DPI缩放直播看板娘的大小以提高像素的清晰度.`],["removeLiveWatermark",`删除观看直播时角落的水印.`],["removeVideoTopMask",`删除视频里鼠标经过时出现在右上角的覆盖层.`],["removeAds",`删除站内的各种广告. 包括首页的推广模块, 手机app推荐, 视频页面右侧的广告等.`],["showBlockedAdsTip",`删除首页推广模块的广告后显示"🚫已屏蔽广告"来替代空白区域.`],["watchLaterRedirect",`将稍后再看的链接重定向为普通播放网址, 以使用新版播放页面.`],["favoritesRedirect",`将个人空间收藏夹里的视频重定向为直链, 而不是收藏夹播单链接.`],["hideTopSearch",`将搜索框的推荐词替换为搜索.`],["fullTweetsTitle",`在顶栏的动态预览框中, 总是展开完整的视频标题.`],["fullPageTitle",`在视频选集列表中, 总是展开完整的标题.`],["showDeadVideoTitle",`在个人空间中, 为已失效视频恢复标题和封面.`],["useBiliplusRedirect",`将失效视频重定向到BiliPlus.`],["deadVideoTitleProvider",`失效视频的信息来源: 稍后再看较稳定, 但需要一点时间来查询; BiliPlus速度更快, 但是因为没写完暂不开放.`],["biliplusRedirect",`在视频/番剧/空间中, 附加功能"转到BiliPlus", 点击可以转到BiliPlus上对应的页面.`],["imageResolution",`根据屏幕DPI请求更高分辨率的图片, 例如DPI缩放200%则请求2倍的分辨率, 加载时间也会相应变长一些.`],["oldTweets",`将新版动态的链接换为旧版动态, 同时可在附加功能中在新旧动态间切换.`],["touchNavBar",`删除顶栏右侧的一级链接(从大会员历史), 以方便触屏设备快速预览信息. 被删除的链接可从各预览中的查看更多进入.`],["comboLike",`为素质三连(长按点赞)启用触摸支持.`],["touchVideoPlayer",`增大控制栏的按钮间距, 使触摸操作更准确. 并为播放器启用触摸支持:\n- 左右滑动可调整进度\n- 上下滑动可调整音量\n- 进度调整可在左上角和右上角取消\n- 在不同位置滑动, 可以使用3档不同的灵敏度.`],["touchVideoPlayerAnimation",`决定是否要对触摸调整的提示框使用出现/消失动画, 此动画可能导致掉帧.`],["touchVideoPlayerDoubleTapControl",`将操作方式更改为: 单击显示/隐藏控制栏, 双击播放/暂停.`],["toast",`允许在网页左下角显示来自本脚本的消息, 如更新提醒, 错误提示等.`],["toastInternalError",`开启后, 错误消息将显示详细的技术性错误信息及堆栈跟踪, 这通常用于准确地确定问题发生的原因, 所以报告问题时这些信息会非常有用.`],["useCache",`使用缓存以提高脚本的加载速度.`],["outerWatchlater",`将视频页面菜单里的稍后再看移到外面.`],["i18n",`为界面中一些常用文本提供翻译.`],["i18nLanguage",`翻译的目标语言.`],["customNavbar",`启用自定义顶栏, 替代原版的顶栏, 仅对主站生效, 不影响直播/相簿/会员购等.`],["customNavbarSeasonLogo",`是否使用季节Logo代替普通的Logo.`],["customNavbarFill",`是否使用主题色填充顶栏.`],["allNavbarFill",`是否使用主题色填充其他的顶栏, 包括直播/相簿/会员购等.`],["customNavbarShadow",`是否为顶栏添加一层阴影效果.`],["customNavbarCompact",`是否为顶栏使用更紧凑的布局, 紧凑布局将使用更小的间距, 以及在视频标题过长时用...省略后面的部分.`],["customNavbarBlur",`是否在顶部横幅存在时, 使用背景模糊效果.`],["playerShadow",`为播放器添加主题色投影.`],["narrowDanmaku",`在网页全屏时, 即使宽度过小也强制保留弹幕发送栏, 注意这可能导致右侧的功能按钮挤出边界.`],["hideOldEntry",`隐藏播放页右侧的返回旧版入口.`],["hideBanner",`隐藏首页顶部横幅.`],["allowJumpContinue",`当历史记录的集数与当前打开的不一致时, 仍然自动跳转.`],["hideBangumiReviews",`隐藏番剧播放页面里的点评板块.`],["videoScreenshot",`启用视频快速截图, 将在播放器的时间右边增加一个截图按钮. 支持键盘快捷键Ctrl+Alt+C. (旧版播放器只能用键盘快捷键, 不会显示按钮)\n如果弹幕渲染类型选择了Canvas, 则可以再按住Shift键来截取带弹幕的截图. 也就是鼠标操作为"按住Shift点击截图按钮", 键盘操作为"Ctrl+Shift+Alt+C".`],["filenameFormat",`自定义文件命名格式, 作用于下载弹幕, 下载视频, 视频截图, 查看封面.\n可以使用的变量有:\n- title: 视频标题/直播间标题\n- ep: 选集标题\n- aid: AV号\n- cid: CID (每个视频的唯一编号, AV号对应的视频可能有多集)\n- lid: 直播间号\n- y/M/d: 年/月/日\n- h/m/s/ms: 时/分/秒/毫秒\n\n默认的格式是[title][ - ep], 标题+选集标题, 当没有选集标题时则只有标题.\n\n变量要放在方括号里, 而方括号里的其他内容会在变量有效时出现. 比如格式如果写成[title] - [ep], 那么即使没有选集标题, 中间那个 - 也会出现在文件名里. 如果像默认那样放在方括号里, 没有选集标题时, - 也不会出现.\n\n例如, 想要标题+AV号+时间的格式, 可以设定为[title][ AVaid] [y]-[M]-[d] [h]-[m]-[s], 能够得到类似xxxx AV23333 2019-05-29 19-59-44的名字.`],["noLiveAutoplay",`禁止直播首页的推荐直播间自动开始播放.`],["hideHomeLive",`隐藏直播首页的推荐直播间板块.`],["sideBarOffset",`设定侧栏的垂直偏移量, 单位为百分比, 允许的范围为 -40% ~ 40%.`],["hideCategory",`隐藏主站的分区栏, 分区仍然可以从顶栏的主站菜单中进入.`],["foldComment",`动态里查看评论区时, 在底部添加一个收起评论按钮, 这样就不用再回到上面收起了.`],["useDefaultVideoSpeed",`设置是否使用默认视频播放速度.`],["defaultVideoSpeed",`设置默认的视频播放速度.`],["seedsToCoins",`在附加功能中添加瓜子换硬币的按钮, 点击可以将700银瓜子换成1个硬币, 每天限1次.`],["autoDraw",`在当前直播间有抽奖活动时, 自动点击抽奖按钮. 注意只适用于少量抽奖, 那种99+限量抽奖可能跟不上其他人的手速(`],["keymap",`为视频播放器启用更多的快捷键:\n- w 网页全屏\n- t 宽屏\n- r 循环播放\n- m 静音\n- d 弹幕开关\n- l 点赞\n- c 投币\n- s 收藏\n- Shift + w 稍后再看\n- Shift + ↑/↓ / Shift + ,/. 播放速度调整\n- Shift + / 重置播放速度`],["doubleClickFullscreen",`允许双击播放器切换全屏, 请注意不能与播放器触摸支持-启用双击控制一同使用.`],["ajaxHook",`是否启用 Ajax Hook API, 其他插件或附加功能能够通过此 API 获取 Ajax 请求的信息.`],["scriptLoadingMode",`脚本功能的加载模式:\n- 同时: 与b站页面同时加载\n- 延后: 优先加载b站页面, 在b站页面加载完成后再开始加载脚本功能\n- 同时(自动): 根据页面自动选择加载模式, 默认采用同时模式\n- 延后(自动): 根据页面自动选择加载模式, 默认采用延后模式`],[`fullActivityContent`,`不管内容多长, 总是完全展开动态的内容.`],[`activityImageSaver`,`右键点击动态大图时, 如果这张图的右键菜单被禁止了, 将弹出带图片的消息方便保存.`],[`selectableColumnText`,`使专栏的文字可以选择.`],[`watchlaterExpireWarnings`,`稍后再看里的视频添加后60天会过期自动删除. 开启此功能可在期限不足14天时在稍后再看列表里显示过期警告.`],[`miniPlayerTouchMove`,`使迷你播放器的拖动条可以触摸拖动.`]]);return{export:{toolTips:e}}}})(); onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/show-dead-video-title.min.js"] = (()=>{return(e,t)=>{(async()=>{if(!document.URL.startsWith("https://space.bilibili.com")){return}class t{}class i extends t{convertToDeadVideoInfo(e,t){return{aid:e,title:t.title,cover:t.pic}}async queryInfo(e){const t=[];if(e.length<=i.MaxCountPerRequest){const s=await Ajax.getJson(`${i.BiliplusHost}/api/aidinfo?aid=${e.join(",")}`);if(s.code===0){t.push(...e.map(e=>{if(e in s.data){return this.convertToDeadVideoInfo(e,s.data[e])}else{return{aid:e,title:"已失效视频",cover:""}}}))}else{console.error(`[显示失效视频信息] Biliplus API 未成功. message=${s.message}`)}}else{t.push(...await this.queryInfo(e.slice(0,i.MaxCountPerRequest)));t.push(...await this.queryInfo(e.slice(i.MaxCountPerRequest)))}return t}}i.BiliplusHost=`https://hd.biliplus.com`;i.MaxCountPerRequest=30;class s extends t{async toggleWatchlater(e,t){for(const i of t){await Ajax.postTextWithCredentials(`https://api.bilibili.com/x/v2/history/toview/${e?"add":"del"}`,`aid=${i}&csrf=${getCsrf()}}`)}}async queryInfo(e){const t=[];await this.toggleWatchlater(true,e);const i=await Ajax.getJsonWithCredentials("https://api.bilibili.com/x/v2/history/toview/web");if(i.code===0){const s=i.data.list.map(e=>{return{aid:e.aid.toString(),title:e.title,cover:e.pic}});t.push(...e.map(e=>s.find(t=>t.aid===e)).filter(e=>e!==undefined));await this.toggleWatchlater(false,e)}else{console.error(`[显示失效视频信息] 稍后再看 API 未成功. message=${i.message}`)}return t}}const a=await SpinQuery.select("#app>.s-space");if(!a){return}Observer.childListSubtree(a,async()=>{const t=dqa(".disabled[data-aid]");if(t.length===0){return}const a=t.map(e=>e.getAttribute("data-aid"));const o=e.deadVideoTitleProvider==="BiliPlus"?new i:new s;const r=await o.queryInfo(a);console.log(`[显示失效视频信息]`,`deadVideos:`,t,`infos:`,r);t.forEach((t,i)=>{t.classList.remove("disabled");const s=t.getAttribute("data-aid");const a=(()=>{if(e.useBiliplusRedirect){return`https://hd.biliplus.com/video/av${s}`}else{return`//www.bilibili.com/video/av${s}`}})();const o=r.find(e=>e.aid===s);console.log(`[显示失效视频信息]`,"#"+i,o);if(o===undefined){console.error(`[显示失效视频信息]信息获取失败, aid=${s}`);return}const n=t.querySelector("a.cover");n.target="_blank";n.href=a;if(o.cover!==""){n.querySelector("img").src=o.cover.replace("http:","https:")}const l=t.querySelector("a.title");l.target="_blank";l.title=o.title;l.href=a;l.innerText=o.title})})})()}})(); -onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simple-home.vue.min.js"] = (()=>{return(e,t)=>{const s=`
快了, 已经在路上了.jpg
`;return{export:Object.assign({template:s},{})}}})(); +onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simple-home.vue.min.js"] = (()=>{return(o,a)=>{const e=`
活动
更多
`;a.applyStyleFromText(`.simple-home{--title-color:black;color:#444}body.dark .simple-home{--title-color:white;color:#ddd}.simple-home .more{background-color:#ddd;cursor:pointer;padding:2px 16px 2px 8px;display:flex;align-items:center;border-radius:16px;font-size:14px}.simple-home .more .be-icon{margin-right:8px;transition:.3s cubic-bezier(.25,.46,.45,.94)}.simple-home .more:hover .be-icon{transform:rotate(180deg)}body.dark .simple-home .more{background-color:#333}.simple-home .blackboards{display:grid;grid-template-areas:"header header" "dots cards";grid-template-columns:8px 1fr;grid-template-rows:1fr 250px;row-gap:16px;column-gap:16px}.simple-home .blackboards .header{grid-area:header;display:flex;justify-content:space-between;align-items:center}.simple-home .blackboards .header .title{color:var(--title-color);font-weight:700;font-size:24px}.simple-home .blackboards .jump-dots{grid-area:dots;align-self:center;justify-self:center}.simple-home .blackboards .jump-dots .jump-dot{background-color:#ddd;width:8px;height:20px;border-radius:8px;cursor:pointer}.simple-home .blackboards .jump-dots .jump-dot.active{background-color:var(--theme-color);height:40px}.simple-home .blackboards .jump-dots .jump-dot:not(:last-child){margin-bottom:6px}body.dark .simple-home .blackboards .jump-dots .jump-dot:not(.active){background-color:#444}.simple-home .blackboards .blackboard-cards{grid-area:cards;width:500px;height:250px;overflow:auto;scroll-snap-type:y mandatory;scrollbar-width:none!important}.simple-home .blackboards .blackboard-cards::-webkit-scrollbar{width:0!important;height:0!important}.simple-home .blackboards .blackboard-cards .blackboard-card{width:100%;height:100%;scroll-snap-align:start;position:relative;display:block}.simple-home .blackboards .blackboard-cards .blackboard-card img{width:100%;height:100%;object-fit:fill;border-radius:16px;display:block}.simple-home .blackboards .blackboard-cards .blackboard-card .title{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);padding:4px 16px;color:#fff;background-color:#000a;font-size:14px;font-weight:700;border-radius:14px;white-space:nowrap}`,"simple-home-style");return{export:Object.assign({template:e},{components:{Icon:()=>a.importAsync("icon.vue")},data(){return{blackboards:[],currentBlackboardIndex:0}},async mounted(){const{getBlackboards:o}=await a.importAsync("blackboard");this.blackboards=o().filter(o=>!o.isAd)}})}}})(); onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simplify-home.min.css"] = `#app>.bili-header-m.stardust-common>.bili-wrapper,#app>.bili-wrapper,#app>.elevator-module,.bili-header-m .head-banner .head-content .head-logo,.international-footer,.international-header .b-wrap,.international-home>:not(.international-header){display:none!important}`; onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simplify-home.min.js"] = (()=>{return(e,i)=>{(async()=>{if(document.URL.replace(window.location.search,"")!=="https://www.bilibili.com/"){i.removeStyle("simplifyHomeStyle");return}document.body.insertAdjacentHTML("beforeend",`\n\n`);const m=new Vue({el:"simplify-home",components:{SimplifyHome:()=>i.importAsync("simplify-home.vue")},data:{homeStyle:e.simplifyHomeStyle}});addSettingsListener("simplifyHomeStyle",e=>m.homeStyle=e,false)})()}})(); onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simplify-home.vue.min.js"] = (()=>{return(e,o)=>{const m=`
`;o.applyStyleFromText(`.simplify-home{padding-top:32px;display:flex;align-items:center;justify-content:center;background-color:#f4f4f4}body.dark .simplify-home{background-color:#181818}.simplify-home .simplify-home-component{max-width:100%}html{scroll-behavior:smooth}`,"simplify-home-style");return{export:Object.assign({template:m},{components:{"minimal-home":()=>o.importAsync("minimal-home.vue"),"simple-home":()=>o.importAsync("simple-home.vue")},computed:{activeComponent(){return this.homeStyle==="清爽"?"simple-home":"minimal-home"}},props:{homeStyle:String}})}}})(); diff --git a/min/bundle.json b/min/bundle.json index 18cd4e0d6..8a32ac6e4 100644 --- a/min/bundle.json +++ b/min/bundle.json @@ -134,7 +134,7 @@ "settings-tooltip.min.js": "E9ABA72B3C29CA850342109E57B055B193F3356DD59876B202E8E908AE6247C9", "settings-tooltip.zh-CN.min.js": "AD93F86107EC6840A24BCFF7DE3DB87C620A7591D88CFD4A2E41C058B7ED5585", "show-dead-video-title.min.js": "8D591930421EBA43A1BDF50DC8B645C1BD1A17E109FB1CFBCD6B78E6C74E1D68", - "simple-home.vue.min.js": "030C853AE068A918E540BCD491A40831F069BC88375230E40BB4B964E4252FB2", + "simple-home.vue.min.js": "197187651A2B9B545445D3F9663FDF165FC653625779B831A4C4A1E93C78A23B", "simplify-home.min.css": "50F0FA046D61ECE5183409CF97C8DBECB4CF64918DF813CD2B39BF9FBD314B42", "simplify-home.min.js": "F6D7F8E0D45847C3E056711AECE3832785603E7EF85A4B995C028F5CBE539C94", "simplify-home.vue.min.js": "CE3C3E09348AA20C36E3EE7A4023CF7DCDE304412D3EC440ABF316CFD0A31C6E", diff --git a/min/bundle.zip b/min/bundle.zip index 310a25591636b23065e768f86a1d20a2401b7a73..3e9d8fb52fd7e642dfa720f1449b556c0d29a413 100644 GIT binary patch delta 2715 zcmbtWZ)_A*5by2*?NMk;?_PVfQnp9cUhQ5>QxLY@(h>p`3KT+(O8E2ccJFT6z1?GX zOQ}aKi5e3O@xvuf0tTZX5>P9!_jh(jW4xqWW~R!hklV(GbVKx32C6y5$LS$1 z?SttRy5wF_;RM@hZ=41#Wt%K;3MYyp7wk3+S+f?8Io+yB^7cM2I+1eF{)gRz&Z+%r zt9%gYp)d4)D8|ij7B#}MC2mH!*7g6~ix_f94EVbZl@n5d!hs#IMkN~N1k+d)M3EAu zVYwr@h^kh4$@n10B+5D^>?|Ly`^Nppw#U3dzZakgi$0sk|Z!bL(Til){s{Qrz5%^qK@0-Ac5Ye~E#+V_b*EhSKRb<8W&V z<1LNI6xne0!^?S-rOTy?#tY4t+{MfSc=?jMtfOvTEfO{K9zINCHfs!icT^i2KYT0B zZ<~*Y4MpOqAydH?z{%fo${_X(<1Nd`8FCyea?{pL3|=kHO&&@+`@RG-x%BzE2V?yo z#nDq|X6%dfV93e1TROWR<+)gZ%h8{(-BCxfH znY|1X+JFbu!~%`!%Htcg{Ha5qEJ7E2J)d!5pi-4mkI{cT|E$FBIWwU@=FD!z5`D<= z7#HdXSz3aoTa~s~vJZxSpH$TUC_mB(uscsi=u<^y2TPb&o2;h$-0adyR(D9%dj#5T z=?!Mk&{dT;H5%is-k2=(a#5;D)Y1*6Ha9*0e4xKjL};E2;xoaro8m9Qq5*jKH@#_Od^1F9bEdZIlz?5e4K`t?Ak9JKh5 zVhJHdRU0PgM3Q30RN9N}@rk#!n|eH^n~J6Anm`j5zspI8m$MzowpCNX%u38Ulam*t zlB8&10S_Z~N;na8d0lAxe&3dAZ$`@C6VqA4$k4RY>0u~r z>MZmmVtyy=?wFeWY&wCauwi5M#5bQ%3q$)@7foIGalFJ9r<;bL_ldNJDi%la9!e&< z#q8CBmEN>vudl(1C}w7>5%o%+9|Mc6pi&o`%5}eDwn#p>eKObm=I|-k(cx3>T?&51 z9F6+Pt&;IyAxbM*&)yz{6Ro7Bz(3^5O3_XB82s>nxy{546)Q-Yqw$;znoqlC!lo6Z zid}dfhE@;{T(2Vea2V&=&#xpUOB`?g?1Hzi;JO=CWE#}gkV)Vkb`?y|8vD(@nOac< z;dvwvKD_F37mUqi4g7*0sBm~WA@ErvDxX+MO4zPSxUiBeWPe=-o7+eU)V2|x-L*V9 zSjui$3m>(SX7=ujaHEYZ%DKDQot3$EnaGmFq3#;!veHEycU;we88+DbEaIVB^aiE0cf?_6aWAK delta 648 zcmZ9IT}YE*6vyA5`O$RKeLTl%F_C7F;dCPkUeM{H8b%_;UUhDRq`l-Dlg({vBZSJ* z5{5Uy0TU|bMHJZw!pbfRvy!|pf-^;negeF>VVSYIEfb)435FfoH3P|<3kGBObv*zX8Qk`i*9hU`Dy&<1}B48xKo09 zW|=|11czAJEG8v5%x=8L@7a4~32n_3^S)%`HcT`_W&ZVLqYw=$Xm0?H-FrAU(gJ_a z2{RX>v3O8My@S-^7AR#OYOuNmT&$}$8%=mXgd)6|Ra{5#c?;C578^P0J)C1jBWTdl z3Z?mrZZ5=>7*>k_=%)-T_hVlxi0VFtlu&y#hISE*_>Q!kCtX~?Uq``=y8V!Y-}<>u z^UsnXOr1r$2kLaI@oZ=JsSay6*dCW7n;x%uXn4~YPEbj~$PAVA%5p5aDeBuu9GOLX z8#uM9w_ND41|p$wAk>QwU9cUIbd`FZW8E?@L0cW!|CDXH`U5j{return(e,t)=>{const s=`
快了, 已经在路上了.jpg
`;return{export:Object.assign({template:s},{})}}})(); \ No newline at end of file +(()=>{return(o,a)=>{const e=`
活动
更多
`;a.applyStyleFromText(`.simple-home{--title-color:black;color:#444}body.dark .simple-home{--title-color:white;color:#ddd}.simple-home .more{background-color:#ddd;cursor:pointer;padding:2px 16px 2px 8px;display:flex;align-items:center;border-radius:16px;font-size:14px}.simple-home .more .be-icon{margin-right:8px;transition:.3s cubic-bezier(.25,.46,.45,.94)}.simple-home .more:hover .be-icon{transform:rotate(180deg)}body.dark .simple-home .more{background-color:#333}.simple-home .blackboards{display:grid;grid-template-areas:"header header" "dots cards";grid-template-columns:8px 1fr;grid-template-rows:1fr 250px;row-gap:16px;column-gap:16px}.simple-home .blackboards .header{grid-area:header;display:flex;justify-content:space-between;align-items:center}.simple-home .blackboards .header .title{color:var(--title-color);font-weight:700;font-size:24px}.simple-home .blackboards .jump-dots{grid-area:dots;align-self:center;justify-self:center}.simple-home .blackboards .jump-dots .jump-dot{background-color:#ddd;width:8px;height:20px;border-radius:8px;cursor:pointer}.simple-home .blackboards .jump-dots .jump-dot.active{background-color:var(--theme-color);height:40px}.simple-home .blackboards .jump-dots .jump-dot:not(:last-child){margin-bottom:6px}body.dark .simple-home .blackboards .jump-dots .jump-dot:not(.active){background-color:#444}.simple-home .blackboards .blackboard-cards{grid-area:cards;width:500px;height:250px;overflow:auto;scroll-snap-type:y mandatory;scrollbar-width:none!important}.simple-home .blackboards .blackboard-cards::-webkit-scrollbar{width:0!important;height:0!important}.simple-home .blackboards .blackboard-cards .blackboard-card{width:100%;height:100%;scroll-snap-align:start;position:relative;display:block}.simple-home .blackboards .blackboard-cards .blackboard-card img{width:100%;height:100%;object-fit:fill;border-radius:16px;display:block}.simple-home .blackboards .blackboard-cards .blackboard-card .title{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);padding:4px 16px;color:#fff;background-color:#000a;font-size:14px;font-weight:700;border-radius:14px;white-space:nowrap}`,"simple-home-style");return{export:Object.assign({template:e},{components:{Icon:()=>a.importAsync("icon.vue")},data(){return{blackboards:[],currentBlackboardIndex:0}},async mounted(){const{getBlackboards:o}=await a.importAsync("blackboard");this.blackboards=o().filter(o=>!o.isAd)}})}}})(); \ No newline at end of file diff --git a/src/activity/feeds-apis.ts b/src/activity/feeds-apis.ts index 5be0edd64..f85d5afa6 100644 --- a/src/activity/feeds-apis.ts +++ b/src/activity/feeds-apis.ts @@ -96,7 +96,7 @@ class FeedsCardsManager extends EventTarget { parseCard(element: HTMLElement): FeedsCard { const getText = (selector: string) => { if (element.querySelector(selector) === null) { - // console.log(element, selector) + console.warn(element, selector) return '' } return (element.querySelector(selector) as HTMLElement).innerText diff --git a/src/style/simplify-home/simple-home/simple-home.vue b/src/style/simplify-home/simple-home/simple-home.vue index e2c576dda..67691e78f 100644 --- a/src/style/simplify-home/simple-home/simple-home.vue +++ b/src/style/simplify-home/simple-home/simple-home.vue @@ -1,10 +1,169 @@ \ No newline at end of file + + \ No newline at end of file