|
| 1 | +{ |
| 2 | + "项目结构说明": { |
| 3 | + "src": { |
| 4 | + "描述": "源代码目录", |
| 5 | + "js": { |
| 6 | + "描述": "存放JS代码", |
| 7 | + "composer": { |
| 8 | + "描述": "存放可视化编排相关的JS代码", |
| 9 | + "commands": { |
| 10 | + "描述": "存放生成组件的配置文件,一个分类一个文件", |
| 11 | + "命令配置字段说明": { |
| 12 | + "value": "必选,当使用MultiParams组件且未启用functionSelector时,表示生成代码时使用的函数名", |
| 13 | + "label": "必选,命令的显示的名称", |
| 14 | + "component": "可选,存在则表示使用自定义组件,否则根据config使用MultiParams组件", |
| 15 | + "isControlFlow": "可选,是否是流程控制命令", |
| 16 | + "commandChain": "可选,命令链,流程控制命令使用", |
| 17 | + "allowEmptyArgv": "可选,是否允许空参数", |
| 18 | + "config": { |
| 19 | + "描述": "可选,命令的配置,用来在MultiParams组件中显示,是一个数组,每个元素是一个对象", |
| 20 | + "配置项属性": { |
| 21 | + "key": "必选,键", |
| 22 | + "label": "必选,标签", |
| 23 | + "type": "必选,类型,input则使用VariableInput组件,其他类型则使用qurasr对应组件", |
| 24 | + "inputType": "可选,VariableInput组件的类型,用于指定VariableInput显示的类型", |
| 25 | + "defaultValue": "可选,默认值", |
| 26 | + "icon": "必选,图标", |
| 27 | + "width": "可选,flex布局的相对比例" |
| 28 | + } |
| 29 | + }, |
| 30 | + "functionSelector": { |
| 31 | + "描述": "可选,函数选择器,用于选择函数,如果存在则使用MultiParams组件,用于一类参数类似,但函数名不同的命令", |
| 32 | + "selectLabel": "必选,选择器的标签", |
| 33 | + "options": { |
| 34 | + "描述": "必选,选项,一个数组,每个元素是一个对象,包含以下属性:", |
| 35 | + "配置项属性": { |
| 36 | + "label": "必选,显示的名称", |
| 37 | + "value": "必选,选择的值,作为生成代码时使用的函数名" |
| 38 | + } |
| 39 | + } |
| 40 | + } |
| 41 | + } |
| 42 | + }, |
| 43 | + "cardComponents.js": { |
| 44 | + "描述": "自定义的组件要在这里导入", |
| 45 | + "主要功能": { |
| 46 | + "导入组件": "导入并注册自定义的命令卡片组件", |
| 47 | + "导出组件": "导出所有注册的组件供CommandComposer使用" |
| 48 | + } |
| 49 | + }, |
| 50 | + "formatString.js": { |
| 51 | + "描述": "处理JSON字符串中的值,主要处理来自VariableInput的字段,最后返回字符串", |
| 52 | + "主要功能": { |
| 53 | + "formatJsonVariables": { |
| 54 | + "描述": "处理JSON字符串中的值,支持完整字段处理和指定路径处理", |
| 55 | + "参数": { |
| 56 | + "jsonObj": "要处理的JSON对象", |
| 57 | + "variableFields": "可选,需要处理的字段列表,不传则处理所有字段", |
| 58 | + "excludeFields": "可选,需要排除的字段列表" |
| 59 | + }, |
| 60 | + "处理方式": { |
| 61 | + "完整字段处理": "如 headers - 处理整个对象及其所有子字段", |
| 62 | + "指定路径处理": "如 data.headers.Referer - 只处理特定路径", |
| 63 | + "全字段处理": "不传递 variableFields 则处理所有字段", |
| 64 | + "排除字段": "通过 excludeFields 排除特定字段,即使匹配了处理条件也不处理" |
| 65 | + } |
| 66 | + } |
| 67 | + } |
| 68 | + } |
| 69 | + } |
| 70 | + }, |
| 71 | + "components": { |
| 72 | + "描述": "存放Vue组件", |
| 73 | + "composer": { |
| 74 | + "描述": "存放可视化编排相关的组件", |
| 75 | + "ui": { |
| 76 | + "描述": "基础UI组件", |
| 77 | + "组件列表": { |
| 78 | + "VariableInput.vue": { |
| 79 | + "描述": "统一处理变量输入和输出组件", |
| 80 | + "主要功能": { |
| 81 | + "变量输入": "支持各种类型的变量输入", |
| 82 | + "引号处理": "自动处理返回值的引号", |
| 83 | + "类型转换": "支持不同类型间的转换" |
| 84 | + } |
| 85 | + }, |
| 86 | + "MultiParams.vue": { |
| 87 | + "描述": "统一处理多参数输入和输出组件", |
| 88 | + "主要功能": { |
| 89 | + "参数配置": "根据config配置显示不同的参数输入", |
| 90 | + "代码生成": "生成完整的命令代码", |
| 91 | + "参数验证": "验证参数的完整性和正确性" |
| 92 | + } |
| 93 | + }, |
| 94 | + "DictionaryEditor.vue": { |
| 95 | + "描述": "统一处理字典输入和输出组件", |
| 96 | + "主要功能": { |
| 97 | + "键值对编辑": "支持编辑字典的键值对", |
| 98 | + "对象转换": "自动处理对象的序列化和反序列化" |
| 99 | + } |
| 100 | + } |
| 101 | + } |
| 102 | + }, |
| 103 | + "control": { |
| 104 | + "描述": "存放控制流程的组件", |
| 105 | + "ConditionalJudgment.vue": "条件判断组件,用于if/else等流程控制", |
| 106 | + "LoopControl.vue": "循环控制组件,用于for/while等循环控制", |
| 107 | + "ForEachControl.vue": "foreach循环控制组件,用于foreach循环控制", |
| 108 | + "ForInControl.vue": "forin循环控制组件,用于forin循环控制", |
| 109 | + "WhileControl.vue": "while循环控制组件,用于while循环控制", |
| 110 | + "SwitchControl.vue": "switch控制组件,用于switch控制" |
| 111 | + }, |
| 112 | + "simulate": { |
| 113 | + "描述": "存放模拟操作的组件", |
| 114 | + "ImageSearchEditor.vue": "图片搜索组件,用于搜索图片" |
| 115 | + }, |
| 116 | + "crypto": { |
| 117 | + "描述": "存放加解密的组件", |
| 118 | + "SymmetricCryptoEditor.vue": "对称加解密组件,用于对称加解密", |
| 119 | + "AsymmetricCryptoEditor.vue": "非对称加解密组件,用于非对称加解密" |
| 120 | + }, |
| 121 | + "card": { |
| 122 | + "描述": "存放ComposerCard子组件", |
| 123 | + "CommandHead.vue": "命令卡片的头部组件,包含命令名称、折叠、删除等功能", |
| 124 | + "CommandButtons.vue": "命令卡片的按钮组件,包含运行、保存等功能" |
| 125 | + }, |
| 126 | + "flow": { |
| 127 | + "描述": "存放ComposerFlow子组件", |
| 128 | + "ComposerButtons.vue": "流程操作按钮组件,包含运行、保存等功能", |
| 129 | + "ChainStyles.vue": "控制流程链样式组件", |
| 130 | + "DropArea.vue": "在命令流程下面显示一个拖拽区域,用于拖拽命令到流程编辑器", |
| 131 | + "EmptyFlow.vue": "没有流程时显示的组件" |
| 132 | + }, |
| 133 | + "http": { |
| 134 | + "描述": "存放http请求的组件", |
| 135 | + "AxiosConfigEditor.vue": "Axios请求配置编辑器" |
| 136 | + }, |
| 137 | + "regex": { |
| 138 | + "描述": "存放正则相关的组件" |
| 139 | + }, |
| 140 | + "CommandComposer.vue": { |
| 141 | + "描述": "命令编辑器主组件", |
| 142 | + "主要功能": { |
| 143 | + "变量管理": "管理命令间的变量传递", |
| 144 | + "命令流程": "管理命令的执行顺序", |
| 145 | + "代码生成": "生成最终的执行代码" |
| 146 | + }, |
| 147 | + "子组件": { |
| 148 | + "ComposerList": "左侧命令列表", |
| 149 | + "ComposerFlow": "右侧流程编辑器" |
| 150 | + } |
| 151 | + }, |
| 152 | + "ComposerCard.vue": { |
| 153 | + "描述": "命令卡片组件,用于显示和编辑单个命令", |
| 154 | + "主要功能": { |
| 155 | + "参数编辑": "根据命令配置显示不同的参数编辑器", |
| 156 | + "变量输出": "管理命令的输出变量", |
| 157 | + "折叠控制": "控制命令卡片的折叠状态" |
| 158 | + } |
| 159 | + }, |
| 160 | + "ComposerFlow.vue": { |
| 161 | + "描述": "命令流程编辑器,管理命令的执行顺序", |
| 162 | + "主要功能": { |
| 163 | + "拖拽排序": "通过拖拽调整命令顺序", |
| 164 | + "链式命令": "管理if/else等控制流程命令", |
| 165 | + "折叠管理": "控制命令链的折叠状态" |
| 166 | + } |
| 167 | + }, |
| 168 | + "ComposerList.vue": { |
| 169 | + "描述": "命令列表组件,显示可用的命令", |
| 170 | + "主要功能": { |
| 171 | + "命令分类": "按类别显示命令", |
| 172 | + "搜索过滤": "支持拼音搜索命令", |
| 173 | + "拖拽添加": "拖拽命令到流程编辑器" |
| 174 | + } |
| 175 | + } |
| 176 | + }, |
| 177 | + "quickcommandUI": { |
| 178 | + "描述": "存放quickcommand的UI组件,提供各种交互界面", |
| 179 | + "组件列表": { |
| 180 | + "QuickCommand.vue": { |
| 181 | + "描述": "UI组件的主入口", |
| 182 | + "主要功能": { |
| 183 | + "对话框管理": { |
| 184 | + "showInputBox": "显示输入框对话框,支持多个输入框", |
| 185 | + "showButtonBox": "显示按钮对话框,支持多个按钮", |
| 186 | + "showConfirmBox": "显示确认对话框,支持HTML内容", |
| 187 | + "showMessageBox": "显示消息提示框,支持不同图标和位置", |
| 188 | + "showTextArea": "显示文本编辑框,支持大段文本输入", |
| 189 | + "showSelectList": "显示选择列表,支持搜索和快捷键" |
| 190 | + }, |
| 191 | + "按钮管理": { |
| 192 | + "showWaitButton": "显示等待按钮", |
| 193 | + "closeWaitButton": "关闭等待按钮" |
| 194 | + }, |
| 195 | + "事件管理": { |
| 196 | + "listenKeydown": "添加键盘事件监听", |
| 197 | + "removeListener": "移除键盘事件监听" |
| 198 | + } |
| 199 | + } |
| 200 | + }, |
| 201 | + "子组件": { |
| 202 | + "InputBox.vue": { |
| 203 | + "描述": "输入框对话框组件", |
| 204 | + "功能": { |
| 205 | + "多输入框": "支持显示多个输入框", |
| 206 | + "提示文本": "支持设置标签和提示文本", |
| 207 | + "默认值": "支持设置默认值" |
| 208 | + } |
| 209 | + }, |
| 210 | + "ButtonBox.vue": { |
| 211 | + "描述": "按钮对话框组件", |
| 212 | + "功能": { |
| 213 | + "多按钮": "支持显示多个按钮", |
| 214 | + "返回值": "返回点击的按钮索引和文本" |
| 215 | + } |
| 216 | + }, |
| 217 | + "ConfirmBox.vue": { |
| 218 | + "描述": "确认对话框组件", |
| 219 | + "功能": { |
| 220 | + "HTML内容": "支持显示HTML格式的内容", |
| 221 | + "自定义宽度": "支持设置对话框宽度" |
| 222 | + } |
| 223 | + }, |
| 224 | + "TextArea.vue": { |
| 225 | + "描述": "文本编辑框组件", |
| 226 | + "功能": { |
| 227 | + "大文本输入": "支持输入和编辑大段文本", |
| 228 | + "占位文本": "支持设置占位文本", |
| 229 | + "默认值": "支持设置默认值" |
| 230 | + } |
| 231 | + }, |
| 232 | + "SelectList.vue": { |
| 233 | + "描述": "选择列表组件", |
| 234 | + "功能": { |
| 235 | + "虚拟滚动": "使用虚拟滚动优化大量数据的显示", |
| 236 | + "拼音搜索": "支持拼音搜索过滤", |
| 237 | + "键盘导航": "支持键盘上下键导航", |
| 238 | + "快捷键选择": "支持Alt/Command+数字快速选择", |
| 239 | + "多种显示模式": { |
| 240 | + "plaintext": "纯文本模式", |
| 241 | + "json": "带图标和描述的JSON模式", |
| 242 | + "html": "HTML内容模式" |
| 243 | + } |
| 244 | + } |
| 245 | + } |
| 246 | + } |
| 247 | + } |
| 248 | + } |
| 249 | + } |
| 250 | + }, |
| 251 | + "plugin": { |
| 252 | + "描述": "插件相关代码", |
| 253 | + "lib": { |
| 254 | + "描述": "存放核心功能代码", |
| 255 | + "文件列表": { |
| 256 | + "quickcomposer": { |
| 257 | + "描述": "命令生成器的核心功能", |
| 258 | + "命名规则": "quickcomposer.xxx.yyy.js 对应 quickcomposer.xxx.yyy 接口,xxx 为分类,和src/js/composer/commands里分类对应", |
| 259 | + "功能分类": { |
| 260 | + "系统命令": "系统相关的命令", |
| 261 | + "控制命令": "流程控制相关的命令", |
| 262 | + "模拟命令": "模拟操作相关的命令" |
| 263 | + } |
| 264 | + }, |
| 265 | + "quickcommand.js": { |
| 266 | + "描述": "定义preload.js中quickcommand的接口,UI相关的接口在src/components/quickcommandUI中", |
| 267 | + "主要功能": { |
| 268 | + "模拟操作": { |
| 269 | + "simulateCopy": "模拟复制操作", |
| 270 | + "simulatePaste": "模拟粘贴操作" |
| 271 | + }, |
| 272 | + "剪贴板": { |
| 273 | + "readClipboard": "读取剪贴板文本", |
| 274 | + "writeClipboard": "写入剪贴板文本", |
| 275 | + "readClipboardImage": "读取剪贴板图片" |
| 276 | + }, |
| 277 | + "文件操作": { |
| 278 | + "downloadFile": "下载文件", |
| 279 | + "uploadFile": "上传文件", |
| 280 | + "loadRemoteScript": "载入在线资源" |
| 281 | + }, |
| 282 | + "系统操作": { |
| 283 | + "sleep": "同步延时", |
| 284 | + "setTimeout": "异步延时", |
| 285 | + "kill": "关闭进程", |
| 286 | + "wakeUtools": "唤醒uTools", |
| 287 | + "runInTerminal": "在终端中执行命令(非Linux)" |
| 288 | + }, |
| 289 | + "平台特定": { |
| 290 | + "Windows": { |
| 291 | + "runVbs": "运行VBS脚本", |
| 292 | + "runPowerShell": "运行PowerShell脚本", |
| 293 | + "runCsharp": "运行C#脚本" |
| 294 | + }, |
| 295 | + "MacOS": { |
| 296 | + "runAppleScript": "运行AppleScript脚本" |
| 297 | + } |
| 298 | + } |
| 299 | + } |
| 300 | + }, |
| 301 | + "getQuickcommandTempFile.js": { |
| 302 | + "描述": "获取临时文件路径", |
| 303 | + "参数": { |
| 304 | + "ext": "文件扩展名", |
| 305 | + "name": "可选,文件名,默认为时间戳", |
| 306 | + "dir": "可选,临时目录名,默认为quickcommandTempDir" |
| 307 | + } |
| 308 | + }, |
| 309 | + "lodashMini.js": { |
| 310 | + "描述": "lodash的精简版,提供常用的工具函数", |
| 311 | + "主要函数": { |
| 312 | + "数组操作": { |
| 313 | + "concat": "连接数组", |
| 314 | + "pull": "移除数组中的指定值", |
| 315 | + "union": "创建去重数组", |
| 316 | + "without": "创建不包含指定值的数组" |
| 317 | + }, |
| 318 | + "对象操作": { |
| 319 | + "cloneDeep": "深拷贝", |
| 320 | + "pick": "选取对象属性", |
| 321 | + "omitBy": "过滤对象属性", |
| 322 | + "values": "获取对象的所有值" |
| 323 | + }, |
| 324 | + "集合操作": { |
| 325 | + "filter": "过滤集合", |
| 326 | + "forIn": "遍历对象的可枚举属性" |
| 327 | + }, |
| 328 | + "类型判断": { |
| 329 | + "isArray": "是否为数组", |
| 330 | + "isBuffer": "是否为Buffer", |
| 331 | + "isEmpty": "是否为空", |
| 332 | + "isNil": "是否为null或undefined", |
| 333 | + "isObject": "是否为对象" |
| 334 | + }, |
| 335 | + "字符串操作": { |
| 336 | + "truncate": "截断字符串" |
| 337 | + } |
| 338 | + } |
| 339 | + } |
| 340 | + } |
| 341 | + }, |
| 342 | + "preload.js": { |
| 343 | + "描述": "预加载脚本", |
| 344 | + "主要功能": { |
| 345 | + "接口暴露": "暴露接口给渲染进程", |
| 346 | + "沙箱环境": "提供安全的代码执行环境", |
| 347 | + "全局变量": "管理全局变量和工具函数" |
| 348 | + } |
| 349 | + } |
| 350 | + } |
| 351 | + } |
| 352 | +} |
0 commit comments