Win-10.0.26200.0 Quicker-1.44.22.0 动作ID:7cb33d17-14c3-493e-b44a-e9139c1f552d 来源动作:3570304f-80f0-42ee-321c-08daf053a987 v73
Log文件路径:C:\Users\xuan\AppData\Local\Temp\quicker_智慧菜单_063927-564_log.html 定位文件 复制文件 上传并复制网址
开始执行动作:智慧菜单 2026-01-30 18:39:27
7动作初始化
[状态]settings{"单一场景":false,"updatedAt":1767064308683.0,"选中文本":true,"云同步":true,"占用焦点":false,"显示类型":"显示菜单","字体大小":0.0,"图标大小":0.0,"分组方式":""}
[状态]ignoreKeywordsVar回收站;
[状态]点赞状态True
90步骤组右键菜单功能
[in]忽略错误【值/表达式】False
[in]使用多线程【值/表达式】False
[in]调试运行时不输出调试内容【值/表达式】False
90.0步骤组点赞解锁功能
[in]忽略错误【值/表达式】False
[in]使用多线程【值/表达式】False
[in]调试运行时不输出调试内容【值/表达式】False
90.0.0如果/否则判断条件:$= {点赞状态} == true
[in]如果【值/表达式】True
执行 True 分支, 共 1 步骤
110.0.0.0状态存取设置附加的右键菜单项
[in]操作类型【值/表达式】UpdateContextMenu
[in]名称【无输入】
[in]附加的右键菜单项【值/表达式】[fa:Light_PlusCircle]快速添加菜单|fastAdd\r\n [fa:Light_Cog]参数设置|set\r\n [fa:Light_Cogs]菜单管理|management\r\n ----\r\n [fa:Light_Analytics]· 使用频率排行|ranking\r\n [fa:Light_Database]备份恢复|get\r\n [fa:Light_FileImport]导入csv文件|import_from_csv
耗时:0ms
110.1如果判断条件:$= !String.IsNullOrWhiteSpace({quicker_in_param})
[in]如果【值/表达式】False
不符合条件,跳过。
121步骤组判断是否为当日第一次运行
[in]忽略错误【值/表达式】False
[in]使用多线程【值/表达式】False
[in]调试运行时不输出调试内容【值/表达式】False
121.0如果判断条件:$= {settings}.ContainsKey("云同步") && {settings}['云同步'] == true
[in]如果【值/表达式】True
执行 True 分支, 共 2 步骤
141.0.0状态存取读取动作状态 日期
[in]操作类型【值/表达式】readActionState
[in]名称【值/表达式】日期
[out]值=>日期2026-01-30 16:08:09
耗时:0ms
151.0.1如果判断条件:$=DateTime.Parse({日期}).Date != DateTime.Today
[in]如果【值/表达式】False
不符合条件,跳过。
172运行子程序“获取场景标签”
[in]失败后停止【值/表达式】True
[in]子程序【值/表达式】获取场景标签
[in]跳过调试输出【值/表达式】False
[in]单一场景【值/表达式】False
[in]开启选中文本【值/表达式】True
220获取窗口信息/查找窗口前台窗口
[in]失败后停止【值/表达式】True
[in]目标窗口【值/表达式】foreground
[out]窗口标题=>windowTitle智慧菜单 2026-01-30 18:38:23 - Google Chrome
[out]类名=>classNameChrome_WidgetWin_1
[in]窗口位置包含不可见边框(阴影区域)【值/表达式】False
[out]进程名=>procNamechrome
耗时:7ms
301列表操作添加元素到末尾 {标签列表}
[in]列表【变量 标签列表】
[in]操作类型【值/表达式】append
[in]序号【无输入】0
[in]长度【无输入】1
[in]【值/表达式】global
耗时:0ms
302如果/否则判断条件:$= {className} == "#32770"
[in]如果【值/表达式】False
执行 False 分支, 共 1 步骤
312.3如果/否则判断条件:$= new[] { "Shell_TrayWnd", "Shell_SecondaryTrayWnd" } .Any(s ...
[in]如果【值/表达式】False
执行 False 分支, 共 2 步骤
332.3.3列表操作添加元素到末尾 {标签列表}
[in]列表【变量 标签列表】0:global
[in]操作类型【值/表达式】append
[in]序号【无输入】0
[in]长度【无输入】1
[in]【变量 procName】chrome
耗时:0ms
332.3.4赋值{procName} => {tagName}
[in]失败后停止【值/表达式】True
[in]输入【变量 procName】[略]
[out]输出=>tagNamechrome
耗时:0ms
333步骤组
[in]忽略错误【值/表达式】False
[in]使用多线程【值/表达式】False
[in]调试运行时不输出调试内容【值/表达式】False
333.0注释获取选中文件场景
耗时:0ms
333.1步骤组
[in]忽略错误【无输入】False
[in]使用多线程【无输入】False
[in]调试运行时不输出调试内容【无输入】False
383.1.0如果判断条件:$= new[] { 'explorer','TOTALCMD64','DesktopMgr64','dopus','TOTALCMD...
[in]如果【值/表达式】False
不符合条件,跳过。
433.2注释获取选中文本场景
耗时:0ms
433.3步骤组
[in]忽略错误【无输入】False
[in]使用多线程【无输入】False
[in]调试运行时不输出调试内容【无输入】False
433.3.0如果判断条件:$= !{tagName}.ContainsAny('explorer','Photoshop','TOTALCMD64','Desk...
[in]如果【值/表达式】True
执行 True 分支, 共 2 步骤
443.3.0.0步骤组
[in]忽略错误【值/表达式】False
[in]使用多线程【值/表达式】False
[in]调试运行时不输出调试内容【值/表达式】False
443.3.0.0.0步骤组
[in]忽略错误【无输入】False
[in]使用多线程【无输入】False
[in]调试运行时不输出调试内容【无输入】False
453.3.0.0.0.0获取选中的文本=> {selectedText} -
[in]失败后中止动作【值/表达式】False
[in]等待剪贴板时间【值/表达式】50
[in]如果为动作传递了参数,使用参数值作为获取的结果【值/表达式】False
[in]尝试不通过剪贴板的方式获取【值/表达式】False
[in]重试次数【值/表达式】0
[in]文本数据格式【值/表达式】UnicodeText
[out]是否成功=>选中文本False
步骤(sys:getSelectedText)执行失败,原因:获取选中文本失败了。请确认目标位置具有焦点并支持Ctrl+C复制。
耗时:59ms
1043.3.0.0.0.1如果判断条件:$= {选中文本} == false
[in]如果【值/表达式】True
执行 True 分支, 共 2 步骤
1053.3.0.0.0.1.0获取剪贴板文本=> {selectedText}
[in]失败后中止动作【值/表达式】False
[in]文本数据格式【值/表达式】UnicodeText
[in]重试时间【值/表达式】50
[out]已更新时间=>elapsedMs260134
[out]完整结果内容=>selectedTexthttps://getquicker.net/Sharedaction?code=3570304f-80f0-42ee-321c-08daf053a987
[out]是否成功=>获取剪贴板True
耗时:0ms
1053.3.0.0.0.1.1如果/否则判断条件:$= {获取剪贴板} == true && {elapsedMs} < 5000
[in]如果【值/表达式】False
执行 False 分支, 共 2 步骤
1063.3.0.0.0.1.1.1赋值false => {获取剪贴板}
[in]失败后停止【值/表达式】True
[in]输入【值/表达式】[略]
[out]输出=>获取剪贴板False
耗时:0ms
1063.3.0.0.0.1.1.2赋值 => {selectedText}
[in]失败后停止【值/表达式】True
[in]输入【值/表达式】[略]
[out]输出=>selectedText
耗时:0ms
1063.3.0.1如果判断条件:$= {选中文本} == true || {获取剪贴板} ==true
[in]如果【值/表达式】False
不符合条件,跳过。
1063.4注释匹配网址场景
耗时:0ms
1063.5步骤组
[in]忽略错误【无输入】False
[in]使用多线程【无输入】False
[in]调试运行时不输出调试内容【无输入】False
1073.5.0如果判断条件:$= {tagName}.ContainsAny('chrome','msedge','360chrome','360se','fir...
[in]如果【值/表达式】True
执行 True 分支, 共 1 步骤
1093.5.0.0浏览器控制获得标签页信息
[in]失败后停止【值/表达式】True
[in]操作类型【值/表达式】GetTabInfo
[in]超时时间(ms)【值/表达式】3000
[in]标签页Id【值/表达式】
连接的浏览器:chrome
[out]网址=>urlfile:///C:/Users/xuan/AppData/Local/Temp/quicker_%E6%99%BA%E6%85%A7%E8%8F%9C%E5%8D%95_063823-801_log.html
耗时:6ms
1144如果/否则判断条件:$= {标签列表}.Contains("text") && {单一场景} == true
[in]如果【值/表达式】False
执行 False 分支, 共 1 步骤
1164.2如果/否则判断条件:$= {标签列表}.Contains("file") && {单一场景} == true
[in]如果【值/表达式】False
执行 False 分支, 共 1 步骤
1184.2.1列表合并成文本{标签列表} => {选中标签}
[in]输入【变量 标签列表】0:global 1:chrome
[in]分隔文本【值/表达式】,
[in]转义“分隔文本”【值/表达式】False
[out]结果=>选中标签global,chrome
耗时:0ms
[out]窗口标题=>windowTitle智慧菜单 2026-01-30 18:38:23 - Google Chrome
[out]选中文件=>选中文件
[out]选中标签=>选中标签global,chrome
[out]url=>urlfile:///C:/Users/xuan/AppData/Local/Temp/quicker_%E6%99%BA%E6%85%A7%E8%8F%9C%E5%8D%95_063823-801_log.html
[out]选中文本=>selectedText
耗时:101ms
1183运行子程序“生成菜单列表对象_API”
[in]失败后停止【值/表达式】True
[in]子程序【值/表达式】生成菜单列表对象_API
[in]跳过调试输出【值/表达式】False
[in]配置参数【变量 本地数据】内容较多,已写入文件:C:\Users\xuan\AppData\Local\Temp\quicker_action_debug_1a4472397da147dcb182b812e8ce387e.txt
[in]标签名【变量 选中标签】global,chrome
[in]选中路径【变量 选中文件】
[in]窗口标题【变量 windowTitle】智慧菜单 2026-01-30 18:38:23 - Google Chrome
[in]网址【变量 url】file:///C:/Users/xuan/AppData/Local/Temp/quicker_%E6%99%BA%E6%85%A7%E8%8F%9C%E5%8D%95_063823-801_log.html
[in]选中文本【变量 selectedText】
[in]智能排序【值/表达式】False
[in]半衰期天数【值/表达式】7
1250运行Javascript代码
[in]失败后停止【值/表达式】False
[in]脚本内容【值/表达式】function exec() {\r\n \r\n try {\r\n \r\n var configJson = quickerGetVar('configJson');\r\n var selectedTags = quickerGetVar('选中标签');\r\n var selectedFilePaths = quickerGetVar('selectedFilePaths');\r\n var isSmartSort = quickerGetVar('isSmartSort') === true; // 获取排序开关\r\n var url = quickerGetVar('url') || '';\r\n var selectedText = quickerGetVar('selectedText') || ''; // 新增参数\r\n \r\n // 【新增参数】获取前台窗口标题\r\n var windowTitle = quickerGetVar('windowTitle') || ''; \r\n \r\n // --- 【新增:获取用户定义的半衰期天数】 ---\r\n var halfLifeDays = Number(quickerGetVar('halfLifeDays')) || 7; \r\n \r\n if (!configJson || !selectedTags) {\r\n quickerSetVar('error', 'configJson 或 选中标签 不能为空');\r\n return 1;\r\n }\r\n \r\n // 解析文件路径\r\n if (typeof selectedFilePaths === 'string') {\r\n selectedFilePaths = selectedFilePaths.split(',').map(s => s.trim()).filter(Boolean);\r\n }\r\n if (!Array.isArray(selectedFilePaths)) selectedFilePaths = [];\r\n \r\n // 解析 config\r\n var config;\r\n try { config = JSON.parse(configJson); }\r\n catch (e) { quickerSetVar('error', 'JSON 解析失败: ' + e.message); return 2; }\r\n if (!Array.isArray(config.menuItems)) { quickerSetVar('error', 'menuItems 不是数组'); return 3; }\r\n \r\n if (!Array.isArray(config.tagDictionary)) {\r\n quickerSetVar('error', 'tagDictionary 不是数组');\r\n return 4;\r\n }\r\n \r\n // 构建标签映射 (Tag Map)\r\n var tagMap = {};\r\n config.tagDictionary.forEach(function(tagObj) {\r\n tagMap[tagObj.Tag] = tagObj;\r\n });\r\n \r\n // 从 tagDictionary 获取源标签顺序\r\n var tagOrder = config.tagDictionary.map(t => t.Tag);\r\n var selectedTagSet = new Set(selectedTags.split(',').map(t=>t.trim()).filter(Boolean));\r\n \r\n // --- 文件匹配函数 ---\r\n function isMatchFiles(item) {\r\n if (!selectedFilePaths.length) return true; // 没有选中文件,全部显示\r\n if (!item || !item.matchExt || typeof item.matchExt !== 'string' || item.matchExt.trim() === '') return true;\r\n \r\n // 将 matchExt 文本分隔成数组(支持多种分隔符: ; ; , ,)\r\n var exts = item.matchExt.split(/[,;,;]/).map(s => s.trim()).filter(Boolean);\r\n \r\n // 只有所有选中文件都符合 matchExt 才显示\r\n return selectedFilePaths.every(fp => {\r\n var lower = fp.toLowerCase();\r\n return exts.some(ext => lower.endsWith(ext.toLowerCase()));\r\n });\r\n }\r\n \r\n // --- URL 匹配函数(匹配任意一个即可) ---\r\n function isMatchUrl(item, url) {\r\n if (!url || !item || !item.matchUrl || typeof item.matchUrl !== 'string' || item.matchUrl.trim() === '') return true;\r\n \r\n var patterns = item.matchUrl.split(/[,;,;]/).map(s => s.trim()).filter(Boolean);\r\n \r\n return patterns.some(pat => {\r\n try {\r\n if (/^\/.*\/$/.test(pat)) {\r\n var reg = new RegExp(pat.slice(1, -1));\r\n return reg.test(url);\r\n } else {\r\n return url.includes(pat);\r\n }\r\n } catch (e) {\r\n return false;\r\n }\r\n });\r\n }\r\n \r\n // --- 窗口标题匹配函数(匹配任意一个片段即可) ---\r\n function isMatchTitle(item, title) {\r\n if (!title || !item || !item.matchTitle || typeof item.matchTitle !== 'string' || item.matchTitle.trim() === '') return true;\r\n \r\n var patterns = item.matchTitle.split(/[,;,;]/).map(s => s.trim()).filter(Boolean);\r\n \r\n return patterns.some(pat => {\r\n return title.includes(pat);\r\n });\r\n }\r\n \r\n function deepClone(obj) { \r\n if (!obj) return null;\r\n // 直接通过键值对创建新对象,跳过 JSON 序列化的巨大开销\r\n return {\r\n Title: obj.Title || "",\r\n Icon: obj.Icon || "",\r\n Description: obj.Description || "",\r\n Operation: obj.Operation || "none",\r\n Action: obj.Action || "",\r\n Data: obj.Data || "",\r\n IsSeparator: obj.IsSeparator === true,\r\n uuid: obj.uuid || "",\r\n // 只有匹配逻辑需要的字段才克隆\r\n Tags: Array.isArray(obj.Tags) ? obj.Tags.slice() : [],\r\n matchExt: obj.matchExt || "",\r\n matchUrl: obj.matchUrl || "",\r\n matchTitle: obj.matchTitle || "",\r\n usageCount: Number(obj.usageCount) || 0,\r\n updatedAt: Number(obj.updatedAt) || 0\r\n };\r\n }\r\n \r\n // function deepClone(obj) { \r\n // var cloned = JSON.parse(JSON.stringify(obj || {}));\r\n // \r\n // // 处理图标链接,自动添加 url: 前缀\r\n // if (cloned.Icon && typeof cloned.Icon === 'string') {\r\n // var icon = cloned.Icon.trim();\r\n // // 如果是URL格式且没有以"url:"开头,则添加前缀\r\n // if ((icon.startsWith('http://') || icon.startsWith('https://')) && !icon.startsWith('url:')) {\r\n // cloned.Icon = 'url:' + icon;\r\n // }\r\n // }\r\n // \r\n // return cloned;\r\n // }\r\n \r\n // --- 【性能优化核心:构建父子关系索引】 ---\r\n var menuMap = {};\r\n var childrenMap = {}; // 新增:专门存储每个 ID 下的子项数组\r\n \r\n // 1. 预处理数据:规范化父子关系并建立索引\r\n config.menuItems.forEach(function(it) {\r\n var pid = (!it.parentId || it.parentId === "null") ? "" : String(it.parentId);\r\n it.parentId = pid;\r\n it._parentUuid = pid === "" ? null : pid;\r\n menuMap[it.uuid] = it;\r\n \r\n // 将该项加入其父级的子项列表中\r\n if (!childrenMap[pid]) {\r\n childrenMap[pid] = [];\r\n }\r\n childrenMap[pid].push(it);\r\n });\r\n \r\n var seenUUID = new Set();\r\n \r\n function buildFilteredNode(node, tagSet, tagMap, selectedContextTags) {\r\n \r\n if (!node || node.deleted) return null;\r\n \r\n // --- 【修正:定义变量并获取 ID】 ---\r\n // 统一使用 uuid 字段,因为 buildMap 已经规范化了索引键\r\n var currentUUID = node.uuid || "";\r\n \r\n // 【性能修复】:直接从索引中获取子项,不再全量扫描数组\r\n var rawChildren = (childrenMap[currentUUID] || []).filter(function(m) {\r\n return !m.deleted;\r\n });\r\n var wasContainer = rawChildren.length > 0; \r\n \r\n var copy = deepClone(node);\r\n if (!Array.isArray(copy.Tags)) copy.Tags = [];\r\n \r\n // --- 【修正:所有类型都存入 UUID】 ---\r\n if (currentUUID) {\r\n copy.OriginText = currentUUID;\r\n }\r\n \r\n // 【新增逻辑】:如果开启了智能排序,且当前项是分割线,则直接过滤掉\r\n if (isSmartSort && copy.IsSeparator === true) {\r\n return null;\r\n }\r\n \r\n // 只有 action 类型且 Data 为空时,才填充选中文本\r\n if (copy.Operation === "action") {\r\n if ((!copy.Data || copy.Data.trim() === "") && selectedText) {\r\n copy.Data = selectedText;\r\n }\r\n }\r\n \r\n // --- 黑名单过滤 (修复误杀逻辑) ---\r\n // 这里的 tagSet 如果是 null,说明是递归子项,跳过黑名单和标签检查\r\n if (tagSet) {\r\n var triggeringTag = Array.from(tagSet)[0]; \r\n var tagObj = tagMap[triggeringTag];\r\n if (tagObj && Array.isArray(tagObj.blacklist) && tagObj.blacklist.length > 0) {\r\n var blacklist = tagObj.blacklist;\r\n var contextTagsArray = Array.from(selectedTagSet);\r\n for (var k = 0; k < contextTagsArray.length; k++) {\r\n var contextTag = contextTagsArray[k];\r\n if (contextTag === triggeringTag || contextTag.trim() === '') continue;\r\n \r\n // 修改点:判断菜单项自己是否有这个场景标签,如果有,就不执行拉黑\r\n if (blacklist.indexOf(contextTag) !== -1) {\r\n if (copy.Tags.indexOf(contextTag) === -1) {\r\n return null;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n var fileMatch = isMatchFiles(copy);\r\n var urlMatch = isMatchUrl(copy, url);\r\n var titleMatch = isMatchTitle(copy, windowTitle); \r\n \r\n var hasNonEmptyFileCondition = copy.matchExt && typeof copy.matchExt === 'string' && copy.matchExt.trim() !== '';\r\n var hasNonEmptyUrlCondition = copy.matchUrl && typeof copy.matchUrl === 'string' && copy.matchUrl.trim() !== '';\r\n var hasNonEmptyTitleCondition = copy.matchTitle && typeof copy.matchTitle === 'string' && copy.matchTitle.trim() !== ''; \r\n \r\n if ((hasNonEmptyFileCondition && !fileMatch) || \r\n (hasNonEmptyUrlCondition && !urlMatch) ||\r\n (hasNonEmptyTitleCondition && !titleMatch)) {\r\n return null; \r\n }\r\n \r\n // 直接使用前面已经筛选好的 rawChildren\r\n if (wasContainer) {\r\n var keptChildren = [];\r\n rawChildren.forEach(function(ch) {\r\n // 递归处理子项:子项不受父级标签强制约束\r\n var kc = buildFilteredNode(ch, null, tagMap, selectedTagSet); \r\n if (kc) keptChildren.push(kc);\r\n });\r\n \r\n // 只有子项存在时才进行排序\r\n if (isSmartSort && keptChildren.length > 0) {\r\n keptChildren.sort(function(a, b) {\r\n var now = Date.now();\r\n var HALF_LIFE = halfLifeDays * 24 * 60 * 60 * 1000;\r\n var scoreA = (Number(a.usageCount) || 0) * Math.pow(0.5, (now - (a.updatedAt || 0)) / HALF_LIFE);\r\n var scoreB = (Number(b.usageCount) || 0) * Math.pow(0.5, (now - (b.updatedAt || 0)) / HALF_LIFE);\r\n if (scoreB !== scoreA) return scoreB - scoreA;\r\n return (b.updatedAt || 0) - (a.updatedAt || 0);\r\n });\r\n }\r\n \r\n if (keptChildren.length > 0) copy.Children = keptChildren;\r\n else delete copy.Children;\r\n }\r\n \r\n // --- 最终显示判断 ---\r\n // 如果是递归子项(tagSet为null),只要环境匹配(文件/URL)就允许返回\r\n if (tagSet === null) return copy;\r\n \r\n var hasTag = copy.Tags.some(function(t) { return tagSet.has(t); });\r\n var childrenKept = Array.isArray(copy.Children) && copy.Children.length > 0;\r\n \r\n if (childrenKept) return copy; \r\n if (wasContainer) return null;\r\n if (hasTag && fileMatch && urlMatch && titleMatch) return copy; \r\n \r\n return null;\r\n }\r\n \r\n function addNodeWithDedup(node, finalMenuArr) {\r\n if (!node) return;\r\n var currentUUID = node.uuid || "";\r\n if (currentUUID && seenUUID.has(currentUUID)) return;\r\n \r\n // 【核心精简点】:在这里只手动挑选 UI 需要的字段\r\n var simplifiedNode = {\r\n Title: node.Title || "",\r\n Icon: node.Icon || "",\r\n Description: node.Description || "",\r\n Operation: node.Operation || "none",\r\n Action: node.Action || "",\r\n Data: node.Data || "",\r\n IsSeparator: node.IsSeparator || false,\r\n uuid: currentUUID\r\n };\r\n \r\n // 处理子级(递归瘦身)\r\n if (Array.isArray(node.Children) && node.Children.length > 0) {\r\n var childrenFiltered = [];\r\n node.Children.forEach(function(c) {\r\n var cUUID = c.uuid || "";\r\n if (!cUUID || !seenUUID.has(cUUID)) {\r\n // 这里我们手动递归调用自身,确保子菜单也被瘦身\r\n addNodeWithDedup(c, childrenFiltered);\r\n }\r\n });\r\n if (childrenFiltered.length > 0) simplifiedNode.Children = childrenFiltered;\r\n }\r\n \r\n if (currentUUID) seenUUID.add(currentUUID);\r\n finalMenuArr.push(simplifiedNode);\r\n }\r\n \r\n // --- 构建标签组映射 ---\r\n var tagToItems = {}; \r\n // 使用 Object.keys 遍历 menuMap,直接从扁平化索引中提取符合标签的项\r\n var itemAssignedTag = {}; // 记录每个项已分配到哪个标签\r\n Object.keys(menuMap).forEach(function(uuid) {\r\n var item = menuMap[uuid];\r\n // 只处理顶层项(没有父级的项),防止子项在不该出现的时候被错误提拔到顶层\r\n if (item._parentUuid !== null || !Array.isArray(item.Tags)) return;\r\n \r\n // 按照 tagOrder 的顺序查找第一个匹配的标签\r\n for (var j = 0; j < tagOrder.length; j++) {\r\n var orderedTag = tagOrder[j];\r\n if (selectedTagSet.has(orderedTag) && item.Tags.indexOf(orderedTag) !== -1) {\r\n // --- 【新增:检查黑名单】 ---\r\n var tagObj = tagMap[orderedTag];\r\n var isBlacklisted = false;\r\n \r\n if (tagObj && Array.isArray(tagObj.blacklist) && tagObj.blacklist.length > 0) {\r\n var blacklist = tagObj.blacklist;\r\n var hasSpecificContextTag = false;\r\n var contextTagsArray = Array.from(selectedTagSet);\r\n \r\n for (var k = 0; k < contextTagsArray.length; k++) {\r\n var contextTag = contextTagsArray[k];\r\n if (contextTag === orderedTag || contextTag.trim() === '') continue;\r\n \r\n if (contextTag !== 'global') {\r\n // 【核心修正点】:\r\n // 只有当“当前项”不包含这个 contextTag 时,才触发拉黑逻辑。\r\n // 这样,如果菜单项同时有 global 和 text,即便 global 拉黑 text,它也不会消失。\r\n if (blacklist.includes(contextTag) && (!item.Tags || !item.Tags.includes(contextTag))) {\r\n isBlacklisted = true;\r\n break;\r\n }\r\n }\r\n }\r\n if (blacklist.includes('global') && !item.Tags.includes('global')) {\r\n isBlacklisted = true;\r\n }\r\n }\r\n \r\n // 如果被拉黑,跳过这个标签,继续尝试下一个\r\n if (isBlacklisted) continue;\r\n // --- 【黑名单检查结束】 ---\r\n \r\n if (!tagToItems[orderedTag]) tagToItems[orderedTag] = [];\r\n tagToItems[orderedTag].push(item);\r\n itemAssignedTag[uuid] = orderedTag; // 记录已分配\r\n break; // 找到第一个匹配的标签后停止\r\n }\r\n }\r\n });\r\n \r\n // --- 构建 finalMenu ---\r\n var finalMenu = [];\r\n tagOrder.forEach(function(tag){\r\n var items = tagToItems[tag];\r\n if (!items || !items.length) return;\r\n \r\n var filteredItemsForThisTag = [];\r\n items.forEach(function(top){\r\n // 【核心修改点】\r\n // 传入一个特殊的标记,或者将该项的所有标签都传入,\r\n // 确保父节点被选中后,其下的通用子项(如标记为 global 的)不会被剔除。\r\n var allMyTags = new Set(top.Tags || []);\r\n var kept = buildFilteredNode(top, allMyTags, tagMap, selectedTagSet);\r\n \r\n if (kept) {\r\n filteredItemsForThisTag.push(kept); \r\n }\r\n });\r\n \r\n // 2. 如果开启了智能排序,对【已过滤出】的项进行排序\r\n if (isSmartSort && filteredItemsForThisTag.length > 0) {\r\n filteredItemsForThisTag.sort(function(a, b) {\r\n // --- 实时衰减逻辑开始 ---\r\n var now = Date.now();\r\n // --- 【修改点:使用用户输入的半衰期值】 ---\r\n var HALF_LIFE = halfLifeDays * 24 * 60 * 60 * 1000; \r\n \r\n // 计算 a 的实时得分\r\n var lastA = a.updatedAt || (now - 1000 * 60 * 60 * 24 * 365); // 默认一年前\r\n var scoreA = (Number(a.usageCount) || 0) * Math.pow(0.5, (now - lastA) / HALF_LIFE);\r\n \r\n // 计算 b 的实时得分\r\n var lastB = b.updatedAt || (now - 1000 * 60 * 60 * 24 * 365); // 默认一年前\r\n var scoreB = (Number(b.usageCount) || 0) * Math.pow(0.5, (now - lastB) / HALF_LIFE);\r\n \r\n // 按实时计算后的分数进行降序排列\r\n if (scoreB !== scoreA) return scoreB - scoreA;\r\n \r\n // 如果得分极其接近(如都是0),则按原始更新时间兜底\r\n return (b.updatedAt || 0) - (a.updatedAt || 0);\r\n // --- 实时衰减逻辑结束 ---\r\n });\r\n }\r\n \r\n // 3. 将排序后的项加入最终菜单\r\n if (filteredItemsForThisTag.length > 0) {\r\n if (finalMenu.length > 0) {\r\n finalMenu.push({ IsSeparator: true });\r\n }\r\n filteredItemsForThisTag.forEach(function(keptItem){\r\n addNodeWithDedup(keptItem, finalMenu);\r\n });\r\n }\r\n });\r\n \r\n quickerSetVar('CommonOperationItems', JSON.stringify(finalMenu, null, 2));\r\n quickerSetVar('success', true);\r\n quickerSetVar('count', finalMenu.length);\r\n return 0;\r\n \r\n } catch (err) {\r\n quickerSetVar('error', '生成 CommonOperationItems 出错: ' + (err && err.message ? err.message : err));\r\n return 99;\r\n }\r\n }
[in]允许访问.Net程序集【值/表达式】True
[out]脚本写入=>CommonOperationItems[\n {\n "Title": "示例菜单",\n "Icon": "fa:Light_CommentAltExclamation",\n "Description": "示例菜单,仅供新手学习参考使用,熟悉后可删除!",\n "Operation": "none",\n "Action": "",\n "Data": "",\n "IsSeparator": false,\n "uuid": "9b164b9a-344e-40fd-8b68-62cf08c152fb"\n },\n {\n "Title": "应用",\n "Icon": "url:https://files.getquicker.net/_sitefiles/_guides/c7aef61c-1c2d-4a24-c65c-08dc35d31730/2024/02/26/223350_202824_icons8-old-computer-80.png",\n "Description": "",\n "Operation": "none",\n "Action": "",\n "Data": "",\n "IsSeparator": false,\n "uuid": "48219e04-c67a-46f7-83c3-ab912e49d7e1",\n "Children": [\n {\n "Title": "PicList",\n "Icon": "https://helperservice.getquicker.cn/exeicon/get/PicList.exe",\n "Description": "",\n "Operation": "run",\n "Action": "",\n "Data": "D:\\PicList\\PicList.exe",\n "IsSeparator": false,\n "uuid": "e2a6a3ff-550c-4d6d-a8e8-f734e0ef98de"\n }\n ]\n },\n {\n "Title": "常用语",\n "Icon": "url:https://files.getquicker.net/_icons/928D0DC5B635B3CB29E58F2BDEAE8A5FE7AFB93E.png",\n "Description": "",\n "Operation": "none",\n "Action": "",\n "Data": "",\n "IsSeparator": false,\n "uuid": "fafbd767-1993-460e-a266-6201f13d51fa"\n },\n {\n "Title": "常用命令",\n "Icon": "url:https://files.getquicker.net/_sitefiles/_guides/c7aef61c-1c2d-4a24-c65c-08dc35d31730/2024/02/27/143550_202824_console.png",\n "Description": "",\n "Operation": "none",\n "Action": "",\n "Data": "",\n "IsSeparator": false,\n "uuid": "03cdc9aa-9e04-40cb-9703-b8b30c49084d"\n },\n {\n "IsSeparator": true\n },\n {\n "Title": "关闭其它",\n "Icon": "fa:Light_CodeCommit",\n "Description": "",\n "Operation": "action",\n "Action": "c89d6ff4-0b61-4dcd-b8c7-a24df5c577f2",\n "Data": "",\n "IsSeparator": false,\n "uuid": "c3bc174e-8a84-4cb2-ae67-7d9dc02c143f"\n },\n {\n "Title": "关闭左侧标签页",\n "Icon": "fa:Light_ArrowToLeft",\n "Description": "",\n "Operation": "action",\n "Action": "7835523f-40d7-4173-bd15-2a9d914763b2",\n "Data": "",\n "IsSeparator": false,\n "uuid": "36c36247-ce0e-4d33-a9ca-6f75e495de27"\n },\n {\n "Title": "关闭右侧标签页",\n "Icon": "fa:Light_ArrowFromLeft",\n "Description": "",\n "Operation": "action",\n "Action": "991ce3d7-91dc-447d-b933-6dcc9a89e044",\n "Data": "",\n "IsSeparator": false,\n "uuid": "75fbbd1c-b584-4b1b-83e6-df1e8fc9ac6b"\n },\n {\n "Title": "关闭同域名",\n "Icon": "fa:Light_FolderTimes",\n "Description": "",\n "Operation": "action",\n "Action": "83e39151-e0bc-4e6d-ae69-663ebc90664a",\n "Data": "",\n "IsSeparator": false,\n "uuid": "b1ba70a6-800a-47db-8d48-edc91595e5f5"\n },\n {\n "Title": "标签页分组",\n "Icon": "fa:Solid_Betamax",\n "Description": "",\n "Operation": "action",\n "Action": "d2bc93c2-9dc3-4157-89c2-57888a2aa741",\n "Data": "",\n "IsSeparator": true,\n "uuid": "f398f733-fef1-42a2-8e74-36d0db9d8518"\n },\n {\n "Title": "优酷",\n "Icon": "https://helperservice.getquicker.cn/favicon/get/www.youku.com",\n "Description": "",\n "Operation": "run",\n "Action": "",\n "Data": "https://www.youku.com/",\n "IsSeparator": false,\n "uuid": "b1591eae-cf77-42ed-8f26-96f72a3fe8f8"\n },\n {\n "Title": "哔哩",\n "Icon": "https://helperservice.getquicker.cn/favicon/get/www.bilibili.com",\n "Description": "",\n "Operation": "run",\n "Action": "",\n "Data": "https://www.bilibili.com/",\n "IsSeparator": false,\n "uuid": "59fad71f-d7be-458f-a171-4a6c077b01f9"\n },\n {\n "Title": "GitHub",\n "Icon": "https://helperservice.getquicker.cn/favicon/get/github.com",\n "Description": "",\n "Operation": "run",\n "Action": "",\n "Data": "https://github.com/",\n "IsSeparator": false,\n "uuid": "29f12d47-e825-4dd7-8ba6-2eee60641638"\n }\n ]
[out]脚本写入=>successTrue
[out]脚本写入=>count13
[out]是否成功=>isSuccessTrue
耗时:4ms
1291如果判断条件:$= {isSuccess} == false
[in]如果【值/表达式】False
不符合条件,跳过。
[out]菜单对象=>CommonOperationItems[\n {\n "Title": "示例菜单",\n "Icon": "fa:Light_CommentAltExclamation",\n "Description": "示例菜单,仅供新手学习参考使用,熟悉后可删除!",\n "Operation": "none",\n "Action": "",\n "Data": "",\n "IsSeparator": false,\n "uuid": "9b164b9a-344e-40fd-8b68-62cf08c152fb"\n },\n {\n "Title": "应用",\n "Icon": "url:https://files.getquicker.net/_sitefiles/_guides/c7aef61c-1c2d-4a24-c65c-08dc35d31730/2024/02/26/223350_202824_icons8-old-computer-80.png",\n "Description": "",\n "Operation": "none",\n "Action": "",\n "Data": "",\n "IsSeparator": false,\n "uuid": "48219e04-c67a-46f7-83c3-ab912e49d7e1",\n "Children": [\n {\n "Title": "PicList",\n "Icon": "https://helperservice.getquicker.cn/exeicon/get/PicList.exe",\n "Description": "",\n "Operation": "run",\n "Action": "",\n "Data": "D:\\PicList\\PicList.exe",\n "IsSeparator": false,\n "uuid": "e2a6a3ff-550c-4d6d-a8e8-f734e0ef98de"\n }\n ]\n },\n {\n "Title": "常用语",\n "Icon": "url:https://files.getquicker.net/_icons/928D0DC5B635B3CB29E58F2BDEAE8A5FE7AFB93E.png",\n "Description": "",\n "Operation": "none",\n "Action": "",\n "Data": "",\n "IsSeparator": false,\n "uuid": "fafbd767-1993-460e-a266-6201f13d51fa"\n },\n {\n "Title": "常用命令",\n "Icon": "url:https://files.getquicker.net/_sitefiles/_guides/c7aef61c-1c2d-4a24-c65c-08dc35d31730/2024/02/27/143550_202824_console.png",\n "Description": "",\n "Operation": "none",\n "Action": "",\n "Data": "",\n "IsSeparator": false,\n "uuid": "03cdc9aa-9e04-40cb-9703-b8b30c49084d"\n },\n {\n "IsSeparator": true\n },\n {\n "Title": "关闭其它",\n "Icon": "fa:Light_CodeCommit",\n "Description": "",\n "Operation": "action",\n "Action": "c89d6ff4-0b61-4dcd-b8c7-a24df5c577f2",\n "Data": "",\n "IsSeparator": false,\n "uuid": "c3bc174e-8a84-4cb2-ae67-7d9dc02c143f"\n },\n {\n "Title": "关闭左侧标签页",\n "Icon": "fa:Light_ArrowToLeft",\n "Description": "",\n "Operation": "action",\n "Action": "7835523f-40d7-4173-bd15-2a9d914763b2",\n "Data": "",\n "IsSeparator": false,\n "uuid": "36c36247-ce0e-4d33-a9ca-6f75e495de27"\n },\n {\n "Title": "关闭右侧标签页",\n "Icon": "fa:Light_ArrowFromLeft",\n "Description": "",\n "Operation": "action",\n "Action": "991ce3d7-91dc-447d-b933-6dcc9a89e044",\n "Data": "",\n "IsSeparator": false,\n "uuid": "75fbbd1c-b584-4b1b-83e6-df1e8fc9ac6b"\n },\n {\n "Title": "关闭同域名",\n "Icon": "fa:Light_FolderTimes",\n "Description": "",\n "Operation": "action",\n "Action": "83e39151-e0bc-4e6d-ae69-663ebc90664a",\n "Data": "",\n "IsSeparator": false,\n "uuid": "b1ba70a6-800a-47db-8d48-edc91595e5f5"\n },\n {\n "Title": "标签页分组",\n "Icon": "fa:Solid_Betamax",\n "Description": "",\n "Operation": "action",\n "Action": "d2bc93c2-9dc3-4157-89c2-57888a2aa741",\n "Data": "",\n "IsSeparator": true,\n "uuid": "f398f733-fef1-42a2-8e74-36d0db9d8518"\n },\n {\n "Title": "优酷",\n "Icon": "https://helperservice.getquicker.cn/favicon/get/www.youku.com",\n "Description": "",\n "Operation": "run",\n "Action": "",\n "Data": "https://www.youku.com/",\n "IsSeparator": false,\n "uuid": "b1591eae-cf77-42ed-8f26-96f72a3fe8f8"\n },\n {\n "Title": "哔哩",\n "Icon": "https://helperservice.getquicker.cn/favicon/get/www.bilibili.com",\n "Description": "",\n "Operation": "run",\n "Action": "",\n "Data": "https://www.bilibili.com/",\n "IsSeparator": false,\n "uuid": "59fad71f-d7be-458f-a171-4a6c077b01f9"\n },\n {\n "Title": "GitHub",\n "Icon": "https://helperservice.getquicker.cn/favicon/get/github.com",\n "Description": "",\n "Operation": "run",\n "Action": "",\n "Data": "https://github.com/",\n "IsSeparator": false,\n "uuid": "29f12d47-e825-4dd7-8ba6-2eee60641638"\n }\n ]
耗时:12ms
1314如果/否则判断条件:$= ({settings}?.GetValueOrDefault("显示类型")?.ToString() ?? "显示菜单") ==...
[in]如果【值/表达式】True
执行 True 分支, 共 2 步骤
1334.0如果/否则判断条件:$= {settings}?.GetValueOrDefault("占用焦点") ?? false
[in]如果【值/表达式】False
执行 False 分支, 共 1 步骤
1344.0.1显示菜单{CommonOperationItems}
[in]失败后停止【值/表达式】False
[in]等待菜单关闭【值/表达式】True
[in]字体大小【值/表达式】14
[in]图标大小【值/表达式】16
[in]占用焦点【值/表达式】False
[in]最大高度【值/表达式】50%
[in]菜单数据【变量 CommonOperationItems】[\n {\n "Title": "示例菜单",\n "Icon": "fa:Light_CommentAltExclamation",\n "Description": "示例菜单,仅供新手学习参考使用,熟悉后可删除!",\n "Operation": "none",\n "Action": "",\n "Data": "",\n "IsSeparator": false,\n "uuid": "9b164b9a-344e-40fd-8b68-62cf08c152fb"\n },\n {\n "Title": "应用",\n "Icon": "url:https://files.getquicker.net/_sitefiles/_guides/c7aef61c-1c2d-4a24-c65c-08dc35d31730/2024/02/26/223350_202824_icons8-old-computer-80.png",\n "Description": "",\n "Operation": "none",\n "Action": "",\n "Data": "",\n "IsSeparator": false,\n "uuid": "48219e04-c67a-46f7-83c3-ab912e49d7e1",\n "Children": [\n {\n "Title": "PicList",\n "Icon": "https://helperservice.getquicker.cn/exeicon/get/PicList.exe",\n "Description": "",\n "Operation": "run",\n "Action": "",\n "Data": "D:\\PicList\\PicList.exe",\n "IsSeparator": false,\n "uuid": "e2a6a3ff-550c-4d6d-a8e8-f734e0ef98de"\n }\n ]\n },\n {\n "Title": "常用语",\n "Icon": "url:https://files.getquicker.net/_icons/928D0DC5B635B3CB29E58F2BDEAE8A5FE7AFB93E.png",\n "Description": "",\n "Operation": "none",\n "Action": "",\n "Data": "",\n "IsSeparator": false,\n "uuid": "fafbd767-1993-460e-a266-6201f13d51fa"\n },\n {\n "Title": "常用命令",\n "Icon": "url:https://files.getquicker.net/_sitefiles/_guides/c7aef61c-1c2d-4a24-c65c-08dc35d31730/2024/02/27/143550_202824_console.png",\n "Description": "",\n "Operation": "none",\n "Action": "",\n "Data": "",\n "IsSeparator": false,\n "uuid": "03cdc9aa-9e04-40cb-9703-b8b30c49084d"\n },\n {\n "IsSeparator": true\n },\n {\n "Title": "关闭其它",\n "Icon": "fa:Light_CodeCommit",\n "Description": "",\n "Operation": "action",\n "Action": "c89d6ff4-0b61-4dcd-b8c7-a24df5c577f2",\n "Data": "",\n "IsSeparator": false,\n "uuid": "c3bc174e-8a84-4cb2-ae67-7d9dc02c143f"\n },\n {\n "Title": "关闭左侧标签页",\n "Icon": "fa:Light_ArrowToLeft",\n "Description": "",\n "Operation": "action",\n "Action": "7835523f-40d7-4173-bd15-2a9d914763b2",\n "Data": "",\n "IsSeparator": false,\n "uuid": "36c36247-ce0e-4d33-a9ca-6f75e495de27"\n },\n {\n "Title": "关闭右侧标签页",\n "Icon": "fa:Light_ArrowFromLeft",\n "Description": "",\n "Operation": "action",\n "Action": "991ce3d7-91dc-447d-b933-6dcc9a89e044",\n "Data": "",\n "IsSeparator": false,\n "uuid": "75fbbd1c-b584-4b1b-83e6-df1e8fc9ac6b"\n },\n {\n "Title": "关闭同域名",\n "Icon": "fa:Light_FolderTimes",\n "Description": "",\n "Operation": "action",\n "Action": "83e39151-e0bc-4e6d-ae69-663ebc90664a",\n "Data": "",\n "IsSeparator": false,\n "uuid": "b1ba70a6-800a-47db-8d48-edc91595e5f5"\n },\n {\n "Title": "标签页分组",\n "Icon": "fa:Solid_Betamax",\n "Description": "",\n "Operation": "action",\n "Action": "d2bc93c2-9dc3-4157-89c2-57888a2aa741",\n "Data": "",\n "IsSeparator": true,\n "uuid": "f398f733-fef1-42a2-8e74-36d0db9d8518"\n },\n {\n "Title": "优酷",\n "Icon": "https://helperservice.getquicker.cn/favicon/get/www.youku.com",\n "Description": "",\n "Operation": "run",\n "Action": "",\n "Data": "https://www.youku.com/",\n "IsSeparator": false,\n "uuid": "b1591eae-cf77-42ed-8f26-96f72a3fe8f8"\n },\n {\n "Title": "哔哩",\n "Icon": "https://helperservice.getquicker.cn/favicon/get/www.bilibili.com",\n "Description": "",\n "Operation": "run",\n "Action": "",\n "Data": "https://www.bilibili.com/",\n "IsSeparator": false,\n "uuid": "59fad71f-d7be-458f-a171-4a6c077b01f9"\n },\n {\n "Title": "GitHub",\n "Icon": "https://helperservice.getquicker.cn/favicon/get/github.com",\n "Description": "",\n "Operation": "run",\n "Action": "",\n "Data": "https://github.com/",\n "IsSeparator": false,\n "uuid": "29f12d47-e825-4dd7-8ba6-2eee60641638"\n }\n ]
[in]菜单数据【变量 CommonOperationItems】[\n {\n "Title": "示例菜单",\n "Icon": "fa:Light_CommentAltExclamation",\n "Description": "示例菜单,仅供新手学习参考使用,熟悉后可删除!",\n "Operation": "none",\n "Action": "",\n "Data": "",\n "IsSeparator": false,\n "uuid": "9b164b9a-344e-40fd-8b68-62cf08c152fb"\n },\n {\n "Title": "应用",\n "Icon": "url:https://files.getquicker.net/_sitefiles/_guides/c7aef61c-1c2d-4a24-c65c-08dc35d31730/2024/02/26/223350_202824_icons8-old-computer-80.png",\n "Description": "",\n "Operation": "none",\n "Action": "",\n "Data": "",\n "IsSeparator": false,\n "uuid": "48219e04-c67a-46f7-83c3-ab912e49d7e1",\n "Children": [\n {\n "Title": "PicList",\n "Icon": "https://helperservice.getquicker.cn/exeicon/get/PicList.exe",\n "Description": "",\n "Operation": "run",\n "Action": "",\n "Data": "D:\\PicList\\PicList.exe",\n "IsSeparator": false,\n "uuid": "e2a6a3ff-550c-4d6d-a8e8-f734e0ef98de"\n }\n ]\n },\n {\n "Title": "常用语",\n "Icon": "url:https://files.getquicker.net/_icons/928D0DC5B635B3CB29E58F2BDEAE8A5FE7AFB93E.png",\n "Description": "",\n "Operation": "none",\n "Action": "",\n "Data": "",\n "IsSeparator": false,\n "uuid": "fafbd767-1993-460e-a266-6201f13d51fa"\n },\n {\n "Title": "常用命令",\n "Icon": "url:https://files.getquicker.net/_sitefiles/_guides/c7aef61c-1c2d-4a24-c65c-08dc35d31730/2024/02/27/143550_202824_console.png",\n "Description": "",\n "Operation": "none",\n "Action": "",\n "Data": "",\n "IsSeparator": false,\n "uuid": "03cdc9aa-9e04-40cb-9703-b8b30c49084d"\n },\n {\n "IsSeparator": true\n },\n {\n "Title": "关闭其它",\n "Icon": "fa:Light_CodeCommit",\n "Description": "",\n "Operation": "action",\n "Action": "c89d6ff4-0b61-4dcd-b8c7-a24df5c577f2",\n "Data": "",\n "IsSeparator": false,\n "uuid": "c3bc174e-8a84-4cb2-ae67-7d9dc02c143f"\n },\n {\n "Title": "关闭左侧标签页",\n "Icon": "fa:Light_ArrowToLeft",\n "Description": "",\n "Operation": "action",\n "Action": "7835523f-40d7-4173-bd15-2a9d914763b2",\n "Data": "",\n "IsSeparator": false,\n "uuid": "36c36247-ce0e-4d33-a9ca-6f75e495de27"\n },\n {\n "Title": "关闭右侧标签页",\n "Icon": "fa:Light_ArrowFromLeft",\n "Description": "",\n "Operation": "action",\n "Action": "991ce3d7-91dc-447d-b933-6dcc9a89e044",\n "Data": "",\n "IsSeparator": false,\n "uuid": "75fbbd1c-b584-4b1b-83e6-df1e8fc9ac6b"\n },\n {\n "Title": "关闭同域名",\n "Icon": "fa:Light_FolderTimes",\n "Description": "",\n "Operation": "action",\n "Action": "83e39151-e0bc-4e6d-ae69-663ebc90664a",\n "Data": "",\n "IsSeparator": false,\n "uuid": "b1ba70a6-800a-47db-8d48-edc91595e5f5"\n },\n {\n "Title": "标签页分组",\n "Icon": "fa:Solid_Betamax",\n "Description": "",\n "Operation": "action",\n "Action": "d2bc93c2-9dc3-4157-89c2-57888a2aa741",\n "Data": "",\n "IsSeparator": true,\n "uuid": "f398f733-fef1-42a2-8e74-36d0db9d8518"\n },\n {\n "Title": "优酷",\n "Icon": "https://helperservice.getquicker.cn/favicon/get/www.youku.com",\n "Description": "",\n "Operation": "run",\n "Action": "",\n "Data": "https://www.youku.com/",\n "IsSeparator": false,\n "uuid": "b1591eae-cf77-42ed-8f26-96f72a3fe8f8"\n },\n {\n "Title": "哔哩",\n "Icon": "https://helperservice.getquicker.cn/favicon/get/www.bilibili.com",\n "Description": "",\n "Operation": "run",\n "Action": "",\n "Data": "https://www.bilibili.com/",\n "IsSeparator": false,\n "uuid": "59fad71f-d7be-458f-a171-4a6c077b01f9"\n },\n {\n "Title": "GitHub",\n "Icon": "https://helperservice.getquicker.cn/favicon/get/github.com",\n "Description": "",\n "Operation": "run",\n "Action": "",\n "Data": "https://github.com/",\n "IsSeparator": false,\n "uuid": "29f12d47-e825-4dd7-8ba6-2eee60641638"\n }\n ]
[out]是否成功=>isSuccessFalse
步骤(sys:showmenu)执行失败,原因:未点击菜单项
耗时:3982ms
41164.1如果判断条件:{isSuccess}
[in]如果【变量 isSuccess】False
不符合条件,跳过。
动作结束。耗时:4116.4886ms