修复配置读取无法获取%category%映射的bug

This commit is contained in:
tangly1024.com
2024-09-29 17:57:03 +08:00
parent 65915e30a8
commit c564f2bbb2

View File

@@ -94,6 +94,11 @@ export const siteConfig = (key, defaultVal = null, extendConfig = {}) => {
return convertVal(val)
}
export const cleanJsonString = val => {
// 使用正则表达式去掉不必要的空格、换行符和制表符
return val.replace(/\s+/g, ' ').trim()
}
/**
* 从环境变量和NotionConfig读取的配置都是string类型
* 这里识别出配置的字符值若为否 数字、布尔、[]数组,{}对象,若是则转成对应类型
@@ -128,13 +133,16 @@ export const convertVal = val => {
}
// 配置值前可能有污染的空格
if (val.indexOf('[') < 0 && val.indexOf('{') < 0) {
// 如果字符串中没有 '[' 或 '{',则直接返回
if (!val.trim().startsWith('{') && !val.trim().startsWith('[')) {
return val
}
// 转换 [] , {} 这类字符串为对象
try {
val = cleanJsonString(val)
const parsedJson = JSON.parse(val)
// 检查解析后的结果是否为对象
if (parsedJson !== null) {
return parsedJson
}