From 4f7d31c124bae9d58e866b6a8fbcf1f28b6b3ed4 Mon Sep 17 00:00:00 2001 From: zhiyu1998 <542716863@qq.com> Date: Sat, 16 Mar 2024 14:58:30 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=88=20pref:=20V1.5.8=20=E5=93=94?= =?UTF-8?q?=E5=93=A9=E5=93=94=E5=93=A9=E7=AE=80=E4=BB=8B=E5=8A=A0=E5=85=A5?= =?UTF-8?q?=E9=99=90=E5=88=B6=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 应群友反应哔哩哔哩的简介过长会导致刷屏,所以限制了长度可以在锅巴或者tools.yaml进行调整 --- apps/tools.js | 5 +++-- config/tools.yaml | 1 + config/version.yaml | 5 ++--- constants/constant.js | 8 +++++++- guoba.support.js | 11 +++++++++++ utils/common.js | 18 ++++++++++++++++++ 6 files changed, 42 insertions(+), 6 deletions(-) diff --git a/apps/tools.js b/apps/tools.js index e262500..0bd4e9c 100644 --- a/apps/tools.js +++ b/apps/tools.js @@ -19,6 +19,7 @@ import { } from "../utils/bilibili.js"; import { downloadM3u8Videos, mergeAcFileToMp4, parseM3u8, parseUrl } from "../utils/acfun.js"; import { + BILI_DEFAULT_INTRO_LEN_LIMIT, DIVIDING_LINE, douyinTypeMap, REDIS_YUNZAI_ISOVERSEA, @@ -32,7 +33,7 @@ import { downloadMp3, formatBiliInfo, getIdVideo, - secondsToTime + secondsToTime, truncateString } from "../utils/common.js"; import config from "../model/index.js"; import Translate from "../utils/trans-strategy.js"; @@ -374,7 +375,7 @@ export class tools extends plugin { "评论": reply }; // 格式化数据 - const combineContent = `\n${ formatBiliInfo(dataProcessMap) }\n简介:${ desc }`; + const combineContent = `\n${ formatBiliInfo(dataProcessMap) }\n简介:${ truncateString(desc, this.toolsConfig.biliIntroLenLimit || BILI_DEFAULT_INTRO_LEN_LIMIT) }`; let biliInfo = [`识别:哔哩哔哩:${ title }`, combineContent] // 总结 const summary = await this.getBiliSummary(bvid, cid, owner.mid); diff --git a/config/tools.yaml b/config/tools.yaml index c741a8c..2bae13c 100644 --- a/config/tools.yaml +++ b/config/tools.yaml @@ -6,6 +6,7 @@ translateAppId: '' # 百度翻译APP ID translateSecret: '' # 百度翻译密匙 biliSessData: '' # 哔哩哔哩的SESSDATA +biliIntroLenLimit: 50 # 哔哩哔哩简介长度限制 biliDuration: 480 # 哔哩哔哩限制的最大视频时长(默认8分钟),单位:秒 douyinCookie: '' # douyin's cookie, 格式:odin_tt=xxx;sessionid_ss=xxx;ttwid=xxx;passport_csrf_token=xxx;msToken=xxx; \ No newline at end of file diff --git a/config/version.yaml b/config/version.yaml index f5a7044..3a79d85 100644 --- a/config/version.yaml +++ b/config/version.yaml @@ -1,12 +1,11 @@ - { - version: 1.5.7, + version: 1.5.8, data: [ + 优化哔哩哔哩简介功能, 新增皮皮搞笑解析功能, 新增皮皮虾解析功能, 新增微博解析功能, - 新增最右解析功能, - 新增米游社解析功能, 支持锅巴插件,方便查看和修改配置, 添加#R帮助获取插件帮助, 添加#R版本获取插件版本, diff --git a/constants/constant.js b/constants/constant.js index b89ebc7..64c7dac 100644 --- a/constants/constant.js +++ b/constants/constant.js @@ -71,4 +71,10 @@ export const DIVIDING_LINE = "\n------------------{}------------------" */ export const REDIS_YUNZAI_ISOVERSEA = "Yz:rconsole:tools:oversea"; -export const TWITTER_BEARER_TOKEN = "" \ No newline at end of file +export const TWITTER_BEARER_TOKEN = ""; + +/** + * 哔哩哔哩简介默认长度限制 + * @type {number} + */ +export const BILI_DEFAULT_INTRO_LEN_LIMIT = 50; \ No newline at end of file diff --git a/guoba.support.js b/guoba.support.js index 5b23af7..bb5ed63 100644 --- a/guoba.support.js +++ b/guoba.support.js @@ -97,6 +97,17 @@ export function supportGuoba() { placeholder: "请输入哔哩哔哩的视频最大限制时长(默认15分钟)", }, }, + { + field: "tools.biliIntroLenLimit", + label: "哔哩哔哩的简介长度限制", + bottomHelpMessage: + "防止简介过长刷屏", + component: "Input", + required: false, + componentProps: { + placeholder: "请输入哔哩哔哩的简介长度限制(默认50个字符)", + }, + }, { field: "tools.douyinCookie", label: "抖音的Cookie", diff --git a/utils/common.js b/utils/common.js index a44817b..6c69917 100644 --- a/utils/common.js +++ b/utils/common.js @@ -279,3 +279,21 @@ export function containsChinese(str) { export function containsChineseOrPunctuation(str) { return /[\u4e00-\u9fff\uff00-\uffef]/.test(str); } + +/** + * 超过某个长度的字符串换为... + * @param inputString + * @param maxLength + * @returns {*|string} + */ +export function truncateString(inputString, maxLength = 50) { + if (inputString.length <= maxLength) { + return inputString; + } else { + // 截取字符串,保留前面 maxLength 个字符 + let truncatedString = inputString.substring(0, maxLength); + // 添加省略号 + truncatedString += '...'; + return truncatedString; + } +}