mirror of
https://github.com/d0zingcat/NotionNext.git
synced 2026-05-14 07:26:52 +00:00
修复配置读取无法获取%category%映射的bug
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user