From 94a90ba3599892e50ea215d22ef1e0b7610d2ff7 Mon Sep 17 00:00:00 2001 From: fanxb Date: Thu, 13 Apr 2023 19:55:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=94=AF=E6=8C=81=E4=B8=AD=E6=96=87?= =?UTF-8?q?=E6=95=B0=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- openRenamerBackend/util/MediaUtil.ts | 31 +++++++++++++++++-- .../src/components/rules/RuleBlock.vue | 2 +- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/openRenamerBackend/util/MediaUtil.ts b/openRenamerBackend/util/MediaUtil.ts index addaf96..ead7056 100644 --- a/openRenamerBackend/util/MediaUtil.ts +++ b/openRenamerBackend/util/MediaUtil.ts @@ -38,12 +38,26 @@ export function isNfo(str: string) { let pattern1 = new RegExp(/s(eason)?\.?(\d+)/); let pattern2 = new RegExp(/(\d+)/); +let pattern3 = new RegExp(/([一二三四五六七八九十]+)/); +let chineseNumMap = { + "一": "1", + "二": "2", + "三": "3", + "四": "4", + "五": "5", + "六": "6", + "七": "7", + "八": "8", + "九": "9", + "十": "1" + +} /** * 识别季号 - * @param str + * @param name */ -export function getSeason(name: string) { +export function getSeason(name: string): string { name = name.replace(/[ ]+/, "").toLocaleLowerCase(); let patternRes = name.match(pattern1); if (patternRes && patternRes[2]) { @@ -53,5 +67,18 @@ export function getSeason(name: string) { if (patternRes && patternRes[1]) { return patternRes[1]; } + //中文支持 + patternRes = name.match(pattern3); + if (patternRes && patternRes[1]) { + let str = patternRes[1]; + let strs = str.split(""); + if (strs.length == 1) { + return str == '十' ? "10" : chineseNumMap[str]; + } else if (strs.length == 2) { + return strs[0] == '十' ? ("1" + chineseNumMap[strs[1]]) : chineseNumMap[strs[0]] + "0"; + } else if (strs.length == 3) { + return chineseNumMap[strs[0]] + chineseNumMap[strs[2]]; + } + } return ""; } \ No newline at end of file diff --git a/openRenamerFront/src/components/rules/RuleBlock.vue b/openRenamerFront/src/components/rules/RuleBlock.vue index 5bee5ed..bd67d31 100644 --- a/openRenamerFront/src/components/rules/RuleBlock.vue +++ b/openRenamerFront/src/components/rules/RuleBlock.vue @@ -85,7 +85,7 @@ export default { }, async created() { //如果外部传入了规则 - if (this.rules != undefined) { + if (this.rules !== undefined) { this.ruleList = JSON.parse(JSON.stringify(this.rules)); } else { this.chosedTemplate = await HttpUtil.get("/applicationRule/default");