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; + } +}