feat(config): 添加高阶过滤配置功能

- 在设置中新增 high_level_filtering 配置项用于高级过滤
- 实现高阶过滤逻辑,支持路径层级过滤功能
- 添加 levelName 属性初始化为 undefined
- 修复加载层级判断条件中的运算符间距问题
- 添加 levelNameMap 调试日志输出
- 移除重复的变量声明代码
- 添加待优化注释标记后续改进点
This commit is contained in:
yan
2026-01-26 01:57:54 +08:00
parent ec0a539419
commit 2c17ac4282
3 changed files with 19 additions and 4 deletions

View File

@@ -56,6 +56,12 @@
"label": "只加载指定层级<配置模式 加载 生效>",
"default": false
},
{
"name": "high_level_filtering",
"type": "input-text",
"label": "高阶过滤<配置模式 加载 生效>",
"default": ""
},
{
"name": "order_rules",
"type": "input-text",

View File

@@ -322,6 +322,7 @@ async function initRefresh(settingsConfig) {
label: `${p}选择要执行的${item.level + 1}级路径`,
options: []
}
// todo: 待优化
let filter = PATH_JSON_LIST.filter(list_item => list_item.id === item.parentId).find(item => item);
if (filter) {
// filter.levelName = name || undefined
@@ -519,7 +520,8 @@ async function loadUidSettingsMap(uidSettingsMap) {
loadingLevel = loadingLevel < 1 ? 2 : loadingLevel
}
//todo: 高阶层级过滤
if (false) {
const highLevelFiltering = settings.high_level_filtering || undefined
if (highLevelFiltering && highLevelFiltering?.trim() !== "") {
/**
* 实例pathing\地方特产\
* 地方特产
@@ -532,7 +534,6 @@ async function loadUidSettingsMap(uidSettingsMap) {
*/
let keys = new Set([])
const highLevelFiltering = settings.high_level_filtering || undefined
if (highLevelFiltering) {
const set = new Set(highLevelFiltering.split("->"));
keys = keys.union(set)
@@ -552,7 +553,7 @@ async function loadUidSettingsMap(uidSettingsMap) {
levelNameMap.set(item.levelName, item);
}
});
log.warn("levelNameMap:{0}", JSON.stringify([...levelNameMap]))
//中间一段路径名称
const dir_key = Array.from(keys).join("\\")
filterSettings = filterSettings.filter(item => {
@@ -581,7 +582,7 @@ async function loadUidSettingsMap(uidSettingsMap) {
return (loadingLevel === level + 1)
}
// 检查级别是否小于等于加载层级
return (loadingLevel > level-1)
return (loadingLevel > level - 1)
})
templateMatchSettings = [...templateMatchSettings, ...levelSettings]
while (templateMatchSettings.length > 0 &&
@@ -1903,6 +1904,7 @@ async function readPaths(
path: itemPath,
level: level + 1,
fullPathNames: currentFullPathNames,
levelName: undefined,
isRoot: false,
isFile: true,
children: [] // 文件没有子节点
@@ -1930,6 +1932,7 @@ async function readPaths(
path: itemPath,
level: level + 1,
fullPathNames: currentFullPathNames,
levelName: undefined,
isRoot: level === 0,
isFile: false,
children: childNodes

View File

@@ -56,6 +56,12 @@
"label": "只加载指定层级<配置模式 加载 生效>",
"default": false
},
{
"name": "high_level_filtering",
"type": "input-text",
"label": "高阶过滤<配置模式 加载 生效>",
"default": ""
},
{
"name": "order_rules",
"type": "input-text",