diff --git a/CHANGELOG.md b/CHANGELOG.md index ca2cfe0e..54dabbee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,52 +1,70 @@ # 更新日志 +## [7.1.2] - 2023-9-17 + +### 新增 + +- 模块运行frame新增选项top + +### 修复 + +- 修复部分模块在特殊直播间不运行的Bug +- 修复领取大会员权益模块在领取前一天会多次运行的Bug +- 修复体验优化和移除元素板块不显示标题的Bug + +### 调整 + +- 直播任务板块UI微调 +- 粉丝勋章获取逻辑调整,现在可以获取完整的粉丝勋章列表(但可能会耗费很长时间) +- 粉丝勋章相关任务调整,将执行任务的粉丝勋章数量上调为199 + ## [7.1.1] - 2023-9-5 -## 新增 +### 新增 - 屏蔽挂机检测模块 - 更多模块运行时机 - 支持指定模块运行的frame,以及是否在默认模块运行完后运行 -## 调整 +### 调整 - 部分模块微调:运行时机,运行frame,是否在默认模块运行完后运行 - 对体验优化板块中的所有模块进行了优化 - 由于ajax-hook存在一个对脚本影响较大的bug,暂时从cdn改为本地修改后的 -## 修复 +### 修复 - 继续尝试修复部分情况下脚本被注入得太早导致完全失效的Bug ## [7.1.0] - 2023-8-30 -## 新增 +### 新增 - 移除元素板块,内含多个移除页面元素的功能 - 模块运行时机概念,解决部分模块运行地太早导致的一些问题 -## 调整 +### 调整 - 优化拦截日志数据上报和禁用P2P功能 - 将`@include`改为`@match` -## 修复 +### 修复 - 修复部分情况下脚本被注入得太早导致完全失效的Bug ## [7.0.9] - 2023-8-25 -## 调整 +### 调整 - 调整了Vue App注入时机和相关逻辑 -## 修复 +### 修复 - 适配B站更新,修复点赞功能 ## [7.0.8] - 2023-8-19 -## 新增 +### 新增 - 拦截日志数据上报功能 - 移除大乱斗元素功能 @@ -54,37 +72,37 @@ ## [7.0.7] - 2023-8-11 -## 新增 +### 新增 - 领取年度大会员权益功能 ## [7.0.6] - 2023-8-6 -## 新增 +### 新增 - 点赞直播间功能新选项:包含等级≥20的粉丝勋章 ## [7.0.5] - 2023-8-5 -## 新增 +### 新增 - 禁用P2P。 - 新的工作流,自动编译master分支的脚本。 -## 调整 +### 调整 - 移除了自动切换画质的一秒延时。 ## [7.0.4] - 2023-8-4 -## 新增 +### 新增 - 体验优化板块,自动切换画质功能。 - `Main BLTH`概念和模块`runMultiple`属性 ## [7.0.3] - 2023-7-31 -## 调整 +### 调整 - 粉丝勋章相关任务不再过滤账号已注销用户。 - 脚本运行时机(`@run-at`)延后至`document-end`。 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 16a35f73..ce3229c0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,13 +12,19 @@ BLTH 是一个基于 [Vue3](https://cn.vuejs.org), [vite-plugin-monkey](https:// ## 环境搭建 - 安装 [Node.js](https://nodejs.org/), [Visual Studio Code](https://code.visualstudio.com/)。 -- Fork 本项目(注意要取消勾选“只复制master分支”),然后 Clone 至本地。 +- Fork 本项目(注意要取消勾选“Copy the master branch only”),然后 Clone 至本地。 - 切换到项目根目录,安装依赖 `npm install`。 - 安装以下几个 vscode 拓展:[Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar), [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin), [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint), [Prettier - Code formatter](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)。同时为了更好的开发体验推荐启用 Volar 的 [Take Over Mode](https://cn.vuejs.org/guide/typescript/overview.html#volar-takeover-mode)。 ## 开始 -使用以下命令在浏览器中安装脚本并启动 [Vite](https://cn.vitejs.dev),然后你就可以开始写代码啦。 +首先切换到`dev`分支: + +```sh +git checkout dev +``` + +接着使用以下命令在浏览器中安装脚本并启动 [Vite](https://cn.vitejs.dev),然后你就可以开始写代码啦。 ```sh npm run dev @@ -32,7 +38,7 @@ npm run dev ### 分支 -- **master**: `master`分支是主分支,主仓库在发布新版本前会把`dev`分支合并到`master`分支。最终供用户安装的用户脚本由Github Actions自动编译。 +- **master**: `master`分支是主分支,主仓库在发布新版本前会把`dev`分支合并到`master`分支。最终供用户安装的用户脚本由Github Actions自动编译并推送到主分支。 - **dev**: `dev`分支是开发用分支,开发时请使用该分支,发起PR时也以主仓库的dev分支为合并的目标。 @@ -140,8 +146,8 @@ npm run preview 如果要开发或调试运行时机很早的模块,建议先编译脚本(npm run build)然后运行编译后的脚本。在 dev 状态下调试这类功能可能会遇到以下问题: -- 脚本会被注入得太晚,无法很好地测试 -- 脚本会被注入得太早导致`document.head`为`null`而报错。 +- 脚本被注入得太晚,无法很好地测试 +- 脚本被注入得太早导致`document.head`为`null`而报错。 ## commit 规范 diff --git a/README.md b/README.md index 92887824..b3ddb6e3 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ # 环境要求 -- 浏览器:推荐使用 Chrome,Edge, Firefox, Safari 或 Opera。 +- 浏览器:推荐使用 Chrome, Edge, Firefox, Safari 或 Opera。 - 用户脚本管理器:推荐使用 [Tampermonkey](https://www.tampermonkey.net) 或 [Violentmonkey](https://violentmonkey.github.io)。 # 安装 @@ -40,7 +40,7 @@ - 打开某一项功能后,如果你希望它立刻执行,需要刷新页面。 但是刷新页面会打断目前正在执行的任务,下次运行时能否根据上次的进度继续执行取决于功能模块的具体实现(目前大部分都不行)。 建议首次使用时仔细阅读各项功能的说明,然后一次完成所有功能的设置。 -- 打开多个直播间页面时,每日任务中的功能仅会在第一个直播间页面生效以防止任务被重复执行。体验优化中的功能总是会生效。 +- 打开多个直播间页面时,每日任务中的功能仅会在第一个直播间页面生效以防止任务被重复执行。体验优化、移除元素中的功能总是会生效。 - 每日任务中大部分任务的任务周期是从每天半夜00:05到下一个半夜00:05,即只要过了每天的00:05就会自动执行下一轮。有个别任务的周期是每天早上08:05到下一个早上08:05。 - 控制台日志:如果想查看控制台日志,请打开浏览器的开发者工具(快捷键`ctrl+shift+i`或`F12`)并切换到控制台(`Console`)。开头为`BLTH`的日志即为脚本日志。 部分日志可能只有高级用户才看得懂,大家各取所需看自己想看的即可。善用过滤(`Filter`)和搜索(快捷键`ctrl+f`)功能。 @@ -83,6 +83,7 @@ - [hotkeys-js](https://github.com/jaywcjlove/hotkeys-js) - [crypto-js](https://github.com/brix/crypto-js) - [mitt](https://github.com/developit/mitt) +- [ajax-hook](https://github.com/wendux/ajax-hook) - [TampermonkeyJS](https://github.com/lzghzr/TampermonkeyJS) - [transform](https://github.com/ritz078/transform) - [inkscape](https://inkscape.org/) diff --git a/package-lock.json b/package-lock.json index 250066ee..cf90603e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "bilibili-live-tasks-helper", - "version": "7.1.1", + "version": "7.1.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "bilibili-live-tasks-helper", - "version": "7.1.1", + "version": "7.1.2", "dependencies": { "ajax-hook": "^3.0.1", "crypto-js": "^4.1.1", @@ -48,9 +48,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.15.tgz", - "integrity": "sha512-RWmQ/sklUN9BvGGpCDgSubhHWfAx24XDTDObup4ffvxaYsptOg2P3KG0j+1eWKLxpkX0j0uHxmpq2Z1SP/VhxA==", + "version": "7.22.16", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.16.tgz", + "integrity": "sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==", "bin": { "parser": "bin/babel-parser.js" }, @@ -687,9 +687,9 @@ "dev": true }, "node_modules/@types/lodash": { - "version": "4.14.197", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.197.tgz", - "integrity": "sha512-BMVOiWs0uNxHVlHBgzTIqJYmj+PgCo4euloGF+5m4okL3rEYzM2EEv78mw8zWSMM57dM7kVIgJ2QDvwHSoCI5g==" + "version": "4.14.198", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.198.tgz", + "integrity": "sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg==" }, "node_modules/@types/lodash-es": { "version": "4.17.9", @@ -1034,9 +1034,9 @@ } }, "node_modules/@vue/language-core": { - "version": "1.8.8", - "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.8.tgz", - "integrity": "sha512-i4KMTuPazf48yMdYoebTkgSOJdFraE4pQf0B+FTOFkbB+6hAfjrSou/UmYWRsWyZV6r4Rc6DDZdI39CJwL0rWw==", + "version": "1.8.10", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.10.tgz", + "integrity": "sha512-db8PtM4ZZr7SYNH30XpKxUYnUBYaTvcuJ4c2whKK04fuAjbtjAIZ2al5GzGEfUlesmvkpgdbiSviRXUxgD9Omw==", "dev": true, "dependencies": { "@volar/language-core": "~1.10.0", @@ -1144,13 +1144,13 @@ "dev": true }, "node_modules/@vue/typescript": { - "version": "1.8.8", - "resolved": "https://registry.npmjs.org/@vue/typescript/-/typescript-1.8.8.tgz", - "integrity": "sha512-jUnmMB6egu5wl342eaUH236v8tdcEPXXkPgj+eI/F6JwW/lb+yAU6U07ZbQ3MVabZRlupIlPESB7ajgAGixhow==", + "version": "1.8.10", + "resolved": "https://registry.npmjs.org/@vue/typescript/-/typescript-1.8.10.tgz", + "integrity": "sha512-vPSpTXMk4chYwvyTGjM891cKgnx2r6vtbdANOp2mRU31f4HYGyLrZBlGgiua7SaO2cLjUg8y91OipJe0t8OFhA==", "dev": true, "dependencies": { "@volar/typescript": "~1.10.0", - "@vue/language-core": "1.8.8" + "@vue/language-core": "1.8.10" } }, "node_modules/@vueuse/core": { @@ -2677,9 +2677,9 @@ } }, "node_modules/luxon": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.2.tgz", - "integrity": "sha512-uBoAVCVcajsrqy3pv7eo5jEUz1oeLmCcnMv8n4AJpT5hbpN9lUssAXibNElpbLce3Mhm9dyBzwYLs9zctM/0tA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.3.tgz", + "integrity": "sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==", "engines": { "node": ">=12" } @@ -3201,9 +3201,9 @@ } }, "node_modules/rollup": { - "version": "3.28.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.1.tgz", - "integrity": "sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.0.tgz", + "integrity": "sha512-nszM8DINnx1vSS+TpbWKMkxem0CDWk3cSit/WWCBVs9/JZ1I/XLwOsiUglYuYReaeWWSsW9kge5zE5NZtf/a4w==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -3813,13 +3813,13 @@ } }, "node_modules/vue-tsc": { - "version": "1.8.8", - "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.8.tgz", - "integrity": "sha512-bSydNFQsF7AMvwWsRXD7cBIXaNs/KSjvzWLymq/UtKE36697sboX4EccSHFVxvgdBlI1frYPc/VMKJNB7DFeDQ==", + "version": "1.8.10", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.10.tgz", + "integrity": "sha512-ptpTFFDoHQgkWJF7i5iERxooiQzOGtG1uKTfmAUuS3qPuSQGq+Ky/S8BFHhnFGwoOxq/PjmGN2QSZEfg1rtzQA==", "dev": true, "dependencies": { - "@vue/language-core": "1.8.8", - "@vue/typescript": "1.8.8", + "@vue/language-core": "1.8.10", + "@vue/typescript": "1.8.10", "semver": "^7.3.8" }, "bin": { diff --git a/package.json b/package.json index 9ab9b8ff..fad43865 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "bilibili-live-tasks-helper", "private": true, - "version": "7.1.1", + "version": "7.1.2", "type": "module", "scripts": { "dev": "vite", diff --git a/scripts/minifyUserscript.js b/scripts/minifyUserscript.js index c57770bc..21174108 100644 --- a/scripts/minifyUserscript.js +++ b/scripts/minifyUserscript.js @@ -22,6 +22,8 @@ async function minifyUserscript(inputPath, outputPath) { const result = `${metadata}\n${minified.code}` await fs.writeFile(outputPath, result, 'utf-8') + + console.log(`\n压缩完成: ${inputPath} -> ${outputPath}`) } minifyUserscript( diff --git a/src/components/EnhanceExperience.vue b/src/components/EnhanceExperience.vue index 0dfc8d1b..aa74ed09 100644 --- a/src/components/EnhanceExperience.vue +++ b/src/components/EnhanceExperience.vue @@ -12,7 +12,11 @@ const qualityDescList = ['原画', '蓝光PRO', '蓝光', '超清PRO', '超清', - + diff --git a/src/components/LiveTasks.vue b/src/components/LiveTasks.vue index 88049e54..279d7bbf 100644 --- a/src/components/LiveTasks.vue +++ b/src/components/LiveTasks.vue @@ -99,7 +99,7 @@ const handleEditList = () => { medalInfoLoading.value = false } }) - // 利用 emitter 通知 BiliInfo 模块去获取数据 + // 利用 emitter 通知 FansMedals 模块去获取数据 moduleStore.emitter.emit('Default_FansMedals', { module: 'LiveTasks' }) @@ -196,7 +196,7 @@ function handleSelectionChange(selectedRows: ImedalInfoRow[]) { - + 分钟 @@ -237,7 +237,7 @@ function handleSelectionChange(selectedRows: ImedalInfoRow[]) {   由于每天能通过完成任务获得亲密度的粉丝勋章数量有限,脚本默认仅为最多100个等级小于20的粉丝勋章完成给主播点赞,发送弹幕,观看直播任务。  由于每天能通过完成任务获得亲密度的粉丝勋章数量有限,脚本默认仅为最多199个等级小于20的粉丝勋章完成给主播点赞,发送弹幕,观看直播任务。在脚本执行任务期间观看未执行任务的粉丝勋章对应直播间直播可能导致今天无法获取任何亲密度。 diff --git a/src/components/MainSiteTasks.vue b/src/components/MainSiteTasks.vue index a90af9e0..facd687c 100644 --- a/src/components/MainSiteTasks.vue +++ b/src/components/MainSiteTasks.vue @@ -44,15 +44,17 @@ const status = moduleStore.moduleStatus.DailyTasks.MainSiteTasks -   主站每日任务的完成情况可在 - 个人中心 - 查看。数据更新可能有一定的延时。 + +   主站每日任务的完成情况可在 + 个人中心 + 查看。数据更新可能有一定的延时。 + diff --git a/src/components/PanelHeader.vue b/src/components/PanelHeader.vue index f6832446..2b3f50b9 100644 --- a/src/components/PanelHeader.vue +++ b/src/components/PanelHeader.vue @@ -6,7 +6,7 @@ const uiStore = useUIStore()