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