From 635203e669d2f2cd37b111c36623c1107c3f2aed Mon Sep 17 00:00:00 2001 From: naibo Date: Tue, 17 Oct 2023 03:10:04 +0800 Subject: [PATCH] Change Patent Address --- .../EasySpider_windows_x64/execution_instances/100.json | 1 + .../EasySpider_windows_x64/execution_instances/101.json | 1 + .temp_to_pub/EasySpider_windows_x64/execution_instances/97.json | 1 + .temp_to_pub/EasySpider_windows_x64/execution_instances/98.json | 1 + .temp_to_pub/EasySpider_windows_x64/execution_instances/99.json | 1 + .temp_to_pub/EasySpider_windows_x64/tasks/229.json | 1 + Readme.md | 2 +- 7 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .temp_to_pub/EasySpider_windows_x64/execution_instances/100.json create mode 100644 .temp_to_pub/EasySpider_windows_x64/execution_instances/101.json create mode 100644 .temp_to_pub/EasySpider_windows_x64/execution_instances/97.json create mode 100644 .temp_to_pub/EasySpider_windows_x64/execution_instances/98.json create mode 100644 .temp_to_pub/EasySpider_windows_x64/execution_instances/99.json create mode 100644 .temp_to_pub/EasySpider_windows_x64/tasks/229.json diff --git a/.temp_to_pub/EasySpider_windows_x64/execution_instances/100.json b/.temp_to_pub/EasySpider_windows_x64/execution_instances/100.json new file mode 100644 index 0000000..1f611b8 --- /dev/null +++ b/.temp_to_pub/EasySpider_windows_x64/execution_instances/100.json @@ -0,0 +1 @@ +{"id":100,"name":"Models - Hugging Face","url":"https://huggingface.co/models?license=license%3Aapache-2.0","links":"https://huggingface.co/models?license=license%3Aapache-2.0\r\nhttps://huggingface.co/models?license=license%3Amit","create_time":"10/10/2023, 8:02:35 PM","update_time":"10/10/2023, 8:02:35 PM","version":"0.5.0","saveThreshold":10,"cloudflare":0,"environment":0,"maxViewLength":15,"recordLog":1,"outputFormat":"xlsx","saveName":"current_time","inputExcel":"","startFromExit":0,"containJudge":false,"desc":"https://huggingface.co/models?license=license%3Aapache-2.0","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://huggingface.co/models?license=license%3Aapache-2.0\nhttps://huggingface.co/models?license=license%3Amit\nhttps://huggingface.co/models?license=license%3Aopenrail\nhttps://huggingface.co/models?license=license%3Acreativeml-openrail-m\nhttps://huggingface.co/models?license=license%3Aother\nhttps://huggingface.co/models?license=license%3Acc-by-nc-4.0\nhttps://huggingface.co/models?license=license%3Acc-by-4.0\nhttps://huggingface.co/models?license=license%3Aafl-3.0\nhttps://huggingface.co/models?license=license%3Allama2\nhttps://huggingface.co/models?license=license%3Acc-by-nc-sa-4.0\nhttps://huggingface.co/models?license=license%3Agpl-3.0\nhttps://huggingface.co/models?license=license%3Acc-by-sa-4.0\nhttps://huggingface.co/models?license=license%3Aopenrail%2B%2B\nhttps://huggingface.co/models?license=license%3Acc\nhttps://huggingface.co/models?license=license%3Abigscience-openrail-m\nhttps://huggingface.co/models?license=license%3Aartistic-2.0\nhttps://huggingface.co/models?license=license%3Absd-3-clause\nhttps://huggingface.co/models?license=license%3Abigscience-bloom-rail-1.0\nhttps://huggingface.co/models?license=license%3Awtfpl\nhttps://huggingface.co/models?license=license%3Acc-by-sa-3.0\nhttps://huggingface.co/models?license=license%3Acc0-1.0\nhttps://huggingface.co/models?license=license%3Abigcode-openrail-m\nhttps://huggingface.co/models?license=license%3Aagpl-3.0\nhttps://huggingface.co/models?license=license%3Aunlicense\nhttps://huggingface.co/models?license=license%3Acc-by-nc-nd-4.0\nhttps://huggingface.co/models?license=license%3Agpl\nhttps://huggingface.co/models?license=license%3Absd\nhttps://huggingface.co/models?license=license%3Acc-by-3.0\nhttps://huggingface.co/models?license=license%3Agpl-2.0\nhttps://huggingface.co/models?license=license%3Acc-by-2.0\nhttps://huggingface.co/models?license=license%3Absl-1.0\nhttps://huggingface.co/models?license=license%3Absd-2-clause\nhttps://huggingface.co/models?license=license%3Algpl-3.0\nhttps://huggingface.co/models?license=license%3Ac-uda\nhttps://huggingface.co/models?license=license%3Acc-by-nc-2.0\nhttps://huggingface.co/models?license=license%3Acc-by-nc-3.0\nhttps://huggingface.co/models?license=license%3Aosl-3.0\nhttps://huggingface.co/models?license=license%3Apddl\nhttps://huggingface.co/models?license=license%3Aecl-2.0\nhttps://huggingface.co/models?license=license%3Absd-3-clause-clear\nhttps://huggingface.co/models?license=license%3Acc-by-nd-4.0\nhttps://huggingface.co/models?license=license%3Agfdl\nhttps://huggingface.co/models?license=license%3Ams-pl\nhttps://huggingface.co/models?license=license%3Azlib\nhttps://huggingface.co/models?license=license%3Algpl\nhttps://huggingface.co/models?license=license%3Acc-by-nc-sa-3.0\nhttps://huggingface.co/models?license=license%3Adeepfloyd-if-license\nhttps://huggingface.co/models?license=license%3Algpl-lr\nhttps://huggingface.co/models?license=license%3Ampl-2.0\nhttps://huggingface.co/models?license=license%3Aisc\nhttps://huggingface.co/models?license=license%3Acc-by-nc-sa-2.0\nhttps://huggingface.co/models?license=license%3Aodbl\nhttps://huggingface.co/models?license=license%3Acc-by-2.5\nhttps://huggingface.co/models?license=license%3Acc-by-nc-nd-3.0\nhttps://huggingface.co/models?license=license%3Aodc-by\nhttps://huggingface.co/models?license=license%3Ancsa\nhttps://huggingface.co/models?license=license%3Aepl-2.0\nhttps://huggingface.co/models?license=license%3Aeupl-1.1\nhttps://huggingface.co/models?license=license%3Acdla-sharing-1.0\nhttps://huggingface.co/models?license=license%3Algpl-2.1\nhttps://huggingface.co/models?license=license%3Alppl-1.3c\nhttps://huggingface.co/models?license=license%3Apostgresql\nhttps://huggingface.co/models?license=license%3Aepl-1.0\nhttps://huggingface.co/models?license=license%3Aofl-1.1\nhttps://huggingface.co/models?license=license%3Atii-falcon-llm\nhttps://huggingface.co/models?license=license%3Acdla-permissive-2.0\nhttps://huggingface.co/models?license=license%3Acdla-permissive-1.0\n","desc":"要采集的网址列表,多行以\\n分开","type":"text","exampleValue":"https://huggingface.co/models?license=license%3Aapache-2.0\nhttps://huggingface.co/models?license=license%3Amit\nhttps://huggingface.co/models?license=license%3Aopenrail\nhttps://huggingface.co/models?license=license%3Acreativeml-openrail-m\nhttps://huggingface.co/models?license=license%3Aother\nhttps://huggingface.co/models?license=license%3Acc-by-nc-4.0\nhttps://huggingface.co/models?license=license%3Acc-by-4.0\nhttps://huggingface.co/models?license=license%3Aafl-3.0\nhttps://huggingface.co/models?license=license%3Allama2\nhttps://huggingface.co/models?license=license%3Acc-by-nc-sa-4.0\nhttps://huggingface.co/models?license=license%3Agpl-3.0\nhttps://huggingface.co/models?license=license%3Acc-by-sa-4.0\nhttps://huggingface.co/models?license=license%3Aopenrail%2B%2B\nhttps://huggingface.co/models?license=license%3Acc\nhttps://huggingface.co/models?license=license%3Abigscience-openrail-m\nhttps://huggingface.co/models?license=license%3Aartistic-2.0\nhttps://huggingface.co/models?license=license%3Absd-3-clause\nhttps://huggingface.co/models?license=license%3Abigscience-bloom-rail-1.0\nhttps://huggingface.co/models?license=license%3Awtfpl\nhttps://huggingface.co/models?license=license%3Acc-by-sa-3.0\nhttps://huggingface.co/models?license=license%3Acc0-1.0\nhttps://huggingface.co/models?license=license%3Abigcode-openrail-m\nhttps://huggingface.co/models?license=license%3Aagpl-3.0\nhttps://huggingface.co/models?license=license%3Aunlicense\nhttps://huggingface.co/models?license=license%3Acc-by-nc-nd-4.0\nhttps://huggingface.co/models?license=license%3Agpl\nhttps://huggingface.co/models?license=license%3Absd\nhttps://huggingface.co/models?license=license%3Acc-by-3.0\nhttps://huggingface.co/models?license=license%3Agpl-2.0\nhttps://huggingface.co/models?license=license%3Acc-by-2.0\nhttps://huggingface.co/models?license=license%3Absl-1.0\nhttps://huggingface.co/models?license=license%3Absd-2-clause\nhttps://huggingface.co/models?license=license%3Algpl-3.0\nhttps://huggingface.co/models?license=license%3Ac-uda\nhttps://huggingface.co/models?license=license%3Acc-by-nc-2.0\nhttps://huggingface.co/models?license=license%3Acc-by-nc-3.0\nhttps://huggingface.co/models?license=license%3Aosl-3.0\nhttps://huggingface.co/models?license=license%3Apddl\nhttps://huggingface.co/models?license=license%3Aecl-2.0\nhttps://huggingface.co/models?license=license%3Absd-3-clause-clear\nhttps://huggingface.co/models?license=license%3Acc-by-nd-4.0\nhttps://huggingface.co/models?license=license%3Agfdl\nhttps://huggingface.co/models?license=license%3Ams-pl\nhttps://huggingface.co/models?license=license%3Azlib\nhttps://huggingface.co/models?license=license%3Algpl\nhttps://huggingface.co/models?license=license%3Acc-by-nc-sa-3.0\nhttps://huggingface.co/models?license=license%3Adeepfloyd-if-license\nhttps://huggingface.co/models?license=license%3Algpl-lr\nhttps://huggingface.co/models?license=license%3Ampl-2.0\nhttps://huggingface.co/models?license=license%3Aisc\nhttps://huggingface.co/models?license=license%3Acc-by-nc-sa-2.0\nhttps://huggingface.co/models?license=license%3Aodbl\nhttps://huggingface.co/models?license=license%3Acc-by-2.5\nhttps://huggingface.co/models?license=license%3Acc-by-nc-nd-3.0\nhttps://huggingface.co/models?license=license%3Aodc-by\nhttps://huggingface.co/models?license=license%3Ancsa\nhttps://huggingface.co/models?license=license%3Aepl-2.0\nhttps://huggingface.co/models?license=license%3Aeupl-1.1\nhttps://huggingface.co/models?license=license%3Acdla-sharing-1.0\nhttps://huggingface.co/models?license=license%3Algpl-2.1\nhttps://huggingface.co/models?license=license%3Alppl-1.3c\nhttps://huggingface.co/models?license=license%3Apostgresql\nhttps://huggingface.co/models?license=license%3Aepl-1.0\nhttps://huggingface.co/models?license=license%3Aofl-1.1\nhttps://huggingface.co/models?license=license%3Atii-falcon-llm\nhttps://huggingface.co/models?license=license%3Acdla-permissive-2.0\nhttps://huggingface.co/models?license=license%3Acdla-permissive-1.0\n"}],"outputParameters":[{"id":0,"name":"参数1_文本","desc":"","type":"int","recordASField":1,"exampleValue":"46,609"}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"url":"https://huggingface.co/models?license=license%3Aapache-2.0","links":"https://huggingface.co/models?license=license%3Aapache-2.0\r\nhttps://huggingface.co/models?license=license%3Amit","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"cookies":""}},{"id":2,"index":2,"parentId":0,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"paras":[{"nodeType":0,"contentType":0,"relative":false,"name":"参数1_文本","desc":"","extractType":0,"relativeXPath":"/html/body/div[1]/main[1]/div[1]/div[1]/section[2]/div[1]/div[1]/div[1]","allXPaths":["/html/body/div[1]/main[1]/div[1]/div[1]/section[2]/div[1]/div[1]/div[1]","//div[contains(., '46,609')]","//DIV[@class='ml-3 w-16 font-normal text-gray-400']","/html/body/div[last()-3]/main/div/div/section/div[last()-2]/div[last()-2]/div"],"exampleValues":[{"num":0,"value":"46,609"}],"unique_index":"rqheq6rvpvklnk9ufgv","iframe":false,"default":"","paraType":"int","recordASField":1,"beforeJS":"arguments[0].innerText = arguments[0].innerText.replace(\",\",\"\")","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0}]}}]} \ No newline at end of file diff --git a/.temp_to_pub/EasySpider_windows_x64/execution_instances/101.json b/.temp_to_pub/EasySpider_windows_x64/execution_instances/101.json new file mode 100644 index 0000000..a9e0235 --- /dev/null +++ b/.temp_to_pub/EasySpider_windows_x64/execution_instances/101.json @@ -0,0 +1 @@ +{"id":101,"name":"OpenReview","url":"https://openreview.net/search?content=all&group=TMLR&page=2&source=all&term=federated%20learning","links":"https://openreview.net/search?content=all&group=TMLR&page=2&source=all&term=federated%20learning","create_time":"10/17/2023, 1:15:29 AM","update_time":"10/17/2023, 1:15:29 AM","version":"0.5.0","saveThreshold":10,"cloudflare":0,"environment":0,"maxViewLength":15,"recordLog":1,"outputFormat":"xlsx","saveName":"current_time","inputExcel":"","startFromExit":0,"containJudge":false,"desc":"https://openreview.net/search?content=all&group=TMLR&page=2&source=all&term=federated%20learning","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://openreview.net/search?content=all&group=TMLR&page=2&source=all&term=federated%20learning","desc":"要采集的网址列表,多行以\\n分开","type":"text","exampleValue":"https://openreview.net/search?content=all&group=TMLR&page=2&source=all&term=federated%20learning"},{"id":1,"name":"loopTimes_循环_1","nodeId":2,"nodeName":"循环","desc":"循环循环执行的次数(0代表无限循环)","type":"int","exampleValue":0,"value":0}],"outputParameters":[{"id":0,"name":"参数3_页面标题","desc":"","type":"text","recordASField":1,"exampleValue":"Towards a Defense Against Federated Backdoor Attacks Under Continuous Training | OpenReview"},{"id":1,"name":"参数4_页面网址","desc":"","type":"text","recordASField":1,"exampleValue":"https://openreview.net/forum?id=HwcB5elyuG¬eId=0ixCdZ6hZz"},{"id":2,"name":"参数6_文本","desc":"","type":"text","recordASField":1,"exampleValue":"Abstract: Backdoor attacks are dangerous and difficult to prevent in federated learning (FL), where training data is sourced from untrusted clients over long periods of time. These difficulties arise because: (a) defenders in FL do not have access to raw training data, and (b) a phenomenon we identify called backdoor leakage causes models trained continuously to eventually suffer from backdoors due to cumulative errors in defense mechanisms. We propose a framework called shadow learning for defending against backdoor attacks in the FL setting under long-range training. Shadow learning trains two models in parallel: a backbone model and a shadow model. The backbone is trained without any defense mechanism to obtain good performance on the main task. The shadow model combines filtering of malicious clients with early-stopping to control the attack success rate even as the data distribution changes. We theoretically motivate our design and show experimentally that our framework significantly improves upon existing defenses against backdoor attacks.License: Creative Commons Attribution 4.0 International (CC BY 4.0)Submission Length: Regular submission (no more than 12 pages of main content)Code: https://github.com/wsqwsq/Towards-a-Defense-against-Backdoor-Attacks-in-Continual-Federated-LearningSupplementary Material: zipAssigned Action Editor: Murat A ErdogduSubmission Number: 1004"}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"url":"https://openreview.net/search?content=all&group=TMLR&page=2&source=all&term=federated%20learning","links":"https://openreview.net/search?content=all&group=TMLR&page=2&source=all&term=federated%20learning","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"cookies":""}},{"id":2,"index":2,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[6,3],"isInLoop":false,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"pagination\")]/li[last()-1]/a[1]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":0,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/main[1]/div[1]/div[1]/nav[1]/ul[1]/li[13]/a[1]","//a[contains(., '›')]","/html/body/div[last()-3]/div[last()-2]/div/div/main/div/div/nav/ul/li[last()-1]/a"]}},{"id":4,"index":3,"parentId":2,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":true,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":true,"xpath":"","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/main[1]/div[1]/div[1]/nav[1]/ul[1]/li[13]/a[1]","//a[contains(., '›')]","/html/body/div[last()-3]/div[last()-2]/div/div/main/div/div/nav/ul/li[last()-1]/a"],"loopType":0}},{"id":-1,"index":4,"parentId":2,"type":1,"option":8,"title":"循环","sequence":[5],"isInLoop":true,"position":0,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"/html/body/div[1]/div[3]/div[1]/div[1]/main[1]/div[1]/div[1]/ul[1]/li/div[1]/h4[1]/a[1]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/main[1]/div[1]/div[1]/ul[1]/li[1]/div[1]/h4[1]/a[1]","//a[contains(., 'Rebuttal')]","/html/body/div[last()-3]/div[last()-2]/div/div/main/div/div/ul/li[last()-24]/div/h4/a"]}},{"id":-1,"index":5,"parentId":3,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"paras":[{"nodeType":1,"contentType":0,"relative":true,"name":"参数1_链接文本","desc":"","extractType":0,"relativeXPath":"","allXPaths":"","exampleValues":[{"num":0,"value":"Rebuttal"}],"unique_index":"28rp2pmrz05lnt5jcsr","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":2,"contentType":0,"relative":true,"name":"参数2_链接地址","desc":"","relativeXPath":"","allXPaths":"","exampleValues":[{"num":0,"value":"/forum?id=HwcB5elyuG¬eId=0ixCdZ6hZz"}],"unique_index":"28rp2pmrz05lnt5jcsr","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0}],"loopType":1}},{"id":3,"index":6,"parentId":2,"type":1,"option":8,"title":"循环","sequence":[7,8],"isInLoop":true,"position":0,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"/html/body/div[1]/div[3]/div[1]/div[1]/main[1]/div[1]/div[1]/ul[1]/li/div[1]/h4[1]/a[1]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":""}},{"id":5,"index":7,"parentId":3,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":5,"tabIndex":-1,"useLoop":true,"xpath":"","iframe":false,"wait":4,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":""}},{"id":6,"index":8,"parentId":3,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":1,"parameters":{"history":6,"tabIndex":-1,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"paras":[{"nodeType":0,"contentType":6,"relative":false,"name":"参数3_页面标题","desc":"","extractType":0,"relativeXPath":"/html/body/div[1]/div[3]/div[1]/div[1]","allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]","//div[contains(., 'Towards a')]","//DIV[@class='col-xs-12']","/html/body/div[last()-3]/div[last()-2]/div/div"],"exampleValues":[{"num":0,"value":"Towards a Defense Against Federated Backdoor Attacks Under Continuous Training | OpenReview"}],"unique_index":"8igqq6e3ic4lnt5ju7e","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":5,"relative":false,"name":"参数4_页面网址","desc":"","extractType":0,"relativeXPath":"/html/body/div[1]/div[3]/div[1]/div[1]","allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]","//div[contains(., 'Towards a')]","//DIV[@class='col-xs-12']","/html/body/div[last()-3]/div[last()-2]/div/div"],"exampleValues":[{"num":0,"value":"https://openreview.net/forum?id=HwcB5elyuG¬eId=0ixCdZ6hZz"}],"unique_index":"8bft0m66ziulnt5jvro","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":0,"relative":false,"name":"参数6_文本","desc":"","extractType":0,"relativeXPath":"//DIV[@class='note-content']","allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/main[1]/div[1]/div[1]/div[4]","//div[contains(., 'Abstract:')]","//DIV[@class='note-content']","/html/body/div[last()-3]/div[last()-2]/div/div/main/div/div[last()-3]/div"],"exampleValues":[{"num":0,"value":"Abstract: Backdoor attacks are dangerous and difficult to prevent in federated learning (FL), where training data is sourced from untrusted clients over long periods of time. These difficulties arise because: (a) defenders in FL do not have access to raw training data, and (b) a phenomenon we identify called backdoor leakage causes models trained continuously to eventually suffer from backdoors due to cumulative errors in defense mechanisms. We propose a framework called shadow learning for defending against backdoor attacks in the FL setting under long-range training. Shadow learning trains two models in parallel: a backbone model and a shadow model. The backbone is trained without any defense mechanism to obtain good performance on the main task. The shadow model combines filtering of malicious clients with early-stopping to control the attack success rate even as the data distribution changes. We theoretically motivate our design and show experimentally that our framework significantly improves upon existing defenses against backdoor attacks.License: Creative Commons Attribution 4.0 International (CC BY 4.0)Submission Length: Regular submission (no more than 12 pages of main content)Code: https://github.com/wsqwsq/Towards-a-Defense-against-Backdoor-Attacks-in-Continual-Federated-LearningSupplementary Material: zipAssigned Action Editor: Murat A ErdogduSubmission Number: 1004"}],"unique_index":"ezi8c2hd0ylnt5ofpx","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0}]}}]} \ No newline at end of file diff --git a/.temp_to_pub/EasySpider_windows_x64/execution_instances/97.json b/.temp_to_pub/EasySpider_windows_x64/execution_instances/97.json new file mode 100644 index 0000000..1fb7d4f --- /dev/null +++ b/.temp_to_pub/EasySpider_windows_x64/execution_instances/97.json @@ -0,0 +1 @@ +{"id":97,"name":"发现报告 - 专业研报平台丨收录海量行业报告、券商研报丨免费分享行业研报","url":"https://www.fxbaogao.com/rp?order=2&nop=-1","create_time":"2023/10/7 12:05:38","update_time":"10/11/2023, 5:18:28 PM","version":"0.5.0","saveThreshold":10,"cloudflare":0,"environment":0,"maxViewLength":15,"recordLog":1,"outputFormat":"xlsx","saveName":"current_time","inputExcel":"","startFromExit":0,"containJudge":false,"desc":"https://www.fxbaogao.com/rp?order=2&nop=-1","inputParameters":[{"id":0,"name":"inputText_0","nodeName":"输入文字","nodeId":34,"desc":"要输入的文本,如京东搜索框输入:电脑","type":"text","exampleValue":"13672457702","value":"13672457702"},{"id":1,"name":"inputText_1","nodeName":"输入文字","nodeId":35,"desc":"要输入的文本,如京东搜索框输入:电脑","type":"text","exampleValue":"Admin123456","value":"Admin123456"},{"id":2,"name":"inputText_2","nodeName":"输入文字","nodeId":39,"desc":"要输入的文本,如京东搜索框输入:电脑","type":"text","exampleValue":"家纺产业 政策","value":"家纺产业 政策"},{"id":3,"name":"urlList_3","nodeId":50,"nodeName":"打开网页","value":"https://www.fxbaogao.com/rp?order=2&nop=-1","desc":"要采集的网址列表,多行以\\n分开","type":"text","exampleValue":"https://www.fxbaogao.com/rp?order=2&nop=-1"}],"outputParameters":[{"id":0,"name":"自定义参数_1","desc":"","type":"text","recordASField":1,"exampleValue":"自定义值"},{"id":1,"name":"自定义操作","desc":"自定义操作返回的数据","type":"text","recordASField":0,"exampleValue":""},{"id":2,"name":"自定义操作","desc":"自定义操作返回的数据","type":"text","recordASField":0,"exampleValue":""}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[50,55,32,33,34,35,36,53,37,38,39,40,54,41,52,42],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0},"isInLoop":false},{"id":-1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":6,"parameters":{"useLoop":false,"xpath":"","wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"url":"https://www.fxbaogao.com/rp?order=2&nop=-1","links":"https://www.fxbaogao.com/rp?order=2&nop=-1","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"cookies":""}},{"id":-1,"index":2,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":6,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"_3vN_BJejVB1L1krOXOTWHC\")]/img[1]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"//*[contains(@class, \"_3vN_BJejVB1L1krOXOTWHC\")]/img[1]","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[3]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/button[1]/img[1]","//img[contains(., '')]","/html/body/div/div/div/div/div[last()-1]/div/div/button/img"]}},{"id":-1,"index":3,"parentId":0,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":false,"position":7,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"mobile\"]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"value":"13672457702","index":0,"allXPaths":["/html/body/div[3]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/form[1]/div[2]/div[1]/div[1]/div[1]/input[1]","//input[contains(., '')]","id(\"mobile\")","//INPUT[@class='ant-input']","/html/body/div/div/div/div/div[last()-1]/div/div/form/div[last()-3]/div/div/div/input"]}},{"id":-1,"index":4,"parentId":0,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":false,"position":8,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"password\"]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"value":"Admin123456","index":0,"allXPaths":["/html/body/div[3]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/form[1]/div[3]/div[1]/div[1]/div[1]/span[1]/input[1]","//input[contains(., '')]","id(\"password\")","//INPUT[@class='ant-input']","/html/body/div/div/div/div/div[last()-1]/div/div/form/div[last()-2]/div/div/div/span/input"]}},{"id":-1,"index":5,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":9,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"ant-form\")]/button[1]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[3]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/form[1]/button[1]","//button[contains(., '登 录')]","//BUTTON[@class='ant-btn']","/html/body/div/div/div/div/div[last()-1]/div/div/form/button"]}},{"id":-1,"index":6,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":5,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"/","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[3]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/div[2]/span[1]/svg[1]","//svg[contains(., '')]","//svg[@class='[object SVGAnimatedString]']","/html/body/div/div/div/div/div[last()-1]/div/div/div[last()-1]/span/svg"]}},{"id":-1,"index":7,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":13,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"_3p00b2k-pJwSOe4tsnYu38\")]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[3]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/div[2]","//div[contains(., '')]","//DIV[@class='_3p00b2k-pJwSOe4tsnYu38']","/html/body/div/div/div/div/div[last()-1]/div/div/div[last()-1]"]}},{"id":-1,"index":8,"parentId":0,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":false,"position":16,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"search-input\"]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"value":"家纺产业 政策","index":0,"allXPaths":["/html/body/div[1]/section[1]/main[1]/div[1]/div[1]/div[1]/div[2]/div[1]/span[1]/input[1]","//input[contains(., '')]","id(\"search-input\")","//INPUT[@class='ant-input ant-input-lg']","/html/body/div[last()-5]/section/main/div[last()-1]/div/div/div/div/span/input"]}},{"id":-1,"index":9,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":11,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"ant-btn-primary\")]/span[1]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[1]/section[1]/main[1]/div[1]/div[1]/div[1]/div[2]/div[1]/span[1]/span[1]/button[1]/span[1]","//span[contains(., '发现一下')]","/html/body/div[last()-5]/section/main/div[last()-1]/div/div/div/div/span/span/button/span"]}},{"id":-1,"index":10,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":12,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"_2hCo-UCopezJ6Feuy1fklb\")]/div[2]/div[2]/div[1]/div[3]/button[1]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[1]/section[1]/main[1]/div[2]/div[2]/div[2]/div[2]/div[1]/div[3]/button[1]","//button[contains(., '已购买')]","//BUTTON[@class='ant-btn ant-btn-round flex-c round _1mItGXlbrVR5Ok2NBlfhKc Ul14Y1RBg4HOFbOuo7Jug']","/html/body/div[last()-8]/section/main/div/div/div/div[last()-22]/div/div/button"]}},{"id":-1,"index":11,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":12,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"_1DbXFqtZ2hpD0p9pm5jouO\")]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[7]/div[1]/div[2]/div[1]/div[2]/div[1]/div[3]/button[2]","//button[contains(., '中文PDF格式下载')]","//BUTTON[@class='link flex-cc _1DbXFqtZ2hpD0p9pm5jouO']","/html/body/div/div/div/div/div[last()-1]/div/div/button"]}},{"id":-1,"index":12,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":9,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"/","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[7]/div[1]/div[2]/div[1]/div[2]/button[1]/span[1]/span[1]/svg[1]","//svg[contains(., '')]","//svg[@class='[object SVGAnimatedString]']","/html/body/div[last()-1]/div/div/div/div[last()-1]/button/span/span/svg"]}},{"id":-1,"index":13,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":15,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"ant-modal-close-x\")]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[7]/div[1]/div[2]/div[1]/div[2]/button[1]/span[1]","//span[contains(., '')]","//SPAN[@class='ant-modal-close-x']","/html/body/div[last()-1]/div/div/div/div[last()-1]/button/span"]}},{"id":-1,"index":14,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":13,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"_1dzmhpDFphzk1p4S8JLxH2\")]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[1]/section[1]/header[1]/div[1]/div[1]/a[1]/span[1]","//span[contains(., '中午好, 用户457')]","//SPAN[@class='text-ellipsis _1dzmhpDFphzk1p4S8JLxH2']","/html/body/div[last()-9]/section/header/div/div[last()-2]/a[last()-1]/span[last()-1]"]}},{"id":-1,"index":15,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":5,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"guide-modal-footer-prev-btn\")]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[3]/div[1]/button[1]","//button[contains(., '以后再说')]","//BUTTON[@class='guide-modal-footer-btn guide-modal-footer-prev-btn']","/html/body/div/div/div/button[last()-1]"]}},{"id":-1,"index":16,"parentId":0,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":false,"position":13,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"mobile\"]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"value":"13672457702","index":0,"allXPaths":["/html/body/div[3]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/form[1]/div[2]/div[1]/div[1]/div[1]/input[1]","//input[contains(., '')]","id(\"mobile\")","//INPUT[@class='ant-input']","/html/body/div/div/div/div/div[last()-1]/div/div/form/div[last()-3]/div/div/div/input"]}},{"id":-1,"index":17,"parentId":0,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":false,"position":13,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"password\"]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"value":"Admin123456","index":0,"allXPaths":["/html/body/div[3]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/form[1]/div[3]/div[1]/div[1]/div[1]/span[1]/input[1]","//input[contains(., '')]","id(\"password\")","//INPUT[@class='ant-input']","/html/body/div/div/div/div/div[last()-1]/div/div/form/div[last()-2]/div/div/div/span/input"]}},{"id":-1,"index":18,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":6,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"/","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[3]/div[1]/div[2]/div[1]/div[2]/button[1]/span[1]/span[1]/svg[1]","//svg[contains(., '')]","//svg[@class='[object SVGAnimatedString]']","/html/body/div/div/div/div/div[last()-1]/button/span/span/svg"]}},{"id":-1,"index":19,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":10,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"ant-modal-close\")]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[3]/div[1]/div[2]/div[1]/div[2]/button[1]","//button[contains(., '')]","//BUTTON[@class='ant-modal-close']","/html/body/div/div/div/div/div[last()-1]/button"]}},{"id":-1,"index":20,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[21,22,23,24,25],"isInLoop":false,"position":13,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":0,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0}},{"id":-1,"index":21,"parentId":14,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"guide-modal-footer-prev-btn\")]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[3]/div[1]/button[1]","//button[contains(., '以后再说')]","//BUTTON[@class='guide-modal-footer-btn guide-modal-footer-prev-btn']","/html/body/div/div/div/button[last()-1]"]}},{"id":-1,"index":22,"parentId":14,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":true,"position":1,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"mobile\"]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"value":"13672457702","index":0,"allXPaths":["/html/body/div[3]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/form[1]/div[2]/div[1]/div[1]/div[1]/input[1]","//input[contains(., '')]","id(\"mobile\")","//INPUT[@class='ant-input']","/html/body/div/div/div/div/div[last()-1]/div/div/form/div[last()-3]/div/div/div/input"]}},{"id":-1,"index":23,"parentId":14,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":true,"position":2,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"password\"]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"value":"Admin123456","index":0,"allXPaths":["/html/body/div[3]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/form[1]/div[3]/div[1]/div[1]/div[1]/span[1]/input[1]","//input[contains(., '')]","id(\"password\")","//INPUT[@class='ant-input']","/html/body/div/div/div/div/div[last()-1]/div/div/form/div[last()-2]/div/div/div/span/input"]}},{"id":-1,"index":24,"parentId":14,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":true,"position":3,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"_3p00b2k-pJwSOe4tsnYu38\")]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[3]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/div[2]","//div[contains(., '')]","//DIV[@class='_3p00b2k-pJwSOe4tsnYu38']","/html/body/div/div/div/div/div[last()-1]/div/div/div[last()-1]"]}},{"id":-1,"index":25,"parentId":14,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":true,"position":4,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"ant-modal-close\")]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[3]/div[1]/div[2]/div[1]/div[2]/button[1]","//button[contains(., '')]","//BUTTON[@class='ant-modal-close']","/html/body/div/div/div/div/div[last()-1]/button"]}},{"id":-1,"index":26,"parentId":0,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":false,"position":13,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"mobile\"]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"value":"13672457702","index":0,"allXPaths":["/html/body/div[4]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/form[1]/div[2]/div[1]/div[1]/div[1]/input[1]","//input[contains(., '')]","id(\"mobile\")","//INPUT[@class='ant-input']","/html/body/div/div/div/div/div[last()-1]/div/div/form/div[last()-3]/div/div/div/input"]}},{"id":-1,"index":27,"parentId":0,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":false,"position":13,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"password\"]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"value":"Admin123456","index":0,"allXPaths":["/html/body/div[4]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/form[1]/div[3]/div[1]/div[1]/div[1]/span[1]/input[1]","//input[contains(., '')]","id(\"password\")","//INPUT[@class='ant-input']","/html/body/div/div/div/div/div[last()-1]/div/div/form/div[last()-2]/div/div/div/span/input"]}},{"id":-1,"index":28,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"codeMode":"5","code":"self.browser.command_executor._commands[\"send_command\"] = (\"POST\", '/session/$sessionId/chromium/send_command')","waitTime":0,"recordASField":0,"paraType":"text"}},{"id":-1,"index":29,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"codeMode":"5","code":"self.paramss = {'cmd': 'Page.setDownloadBehavior', 'params': {'behavior': 'allow', 'downloadPath': \"E:\\\\test\"}}","waitTime":0,"recordASField":0,"paraType":"text"}},{"id":-1,"index":30,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"codeMode":"5","code":"self.browser.execute(\"send_command\", self.paramss)","waitTime":0,"recordASField":0,"paraType":"text"}},{"id":-1,"index":31,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"codeMode":"5","code":"print('=======测试信息=========')\nprint('=======123123123=========')\nprint('=======4564564564=========')","waitTime":0,"recordASField":0,"paraType":"text"}},{"id":3,"index":32,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"guide-modal-footer-prev-btn\")]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[3]/div[1]/button[1]","//button[contains(., '以后再说')]","//BUTTON[@class='guide-modal-footer-btn guide-modal-footer-prev-btn']","/html/body/div/div/div/button[last()-1]"]}},{"id":4,"index":33,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":3,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"_3vN_BJejVB1L1krOXOTWHC\")]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[3]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/button[1]","//button[contains(., '手机号码登录')]","//BUTTON[@class='_3vN_BJejVB1L1krOXOTWHC']","/html/body/div/div/div/div/div[last()-1]/div/div/button"]}},{"id":5,"index":34,"parentId":0,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":false,"position":4,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"mobile\"]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"value":"13672457702","index":0,"allXPaths":["/html/body/div[3]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/form[1]/div[2]/div[1]/div[1]/div[1]/input[1]","//input[contains(., '')]","id(\"mobile\")","//INPUT[@class='ant-input']","/html/body/div/div/div/div/div[last()-1]/div/div/form/div[last()-3]/div/div/div/input"]}},{"id":6,"index":35,"parentId":0,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":false,"position":5,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"password\"]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"value":"Admin123456","index":0,"allXPaths":["/html/body/div[3]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/form[1]/div[3]/div[1]/div[1]/div[1]/span[1]/input[1]","//input[contains(., '')]","id(\"password\")","//INPUT[@class='ant-input']","/html/body/div/div/div/div/div[last()-1]/div/div/form/div[last()-2]/div/div/div/span/input"]}},{"id":7,"index":36,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":6,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"ant-form\")]/button[1]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[3]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/form[1]/button[1]","//button[contains(., '登 录')]","//BUTTON[@class='ant-btn']","/html/body/div/div/div/div/div[last()-1]/div/div/form/button"]}},{"id":9,"index":37,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":8,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"_3p00b2k-pJwSOe4tsnYu38\")]/span[1]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[3]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/div[2]/span[1]","//span[contains(., '')]","//SPAN[@class='anticon anticon-close-circle']","/html/body/div/div/div/div/div[last()-1]/div/div/div[last()-1]/span"]}},{"id":10,"index":38,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":9,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"ant-modal-close\")]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[3]/div[1]/div[2]/div[1]/div[2]/button[1]","//button[contains(., '')]","//BUTTON[@class='ant-modal-close']","/html/body/div/div/div/div/div[last()-1]/button"]}},{"id":11,"index":39,"parentId":0,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":false,"position":10,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"search-input\"]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"value":"家纺产业 政策","index":0,"allXPaths":["/html/body/div[1]/section[1]/main[1]/div[1]/div[1]/div[1]/div[2]/div[1]/span[1]/input[1]","//input[contains(., '')]","id(\"search-input\")","//INPUT[@class='ant-input ant-input-lg']","/html/body/div[last()-6]/section/main/div[last()-1]/div/div/div/div/span/input"]}},{"id":12,"index":40,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":11,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"ant-btn-primary\")]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[1]/section[1]/main[1]/div[1]/div[1]/div[1]/div[2]/div[1]/span[1]/span[1]/button[1]","//button[contains(., '发现一下')]","//BUTTON[@class='ant-btn ant-btn-primary _1zvDFXpdJSNnggIpuROq5A _2Lpg_roqsYJAL9Ni32qic2']","/html/body/div[last()-6]/section/main/div[last()-1]/div/div/div/div/span/span/button"]}},{"id":14,"index":41,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":13,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"_2hCo-UCopezJ6Feuy1fklb\")]/div[2]/div[2]/div[1]/div[3]/button[1]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[1]/section[1]/main[1]/div[2]/div[2]/div[2]/div[2]/div[1]/div[3]/button[1]","//button[contains(., '已购买')]","//BUTTON[@class='ant-btn ant-btn-round flex-c round _1mItGXlbrVR5Ok2NBlfhKc Ul14Y1RBg4HOFbOuo7Jug']","/html/body/div[last()-5]/section/main/div/div/div/div[last()-22]/div/div/button"]}},{"id":16,"index":42,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":15,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"_1DbXFqtZ2hpD0p9pm5jouO\")]","iframe":false,"wait":100,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[2]/div[1]/div[2]/div[1]/div[3]/button[2]","//button[contains(., '中文PDF格式下载')]","//BUTTON[@class='link flex-cc _1DbXFqtZ2hpD0p9pm5jouO']","/html/body/div/div/div/div/div[last()-1]/div/div/button"]}},{"id":-1,"index":43,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":16,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"codeMode":0,"code":"","waitTime":0,"recordASField":0,"paraType":"text"}},{"id":-1,"index":44,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":4,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"codeMode":"5","code":"self.browser.maximize_window()","waitTime":0,"recordASField":0,"paraType":"text"}},{"id":-1,"index":45,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":14,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"codeMode":0,"code":"","waitTime":0,"recordASField":0,"paraType":"text"}},{"id":-1,"index":46,"parentId":0,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":false,"position":18,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"paras":[{"nodeType":0,"contentType":7,"relative":false,"name":"自定义参数_1","desc":"","extractType":0,"relativeXPath":"//body","recordASField":1,"allXPaths":[],"exampleValues":[{"num":0,"value":"自定义值"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0,"paraType":"text"}]}},{"id":-1,"index":47,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"codeMode":"5","code":"from selenium.webdriver import ChromeOptions,Chrome\nSavePath=\"F://\"\nprint_settings = {\n \"recentDestinations\": [{\n \"id\": \"Save as PDF\",\n \"origin\": \"local\",\n \"account\": \"\",\n }],\n \"selectedDestinationId\": \"Save as PDF\",\n \"version\": 2,\n \"isHeaderFooterEnabled\": False,\n \"isLandscapeEnabled\": True\n}\n\noptions = ChromeOptions()\noption.binary_location = os.path.join(os.getcwd(), \"EasySpider/resources/app/chrome_win64/chrome.exe\")\noptions.add_argument(\"--start-maximized\")\noptions.add_argument('--window-size=1920,1080')\n# options.add_argument(f\"user-data-dir={user_data_path}\")\noptions.add_argument(\"--headless\")\noptions.add_argument('--enable-print-browser')\noptions.add_experimental_option(\"prefs\", {\n \"printing.print_preview_sticky_settings.appState\": json.dumps(print_settings),\n \"savefile.default_directory\": SavePath, # Change default directory for downloads\n \"download.default_directory\": SavePath, # Change default directory for downloads\n \"download.prompt_for_download\": False, # To auto download the file\n \"download.directory_upgrade\": True,\n \"profile.default_content_setting_values.automatic_downloads\": 1,\n \"safebrowsing.enabled\": True\n})\noptions.add_argument(\"--kiosk-printing\")\nself.browser = Chrome( options=options,executable_path=os.path.join(os.getcwd(), \"EasySpider/resources/app/chrome_win64/chromedriver_win64.exe\"))","waitTime":0,"recordASField":0,"paraType":"text"}},{"id":-1,"index":48,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"codeMode":"5","code":"self.browser.get(https://www.fxbaogao.com/rp?order=2&nop=-1)","waitTime":0,"recordASField":0,"paraType":"text"}},{"id":-1,"index":49,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"url":"about:blank","links":"https://www.fxbaogao.com/rp?order=2&nop=-1","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"cookies":""}},{"id":1,"index":50,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"url":"about:blank","links":"https://www.fxbaogao.com/rp?order=2&nop=-1","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"cookies":""}},{"id":-1,"index":51,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":11,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"codeMode":0,"code":"","waitTime":0,"recordASField":0,"paraType":"text"}},{"id":15,"index":52,"parentId":0,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":false,"position":14,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"paras":[{"nodeType":0,"contentType":7,"relative":false,"name":"自定义参数_1","desc":"","extractType":0,"relativeXPath":"//body","recordASField":1,"allXPaths":[],"exampleValues":[{"num":0,"value":"自定义值"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0,"paraType":"text"}]}},{"id":8,"index":53,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":7,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"codeMode":"5","code":"print(\"登录成功\")","waitTime":0,"recordASField":0,"paraType":"text"}},{"id":13,"index":54,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":12,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"codeMode":"5","code":"print(\"TEST2\")","waitTime":0,"recordASField":0,"paraType":"text"}},{"id":2,"index":55,"parentId":0,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"paras":[{"nodeType":0,"contentType":7,"relative":false,"name":"自定义参数_1","desc":"","extractType":0,"relativeXPath":"//body","recordASField":1,"allXPaths":[],"exampleValues":[{"num":0,"value":"自定义值"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0,"paraType":"text"}]}}]} \ No newline at end of file diff --git a/.temp_to_pub/EasySpider_windows_x64/execution_instances/98.json b/.temp_to_pub/EasySpider_windows_x64/execution_instances/98.json new file mode 100644 index 0000000..a304311 --- /dev/null +++ b/.temp_to_pub/EasySpider_windows_x64/execution_instances/98.json @@ -0,0 +1 @@ +{"id":98,"name":"若依管理系统","url":"http://vue.ruoyi.vip/index","links":"http://vue.ruoyi.vip/index","create_time":"10/11/2023, 1:36:52 PM","update_time":"10/11/2023, 1:36:52 PM","version":"0.5.0","saveThreshold":10,"cloudflare":0,"environment":0,"maxViewLength":15,"recordLog":1,"outputFormat":"xlsx","saveName":"current_time","inputExcel":"","startFromExit":0,"containJudge":false,"desc":"http://vue.ruoyi.vip/index","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"http://vue.ruoyi.vip/index","desc":"要采集的网址列表,多行以\\n分开","type":"text","exampleValue":"http://vue.ruoyi.vip/index"}],"outputParameters":[{"id":0,"name":"参数1_文本","desc":"","type":"text","recordASField":1,"exampleValue":" 领取阿里云通用云产品1888优惠券 https://www.aliyun.com/minisite/goods?userCode=brki8iof 领取腾讯云通用云产品2860优惠券 https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console 阿里云服务器折扣区 >☛☛点我进入☚☚ 腾讯云服务器秒杀区 >☛☛点我进入☚☚ 云产品通用红包,可叠加官网常规优惠使用。(仅限新用户) 若依后台管理框架 一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了若依管理系统,她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。 当前版本: v3.8.6¥免费开源访问码云访问主页技术选型后端技术SpringBootSpring SecurityJWTMyBatisDruidFastjson...前端技术VueVuexElement-uiAxiosSassQuill...联系信息 官网:http://www.ruoyi.vip QQ群: 满937441 满887144332 满180251782 满104180207 满186866453 满201396349 满101456076 满101539465 满264312783 满167385320 满104748341 满160110482 满170801498 满108482800 满101046199 136919097 微信:/ *若依 支付宝:/ *若依更新日志v3.8.6 - 2023-06-30支持登录IP黑名单限制新增监控页面图标显示操作日志新增消耗时间属性屏蔽定时任务bean违规的字符日志管理使用索引提升查询性能日志注解支持排除指定的请求参数支持自定义隐藏属性列过滤子对象升级oshi到最新版本6.4.3升级druid到最新版本1.2.16升级fastjson到最新版2.0.34升级spring-boot到最新版本2.5.15升级element-ui到最新版本2.15.13移除apache/commons-fileupload依赖修复页面切换时布局错乱的问题修复匿名注解Anonymous空指针问题修复路由跳转被阻止时内部产生报错信息问题修复isMatchedIp的参数判断产生空指针的问题修复用户多角色数据权限可能出现权限抬升的情况修复开启TopNav后一级菜单路由参数设置无效问题修复DictTag组件value没有匹配的值时则展示value优化文件下载出现的异常优化选择图标组件高亮回显优化弹窗后导航栏偏移的问题优化修改密码日志存储明文问题优化页签栏关闭其他出现的异常问题优化页签关闭左侧选项排除首页选项优化关闭当前tab页跳转最右侧tab页优化缓存列表清除操作提示不变的问题优化字符未使用下划线不进行驼峰式处理优化用户导入更新时需获取用户编号问题优化侧边栏的平台标题与VUE_APP_TITLE保持同步优化导出Excel时设置dictType属性重复查缓存问题连接池Druid支持新的配置connectTimeout和socketTimeout其他细节优化v3.8.5 - 2023-01-01定时任务违规的字符重置时取消部门选中新增返回警告消息提示忽略不必要的属性数据返回修改参数键名时移除前缓存配置导入更新用户数据前校验数据权限兼容Excel下拉框内容过多无法显示的问题升级echarts到最新版本5.4.0升级core-js到最新版本3.25.3升级oshi到最新版本6.4.0升级kaptcha到最新版2.3.3升级druid到最新版本1.2.15升级fastjson到最新版2.0.20升级pagehelper到最新版1.4.6优化弹窗内容过多展示不全问题优化swagger-ui静态资源使用缓存开启TopNav没有子菜单隐藏侧边栏删除fuse无效选项maxPatternLength优化导出对象的子列表为空会出现[]问题优化编辑头像时透明部分会变成黑色问题优化小屏幕上修改头像界面布局错位的问题修复代码生成勾选属性无效问题修复文件上传组件格式验证问题修复回显数据字典数组异常问题修复sheet超出最大行数异常问题修复Log注解GET请求记录不到参数问题修复调度日志点击多次数据不变化的问题修复主题颜色在Drawer组件不会加载问题修复文件名包含特殊字符的文件无法下载问题修复table中更多按钮切换主题色未生效修复问题修复某些特性的环境生成代码变乱码TXT文件问题修复代码生成图片/文件/单选时选择必填无法校验问题修复某些特性的情况用户编辑对话框中角色和部门无法修改问题其他细节优化v3.8.4 - 2022-09-26数据逻辑删除不进行唯一验证Excel注解支持导出对象的子列表方法Excel注解支持自定义隐藏属性列Excel注解支持backgroundColor属性设置背景色支持配置密码最大错误次数/锁定时间登录日志新增解锁账户功能通用下载方法新增config配置选项支持多权限字符匹配角色数据权限页面内嵌iframe切换tab不刷新数据操作日志记录支持排除敏感属性字段修复多文件上传报错出现的异常问题修复图片预览组件src属性为null值控制台报错问题升级oshi到最新版本6.2.2升级fastjson到最新版2.0.14升级pagehelper到最新版1.4.3升级core-js到最新版本3.25.2升级element-ui到最新版本2.15.10优化任务过期不执行调度优化字典数据使用store存取优化修改资料头像被覆盖的问题优化修改用户登录账号重复验证优化代码生成同步后值NULL问题优化定时任务支持执行父类方法优化用户个人信息接口防止修改部门优化布局设置使用el-drawer抽屉显示优化没有权限的用户编辑部门缺少数据优化日志注解记录限制请求地址的长度优化excel/scale属性导出单元格数值类型优化日志操作中重置按钮时重复查询的问题优化多个相同角色数据导致权限SQL重复问题优化表格上右侧工具条(搜索按钮显隐&右侧样式凸出)其他细节优化v3.8.3 - 2022-06-27新增缓存列表菜单功能代码生成树表新增(展开/折叠)Excel注解支持color字体颜色新增Anonymous匿名访问不鉴权注解用户头像上传限制只能为图片格式接口使用泛型使其看到响应属性字段检查定时任务bean所在包名是否为白名单配置添加页签openPage支持传递参数用户缓存信息添加部门ancestors祖级列表升级element-ui到最新版本2.15.8升级oshi到最新版本6.1.6升级druid到最新版本1.2.11升级fastjson到最新版2.0.8升级spring-boot到最新版本2.5.14降级jsencrypt版本兼容IE浏览器删除多余的salt字段新增获取不带后缀文件名称方法新增获取配置文件中的属性值方法新增内容编码/解码方便插件集成使用字典类型必须以字母开头,且只能为(小写字母,数字,下滑线)优化设置分页参数默认值优化对空字符串参数处理的过滤优化显示顺序orderNum类型为整型优化表单构建按钮不显示正则校验优化字典数据回显样式下拉框显示值优化R响应成功状态码与全局保持一致优化druid开启wall过滤器出现的异常问题优化用户管理左侧树型组件增加选中高亮保持优化新增用户与角色信息&用户与岗位信息逻辑优化默认不启用压缩文件缓存防止node_modules过大修复字典数据显示不全问题修复操作日志查询类型条件为0时会查到所有数据修复Excel注解prompt/combo同时使用不生效问题其他细节优化v3.8.2 - 2022-04-01前端支持设置是否需要防止数据重复提交开启TopNav没有子菜单情况隐藏侧边栏侧边栏菜单名称过长悬停显示标题用户访问控制时校验数据权限,防止越权导出Excel时屏蔽公式,防止CSV注入风险组件ImagePreview支持多图预览显示组件ImageUpload支持多图同时选择上传组件FileUpload支持多文件同时选择上传服务监控新增运行参数信息显示定时任务目标字符串过滤特殊字符定时任务目标字符串验证包名白名单代码生成列表图片支持预览代码生成编辑修改打开新页签代码生成新增Java类型Boolean代码生成子表支持日期/字典配置代码生成同步保留必填/类型选项升级oshi到最新版本6.1.2升级fastjson到最新版1.2.80升级pagehelper到最新版1.4.1升级spring-boot到最新版本2.5.11升级spring-boot-mybatis到最新版2.2.2添加遗漏的分页参数合理化属性修改npm即将过期的注册源地址修复分页组件请求两次问题修复通用文件下载接口跨域问题修复Xss注解字段值为空时的异常问题修复选项卡点击右键刷新丢失参数问题修复表单清除元素位置未垂直居中问题修复服务监控中运行参数显示条件错误修复导入Excel时字典字段类型为Long转义为空问题修复登录超时刷新页面跳转登录页面还提示重新登录问题优化加载字典缓存数据优化IP地址获取到多个的问题优化任务队列满时任务拒绝策略优化文件上传兼容Weblogic环境优化定时任务默认保存到内存中执行优化部门修改缩放后出现的错位问题优化Excel格式化不同类型的日期对象优化菜单表关键字导致的插件报错问题优化Oracle用户头像列为空时不显示问题优化页面若未匹配到字典标签则返回原字典值优化修复登录失效后多次请求提示多次弹窗问题其他细节优化v3.8.1 - 2022-01-01新增Vue3前端代码生成模板新增图片预览组件新增压缩插件实现打包Gzip自定义xss校验注解实现自定义文字复制剪贴指令代码生成预览支持复制内容路由支持单独配置菜单或角色权限用户管理部门查询选择节点后分页参数初始修复用户分配角色属性错误修复打包后字体图标偶现的乱码问题修复菜单管理重置表单出现的错误修复版本差异导致的懒加载报错问题修复Cron组件中周回显问题修复定时任务多参数逗号分隔的问题修复根据ID查询列表可能出现的主键溢出问题修复tomcat配置参数已过期问题升级clipboard到最新版本2.0.8升级oshi到最新版本v5.8.6升级fastjson到最新版1.2.79升级spring-boot到最新版本2.5.8升级log4j2到2.17.1,防止漏洞风险优化下载解析blob异常提示优化代码生成字典组重复问题优化查询用户的角色组&岗位组代码优化定时任务cron表达式小时设置24优化用户导入提示溢出则显示滚动条优化防重复提交标识组合为(key+url+header)优化分页方法设置成通用方便灵活调用其他细节优化v3.8.0 - 2021-12-01新增配套并同步的Vue3前端版本新增通用方法简化模态/缓存/下载/权限/页签使用优化导出数据/使用通用下载方法Excel注解支持自定义数据处理器Excel注解支持导入导出标题信息Excel导入支持@Excels注解新增组件data-dict,简化数据字典使用新增Jaxb依赖,防止jdk8以上出现的兼容错误生产环境使用路由懒加载提升页面响应速度修复五级以上菜单出现的404问题防重提交注解支持配置间隔时间/提示消息日志注解新增是否保存响应参数任务屏蔽违规字符&参数忽略双引号中的逗号升级SpringBoot到最新版本2.5.6升级pagehelper到最新版1.4.0升级spring-boot-mybatis到最新版2.2.0升级oshi到最新版本v5.8.2升级druid到最新版1.2.8升级velocity到最新版本2.3升级fastjson到最新版1.2.78升级axios到最新版本0.24.0升级dart-sass到版本1.32.13升级core-js到最新版本3.19.1升级jsencrypt到最新版本3.2.1升级js-cookie到最新版本3.0.1升级file-saver到最新版本2.0.5升级sass-loader到最新版本10.1.1升级element-ui到最新版本2.15.6新增sendGet无参请求方法禁用el-tag组件的渐变动画代码生成点击预览重置激活tabAjaxResult重写put方法,以方便链式调用优化登录/验证码请求headers不设置token优化用户个人信息接口防止修改用户名优化Cron表达式生成器关闭时销毁避免缓存优化注册成功提示消息类型success优化aop语法,使用spring自动注入注解优化记录登录信息,移除不必要的修改优化mybatis全局默认的执行器优化Excel导入图片可能出现的异常修复代码生成模板主子表删除缺少事务修复日志记录可能出现的转换异常修复代码生成复选框字典遗漏问题修复关闭xss功能导致可重复读RepeatableFilter失效修复字符串无法被反转义问题修复后端主子表代码模板方法名生成错误问题修复xss过滤后格式出现的异常修复swagger没有指定dataTypeClass导致启动出现warn日志其他细节优化v3.7.0 - 2021-09-13参数管理支持配置验证码开关新增是否开启用户注册功能定时任务支持在线生成cron表达式菜单管理支持配置路由参数支持自定义注解实现接口限流Excel注解支持Image图片导入自定义弹层溢出滚动样式自定义可拖动弹窗宽度指令自定义可拖动弹窗高度指令修复任意账户越权问题修改时检查用户数据权限范围修复保存配置主题颜色失效问题新增暗色菜单风格主题菜单&部门新增展开/折叠功能页签新增关闭左侧&添加图标顶部菜单排除隐藏的默认路由顶部菜单同步系统主题样式跳转路由高亮相对应的菜单栏代码生成主子表多选行数据日期范围支持添加多组升级element-ui到最新版本2.15.5升级oshi到最新版本v5.8.0升级commons.io到最新版本v2.11.0定时任务屏蔽ldap远程调用定时任务屏蔽http(s)远程调用补充定时任务表字段注释定时任务对检查异常进行事务回滚启用父部门状态排除顶级节点富文本新增上传文件大小限制默认首页使用keep-alive缓存修改代码生成字典回显样式自定义分页合理化传入参数修复字典组件值为整形不显示问题修复定时任务日志执行状态显示角色&菜单新增字段属性提示信息修复角色分配用户页面参数类型错误提醒优化布局设置动画特效优化异常处理信息优化错误token导致的解析异常密码框新增显示切换密码图标定时任务新增更多操作更多操作按钮添加权限控制导入用户样式优化提取通用方法到基类控制器优化使用权限工具获取用户信息优化用户不能删除自己优化XSS跨站脚本过滤优化代码生成模板验证码默认20s超时BLOB下载时清除URL对象引用代码生成导入表按创建时间排序修复代码生成页面数据编辑保存之后总是跳转第一页的问题修复带safari浏览器无法格式化utc日期格式yyyy-MM-dd'T'HH:mm:ss.SSS问题多图上传组件移除多余的api地址&验证失败导致图片删除问题&无法删除相应图片修复其他细节优化v3.6.0 - 2021-07-12角色管理新增分配用户功能用户管理新增分配角色功能日志列表支持排序操作优化参数&字典缓存操作系统布局配置支持动态标题开关菜单路由配置支持内链访问默认访问后端首页新增提示语富文本默认上传返回url类型新增自定义弹窗拖拽指令全局注册常用通用组件全局挂载字典标签组件ImageUpload组件支持多图片上传FileUpload组件支持多文件上传文件上传组件添加数量限制属性富文本编辑组件添加类型属性富文本组件工具栏配置视频封装通用iframe组件限制超级管理员不允许操作用户信息长度校验限制分页组件新增pagerCount属性添加bat脚本执行应用升级oshi到最新版本v5.7.4升级element-ui到最新版本2.15.2升级pagehelper到最新版1.3.1升级commons.io到最新版本v2.10.0升级commons.fileupload到最新版本v1.4升级swagger到最新版本v3.0.0修复关闭confirm提示框控制台报错问题修复存在的SQL注入漏洞问题定时任务屏蔽rmi远程调用修复用户搜索分页变量错误修复导出角色数据范围翻译缺少仅本人修复表单构建选择下拉选择控制台报错问题优化图片工具类读取文件其他细节优化v3.5.0 - 2021-05-25新增菜单导航显示风格TopNav(false为左侧导航菜单,true为顶部导航菜单)布局设置支持保存&重置配置修复树表数据显示不全&加载慢问题新增IE浏览器版本过低提示页面用户登录后记录最后登录IP&时间页面导出按钮点击之后添加遮罩富文本编辑器支持自定义上传地址富文本编辑组件新增readOnly属性页签TagsView新增关闭右侧功能显隐列组件加载初始默认隐藏列关闭头像上传窗口还原默认图片个人信息添加手机&邮箱重复验证代码生成模板导出按钮点击后添加遮罩代码生成模板树表操作列添加新增按钮代码生成模板修复主子表字段重名问题升级fastjson到最新版1.2.76升级druid到最新版本v1.2.6升级mybatis到最新版3.5.6 阻止远程代码执行漏洞升级oshi到最新版本v5.6.0velocity剔除commons-collections版本,防止3.2.1版本的反序列化漏洞数据监控页默认账户密码防止越权访问修复firefox下表单构建拖拽会新打卡一个选项卡修正后端导入表权限标识修正前端操作日志&登录日志权限标识设置Redis配置HashKey序列化删除操作日志记录信息上传媒体类型添加视频格式修复请求形参未传值记录日志异常问题优化xss校验json请求条件树级结构更新子节点使用replaceFirst优化ExcelUtil空值处理日志记录过滤BindingResult对象,防止异常修改主题后mini类型按钮无效问题优化通用下载完成后删除节点通用Controller添加响应返回消息其他细节优化v3.4.0 - 2021-02-22代码生成模板支持主子表表格右侧工具栏组件支持显隐列图片组件添加预览&移除功能Excel注解支持Image图片导出操作按钮组调整为朴素按钮样式代码生成支持文件上传组件代码生成日期控件区分范围代码生成数据库文本类型生成表单文本域用户手机邮箱&菜单组件修改允许空字符串升级SpringBoot到最新版本2.2.13 提升启动速度升级druid到最新版本v1.2.4升级fastjson到最新版1.2.75升级element-ui到最新版本2.15.0修复IE11浏览器报错问题优化多级菜单之间切换无法缓存的问题修复四级菜单无法显示问题修正侧边栏静态路由丢失问题修复角色管理-编辑角色-功能权限显示异常配置文件新增redis数据库索引属性权限工具类增加admin判断角色非自定义权限范围清空选择值修复导入数据为负浮点数时丢失精度问题移除path-to-regexp正则匹配插件修复生成树表代码异常修改ip字段长度防止ipv6地址长度不够防止get请求参数值为false或0等特殊值会导致无法正确的传参登录后push添加catch防止出现检查错误其他细节优化v3.3.0 - 2020-12-14新增缓存监控功能支持主题风格配置修复多级菜单之间切换无法缓存的问题多级菜单自动配置组件代码生成预览支持高亮显示支持Get请求映射Params参数删除用户和角色解绑关联去除用户手机邮箱部门必填验证Excel支持注解align对齐方式Excel支持导入Boolean型数据优化头像样式,鼠标移入悬停遮罩代码生成预览提供滚动机制代码生成删除多余的数字float类型修正转换字符串的目标字符集属性回显数据字典防止空值报错日志记录增加过滤多文件场景修改缓存Set方法可能导致嵌套的问题移除前端一些多余的依赖防止安全扫描YUI出现的风险提示修改node-sass为dart-sass升级SpringBoot到最新版本2.1.18升级poi到最新版本4.1.2升级oshi到最新版本v5.3.6升级bitwalker到最新版本1.21升级axios到最新版本0.21.0升级element-ui到最新版本2.14.1升级vue到最新版本2.6.12升级vuex到最新版本3.6.0升级vue-cli到版本4.5.9升级vue-router到最新版本3.4.9升级vue-cli到最新版本4.4.6升级vue-cropper到最新版本0.5.5升级clipboard到最新版本2.0.6升级core-js到最新版本3.8.1升级echarts到最新版本4.9.0升级file-saver到最新版本2.0.4升级fuse.js到最新版本6.4.3升级js-beautify到最新版本1.13.0升级js-cookie到最新版本2.2.1升级path-to-regexp到最新版本6.2.0升级quill到最新版本1.3.7升级screenfull到最新版本5.0.2升级sortablejs到最新版本1.10.2升级vuedraggable到最新版本2.24.3升级chalk到最新版本4.1.0升级eslint到最新版本7.15.0升级eslint-plugin-vue到最新版本7.2.0升级lint-staged到最新版本10.5.3升级runjs到最新版本4.4.2升级sass-loader到最新版本10.1.0升级script-ext-html-webpack-plugin到最新版本2.1.5升级svg-sprite-loader到最新版本5.1.1升级vue-template-compiler到最新版本2.6.12其他细节优化v3.2.1 - 2020-11-18阻止任意文件下载漏洞代码生成支持上传控件新增图片上传组件调整默认首页升级druid到最新版本v1.2.2mapperLocations配置支持分隔符权限信息调整调整sql默认时间解决代码生成没有bit类型的问题升级pagehelper到最新版1.3.0v3.2.0 - 2020-10-10升级springboot版本到2.1.17 提升安全性升级oshi到最新版本v5.2.5升级druid到最新版本v1.2.1升级jjwt到版本0.9.1升级fastjson到最新版1.2.74修改sass为node-sass,避免el-icon图标乱码代码生成支持同步数据库代码生成支持富文本控件代码生成页面时不忽略remark属性代码生成添加select必填选项Excel导出类型NUMERIC支持精度浮点类型Excel导出targetAttr优化获取值,防止get方法不规范Excel注解支持自动统计数据总和Excel注解支持设置BigDecimal精度&舍入规则菜单&数据权限新增(展开/折叠 全选/全不选 父子联动)允许用户分配到部门父节点菜单新增是否缓存keep-alive表格操作列间距调整限制系统内置参数不允许删除富文本组件优化,支持自定义高度&图片冲突问题富文本工具栏样式对齐导入excel整形值校验优化修复页签关闭所有时固定标签路由不刷新问题表单构建布局型组件新增按钮左侧菜单文字过长显示省略号修正根节点为子部门时,树状结构显示问题修正调用目标字符串最大长度修正菜单提示信息错误修正定时任务执行一次权限标识修正数据库字符串类型nvarchar优化递归子节点优化数据权限判断其他细节优化v3.1.0 - 2020-08-13表格工具栏右侧添加刷新&显隐查询组件后端支持CORS跨域请求代码生成支持选择上级菜单代码生成支持自定义路径代码生成支持复选框Excel导出导入支持dictType字典类型Excel支持分割字符串组内容验证码类型支持(数组计算、字符验证)升级vue-cli版本到4.4.4修改 node-sass 为 dart-sass表单类型为Integer/Long设置整形默认值代码生成器默认mapper路径与默认mapperScan路径不一致优化防重复提交拦截器优化上级菜单不能选择自己修复角色的权限分配后,未实时生效问题修复在线用户日志记录类型修复富文本空格和缩进保存后不生效问题修复在线用户判断逻辑唯一限制条件只返回单条数据添加获取当前的环境配置方法超时登录后页面跳转到首页全局异常状态汉化拦截处理HTML过滤器改为将html转义检查字符支持小数点&降级改成异常提醒其他细节优化v3.0.0 - 2020-07-20单应用调整为多模块项目升级element-ui版本到2.13.2删除babel,提高编译速度。新增菜单默认主类目编码文件名修改为uuid方式定时任务cron表达式验证角色权限修改时已有权限未自动勾选异常修复防止切换权限用户后登录出现404Excel支持sort导出排序创建用户不允许选择超级管理员角色修复代码生成导入表结构出现异常页面不提醒问题修复代码生成点击多次表修改数据不变化的问题修复头像上传成功二次打开无法改变裁剪框大小和位置问题修复布局为small者mini用户表单显示错位问题修复热部署导致的强换异常问题修改用户管理复选框宽度,防止部分浏览器出现省略号IpUtils工具,清除Xss特殊字符,防止Xff注入攻击生成domain 如果是浮点型 统一用BigDecimal定时任务调整label-width,防止部署出现错位调整表头固定列默认样式代码生成模板调整,字段为String并且必填则加空串条件代码生成字典Integer/Long使用parseInt 修复dict_sort不可update为0的问题&查询返回增加dict_sort升序排序 修正岗位导出权限注解禁止加密密文返回前端修复代码生成页面中的查询条件创建时间未生效的问题修复首页搜索菜单外链无法点击跳转问题修复菜单管理选择图标,backspace删除时不过滤数据用户管理部门分支节点不可检查&显示计数数据范围过滤属性调整其他细节优化v2.3.0 - 2020-06-01升级fastjson到最新版1.2.70 修复高危安全漏洞dev启动默认打开浏览器vue-cli使用默认source-mapslidebar eslint报错优化当tags-view滚动关闭右键菜单字典管理添加缓存读取参数管理支持缓存操作支持一级菜单(和主页同级)在main区域显示限制外链地址必须以http(s)开头tagview & sidebar 主题颜色与element ui(全局)同步修改数据源类型优先级,先根据方法,再根据类支持是否需要设置token属性,自定义返回码消息。swagger请求前缀加入配置。登录地点设置内容过长则隐藏显示修复定时任务执行一次按钮后不提示消息问题修改上级部门(选择项排除本身和下级)通用http发送方法增加参数 contentType 编码类型更换IP地址查询接口修复页签变量undefined添加校验部门包含未停用的子部门修改定时任务详情下次执行时间日期显示错误角色管理查询设置默认排序字段swagger添加enable参数控制是否启用只对json类型请求构建可重复读取inputStream的request修改代码生成字典字段int类型没有自动选中问题vuex用户名取值修正表格树模板去掉多余的)代码生成序号修正全屏情况下不调整上外边距代码生成Date字段添加默认格式用户管理角色选择权限控制修复路由懒加载报错问题模板sql.vm添加菜单状态设置用户名称不能修改dialog添加append-to-body属性,防止ie遮罩菜单区分状态和显示隐藏功能升级fastjson到最新版1.2.68 修复安全加固修复代码生成如果选择字典类型缺失逗号问题登录请求params更换为data,防止暴露url日志返回时间格式处理添加handle控制允许拖动的元素布局设置点击扩大范围代码生成列属性排序查询代码生成列支持拖动排序修复时间格式不支持ios问题表单构建添加父级class,防止冲突定时任务并发属性修正角色禁用&菜单隐藏不查询权限其他细节优化v2.2.0 - 2020-03-18系统监控新增定时任务功能添加一个打包Web工程bat修复页签鼠标滚轮按下的时候,可以关闭不可关闭的tag修复点击退出登录有时会无提示问题修复防重复提交注解无效问题修复通知公告批量删除异常问题添加菜单时路由地址必填限制代码生成字段描述可编辑修复用户修改个人信息导致缓存不过期问题个人信息创建时间获取正确属性值操作日志详细显示正确类型导入表单击行数据时选中对应的复选框批量替换表前缀逻辑调整固定重定向路径表达式升级element-ui版本到2.13.0操作日志排序调整修复charts切换侧边栏或者缩放窗口显示bug其他细节优化v2.1.0 - 2020-02-24新增表单构建代码生成支持树表结构新增用户导入修复动态加载路由页面刷新问题修复地址开关无效问题汉化错误提示页面代码生成已知问题修改修复多数据源下配置关闭出现异常处理添加HTML过滤器,用于去除XSS漏洞隐患修复上传头像控制台出现异常修改用户管理分页不正确的问题修复验证码记录提示错误修复request.js缺少Message引用修复表格时间为空出现的异常添加Jackson日期反序列化时区配置调整根据用户权限加载菜单数据树形结构调整成功登录不恢复按钮,防止多次点击修改用户个人资料同步缓存信息修复页面同时出现el-upload和Editor不显示处理修复在角色管理页修改菜单权限偶尔未选中问题配置文件新增redis密码属性设置mybatis全局的配置文件其他细节优化v2.0.0 - 2019-12-02新增代码生成新增@RepeatSubmit注解,防止重复提交新增菜单主目录添加/删除操作日志记录过滤特殊对象,防止转换异常修改代码生成路由脚本错误用户上传头像实时同步缓存,无需重新登录调整切换页签后不重新加载数据添加jsencrypt实现参数的前端加密系统退出删除用户缓存记录其他细节优化v1.1.0 - 2019-11-11新增在线用户管理新增按钮组功能实现(批量删除、导出、清空)新增查询条件重置按钮新增Swagger全局Token配置新增后端参数校验修复字典管理页面的日期查询异常修改时间函数命名防止冲突去除菜单上级校验,默认为顶级修复用户密码无法修改问题修复菜单类型为按钮时不显示权限标识其他细节优化v1.0.0 - 2019-10-08若依前后端分离系统正式发布捐赠支持你可以请作者喝杯咖啡表示鼓励"}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,3,4],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":10,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"url":"http://vue.ruoyi.vip/index","links":"http://vue.ruoyi.vip/index","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"cookies":""}},{"id":-1,"index":2,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"codeMode":0,"code":"","waitTime":0,"recordASField":0,"paraType":"text"}},{"id":2,"index":3,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"el-button--primary\")]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[1]/div[1]/form[1]/div[4]/div[1]/button[1]","//button[contains(., '登 录')]","//BUTTON[@class='el-button el-button--primary el-button--medium']","/html/body/div[last()-3]/div[last()-1]/form/div/div/button"]}},{"id":3,"index":4,"parentId":0,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"paras":[{"nodeType":0,"contentType":0,"relative":false,"name":"参数1_文本","desc":"","extractType":0,"relativeXPath":"/html/body/div[1]/div[1]/div[2]/section[1]","allXPaths":["/html/body/div[1]/div[1]/div[2]/section[1]","//section[contains(., '领取阿里云通用云产')]","//SECTION[@class='app-main']","/html/body/div[last()-3]/div[last()-1]/div/section"],"exampleValues":[{"num":0,"value":" 领取阿里云通用云产品1888优惠券 https://www.aliyun.com/minisite/goods?userCode=brki8iof 领取腾讯云通用云产品2860优惠券 https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console 阿里云服务器折扣区 >☛☛点我进入☚☚ 腾讯云服务器秒杀区 >☛☛点我进入☚☚ 云产品通用红包,可叠加官网常规优惠使用。(仅限新用户) 若依后台管理框架 一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了若依管理系统,她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。 当前版本: v3.8.6¥免费开源访问码云访问主页技术选型后端技术SpringBootSpring SecurityJWTMyBatisDruidFastjson...前端技术VueVuexElement-uiAxiosSassQuill...联系信息 官网:http://www.ruoyi.vip QQ群: 满937441 满887144332 满180251782 满104180207 满186866453 满201396349 满101456076 满101539465 满264312783 满167385320 满104748341 满160110482 满170801498 满108482800 满101046199 136919097 微信:/ *若依 支付宝:/ *若依更新日志v3.8.6 - 2023-06-30支持登录IP黑名单限制新增监控页面图标显示操作日志新增消耗时间属性屏蔽定时任务bean违规的字符日志管理使用索引提升查询性能日志注解支持排除指定的请求参数支持自定义隐藏属性列过滤子对象升级oshi到最新版本6.4.3升级druid到最新版本1.2.16升级fastjson到最新版2.0.34升级spring-boot到最新版本2.5.15升级element-ui到最新版本2.15.13移除apache/commons-fileupload依赖修复页面切换时布局错乱的问题修复匿名注解Anonymous空指针问题修复路由跳转被阻止时内部产生报错信息问题修复isMatchedIp的参数判断产生空指针的问题修复用户多角色数据权限可能出现权限抬升的情况修复开启TopNav后一级菜单路由参数设置无效问题修复DictTag组件value没有匹配的值时则展示value优化文件下载出现的异常优化选择图标组件高亮回显优化弹窗后导航栏偏移的问题优化修改密码日志存储明文问题优化页签栏关闭其他出现的异常问题优化页签关闭左侧选项排除首页选项优化关闭当前tab页跳转最右侧tab页优化缓存列表清除操作提示不变的问题优化字符未使用下划线不进行驼峰式处理优化用户导入更新时需获取用户编号问题优化侧边栏的平台标题与VUE_APP_TITLE保持同步优化导出Excel时设置dictType属性重复查缓存问题连接池Druid支持新的配置connectTimeout和socketTimeout其他细节优化v3.8.5 - 2023-01-01定时任务违规的字符重置时取消部门选中新增返回警告消息提示忽略不必要的属性数据返回修改参数键名时移除前缓存配置导入更新用户数据前校验数据权限兼容Excel下拉框内容过多无法显示的问题升级echarts到最新版本5.4.0升级core-js到最新版本3.25.3升级oshi到最新版本6.4.0升级kaptcha到最新版2.3.3升级druid到最新版本1.2.15升级fastjson到最新版2.0.20升级pagehelper到最新版1.4.6优化弹窗内容过多展示不全问题优化swagger-ui静态资源使用缓存开启TopNav没有子菜单隐藏侧边栏删除fuse无效选项maxPatternLength优化导出对象的子列表为空会出现[]问题优化编辑头像时透明部分会变成黑色问题优化小屏幕上修改头像界面布局错位的问题修复代码生成勾选属性无效问题修复文件上传组件格式验证问题修复回显数据字典数组异常问题修复sheet超出最大行数异常问题修复Log注解GET请求记录不到参数问题修复调度日志点击多次数据不变化的问题修复主题颜色在Drawer组件不会加载问题修复文件名包含特殊字符的文件无法下载问题修复table中更多按钮切换主题色未生效修复问题修复某些特性的环境生成代码变乱码TXT文件问题修复代码生成图片/文件/单选时选择必填无法校验问题修复某些特性的情况用户编辑对话框中角色和部门无法修改问题其他细节优化v3.8.4 - 2022-09-26数据逻辑删除不进行唯一验证Excel注解支持导出对象的子列表方法Excel注解支持自定义隐藏属性列Excel注解支持backgroundColor属性设置背景色支持配置密码最大错误次数/锁定时间登录日志新增解锁账户功能通用下载方法新增config配置选项支持多权限字符匹配角色数据权限页面内嵌iframe切换tab不刷新数据操作日志记录支持排除敏感属性字段修复多文件上传报错出现的异常问题修复图片预览组件src属性为null值控制台报错问题升级oshi到最新版本6.2.2升级fastjson到最新版2.0.14升级pagehelper到最新版1.4.3升级core-js到最新版本3.25.2升级element-ui到最新版本2.15.10优化任务过期不执行调度优化字典数据使用store存取优化修改资料头像被覆盖的问题优化修改用户登录账号重复验证优化代码生成同步后值NULL问题优化定时任务支持执行父类方法优化用户个人信息接口防止修改部门优化布局设置使用el-drawer抽屉显示优化没有权限的用户编辑部门缺少数据优化日志注解记录限制请求地址的长度优化excel/scale属性导出单元格数值类型优化日志操作中重置按钮时重复查询的问题优化多个相同角色数据导致权限SQL重复问题优化表格上右侧工具条(搜索按钮显隐&右侧样式凸出)其他细节优化v3.8.3 - 2022-06-27新增缓存列表菜单功能代码生成树表新增(展开/折叠)Excel注解支持color字体颜色新增Anonymous匿名访问不鉴权注解用户头像上传限制只能为图片格式接口使用泛型使其看到响应属性字段检查定时任务bean所在包名是否为白名单配置添加页签openPage支持传递参数用户缓存信息添加部门ancestors祖级列表升级element-ui到最新版本2.15.8升级oshi到最新版本6.1.6升级druid到最新版本1.2.11升级fastjson到最新版2.0.8升级spring-boot到最新版本2.5.14降级jsencrypt版本兼容IE浏览器删除多余的salt字段新增获取不带后缀文件名称方法新增获取配置文件中的属性值方法新增内容编码/解码方便插件集成使用字典类型必须以字母开头,且只能为(小写字母,数字,下滑线)优化设置分页参数默认值优化对空字符串参数处理的过滤优化显示顺序orderNum类型为整型优化表单构建按钮不显示正则校验优化字典数据回显样式下拉框显示值优化R响应成功状态码与全局保持一致优化druid开启wall过滤器出现的异常问题优化用户管理左侧树型组件增加选中高亮保持优化新增用户与角色信息&用户与岗位信息逻辑优化默认不启用压缩文件缓存防止node_modules过大修复字典数据显示不全问题修复操作日志查询类型条件为0时会查到所有数据修复Excel注解prompt/combo同时使用不生效问题其他细节优化v3.8.2 - 2022-04-01前端支持设置是否需要防止数据重复提交开启TopNav没有子菜单情况隐藏侧边栏侧边栏菜单名称过长悬停显示标题用户访问控制时校验数据权限,防止越权导出Excel时屏蔽公式,防止CSV注入风险组件ImagePreview支持多图预览显示组件ImageUpload支持多图同时选择上传组件FileUpload支持多文件同时选择上传服务监控新增运行参数信息显示定时任务目标字符串过滤特殊字符定时任务目标字符串验证包名白名单代码生成列表图片支持预览代码生成编辑修改打开新页签代码生成新增Java类型Boolean代码生成子表支持日期/字典配置代码生成同步保留必填/类型选项升级oshi到最新版本6.1.2升级fastjson到最新版1.2.80升级pagehelper到最新版1.4.1升级spring-boot到最新版本2.5.11升级spring-boot-mybatis到最新版2.2.2添加遗漏的分页参数合理化属性修改npm即将过期的注册源地址修复分页组件请求两次问题修复通用文件下载接口跨域问题修复Xss注解字段值为空时的异常问题修复选项卡点击右键刷新丢失参数问题修复表单清除元素位置未垂直居中问题修复服务监控中运行参数显示条件错误修复导入Excel时字典字段类型为Long转义为空问题修复登录超时刷新页面跳转登录页面还提示重新登录问题优化加载字典缓存数据优化IP地址获取到多个的问题优化任务队列满时任务拒绝策略优化文件上传兼容Weblogic环境优化定时任务默认保存到内存中执行优化部门修改缩放后出现的错位问题优化Excel格式化不同类型的日期对象优化菜单表关键字导致的插件报错问题优化Oracle用户头像列为空时不显示问题优化页面若未匹配到字典标签则返回原字典值优化修复登录失效后多次请求提示多次弹窗问题其他细节优化v3.8.1 - 2022-01-01新增Vue3前端代码生成模板新增图片预览组件新增压缩插件实现打包Gzip自定义xss校验注解实现自定义文字复制剪贴指令代码生成预览支持复制内容路由支持单独配置菜单或角色权限用户管理部门查询选择节点后分页参数初始修复用户分配角色属性错误修复打包后字体图标偶现的乱码问题修复菜单管理重置表单出现的错误修复版本差异导致的懒加载报错问题修复Cron组件中周回显问题修复定时任务多参数逗号分隔的问题修复根据ID查询列表可能出现的主键溢出问题修复tomcat配置参数已过期问题升级clipboard到最新版本2.0.8升级oshi到最新版本v5.8.6升级fastjson到最新版1.2.79升级spring-boot到最新版本2.5.8升级log4j2到2.17.1,防止漏洞风险优化下载解析blob异常提示优化代码生成字典组重复问题优化查询用户的角色组&岗位组代码优化定时任务cron表达式小时设置24优化用户导入提示溢出则显示滚动条优化防重复提交标识组合为(key+url+header)优化分页方法设置成通用方便灵活调用其他细节优化v3.8.0 - 2021-12-01新增配套并同步的Vue3前端版本新增通用方法简化模态/缓存/下载/权限/页签使用优化导出数据/使用通用下载方法Excel注解支持自定义数据处理器Excel注解支持导入导出标题信息Excel导入支持@Excels注解新增组件data-dict,简化数据字典使用新增Jaxb依赖,防止jdk8以上出现的兼容错误生产环境使用路由懒加载提升页面响应速度修复五级以上菜单出现的404问题防重提交注解支持配置间隔时间/提示消息日志注解新增是否保存响应参数任务屏蔽违规字符&参数忽略双引号中的逗号升级SpringBoot到最新版本2.5.6升级pagehelper到最新版1.4.0升级spring-boot-mybatis到最新版2.2.0升级oshi到最新版本v5.8.2升级druid到最新版1.2.8升级velocity到最新版本2.3升级fastjson到最新版1.2.78升级axios到最新版本0.24.0升级dart-sass到版本1.32.13升级core-js到最新版本3.19.1升级jsencrypt到最新版本3.2.1升级js-cookie到最新版本3.0.1升级file-saver到最新版本2.0.5升级sass-loader到最新版本10.1.1升级element-ui到最新版本2.15.6新增sendGet无参请求方法禁用el-tag组件的渐变动画代码生成点击预览重置激活tabAjaxResult重写put方法,以方便链式调用优化登录/验证码请求headers不设置token优化用户个人信息接口防止修改用户名优化Cron表达式生成器关闭时销毁避免缓存优化注册成功提示消息类型success优化aop语法,使用spring自动注入注解优化记录登录信息,移除不必要的修改优化mybatis全局默认的执行器优化Excel导入图片可能出现的异常修复代码生成模板主子表删除缺少事务修复日志记录可能出现的转换异常修复代码生成复选框字典遗漏问题修复关闭xss功能导致可重复读RepeatableFilter失效修复字符串无法被反转义问题修复后端主子表代码模板方法名生成错误问题修复xss过滤后格式出现的异常修复swagger没有指定dataTypeClass导致启动出现warn日志其他细节优化v3.7.0 - 2021-09-13参数管理支持配置验证码开关新增是否开启用户注册功能定时任务支持在线生成cron表达式菜单管理支持配置路由参数支持自定义注解实现接口限流Excel注解支持Image图片导入自定义弹层溢出滚动样式自定义可拖动弹窗宽度指令自定义可拖动弹窗高度指令修复任意账户越权问题修改时检查用户数据权限范围修复保存配置主题颜色失效问题新增暗色菜单风格主题菜单&部门新增展开/折叠功能页签新增关闭左侧&添加图标顶部菜单排除隐藏的默认路由顶部菜单同步系统主题样式跳转路由高亮相对应的菜单栏代码生成主子表多选行数据日期范围支持添加多组升级element-ui到最新版本2.15.5升级oshi到最新版本v5.8.0升级commons.io到最新版本v2.11.0定时任务屏蔽ldap远程调用定时任务屏蔽http(s)远程调用补充定时任务表字段注释定时任务对检查异常进行事务回滚启用父部门状态排除顶级节点富文本新增上传文件大小限制默认首页使用keep-alive缓存修改代码生成字典回显样式自定义分页合理化传入参数修复字典组件值为整形不显示问题修复定时任务日志执行状态显示角色&菜单新增字段属性提示信息修复角色分配用户页面参数类型错误提醒优化布局设置动画特效优化异常处理信息优化错误token导致的解析异常密码框新增显示切换密码图标定时任务新增更多操作更多操作按钮添加权限控制导入用户样式优化提取通用方法到基类控制器优化使用权限工具获取用户信息优化用户不能删除自己优化XSS跨站脚本过滤优化代码生成模板验证码默认20s超时BLOB下载时清除URL对象引用代码生成导入表按创建时间排序修复代码生成页面数据编辑保存之后总是跳转第一页的问题修复带safari浏览器无法格式化utc日期格式yyyy-MM-dd'T'HH:mm:ss.SSS问题多图上传组件移除多余的api地址&验证失败导致图片删除问题&无法删除相应图片修复其他细节优化v3.6.0 - 2021-07-12角色管理新增分配用户功能用户管理新增分配角色功能日志列表支持排序操作优化参数&字典缓存操作系统布局配置支持动态标题开关菜单路由配置支持内链访问默认访问后端首页新增提示语富文本默认上传返回url类型新增自定义弹窗拖拽指令全局注册常用通用组件全局挂载字典标签组件ImageUpload组件支持多图片上传FileUpload组件支持多文件上传文件上传组件添加数量限制属性富文本编辑组件添加类型属性富文本组件工具栏配置视频封装通用iframe组件限制超级管理员不允许操作用户信息长度校验限制分页组件新增pagerCount属性添加bat脚本执行应用升级oshi到最新版本v5.7.4升级element-ui到最新版本2.15.2升级pagehelper到最新版1.3.1升级commons.io到最新版本v2.10.0升级commons.fileupload到最新版本v1.4升级swagger到最新版本v3.0.0修复关闭confirm提示框控制台报错问题修复存在的SQL注入漏洞问题定时任务屏蔽rmi远程调用修复用户搜索分页变量错误修复导出角色数据范围翻译缺少仅本人修复表单构建选择下拉选择控制台报错问题优化图片工具类读取文件其他细节优化v3.5.0 - 2021-05-25新增菜单导航显示风格TopNav(false为左侧导航菜单,true为顶部导航菜单)布局设置支持保存&重置配置修复树表数据显示不全&加载慢问题新增IE浏览器版本过低提示页面用户登录后记录最后登录IP&时间页面导出按钮点击之后添加遮罩富文本编辑器支持自定义上传地址富文本编辑组件新增readOnly属性页签TagsView新增关闭右侧功能显隐列组件加载初始默认隐藏列关闭头像上传窗口还原默认图片个人信息添加手机&邮箱重复验证代码生成模板导出按钮点击后添加遮罩代码生成模板树表操作列添加新增按钮代码生成模板修复主子表字段重名问题升级fastjson到最新版1.2.76升级druid到最新版本v1.2.6升级mybatis到最新版3.5.6 阻止远程代码执行漏洞升级oshi到最新版本v5.6.0velocity剔除commons-collections版本,防止3.2.1版本的反序列化漏洞数据监控页默认账户密码防止越权访问修复firefox下表单构建拖拽会新打卡一个选项卡修正后端导入表权限标识修正前端操作日志&登录日志权限标识设置Redis配置HashKey序列化删除操作日志记录信息上传媒体类型添加视频格式修复请求形参未传值记录日志异常问题优化xss校验json请求条件树级结构更新子节点使用replaceFirst优化ExcelUtil空值处理日志记录过滤BindingResult对象,防止异常修改主题后mini类型按钮无效问题优化通用下载完成后删除节点通用Controller添加响应返回消息其他细节优化v3.4.0 - 2021-02-22代码生成模板支持主子表表格右侧工具栏组件支持显隐列图片组件添加预览&移除功能Excel注解支持Image图片导出操作按钮组调整为朴素按钮样式代码生成支持文件上传组件代码生成日期控件区分范围代码生成数据库文本类型生成表单文本域用户手机邮箱&菜单组件修改允许空字符串升级SpringBoot到最新版本2.2.13 提升启动速度升级druid到最新版本v1.2.4升级fastjson到最新版1.2.75升级element-ui到最新版本2.15.0修复IE11浏览器报错问题优化多级菜单之间切换无法缓存的问题修复四级菜单无法显示问题修正侧边栏静态路由丢失问题修复角色管理-编辑角色-功能权限显示异常配置文件新增redis数据库索引属性权限工具类增加admin判断角色非自定义权限范围清空选择值修复导入数据为负浮点数时丢失精度问题移除path-to-regexp正则匹配插件修复生成树表代码异常修改ip字段长度防止ipv6地址长度不够防止get请求参数值为false或0等特殊值会导致无法正确的传参登录后push添加catch防止出现检查错误其他细节优化v3.3.0 - 2020-12-14新增缓存监控功能支持主题风格配置修复多级菜单之间切换无法缓存的问题多级菜单自动配置组件代码生成预览支持高亮显示支持Get请求映射Params参数删除用户和角色解绑关联去除用户手机邮箱部门必填验证Excel支持注解align对齐方式Excel支持导入Boolean型数据优化头像样式,鼠标移入悬停遮罩代码生成预览提供滚动机制代码生成删除多余的数字float类型修正转换字符串的目标字符集属性回显数据字典防止空值报错日志记录增加过滤多文件场景修改缓存Set方法可能导致嵌套的问题移除前端一些多余的依赖防止安全扫描YUI出现的风险提示修改node-sass为dart-sass升级SpringBoot到最新版本2.1.18升级poi到最新版本4.1.2升级oshi到最新版本v5.3.6升级bitwalker到最新版本1.21升级axios到最新版本0.21.0升级element-ui到最新版本2.14.1升级vue到最新版本2.6.12升级vuex到最新版本3.6.0升级vue-cli到版本4.5.9升级vue-router到最新版本3.4.9升级vue-cli到最新版本4.4.6升级vue-cropper到最新版本0.5.5升级clipboard到最新版本2.0.6升级core-js到最新版本3.8.1升级echarts到最新版本4.9.0升级file-saver到最新版本2.0.4升级fuse.js到最新版本6.4.3升级js-beautify到最新版本1.13.0升级js-cookie到最新版本2.2.1升级path-to-regexp到最新版本6.2.0升级quill到最新版本1.3.7升级screenfull到最新版本5.0.2升级sortablejs到最新版本1.10.2升级vuedraggable到最新版本2.24.3升级chalk到最新版本4.1.0升级eslint到最新版本7.15.0升级eslint-plugin-vue到最新版本7.2.0升级lint-staged到最新版本10.5.3升级runjs到最新版本4.4.2升级sass-loader到最新版本10.1.0升级script-ext-html-webpack-plugin到最新版本2.1.5升级svg-sprite-loader到最新版本5.1.1升级vue-template-compiler到最新版本2.6.12其他细节优化v3.2.1 - 2020-11-18阻止任意文件下载漏洞代码生成支持上传控件新增图片上传组件调整默认首页升级druid到最新版本v1.2.2mapperLocations配置支持分隔符权限信息调整调整sql默认时间解决代码生成没有bit类型的问题升级pagehelper到最新版1.3.0v3.2.0 - 2020-10-10升级springboot版本到2.1.17 提升安全性升级oshi到最新版本v5.2.5升级druid到最新版本v1.2.1升级jjwt到版本0.9.1升级fastjson到最新版1.2.74修改sass为node-sass,避免el-icon图标乱码代码生成支持同步数据库代码生成支持富文本控件代码生成页面时不忽略remark属性代码生成添加select必填选项Excel导出类型NUMERIC支持精度浮点类型Excel导出targetAttr优化获取值,防止get方法不规范Excel注解支持自动统计数据总和Excel注解支持设置BigDecimal精度&舍入规则菜单&数据权限新增(展开/折叠 全选/全不选 父子联动)允许用户分配到部门父节点菜单新增是否缓存keep-alive表格操作列间距调整限制系统内置参数不允许删除富文本组件优化,支持自定义高度&图片冲突问题富文本工具栏样式对齐导入excel整形值校验优化修复页签关闭所有时固定标签路由不刷新问题表单构建布局型组件新增按钮左侧菜单文字过长显示省略号修正根节点为子部门时,树状结构显示问题修正调用目标字符串最大长度修正菜单提示信息错误修正定时任务执行一次权限标识修正数据库字符串类型nvarchar优化递归子节点优化数据权限判断其他细节优化v3.1.0 - 2020-08-13表格工具栏右侧添加刷新&显隐查询组件后端支持CORS跨域请求代码生成支持选择上级菜单代码生成支持自定义路径代码生成支持复选框Excel导出导入支持dictType字典类型Excel支持分割字符串组内容验证码类型支持(数组计算、字符验证)升级vue-cli版本到4.4.4修改 node-sass 为 dart-sass表单类型为Integer/Long设置整形默认值代码生成器默认mapper路径与默认mapperScan路径不一致优化防重复提交拦截器优化上级菜单不能选择自己修复角色的权限分配后,未实时生效问题修复在线用户日志记录类型修复富文本空格和缩进保存后不生效问题修复在线用户判断逻辑唯一限制条件只返回单条数据添加获取当前的环境配置方法超时登录后页面跳转到首页全局异常状态汉化拦截处理HTML过滤器改为将html转义检查字符支持小数点&降级改成异常提醒其他细节优化v3.0.0 - 2020-07-20单应用调整为多模块项目升级element-ui版本到2.13.2删除babel,提高编译速度。新增菜单默认主类目编码文件名修改为uuid方式定时任务cron表达式验证角色权限修改时已有权限未自动勾选异常修复防止切换权限用户后登录出现404Excel支持sort导出排序创建用户不允许选择超级管理员角色修复代码生成导入表结构出现异常页面不提醒问题修复代码生成点击多次表修改数据不变化的问题修复头像上传成功二次打开无法改变裁剪框大小和位置问题修复布局为small者mini用户表单显示错位问题修复热部署导致的强换异常问题修改用户管理复选框宽度,防止部分浏览器出现省略号IpUtils工具,清除Xss特殊字符,防止Xff注入攻击生成domain 如果是浮点型 统一用BigDecimal定时任务调整label-width,防止部署出现错位调整表头固定列默认样式代码生成模板调整,字段为String并且必填则加空串条件代码生成字典Integer/Long使用parseInt 修复dict_sort不可update为0的问题&查询返回增加dict_sort升序排序 修正岗位导出权限注解禁止加密密文返回前端修复代码生成页面中的查询条件创建时间未生效的问题修复首页搜索菜单外链无法点击跳转问题修复菜单管理选择图标,backspace删除时不过滤数据用户管理部门分支节点不可检查&显示计数数据范围过滤属性调整其他细节优化v2.3.0 - 2020-06-01升级fastjson到最新版1.2.70 修复高危安全漏洞dev启动默认打开浏览器vue-cli使用默认source-mapslidebar eslint报错优化当tags-view滚动关闭右键菜单字典管理添加缓存读取参数管理支持缓存操作支持一级菜单(和主页同级)在main区域显示限制外链地址必须以http(s)开头tagview & sidebar 主题颜色与element ui(全局)同步修改数据源类型优先级,先根据方法,再根据类支持是否需要设置token属性,自定义返回码消息。swagger请求前缀加入配置。登录地点设置内容过长则隐藏显示修复定时任务执行一次按钮后不提示消息问题修改上级部门(选择项排除本身和下级)通用http发送方法增加参数 contentType 编码类型更换IP地址查询接口修复页签变量undefined添加校验部门包含未停用的子部门修改定时任务详情下次执行时间日期显示错误角色管理查询设置默认排序字段swagger添加enable参数控制是否启用只对json类型请求构建可重复读取inputStream的request修改代码生成字典字段int类型没有自动选中问题vuex用户名取值修正表格树模板去掉多余的)代码生成序号修正全屏情况下不调整上外边距代码生成Date字段添加默认格式用户管理角色选择权限控制修复路由懒加载报错问题模板sql.vm添加菜单状态设置用户名称不能修改dialog添加append-to-body属性,防止ie遮罩菜单区分状态和显示隐藏功能升级fastjson到最新版1.2.68 修复安全加固修复代码生成如果选择字典类型缺失逗号问题登录请求params更换为data,防止暴露url日志返回时间格式处理添加handle控制允许拖动的元素布局设置点击扩大范围代码生成列属性排序查询代码生成列支持拖动排序修复时间格式不支持ios问题表单构建添加父级class,防止冲突定时任务并发属性修正角色禁用&菜单隐藏不查询权限其他细节优化v2.2.0 - 2020-03-18系统监控新增定时任务功能添加一个打包Web工程bat修复页签鼠标滚轮按下的时候,可以关闭不可关闭的tag修复点击退出登录有时会无提示问题修复防重复提交注解无效问题修复通知公告批量删除异常问题添加菜单时路由地址必填限制代码生成字段描述可编辑修复用户修改个人信息导致缓存不过期问题个人信息创建时间获取正确属性值操作日志详细显示正确类型导入表单击行数据时选中对应的复选框批量替换表前缀逻辑调整固定重定向路径表达式升级element-ui版本到2.13.0操作日志排序调整修复charts切换侧边栏或者缩放窗口显示bug其他细节优化v2.1.0 - 2020-02-24新增表单构建代码生成支持树表结构新增用户导入修复动态加载路由页面刷新问题修复地址开关无效问题汉化错误提示页面代码生成已知问题修改修复多数据源下配置关闭出现异常处理添加HTML过滤器,用于去除XSS漏洞隐患修复上传头像控制台出现异常修改用户管理分页不正确的问题修复验证码记录提示错误修复request.js缺少Message引用修复表格时间为空出现的异常添加Jackson日期反序列化时区配置调整根据用户权限加载菜单数据树形结构调整成功登录不恢复按钮,防止多次点击修改用户个人资料同步缓存信息修复页面同时出现el-upload和Editor不显示处理修复在角色管理页修改菜单权限偶尔未选中问题配置文件新增redis密码属性设置mybatis全局的配置文件其他细节优化v2.0.0 - 2019-12-02新增代码生成新增@RepeatSubmit注解,防止重复提交新增菜单主目录添加/删除操作日志记录过滤特殊对象,防止转换异常修改代码生成路由脚本错误用户上传头像实时同步缓存,无需重新登录调整切换页签后不重新加载数据添加jsencrypt实现参数的前端加密系统退出删除用户缓存记录其他细节优化v1.1.0 - 2019-11-11新增在线用户管理新增按钮组功能实现(批量删除、导出、清空)新增查询条件重置按钮新增Swagger全局Token配置新增后端参数校验修复字典管理页面的日期查询异常修改时间函数命名防止冲突去除菜单上级校验,默认为顶级修复用户密码无法修改问题修复菜单类型为按钮时不显示权限标识其他细节优化v1.0.0 - 2019-10-08若依前后端分离系统正式发布捐赠支持你可以请作者喝杯咖啡表示鼓励"}],"unique_index":"asfc496dahtlnlbje0t","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0}]}}]} \ No newline at end of file diff --git a/.temp_to_pub/EasySpider_windows_x64/execution_instances/99.json b/.temp_to_pub/EasySpider_windows_x64/execution_instances/99.json new file mode 100644 index 0000000..7afbcac --- /dev/null +++ b/.temp_to_pub/EasySpider_windows_x64/execution_instances/99.json @@ -0,0 +1 @@ +{"id":99,"name":"若依管理系统","url":"http://vue.ruoyi.vip/index","links":"http://vue.ruoyi.vip/index","create_time":"10/11/2023, 1:36:52 PM","update_time":"10/11/2023, 1:36:52 PM","version":"0.5.0","saveThreshold":10,"cloudflare":0,"environment":0,"maxViewLength":15,"recordLog":1,"outputFormat":"xlsx","saveName":"current_time","inputExcel":"","startFromExit":0,"containJudge":false,"desc":"http://vue.ruoyi.vip/index","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"http://vue.ruoyi.vip/index","desc":"要采集的网址列表,多行以\\n分开","type":"text","exampleValue":"http://vue.ruoyi.vip/index"}],"outputParameters":[{"id":0,"name":"参数1_文本","desc":"","type":"text","recordASField":1,"exampleValue":" 领取阿里云通用云产品1888优惠券 https://www.aliyun.com/minisite/goods?userCode=brki8iof 领取腾讯云通用云产品2860优惠券 https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console 阿里云服务器折扣区 >☛☛点我进入☚☚ 腾讯云服务器秒杀区 >☛☛点我进入☚☚ 云产品通用红包,可叠加官网常规优惠使用。(仅限新用户) 若依后台管理框架 一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了若依管理系统,她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。 当前版本: v3.8.6¥免费开源访问码云访问主页技术选型后端技术SpringBootSpring SecurityJWTMyBatisDruidFastjson...前端技术VueVuexElement-uiAxiosSassQuill...联系信息 官网:http://www.ruoyi.vip QQ群: 满937441 满887144332 满180251782 满104180207 满186866453 满201396349 满101456076 满101539465 满264312783 满167385320 满104748341 满160110482 满170801498 满108482800 满101046199 136919097 微信:/ *若依 支付宝:/ *若依更新日志v3.8.6 - 2023-06-30支持登录IP黑名单限制新增监控页面图标显示操作日志新增消耗时间属性屏蔽定时任务bean违规的字符日志管理使用索引提升查询性能日志注解支持排除指定的请求参数支持自定义隐藏属性列过滤子对象升级oshi到最新版本6.4.3升级druid到最新版本1.2.16升级fastjson到最新版2.0.34升级spring-boot到最新版本2.5.15升级element-ui到最新版本2.15.13移除apache/commons-fileupload依赖修复页面切换时布局错乱的问题修复匿名注解Anonymous空指针问题修复路由跳转被阻止时内部产生报错信息问题修复isMatchedIp的参数判断产生空指针的问题修复用户多角色数据权限可能出现权限抬升的情况修复开启TopNav后一级菜单路由参数设置无效问题修复DictTag组件value没有匹配的值时则展示value优化文件下载出现的异常优化选择图标组件高亮回显优化弹窗后导航栏偏移的问题优化修改密码日志存储明文问题优化页签栏关闭其他出现的异常问题优化页签关闭左侧选项排除首页选项优化关闭当前tab页跳转最右侧tab页优化缓存列表清除操作提示不变的问题优化字符未使用下划线不进行驼峰式处理优化用户导入更新时需获取用户编号问题优化侧边栏的平台标题与VUE_APP_TITLE保持同步优化导出Excel时设置dictType属性重复查缓存问题连接池Druid支持新的配置connectTimeout和socketTimeout其他细节优化v3.8.5 - 2023-01-01定时任务违规的字符重置时取消部门选中新增返回警告消息提示忽略不必要的属性数据返回修改参数键名时移除前缓存配置导入更新用户数据前校验数据权限兼容Excel下拉框内容过多无法显示的问题升级echarts到最新版本5.4.0升级core-js到最新版本3.25.3升级oshi到最新版本6.4.0升级kaptcha到最新版2.3.3升级druid到最新版本1.2.15升级fastjson到最新版2.0.20升级pagehelper到最新版1.4.6优化弹窗内容过多展示不全问题优化swagger-ui静态资源使用缓存开启TopNav没有子菜单隐藏侧边栏删除fuse无效选项maxPatternLength优化导出对象的子列表为空会出现[]问题优化编辑头像时透明部分会变成黑色问题优化小屏幕上修改头像界面布局错位的问题修复代码生成勾选属性无效问题修复文件上传组件格式验证问题修复回显数据字典数组异常问题修复sheet超出最大行数异常问题修复Log注解GET请求记录不到参数问题修复调度日志点击多次数据不变化的问题修复主题颜色在Drawer组件不会加载问题修复文件名包含特殊字符的文件无法下载问题修复table中更多按钮切换主题色未生效修复问题修复某些特性的环境生成代码变乱码TXT文件问题修复代码生成图片/文件/单选时选择必填无法校验问题修复某些特性的情况用户编辑对话框中角色和部门无法修改问题其他细节优化v3.8.4 - 2022-09-26数据逻辑删除不进行唯一验证Excel注解支持导出对象的子列表方法Excel注解支持自定义隐藏属性列Excel注解支持backgroundColor属性设置背景色支持配置密码最大错误次数/锁定时间登录日志新增解锁账户功能通用下载方法新增config配置选项支持多权限字符匹配角色数据权限页面内嵌iframe切换tab不刷新数据操作日志记录支持排除敏感属性字段修复多文件上传报错出现的异常问题修复图片预览组件src属性为null值控制台报错问题升级oshi到最新版本6.2.2升级fastjson到最新版2.0.14升级pagehelper到最新版1.4.3升级core-js到最新版本3.25.2升级element-ui到最新版本2.15.10优化任务过期不执行调度优化字典数据使用store存取优化修改资料头像被覆盖的问题优化修改用户登录账号重复验证优化代码生成同步后值NULL问题优化定时任务支持执行父类方法优化用户个人信息接口防止修改部门优化布局设置使用el-drawer抽屉显示优化没有权限的用户编辑部门缺少数据优化日志注解记录限制请求地址的长度优化excel/scale属性导出单元格数值类型优化日志操作中重置按钮时重复查询的问题优化多个相同角色数据导致权限SQL重复问题优化表格上右侧工具条(搜索按钮显隐&右侧样式凸出)其他细节优化v3.8.3 - 2022-06-27新增缓存列表菜单功能代码生成树表新增(展开/折叠)Excel注解支持color字体颜色新增Anonymous匿名访问不鉴权注解用户头像上传限制只能为图片格式接口使用泛型使其看到响应属性字段检查定时任务bean所在包名是否为白名单配置添加页签openPage支持传递参数用户缓存信息添加部门ancestors祖级列表升级element-ui到最新版本2.15.8升级oshi到最新版本6.1.6升级druid到最新版本1.2.11升级fastjson到最新版2.0.8升级spring-boot到最新版本2.5.14降级jsencrypt版本兼容IE浏览器删除多余的salt字段新增获取不带后缀文件名称方法新增获取配置文件中的属性值方法新增内容编码/解码方便插件集成使用字典类型必须以字母开头,且只能为(小写字母,数字,下滑线)优化设置分页参数默认值优化对空字符串参数处理的过滤优化显示顺序orderNum类型为整型优化表单构建按钮不显示正则校验优化字典数据回显样式下拉框显示值优化R响应成功状态码与全局保持一致优化druid开启wall过滤器出现的异常问题优化用户管理左侧树型组件增加选中高亮保持优化新增用户与角色信息&用户与岗位信息逻辑优化默认不启用压缩文件缓存防止node_modules过大修复字典数据显示不全问题修复操作日志查询类型条件为0时会查到所有数据修复Excel注解prompt/combo同时使用不生效问题其他细节优化v3.8.2 - 2022-04-01前端支持设置是否需要防止数据重复提交开启TopNav没有子菜单情况隐藏侧边栏侧边栏菜单名称过长悬停显示标题用户访问控制时校验数据权限,防止越权导出Excel时屏蔽公式,防止CSV注入风险组件ImagePreview支持多图预览显示组件ImageUpload支持多图同时选择上传组件FileUpload支持多文件同时选择上传服务监控新增运行参数信息显示定时任务目标字符串过滤特殊字符定时任务目标字符串验证包名白名单代码生成列表图片支持预览代码生成编辑修改打开新页签代码生成新增Java类型Boolean代码生成子表支持日期/字典配置代码生成同步保留必填/类型选项升级oshi到最新版本6.1.2升级fastjson到最新版1.2.80升级pagehelper到最新版1.4.1升级spring-boot到最新版本2.5.11升级spring-boot-mybatis到最新版2.2.2添加遗漏的分页参数合理化属性修改npm即将过期的注册源地址修复分页组件请求两次问题修复通用文件下载接口跨域问题修复Xss注解字段值为空时的异常问题修复选项卡点击右键刷新丢失参数问题修复表单清除元素位置未垂直居中问题修复服务监控中运行参数显示条件错误修复导入Excel时字典字段类型为Long转义为空问题修复登录超时刷新页面跳转登录页面还提示重新登录问题优化加载字典缓存数据优化IP地址获取到多个的问题优化任务队列满时任务拒绝策略优化文件上传兼容Weblogic环境优化定时任务默认保存到内存中执行优化部门修改缩放后出现的错位问题优化Excel格式化不同类型的日期对象优化菜单表关键字导致的插件报错问题优化Oracle用户头像列为空时不显示问题优化页面若未匹配到字典标签则返回原字典值优化修复登录失效后多次请求提示多次弹窗问题其他细节优化v3.8.1 - 2022-01-01新增Vue3前端代码生成模板新增图片预览组件新增压缩插件实现打包Gzip自定义xss校验注解实现自定义文字复制剪贴指令代码生成预览支持复制内容路由支持单独配置菜单或角色权限用户管理部门查询选择节点后分页参数初始修复用户分配角色属性错误修复打包后字体图标偶现的乱码问题修复菜单管理重置表单出现的错误修复版本差异导致的懒加载报错问题修复Cron组件中周回显问题修复定时任务多参数逗号分隔的问题修复根据ID查询列表可能出现的主键溢出问题修复tomcat配置参数已过期问题升级clipboard到最新版本2.0.8升级oshi到最新版本v5.8.6升级fastjson到最新版1.2.79升级spring-boot到最新版本2.5.8升级log4j2到2.17.1,防止漏洞风险优化下载解析blob异常提示优化代码生成字典组重复问题优化查询用户的角色组&岗位组代码优化定时任务cron表达式小时设置24优化用户导入提示溢出则显示滚动条优化防重复提交标识组合为(key+url+header)优化分页方法设置成通用方便灵活调用其他细节优化v3.8.0 - 2021-12-01新增配套并同步的Vue3前端版本新增通用方法简化模态/缓存/下载/权限/页签使用优化导出数据/使用通用下载方法Excel注解支持自定义数据处理器Excel注解支持导入导出标题信息Excel导入支持@Excels注解新增组件data-dict,简化数据字典使用新增Jaxb依赖,防止jdk8以上出现的兼容错误生产环境使用路由懒加载提升页面响应速度修复五级以上菜单出现的404问题防重提交注解支持配置间隔时间/提示消息日志注解新增是否保存响应参数任务屏蔽违规字符&参数忽略双引号中的逗号升级SpringBoot到最新版本2.5.6升级pagehelper到最新版1.4.0升级spring-boot-mybatis到最新版2.2.0升级oshi到最新版本v5.8.2升级druid到最新版1.2.8升级velocity到最新版本2.3升级fastjson到最新版1.2.78升级axios到最新版本0.24.0升级dart-sass到版本1.32.13升级core-js到最新版本3.19.1升级jsencrypt到最新版本3.2.1升级js-cookie到最新版本3.0.1升级file-saver到最新版本2.0.5升级sass-loader到最新版本10.1.1升级element-ui到最新版本2.15.6新增sendGet无参请求方法禁用el-tag组件的渐变动画代码生成点击预览重置激活tabAjaxResult重写put方法,以方便链式调用优化登录/验证码请求headers不设置token优化用户个人信息接口防止修改用户名优化Cron表达式生成器关闭时销毁避免缓存优化注册成功提示消息类型success优化aop语法,使用spring自动注入注解优化记录登录信息,移除不必要的修改优化mybatis全局默认的执行器优化Excel导入图片可能出现的异常修复代码生成模板主子表删除缺少事务修复日志记录可能出现的转换异常修复代码生成复选框字典遗漏问题修复关闭xss功能导致可重复读RepeatableFilter失效修复字符串无法被反转义问题修复后端主子表代码模板方法名生成错误问题修复xss过滤后格式出现的异常修复swagger没有指定dataTypeClass导致启动出现warn日志其他细节优化v3.7.0 - 2021-09-13参数管理支持配置验证码开关新增是否开启用户注册功能定时任务支持在线生成cron表达式菜单管理支持配置路由参数支持自定义注解实现接口限流Excel注解支持Image图片导入自定义弹层溢出滚动样式自定义可拖动弹窗宽度指令自定义可拖动弹窗高度指令修复任意账户越权问题修改时检查用户数据权限范围修复保存配置主题颜色失效问题新增暗色菜单风格主题菜单&部门新增展开/折叠功能页签新增关闭左侧&添加图标顶部菜单排除隐藏的默认路由顶部菜单同步系统主题样式跳转路由高亮相对应的菜单栏代码生成主子表多选行数据日期范围支持添加多组升级element-ui到最新版本2.15.5升级oshi到最新版本v5.8.0升级commons.io到最新版本v2.11.0定时任务屏蔽ldap远程调用定时任务屏蔽http(s)远程调用补充定时任务表字段注释定时任务对检查异常进行事务回滚启用父部门状态排除顶级节点富文本新增上传文件大小限制默认首页使用keep-alive缓存修改代码生成字典回显样式自定义分页合理化传入参数修复字典组件值为整形不显示问题修复定时任务日志执行状态显示角色&菜单新增字段属性提示信息修复角色分配用户页面参数类型错误提醒优化布局设置动画特效优化异常处理信息优化错误token导致的解析异常密码框新增显示切换密码图标定时任务新增更多操作更多操作按钮添加权限控制导入用户样式优化提取通用方法到基类控制器优化使用权限工具获取用户信息优化用户不能删除自己优化XSS跨站脚本过滤优化代码生成模板验证码默认20s超时BLOB下载时清除URL对象引用代码生成导入表按创建时间排序修复代码生成页面数据编辑保存之后总是跳转第一页的问题修复带safari浏览器无法格式化utc日期格式yyyy-MM-dd'T'HH:mm:ss.SSS问题多图上传组件移除多余的api地址&验证失败导致图片删除问题&无法删除相应图片修复其他细节优化v3.6.0 - 2021-07-12角色管理新增分配用户功能用户管理新增分配角色功能日志列表支持排序操作优化参数&字典缓存操作系统布局配置支持动态标题开关菜单路由配置支持内链访问默认访问后端首页新增提示语富文本默认上传返回url类型新增自定义弹窗拖拽指令全局注册常用通用组件全局挂载字典标签组件ImageUpload组件支持多图片上传FileUpload组件支持多文件上传文件上传组件添加数量限制属性富文本编辑组件添加类型属性富文本组件工具栏配置视频封装通用iframe组件限制超级管理员不允许操作用户信息长度校验限制分页组件新增pagerCount属性添加bat脚本执行应用升级oshi到最新版本v5.7.4升级element-ui到最新版本2.15.2升级pagehelper到最新版1.3.1升级commons.io到最新版本v2.10.0升级commons.fileupload到最新版本v1.4升级swagger到最新版本v3.0.0修复关闭confirm提示框控制台报错问题修复存在的SQL注入漏洞问题定时任务屏蔽rmi远程调用修复用户搜索分页变量错误修复导出角色数据范围翻译缺少仅本人修复表单构建选择下拉选择控制台报错问题优化图片工具类读取文件其他细节优化v3.5.0 - 2021-05-25新增菜单导航显示风格TopNav(false为左侧导航菜单,true为顶部导航菜单)布局设置支持保存&重置配置修复树表数据显示不全&加载慢问题新增IE浏览器版本过低提示页面用户登录后记录最后登录IP&时间页面导出按钮点击之后添加遮罩富文本编辑器支持自定义上传地址富文本编辑组件新增readOnly属性页签TagsView新增关闭右侧功能显隐列组件加载初始默认隐藏列关闭头像上传窗口还原默认图片个人信息添加手机&邮箱重复验证代码生成模板导出按钮点击后添加遮罩代码生成模板树表操作列添加新增按钮代码生成模板修复主子表字段重名问题升级fastjson到最新版1.2.76升级druid到最新版本v1.2.6升级mybatis到最新版3.5.6 阻止远程代码执行漏洞升级oshi到最新版本v5.6.0velocity剔除commons-collections版本,防止3.2.1版本的反序列化漏洞数据监控页默认账户密码防止越权访问修复firefox下表单构建拖拽会新打卡一个选项卡修正后端导入表权限标识修正前端操作日志&登录日志权限标识设置Redis配置HashKey序列化删除操作日志记录信息上传媒体类型添加视频格式修复请求形参未传值记录日志异常问题优化xss校验json请求条件树级结构更新子节点使用replaceFirst优化ExcelUtil空值处理日志记录过滤BindingResult对象,防止异常修改主题后mini类型按钮无效问题优化通用下载完成后删除节点通用Controller添加响应返回消息其他细节优化v3.4.0 - 2021-02-22代码生成模板支持主子表表格右侧工具栏组件支持显隐列图片组件添加预览&移除功能Excel注解支持Image图片导出操作按钮组调整为朴素按钮样式代码生成支持文件上传组件代码生成日期控件区分范围代码生成数据库文本类型生成表单文本域用户手机邮箱&菜单组件修改允许空字符串升级SpringBoot到最新版本2.2.13 提升启动速度升级druid到最新版本v1.2.4升级fastjson到最新版1.2.75升级element-ui到最新版本2.15.0修复IE11浏览器报错问题优化多级菜单之间切换无法缓存的问题修复四级菜单无法显示问题修正侧边栏静态路由丢失问题修复角色管理-编辑角色-功能权限显示异常配置文件新增redis数据库索引属性权限工具类增加admin判断角色非自定义权限范围清空选择值修复导入数据为负浮点数时丢失精度问题移除path-to-regexp正则匹配插件修复生成树表代码异常修改ip字段长度防止ipv6地址长度不够防止get请求参数值为false或0等特殊值会导致无法正确的传参登录后push添加catch防止出现检查错误其他细节优化v3.3.0 - 2020-12-14新增缓存监控功能支持主题风格配置修复多级菜单之间切换无法缓存的问题多级菜单自动配置组件代码生成预览支持高亮显示支持Get请求映射Params参数删除用户和角色解绑关联去除用户手机邮箱部门必填验证Excel支持注解align对齐方式Excel支持导入Boolean型数据优化头像样式,鼠标移入悬停遮罩代码生成预览提供滚动机制代码生成删除多余的数字float类型修正转换字符串的目标字符集属性回显数据字典防止空值报错日志记录增加过滤多文件场景修改缓存Set方法可能导致嵌套的问题移除前端一些多余的依赖防止安全扫描YUI出现的风险提示修改node-sass为dart-sass升级SpringBoot到最新版本2.1.18升级poi到最新版本4.1.2升级oshi到最新版本v5.3.6升级bitwalker到最新版本1.21升级axios到最新版本0.21.0升级element-ui到最新版本2.14.1升级vue到最新版本2.6.12升级vuex到最新版本3.6.0升级vue-cli到版本4.5.9升级vue-router到最新版本3.4.9升级vue-cli到最新版本4.4.6升级vue-cropper到最新版本0.5.5升级clipboard到最新版本2.0.6升级core-js到最新版本3.8.1升级echarts到最新版本4.9.0升级file-saver到最新版本2.0.4升级fuse.js到最新版本6.4.3升级js-beautify到最新版本1.13.0升级js-cookie到最新版本2.2.1升级path-to-regexp到最新版本6.2.0升级quill到最新版本1.3.7升级screenfull到最新版本5.0.2升级sortablejs到最新版本1.10.2升级vuedraggable到最新版本2.24.3升级chalk到最新版本4.1.0升级eslint到最新版本7.15.0升级eslint-plugin-vue到最新版本7.2.0升级lint-staged到最新版本10.5.3升级runjs到最新版本4.4.2升级sass-loader到最新版本10.1.0升级script-ext-html-webpack-plugin到最新版本2.1.5升级svg-sprite-loader到最新版本5.1.1升级vue-template-compiler到最新版本2.6.12其他细节优化v3.2.1 - 2020-11-18阻止任意文件下载漏洞代码生成支持上传控件新增图片上传组件调整默认首页升级druid到最新版本v1.2.2mapperLocations配置支持分隔符权限信息调整调整sql默认时间解决代码生成没有bit类型的问题升级pagehelper到最新版1.3.0v3.2.0 - 2020-10-10升级springboot版本到2.1.17 提升安全性升级oshi到最新版本v5.2.5升级druid到最新版本v1.2.1升级jjwt到版本0.9.1升级fastjson到最新版1.2.74修改sass为node-sass,避免el-icon图标乱码代码生成支持同步数据库代码生成支持富文本控件代码生成页面时不忽略remark属性代码生成添加select必填选项Excel导出类型NUMERIC支持精度浮点类型Excel导出targetAttr优化获取值,防止get方法不规范Excel注解支持自动统计数据总和Excel注解支持设置BigDecimal精度&舍入规则菜单&数据权限新增(展开/折叠 全选/全不选 父子联动)允许用户分配到部门父节点菜单新增是否缓存keep-alive表格操作列间距调整限制系统内置参数不允许删除富文本组件优化,支持自定义高度&图片冲突问题富文本工具栏样式对齐导入excel整形值校验优化修复页签关闭所有时固定标签路由不刷新问题表单构建布局型组件新增按钮左侧菜单文字过长显示省略号修正根节点为子部门时,树状结构显示问题修正调用目标字符串最大长度修正菜单提示信息错误修正定时任务执行一次权限标识修正数据库字符串类型nvarchar优化递归子节点优化数据权限判断其他细节优化v3.1.0 - 2020-08-13表格工具栏右侧添加刷新&显隐查询组件后端支持CORS跨域请求代码生成支持选择上级菜单代码生成支持自定义路径代码生成支持复选框Excel导出导入支持dictType字典类型Excel支持分割字符串组内容验证码类型支持(数组计算、字符验证)升级vue-cli版本到4.4.4修改 node-sass 为 dart-sass表单类型为Integer/Long设置整形默认值代码生成器默认mapper路径与默认mapperScan路径不一致优化防重复提交拦截器优化上级菜单不能选择自己修复角色的权限分配后,未实时生效问题修复在线用户日志记录类型修复富文本空格和缩进保存后不生效问题修复在线用户判断逻辑唯一限制条件只返回单条数据添加获取当前的环境配置方法超时登录后页面跳转到首页全局异常状态汉化拦截处理HTML过滤器改为将html转义检查字符支持小数点&降级改成异常提醒其他细节优化v3.0.0 - 2020-07-20单应用调整为多模块项目升级element-ui版本到2.13.2删除babel,提高编译速度。新增菜单默认主类目编码文件名修改为uuid方式定时任务cron表达式验证角色权限修改时已有权限未自动勾选异常修复防止切换权限用户后登录出现404Excel支持sort导出排序创建用户不允许选择超级管理员角色修复代码生成导入表结构出现异常页面不提醒问题修复代码生成点击多次表修改数据不变化的问题修复头像上传成功二次打开无法改变裁剪框大小和位置问题修复布局为small者mini用户表单显示错位问题修复热部署导致的强换异常问题修改用户管理复选框宽度,防止部分浏览器出现省略号IpUtils工具,清除Xss特殊字符,防止Xff注入攻击生成domain 如果是浮点型 统一用BigDecimal定时任务调整label-width,防止部署出现错位调整表头固定列默认样式代码生成模板调整,字段为String并且必填则加空串条件代码生成字典Integer/Long使用parseInt 修复dict_sort不可update为0的问题&查询返回增加dict_sort升序排序 修正岗位导出权限注解禁止加密密文返回前端修复代码生成页面中的查询条件创建时间未生效的问题修复首页搜索菜单外链无法点击跳转问题修复菜单管理选择图标,backspace删除时不过滤数据用户管理部门分支节点不可检查&显示计数数据范围过滤属性调整其他细节优化v2.3.0 - 2020-06-01升级fastjson到最新版1.2.70 修复高危安全漏洞dev启动默认打开浏览器vue-cli使用默认source-mapslidebar eslint报错优化当tags-view滚动关闭右键菜单字典管理添加缓存读取参数管理支持缓存操作支持一级菜单(和主页同级)在main区域显示限制外链地址必须以http(s)开头tagview & sidebar 主题颜色与element ui(全局)同步修改数据源类型优先级,先根据方法,再根据类支持是否需要设置token属性,自定义返回码消息。swagger请求前缀加入配置。登录地点设置内容过长则隐藏显示修复定时任务执行一次按钮后不提示消息问题修改上级部门(选择项排除本身和下级)通用http发送方法增加参数 contentType 编码类型更换IP地址查询接口修复页签变量undefined添加校验部门包含未停用的子部门修改定时任务详情下次执行时间日期显示错误角色管理查询设置默认排序字段swagger添加enable参数控制是否启用只对json类型请求构建可重复读取inputStream的request修改代码生成字典字段int类型没有自动选中问题vuex用户名取值修正表格树模板去掉多余的)代码生成序号修正全屏情况下不调整上外边距代码生成Date字段添加默认格式用户管理角色选择权限控制修复路由懒加载报错问题模板sql.vm添加菜单状态设置用户名称不能修改dialog添加append-to-body属性,防止ie遮罩菜单区分状态和显示隐藏功能升级fastjson到最新版1.2.68 修复安全加固修复代码生成如果选择字典类型缺失逗号问题登录请求params更换为data,防止暴露url日志返回时间格式处理添加handle控制允许拖动的元素布局设置点击扩大范围代码生成列属性排序查询代码生成列支持拖动排序修复时间格式不支持ios问题表单构建添加父级class,防止冲突定时任务并发属性修正角色禁用&菜单隐藏不查询权限其他细节优化v2.2.0 - 2020-03-18系统监控新增定时任务功能添加一个打包Web工程bat修复页签鼠标滚轮按下的时候,可以关闭不可关闭的tag修复点击退出登录有时会无提示问题修复防重复提交注解无效问题修复通知公告批量删除异常问题添加菜单时路由地址必填限制代码生成字段描述可编辑修复用户修改个人信息导致缓存不过期问题个人信息创建时间获取正确属性值操作日志详细显示正确类型导入表单击行数据时选中对应的复选框批量替换表前缀逻辑调整固定重定向路径表达式升级element-ui版本到2.13.0操作日志排序调整修复charts切换侧边栏或者缩放窗口显示bug其他细节优化v2.1.0 - 2020-02-24新增表单构建代码生成支持树表结构新增用户导入修复动态加载路由页面刷新问题修复地址开关无效问题汉化错误提示页面代码生成已知问题修改修复多数据源下配置关闭出现异常处理添加HTML过滤器,用于去除XSS漏洞隐患修复上传头像控制台出现异常修改用户管理分页不正确的问题修复验证码记录提示错误修复request.js缺少Message引用修复表格时间为空出现的异常添加Jackson日期反序列化时区配置调整根据用户权限加载菜单数据树形结构调整成功登录不恢复按钮,防止多次点击修改用户个人资料同步缓存信息修复页面同时出现el-upload和Editor不显示处理修复在角色管理页修改菜单权限偶尔未选中问题配置文件新增redis密码属性设置mybatis全局的配置文件其他细节优化v2.0.0 - 2019-12-02新增代码生成新增@RepeatSubmit注解,防止重复提交新增菜单主目录添加/删除操作日志记录过滤特殊对象,防止转换异常修改代码生成路由脚本错误用户上传头像实时同步缓存,无需重新登录调整切换页签后不重新加载数据添加jsencrypt实现参数的前端加密系统退出删除用户缓存记录其他细节优化v1.1.0 - 2019-11-11新增在线用户管理新增按钮组功能实现(批量删除、导出、清空)新增查询条件重置按钮新增Swagger全局Token配置新增后端参数校验修复字典管理页面的日期查询异常修改时间函数命名防止冲突去除菜单上级校验,默认为顶级修复用户密码无法修改问题修复菜单类型为按钮时不显示权限标识其他细节优化v1.0.0 - 2019-10-08若依前后端分离系统正式发布捐赠支持你可以请作者喝杯咖啡表示鼓励"}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,3,4],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":10,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"url":"http://vue.ruoyi.vip/index","links":"http://vue.ruoyi.vip/index","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"cookies":""}},{"id":-1,"index":2,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"codeMode":0,"code":"","waitTime":0,"recordASField":0,"paraType":"text"}},{"id":2,"index":3,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"el-button--primary\")]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[1]/div[1]/form[1]/div[4]/div[1]/button[1]","//button[contains(., '登 录')]","//BUTTON[@class='el-button el-button--primary el-button--medium']","/html/body/div[last()-3]/div[last()-1]/form/div/div/button"]}},{"id":3,"index":4,"parentId":0,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"paras":[{"nodeType":0,"contentType":0,"relative":false,"name":"参数1_文本","desc":"","extractType":0,"relativeXPath":"/html/body/div[1]/div[1]/div[2]/section[1]","allXPaths":["/html/body/div[1]/div[1]/div[2]/section[1]","//section[contains(., '领取阿里云通用云产')]","//SECTION[@class='app-main']","/html/body/div[last()-3]/div[last()-1]/div/section"],"exampleValues":[{"num":0,"value":" 领取阿里云通用云产品1888优惠券 https://www.aliyun.com/minisite/goods?userCode=brki8iof 领取腾讯云通用云产品2860优惠券 https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console 阿里云服务器折扣区 >☛☛点我进入☚☚ 腾讯云服务器秒杀区 >☛☛点我进入☚☚ 云产品通用红包,可叠加官网常规优惠使用。(仅限新用户) 若依后台管理框架 一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了若依管理系统,她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。 当前版本: v3.8.6¥免费开源访问码云访问主页技术选型后端技术SpringBootSpring SecurityJWTMyBatisDruidFastjson...前端技术VueVuexElement-uiAxiosSassQuill...联系信息 官网:http://www.ruoyi.vip QQ群: 满937441 满887144332 满180251782 满104180207 满186866453 满201396349 满101456076 满101539465 满264312783 满167385320 满104748341 满160110482 满170801498 满108482800 满101046199 136919097 微信:/ *若依 支付宝:/ *若依更新日志v3.8.6 - 2023-06-30支持登录IP黑名单限制新增监控页面图标显示操作日志新增消耗时间属性屏蔽定时任务bean违规的字符日志管理使用索引提升查询性能日志注解支持排除指定的请求参数支持自定义隐藏属性列过滤子对象升级oshi到最新版本6.4.3升级druid到最新版本1.2.16升级fastjson到最新版2.0.34升级spring-boot到最新版本2.5.15升级element-ui到最新版本2.15.13移除apache/commons-fileupload依赖修复页面切换时布局错乱的问题修复匿名注解Anonymous空指针问题修复路由跳转被阻止时内部产生报错信息问题修复isMatchedIp的参数判断产生空指针的问题修复用户多角色数据权限可能出现权限抬升的情况修复开启TopNav后一级菜单路由参数设置无效问题修复DictTag组件value没有匹配的值时则展示value优化文件下载出现的异常优化选择图标组件高亮回显优化弹窗后导航栏偏移的问题优化修改密码日志存储明文问题优化页签栏关闭其他出现的异常问题优化页签关闭左侧选项排除首页选项优化关闭当前tab页跳转最右侧tab页优化缓存列表清除操作提示不变的问题优化字符未使用下划线不进行驼峰式处理优化用户导入更新时需获取用户编号问题优化侧边栏的平台标题与VUE_APP_TITLE保持同步优化导出Excel时设置dictType属性重复查缓存问题连接池Druid支持新的配置connectTimeout和socketTimeout其他细节优化v3.8.5 - 2023-01-01定时任务违规的字符重置时取消部门选中新增返回警告消息提示忽略不必要的属性数据返回修改参数键名时移除前缓存配置导入更新用户数据前校验数据权限兼容Excel下拉框内容过多无法显示的问题升级echarts到最新版本5.4.0升级core-js到最新版本3.25.3升级oshi到最新版本6.4.0升级kaptcha到最新版2.3.3升级druid到最新版本1.2.15升级fastjson到最新版2.0.20升级pagehelper到最新版1.4.6优化弹窗内容过多展示不全问题优化swagger-ui静态资源使用缓存开启TopNav没有子菜单隐藏侧边栏删除fuse无效选项maxPatternLength优化导出对象的子列表为空会出现[]问题优化编辑头像时透明部分会变成黑色问题优化小屏幕上修改头像界面布局错位的问题修复代码生成勾选属性无效问题修复文件上传组件格式验证问题修复回显数据字典数组异常问题修复sheet超出最大行数异常问题修复Log注解GET请求记录不到参数问题修复调度日志点击多次数据不变化的问题修复主题颜色在Drawer组件不会加载问题修复文件名包含特殊字符的文件无法下载问题修复table中更多按钮切换主题色未生效修复问题修复某些特性的环境生成代码变乱码TXT文件问题修复代码生成图片/文件/单选时选择必填无法校验问题修复某些特性的情况用户编辑对话框中角色和部门无法修改问题其他细节优化v3.8.4 - 2022-09-26数据逻辑删除不进行唯一验证Excel注解支持导出对象的子列表方法Excel注解支持自定义隐藏属性列Excel注解支持backgroundColor属性设置背景色支持配置密码最大错误次数/锁定时间登录日志新增解锁账户功能通用下载方法新增config配置选项支持多权限字符匹配角色数据权限页面内嵌iframe切换tab不刷新数据操作日志记录支持排除敏感属性字段修复多文件上传报错出现的异常问题修复图片预览组件src属性为null值控制台报错问题升级oshi到最新版本6.2.2升级fastjson到最新版2.0.14升级pagehelper到最新版1.4.3升级core-js到最新版本3.25.2升级element-ui到最新版本2.15.10优化任务过期不执行调度优化字典数据使用store存取优化修改资料头像被覆盖的问题优化修改用户登录账号重复验证优化代码生成同步后值NULL问题优化定时任务支持执行父类方法优化用户个人信息接口防止修改部门优化布局设置使用el-drawer抽屉显示优化没有权限的用户编辑部门缺少数据优化日志注解记录限制请求地址的长度优化excel/scale属性导出单元格数值类型优化日志操作中重置按钮时重复查询的问题优化多个相同角色数据导致权限SQL重复问题优化表格上右侧工具条(搜索按钮显隐&右侧样式凸出)其他细节优化v3.8.3 - 2022-06-27新增缓存列表菜单功能代码生成树表新增(展开/折叠)Excel注解支持color字体颜色新增Anonymous匿名访问不鉴权注解用户头像上传限制只能为图片格式接口使用泛型使其看到响应属性字段检查定时任务bean所在包名是否为白名单配置添加页签openPage支持传递参数用户缓存信息添加部门ancestors祖级列表升级element-ui到最新版本2.15.8升级oshi到最新版本6.1.6升级druid到最新版本1.2.11升级fastjson到最新版2.0.8升级spring-boot到最新版本2.5.14降级jsencrypt版本兼容IE浏览器删除多余的salt字段新增获取不带后缀文件名称方法新增获取配置文件中的属性值方法新增内容编码/解码方便插件集成使用字典类型必须以字母开头,且只能为(小写字母,数字,下滑线)优化设置分页参数默认值优化对空字符串参数处理的过滤优化显示顺序orderNum类型为整型优化表单构建按钮不显示正则校验优化字典数据回显样式下拉框显示值优化R响应成功状态码与全局保持一致优化druid开启wall过滤器出现的异常问题优化用户管理左侧树型组件增加选中高亮保持优化新增用户与角色信息&用户与岗位信息逻辑优化默认不启用压缩文件缓存防止node_modules过大修复字典数据显示不全问题修复操作日志查询类型条件为0时会查到所有数据修复Excel注解prompt/combo同时使用不生效问题其他细节优化v3.8.2 - 2022-04-01前端支持设置是否需要防止数据重复提交开启TopNav没有子菜单情况隐藏侧边栏侧边栏菜单名称过长悬停显示标题用户访问控制时校验数据权限,防止越权导出Excel时屏蔽公式,防止CSV注入风险组件ImagePreview支持多图预览显示组件ImageUpload支持多图同时选择上传组件FileUpload支持多文件同时选择上传服务监控新增运行参数信息显示定时任务目标字符串过滤特殊字符定时任务目标字符串验证包名白名单代码生成列表图片支持预览代码生成编辑修改打开新页签代码生成新增Java类型Boolean代码生成子表支持日期/字典配置代码生成同步保留必填/类型选项升级oshi到最新版本6.1.2升级fastjson到最新版1.2.80升级pagehelper到最新版1.4.1升级spring-boot到最新版本2.5.11升级spring-boot-mybatis到最新版2.2.2添加遗漏的分页参数合理化属性修改npm即将过期的注册源地址修复分页组件请求两次问题修复通用文件下载接口跨域问题修复Xss注解字段值为空时的异常问题修复选项卡点击右键刷新丢失参数问题修复表单清除元素位置未垂直居中问题修复服务监控中运行参数显示条件错误修复导入Excel时字典字段类型为Long转义为空问题修复登录超时刷新页面跳转登录页面还提示重新登录问题优化加载字典缓存数据优化IP地址获取到多个的问题优化任务队列满时任务拒绝策略优化文件上传兼容Weblogic环境优化定时任务默认保存到内存中执行优化部门修改缩放后出现的错位问题优化Excel格式化不同类型的日期对象优化菜单表关键字导致的插件报错问题优化Oracle用户头像列为空时不显示问题优化页面若未匹配到字典标签则返回原字典值优化修复登录失效后多次请求提示多次弹窗问题其他细节优化v3.8.1 - 2022-01-01新增Vue3前端代码生成模板新增图片预览组件新增压缩插件实现打包Gzip自定义xss校验注解实现自定义文字复制剪贴指令代码生成预览支持复制内容路由支持单独配置菜单或角色权限用户管理部门查询选择节点后分页参数初始修复用户分配角色属性错误修复打包后字体图标偶现的乱码问题修复菜单管理重置表单出现的错误修复版本差异导致的懒加载报错问题修复Cron组件中周回显问题修复定时任务多参数逗号分隔的问题修复根据ID查询列表可能出现的主键溢出问题修复tomcat配置参数已过期问题升级clipboard到最新版本2.0.8升级oshi到最新版本v5.8.6升级fastjson到最新版1.2.79升级spring-boot到最新版本2.5.8升级log4j2到2.17.1,防止漏洞风险优化下载解析blob异常提示优化代码生成字典组重复问题优化查询用户的角色组&岗位组代码优化定时任务cron表达式小时设置24优化用户导入提示溢出则显示滚动条优化防重复提交标识组合为(key+url+header)优化分页方法设置成通用方便灵活调用其他细节优化v3.8.0 - 2021-12-01新增配套并同步的Vue3前端版本新增通用方法简化模态/缓存/下载/权限/页签使用优化导出数据/使用通用下载方法Excel注解支持自定义数据处理器Excel注解支持导入导出标题信息Excel导入支持@Excels注解新增组件data-dict,简化数据字典使用新增Jaxb依赖,防止jdk8以上出现的兼容错误生产环境使用路由懒加载提升页面响应速度修复五级以上菜单出现的404问题防重提交注解支持配置间隔时间/提示消息日志注解新增是否保存响应参数任务屏蔽违规字符&参数忽略双引号中的逗号升级SpringBoot到最新版本2.5.6升级pagehelper到最新版1.4.0升级spring-boot-mybatis到最新版2.2.0升级oshi到最新版本v5.8.2升级druid到最新版1.2.8升级velocity到最新版本2.3升级fastjson到最新版1.2.78升级axios到最新版本0.24.0升级dart-sass到版本1.32.13升级core-js到最新版本3.19.1升级jsencrypt到最新版本3.2.1升级js-cookie到最新版本3.0.1升级file-saver到最新版本2.0.5升级sass-loader到最新版本10.1.1升级element-ui到最新版本2.15.6新增sendGet无参请求方法禁用el-tag组件的渐变动画代码生成点击预览重置激活tabAjaxResult重写put方法,以方便链式调用优化登录/验证码请求headers不设置token优化用户个人信息接口防止修改用户名优化Cron表达式生成器关闭时销毁避免缓存优化注册成功提示消息类型success优化aop语法,使用spring自动注入注解优化记录登录信息,移除不必要的修改优化mybatis全局默认的执行器优化Excel导入图片可能出现的异常修复代码生成模板主子表删除缺少事务修复日志记录可能出现的转换异常修复代码生成复选框字典遗漏问题修复关闭xss功能导致可重复读RepeatableFilter失效修复字符串无法被反转义问题修复后端主子表代码模板方法名生成错误问题修复xss过滤后格式出现的异常修复swagger没有指定dataTypeClass导致启动出现warn日志其他细节优化v3.7.0 - 2021-09-13参数管理支持配置验证码开关新增是否开启用户注册功能定时任务支持在线生成cron表达式菜单管理支持配置路由参数支持自定义注解实现接口限流Excel注解支持Image图片导入自定义弹层溢出滚动样式自定义可拖动弹窗宽度指令自定义可拖动弹窗高度指令修复任意账户越权问题修改时检查用户数据权限范围修复保存配置主题颜色失效问题新增暗色菜单风格主题菜单&部门新增展开/折叠功能页签新增关闭左侧&添加图标顶部菜单排除隐藏的默认路由顶部菜单同步系统主题样式跳转路由高亮相对应的菜单栏代码生成主子表多选行数据日期范围支持添加多组升级element-ui到最新版本2.15.5升级oshi到最新版本v5.8.0升级commons.io到最新版本v2.11.0定时任务屏蔽ldap远程调用定时任务屏蔽http(s)远程调用补充定时任务表字段注释定时任务对检查异常进行事务回滚启用父部门状态排除顶级节点富文本新增上传文件大小限制默认首页使用keep-alive缓存修改代码生成字典回显样式自定义分页合理化传入参数修复字典组件值为整形不显示问题修复定时任务日志执行状态显示角色&菜单新增字段属性提示信息修复角色分配用户页面参数类型错误提醒优化布局设置动画特效优化异常处理信息优化错误token导致的解析异常密码框新增显示切换密码图标定时任务新增更多操作更多操作按钮添加权限控制导入用户样式优化提取通用方法到基类控制器优化使用权限工具获取用户信息优化用户不能删除自己优化XSS跨站脚本过滤优化代码生成模板验证码默认20s超时BLOB下载时清除URL对象引用代码生成导入表按创建时间排序修复代码生成页面数据编辑保存之后总是跳转第一页的问题修复带safari浏览器无法格式化utc日期格式yyyy-MM-dd'T'HH:mm:ss.SSS问题多图上传组件移除多余的api地址&验证失败导致图片删除问题&无法删除相应图片修复其他细节优化v3.6.0 - 2021-07-12角色管理新增分配用户功能用户管理新增分配角色功能日志列表支持排序操作优化参数&字典缓存操作系统布局配置支持动态标题开关菜单路由配置支持内链访问默认访问后端首页新增提示语富文本默认上传返回url类型新增自定义弹窗拖拽指令全局注册常用通用组件全局挂载字典标签组件ImageUpload组件支持多图片上传FileUpload组件支持多文件上传文件上传组件添加数量限制属性富文本编辑组件添加类型属性富文本组件工具栏配置视频封装通用iframe组件限制超级管理员不允许操作用户信息长度校验限制分页组件新增pagerCount属性添加bat脚本执行应用升级oshi到最新版本v5.7.4升级element-ui到最新版本2.15.2升级pagehelper到最新版1.3.1升级commons.io到最新版本v2.10.0升级commons.fileupload到最新版本v1.4升级swagger到最新版本v3.0.0修复关闭confirm提示框控制台报错问题修复存在的SQL注入漏洞问题定时任务屏蔽rmi远程调用修复用户搜索分页变量错误修复导出角色数据范围翻译缺少仅本人修复表单构建选择下拉选择控制台报错问题优化图片工具类读取文件其他细节优化v3.5.0 - 2021-05-25新增菜单导航显示风格TopNav(false为左侧导航菜单,true为顶部导航菜单)布局设置支持保存&重置配置修复树表数据显示不全&加载慢问题新增IE浏览器版本过低提示页面用户登录后记录最后登录IP&时间页面导出按钮点击之后添加遮罩富文本编辑器支持自定义上传地址富文本编辑组件新增readOnly属性页签TagsView新增关闭右侧功能显隐列组件加载初始默认隐藏列关闭头像上传窗口还原默认图片个人信息添加手机&邮箱重复验证代码生成模板导出按钮点击后添加遮罩代码生成模板树表操作列添加新增按钮代码生成模板修复主子表字段重名问题升级fastjson到最新版1.2.76升级druid到最新版本v1.2.6升级mybatis到最新版3.5.6 阻止远程代码执行漏洞升级oshi到最新版本v5.6.0velocity剔除commons-collections版本,防止3.2.1版本的反序列化漏洞数据监控页默认账户密码防止越权访问修复firefox下表单构建拖拽会新打卡一个选项卡修正后端导入表权限标识修正前端操作日志&登录日志权限标识设置Redis配置HashKey序列化删除操作日志记录信息上传媒体类型添加视频格式修复请求形参未传值记录日志异常问题优化xss校验json请求条件树级结构更新子节点使用replaceFirst优化ExcelUtil空值处理日志记录过滤BindingResult对象,防止异常修改主题后mini类型按钮无效问题优化通用下载完成后删除节点通用Controller添加响应返回消息其他细节优化v3.4.0 - 2021-02-22代码生成模板支持主子表表格右侧工具栏组件支持显隐列图片组件添加预览&移除功能Excel注解支持Image图片导出操作按钮组调整为朴素按钮样式代码生成支持文件上传组件代码生成日期控件区分范围代码生成数据库文本类型生成表单文本域用户手机邮箱&菜单组件修改允许空字符串升级SpringBoot到最新版本2.2.13 提升启动速度升级druid到最新版本v1.2.4升级fastjson到最新版1.2.75升级element-ui到最新版本2.15.0修复IE11浏览器报错问题优化多级菜单之间切换无法缓存的问题修复四级菜单无法显示问题修正侧边栏静态路由丢失问题修复角色管理-编辑角色-功能权限显示异常配置文件新增redis数据库索引属性权限工具类增加admin判断角色非自定义权限范围清空选择值修复导入数据为负浮点数时丢失精度问题移除path-to-regexp正则匹配插件修复生成树表代码异常修改ip字段长度防止ipv6地址长度不够防止get请求参数值为false或0等特殊值会导致无法正确的传参登录后push添加catch防止出现检查错误其他细节优化v3.3.0 - 2020-12-14新增缓存监控功能支持主题风格配置修复多级菜单之间切换无法缓存的问题多级菜单自动配置组件代码生成预览支持高亮显示支持Get请求映射Params参数删除用户和角色解绑关联去除用户手机邮箱部门必填验证Excel支持注解align对齐方式Excel支持导入Boolean型数据优化头像样式,鼠标移入悬停遮罩代码生成预览提供滚动机制代码生成删除多余的数字float类型修正转换字符串的目标字符集属性回显数据字典防止空值报错日志记录增加过滤多文件场景修改缓存Set方法可能导致嵌套的问题移除前端一些多余的依赖防止安全扫描YUI出现的风险提示修改node-sass为dart-sass升级SpringBoot到最新版本2.1.18升级poi到最新版本4.1.2升级oshi到最新版本v5.3.6升级bitwalker到最新版本1.21升级axios到最新版本0.21.0升级element-ui到最新版本2.14.1升级vue到最新版本2.6.12升级vuex到最新版本3.6.0升级vue-cli到版本4.5.9升级vue-router到最新版本3.4.9升级vue-cli到最新版本4.4.6升级vue-cropper到最新版本0.5.5升级clipboard到最新版本2.0.6升级core-js到最新版本3.8.1升级echarts到最新版本4.9.0升级file-saver到最新版本2.0.4升级fuse.js到最新版本6.4.3升级js-beautify到最新版本1.13.0升级js-cookie到最新版本2.2.1升级path-to-regexp到最新版本6.2.0升级quill到最新版本1.3.7升级screenfull到最新版本5.0.2升级sortablejs到最新版本1.10.2升级vuedraggable到最新版本2.24.3升级chalk到最新版本4.1.0升级eslint到最新版本7.15.0升级eslint-plugin-vue到最新版本7.2.0升级lint-staged到最新版本10.5.3升级runjs到最新版本4.4.2升级sass-loader到最新版本10.1.0升级script-ext-html-webpack-plugin到最新版本2.1.5升级svg-sprite-loader到最新版本5.1.1升级vue-template-compiler到最新版本2.6.12其他细节优化v3.2.1 - 2020-11-18阻止任意文件下载漏洞代码生成支持上传控件新增图片上传组件调整默认首页升级druid到最新版本v1.2.2mapperLocations配置支持分隔符权限信息调整调整sql默认时间解决代码生成没有bit类型的问题升级pagehelper到最新版1.3.0v3.2.0 - 2020-10-10升级springboot版本到2.1.17 提升安全性升级oshi到最新版本v5.2.5升级druid到最新版本v1.2.1升级jjwt到版本0.9.1升级fastjson到最新版1.2.74修改sass为node-sass,避免el-icon图标乱码代码生成支持同步数据库代码生成支持富文本控件代码生成页面时不忽略remark属性代码生成添加select必填选项Excel导出类型NUMERIC支持精度浮点类型Excel导出targetAttr优化获取值,防止get方法不规范Excel注解支持自动统计数据总和Excel注解支持设置BigDecimal精度&舍入规则菜单&数据权限新增(展开/折叠 全选/全不选 父子联动)允许用户分配到部门父节点菜单新增是否缓存keep-alive表格操作列间距调整限制系统内置参数不允许删除富文本组件优化,支持自定义高度&图片冲突问题富文本工具栏样式对齐导入excel整形值校验优化修复页签关闭所有时固定标签路由不刷新问题表单构建布局型组件新增按钮左侧菜单文字过长显示省略号修正根节点为子部门时,树状结构显示问题修正调用目标字符串最大长度修正菜单提示信息错误修正定时任务执行一次权限标识修正数据库字符串类型nvarchar优化递归子节点优化数据权限判断其他细节优化v3.1.0 - 2020-08-13表格工具栏右侧添加刷新&显隐查询组件后端支持CORS跨域请求代码生成支持选择上级菜单代码生成支持自定义路径代码生成支持复选框Excel导出导入支持dictType字典类型Excel支持分割字符串组内容验证码类型支持(数组计算、字符验证)升级vue-cli版本到4.4.4修改 node-sass 为 dart-sass表单类型为Integer/Long设置整形默认值代码生成器默认mapper路径与默认mapperScan路径不一致优化防重复提交拦截器优化上级菜单不能选择自己修复角色的权限分配后,未实时生效问题修复在线用户日志记录类型修复富文本空格和缩进保存后不生效问题修复在线用户判断逻辑唯一限制条件只返回单条数据添加获取当前的环境配置方法超时登录后页面跳转到首页全局异常状态汉化拦截处理HTML过滤器改为将html转义检查字符支持小数点&降级改成异常提醒其他细节优化v3.0.0 - 2020-07-20单应用调整为多模块项目升级element-ui版本到2.13.2删除babel,提高编译速度。新增菜单默认主类目编码文件名修改为uuid方式定时任务cron表达式验证角色权限修改时已有权限未自动勾选异常修复防止切换权限用户后登录出现404Excel支持sort导出排序创建用户不允许选择超级管理员角色修复代码生成导入表结构出现异常页面不提醒问题修复代码生成点击多次表修改数据不变化的问题修复头像上传成功二次打开无法改变裁剪框大小和位置问题修复布局为small者mini用户表单显示错位问题修复热部署导致的强换异常问题修改用户管理复选框宽度,防止部分浏览器出现省略号IpUtils工具,清除Xss特殊字符,防止Xff注入攻击生成domain 如果是浮点型 统一用BigDecimal定时任务调整label-width,防止部署出现错位调整表头固定列默认样式代码生成模板调整,字段为String并且必填则加空串条件代码生成字典Integer/Long使用parseInt 修复dict_sort不可update为0的问题&查询返回增加dict_sort升序排序 修正岗位导出权限注解禁止加密密文返回前端修复代码生成页面中的查询条件创建时间未生效的问题修复首页搜索菜单外链无法点击跳转问题修复菜单管理选择图标,backspace删除时不过滤数据用户管理部门分支节点不可检查&显示计数数据范围过滤属性调整其他细节优化v2.3.0 - 2020-06-01升级fastjson到最新版1.2.70 修复高危安全漏洞dev启动默认打开浏览器vue-cli使用默认source-mapslidebar eslint报错优化当tags-view滚动关闭右键菜单字典管理添加缓存读取参数管理支持缓存操作支持一级菜单(和主页同级)在main区域显示限制外链地址必须以http(s)开头tagview & sidebar 主题颜色与element ui(全局)同步修改数据源类型优先级,先根据方法,再根据类支持是否需要设置token属性,自定义返回码消息。swagger请求前缀加入配置。登录地点设置内容过长则隐藏显示修复定时任务执行一次按钮后不提示消息问题修改上级部门(选择项排除本身和下级)通用http发送方法增加参数 contentType 编码类型更换IP地址查询接口修复页签变量undefined添加校验部门包含未停用的子部门修改定时任务详情下次执行时间日期显示错误角色管理查询设置默认排序字段swagger添加enable参数控制是否启用只对json类型请求构建可重复读取inputStream的request修改代码生成字典字段int类型没有自动选中问题vuex用户名取值修正表格树模板去掉多余的)代码生成序号修正全屏情况下不调整上外边距代码生成Date字段添加默认格式用户管理角色选择权限控制修复路由懒加载报错问题模板sql.vm添加菜单状态设置用户名称不能修改dialog添加append-to-body属性,防止ie遮罩菜单区分状态和显示隐藏功能升级fastjson到最新版1.2.68 修复安全加固修复代码生成如果选择字典类型缺失逗号问题登录请求params更换为data,防止暴露url日志返回时间格式处理添加handle控制允许拖动的元素布局设置点击扩大范围代码生成列属性排序查询代码生成列支持拖动排序修复时间格式不支持ios问题表单构建添加父级class,防止冲突定时任务并发属性修正角色禁用&菜单隐藏不查询权限其他细节优化v2.2.0 - 2020-03-18系统监控新增定时任务功能添加一个打包Web工程bat修复页签鼠标滚轮按下的时候,可以关闭不可关闭的tag修复点击退出登录有时会无提示问题修复防重复提交注解无效问题修复通知公告批量删除异常问题添加菜单时路由地址必填限制代码生成字段描述可编辑修复用户修改个人信息导致缓存不过期问题个人信息创建时间获取正确属性值操作日志详细显示正确类型导入表单击行数据时选中对应的复选框批量替换表前缀逻辑调整固定重定向路径表达式升级element-ui版本到2.13.0操作日志排序调整修复charts切换侧边栏或者缩放窗口显示bug其他细节优化v2.1.0 - 2020-02-24新增表单构建代码生成支持树表结构新增用户导入修复动态加载路由页面刷新问题修复地址开关无效问题汉化错误提示页面代码生成已知问题修改修复多数据源下配置关闭出现异常处理添加HTML过滤器,用于去除XSS漏洞隐患修复上传头像控制台出现异常修改用户管理分页不正确的问题修复验证码记录提示错误修复request.js缺少Message引用修复表格时间为空出现的异常添加Jackson日期反序列化时区配置调整根据用户权限加载菜单数据树形结构调整成功登录不恢复按钮,防止多次点击修改用户个人资料同步缓存信息修复页面同时出现el-upload和Editor不显示处理修复在角色管理页修改菜单权限偶尔未选中问题配置文件新增redis密码属性设置mybatis全局的配置文件其他细节优化v2.0.0 - 2019-12-02新增代码生成新增@RepeatSubmit注解,防止重复提交新增菜单主目录添加/删除操作日志记录过滤特殊对象,防止转换异常修改代码生成路由脚本错误用户上传头像实时同步缓存,无需重新登录调整切换页签后不重新加载数据添加jsencrypt实现参数的前端加密系统退出删除用户缓存记录其他细节优化v1.1.0 - 2019-11-11新增在线用户管理新增按钮组功能实现(批量删除、导出、清空)新增查询条件重置按钮新增Swagger全局Token配置新增后端参数校验修复字典管理页面的日期查询异常修改时间函数命名防止冲突去除菜单上级校验,默认为顶级修复用户密码无法修改问题修复菜单类型为按钮时不显示权限标识其他细节优化v1.0.0 - 2019-10-08若依前后端分离系统正式发布捐赠支持你可以请作者喝杯咖啡表示鼓励"}],"unique_index":"asfc496dahtlnlbje0t","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0}]}}]} \ No newline at end of file diff --git a/.temp_to_pub/EasySpider_windows_x64/tasks/229.json b/.temp_to_pub/EasySpider_windows_x64/tasks/229.json new file mode 100644 index 0000000..d50f065 --- /dev/null +++ b/.temp_to_pub/EasySpider_windows_x64/tasks/229.json @@ -0,0 +1 @@ +{"id":229,"name":"OpenReview","url":"https://openreview.net/search?content=all&group=TMLR&page=2&source=all&term=federated%20learning","links":"https://openreview.net/search?content=all&group=TMLR&page=2&source=all&term=federated%20learning","create_time":"10/17/2023, 1:15:29 AM","update_time":"10/17/2023, 1:15:29 AM","version":"0.5.0","saveThreshold":10,"cloudflare":0,"environment":0,"maxViewLength":15,"recordLog":1,"outputFormat":"xlsx","saveName":"current_time","inputExcel":"","startFromExit":0,"containJudge":false,"desc":"https://openreview.net/search?content=all&group=TMLR&page=2&source=all&term=federated%20learning","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://openreview.net/search?content=all&group=TMLR&page=2&source=all&term=federated%20learning","desc":"要采集的网址列表,多行以\\n分开","type":"text","exampleValue":"https://openreview.net/search?content=all&group=TMLR&page=2&source=all&term=federated%20learning"},{"id":1,"name":"loopTimes_循环_1","nodeId":2,"nodeName":"循环","desc":"循环循环执行的次数(0代表无限循环)","type":"int","exampleValue":0,"value":0}],"outputParameters":[{"id":0,"name":"参数3_页面标题","desc":"","type":"text","recordASField":1,"exampleValue":"Towards a Defense Against Federated Backdoor Attacks Under Continuous Training | OpenReview"},{"id":1,"name":"参数4_页面网址","desc":"","type":"text","recordASField":1,"exampleValue":"https://openreview.net/forum?id=HwcB5elyuG¬eId=0ixCdZ6hZz"},{"id":2,"name":"参数6_文本","desc":"","type":"text","recordASField":1,"exampleValue":"Abstract: Backdoor attacks are dangerous and difficult to prevent in federated learning (FL), where training data is sourced from untrusted clients over long periods of time. These difficulties arise because: (a) defenders in FL do not have access to raw training data, and (b) a phenomenon we identify called backdoor leakage causes models trained continuously to eventually suffer from backdoors due to cumulative errors in defense mechanisms. We propose a framework called shadow learning for defending against backdoor attacks in the FL setting under long-range training. Shadow learning trains two models in parallel: a backbone model and a shadow model. The backbone is trained without any defense mechanism to obtain good performance on the main task. The shadow model combines filtering of malicious clients with early-stopping to control the attack success rate even as the data distribution changes. We theoretically motivate our design and show experimentally that our framework significantly improves upon existing defenses against backdoor attacks.License: Creative Commons Attribution 4.0 International (CC BY 4.0)Submission Length: Regular submission (no more than 12 pages of main content)Code: https://github.com/wsqwsq/Towards-a-Defense-against-Backdoor-Attacks-in-Continual-Federated-LearningSupplementary Material: zipAssigned Action Editor: Murat A ErdogduSubmission Number: 1004"}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"url":"https://openreview.net/search?content=all&group=TMLR&page=2&source=all&term=federated%20learning","links":"https://openreview.net/search?content=all&group=TMLR&page=2&source=all&term=federated%20learning","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"cookies":""}},{"id":2,"index":2,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[6,3],"isInLoop":false,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"pagination\")]/li[last()-1]/a[1]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":0,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/main[1]/div[1]/div[1]/nav[1]/ul[1]/li[13]/a[1]","//a[contains(., '›')]","/html/body/div[last()-3]/div[last()-2]/div/div/main/div/div/nav/ul/li[last()-1]/a"]}},{"id":4,"index":3,"parentId":2,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":true,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":true,"xpath":"","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/main[1]/div[1]/div[1]/nav[1]/ul[1]/li[13]/a[1]","//a[contains(., '›')]","/html/body/div[last()-3]/div[last()-2]/div/div/main/div/div/nav/ul/li[last()-1]/a"],"loopType":0}},{"id":-1,"index":4,"parentId":2,"type":1,"option":8,"title":"循环","sequence":[5],"isInLoop":true,"position":0,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"/html/body/div[1]/div[3]/div[1]/div[1]/main[1]/div[1]/div[1]/ul[1]/li/div[1]/h4[1]/a[1]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/main[1]/div[1]/div[1]/ul[1]/li[1]/div[1]/h4[1]/a[1]","//a[contains(., 'Rebuttal')]","/html/body/div[last()-3]/div[last()-2]/div/div/main/div/div/ul/li[last()-24]/div/h4/a"]}},{"id":-1,"index":5,"parentId":3,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"paras":[{"nodeType":1,"contentType":0,"relative":true,"name":"参数1_链接文本","desc":"","extractType":0,"relativeXPath":"","allXPaths":"","exampleValues":[{"num":0,"value":"Rebuttal"}],"unique_index":"28rp2pmrz05lnt5jcsr","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":2,"contentType":0,"relative":true,"name":"参数2_链接地址","desc":"","relativeXPath":"","allXPaths":"","exampleValues":[{"num":0,"value":"/forum?id=HwcB5elyuG¬eId=0ixCdZ6hZz"}],"unique_index":"28rp2pmrz05lnt5jcsr","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0}],"loopType":1}},{"id":3,"index":6,"parentId":2,"type":1,"option":8,"title":"循环","sequence":[7,8],"isInLoop":true,"position":0,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"/html/body/div[1]/div[3]/div[1]/div[1]/main[1]/div[1]/div[1]/ul[1]/li/div[1]/h4[1]/a[1]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":""}},{"id":5,"index":7,"parentId":3,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":5,"tabIndex":-1,"useLoop":true,"xpath":"","iframe":false,"wait":4,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":""}},{"id":6,"index":8,"parentId":3,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":1,"parameters":{"history":6,"tabIndex":-1,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"paras":[{"nodeType":0,"contentType":6,"relative":false,"name":"参数3_页面标题","desc":"","extractType":0,"relativeXPath":"/html/body/div[1]/div[3]/div[1]/div[1]","allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]","//div[contains(., 'Towards a')]","//DIV[@class='col-xs-12']","/html/body/div[last()-3]/div[last()-2]/div/div"],"exampleValues":[{"num":0,"value":"Towards a Defense Against Federated Backdoor Attacks Under Continuous Training | OpenReview"}],"unique_index":"8igqq6e3ic4lnt5ju7e","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":5,"relative":false,"name":"参数4_页面网址","desc":"","extractType":0,"relativeXPath":"/html/body/div[1]/div[3]/div[1]/div[1]","allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]","//div[contains(., 'Towards a')]","//DIV[@class='col-xs-12']","/html/body/div[last()-3]/div[last()-2]/div/div"],"exampleValues":[{"num":0,"value":"https://openreview.net/forum?id=HwcB5elyuG¬eId=0ixCdZ6hZz"}],"unique_index":"8bft0m66ziulnt5jvro","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":0,"relative":false,"name":"参数6_文本","desc":"","extractType":0,"relativeXPath":"//DIV[@class='note-content']","allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/main[1]/div[1]/div[1]/div[4]","//div[contains(., 'Abstract:')]","//DIV[@class='note-content']","/html/body/div[last()-3]/div[last()-2]/div/div/main/div/div[last()-3]/div"],"exampleValues":[{"num":0,"value":"Abstract: Backdoor attacks are dangerous and difficult to prevent in federated learning (FL), where training data is sourced from untrusted clients over long periods of time. These difficulties arise because: (a) defenders in FL do not have access to raw training data, and (b) a phenomenon we identify called backdoor leakage causes models trained continuously to eventually suffer from backdoors due to cumulative errors in defense mechanisms. We propose a framework called shadow learning for defending against backdoor attacks in the FL setting under long-range training. Shadow learning trains two models in parallel: a backbone model and a shadow model. The backbone is trained without any defense mechanism to obtain good performance on the main task. The shadow model combines filtering of malicious clients with early-stopping to control the attack success rate even as the data distribution changes. We theoretically motivate our design and show experimentally that our framework significantly improves upon existing defenses against backdoor attacks.License: Creative Commons Attribution 4.0 International (CC BY 4.0)Submission Length: Regular submission (no more than 12 pages of main content)Code: https://github.com/wsqwsq/Towards-a-Defense-against-Backdoor-Attacks-in-Continual-Federated-LearningSupplementary Material: zipAssigned Action Editor: Murat A ErdogduSubmission Number: 1004"}],"unique_index":"ezi8c2hd0ylnt5ofpx","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0}]}}]} \ No newline at end of file diff --git a/Readme.md b/Readme.md index 672ec54..a37c555 100644 --- a/Readme.md +++ b/Readme.md @@ -142,7 +142,7 @@ At the same time, the software is protected by patent rights. If it is used for - This software has been accepted by The Web Conference (WWW) 2023 (中国计算机学会顶级会议,CCF A): [EasySpider: A No-Code Visual System for Crawling the Web](https://dl.acm.org/doi/abs/10.1145/3543873.3587345), April 2023. -- 中国国家知识产权局发明专利,[一种自定义提取流程的服务封装系统](https://www.patentguru.com/cn/search?q=%E4%B8%80%E7%A7%8D%E8%87%AA%E5%AE%9A%E4%B9%89%E6%8F%90%E5%8F%96%E6%B5%81%E7%A8%8B%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%B0%81%E8%A3%85%E7%B3%BB%E7%BB%9F), 2022年5月。 +- 中国国家知识产权局发明专利,[一种自定义提取流程的服务封装系统](media/patent.png), 2022年5月。 - [浙江大学硕士论文](https://d.wanfangdata.com.cn/thesis/Y3691829),[面向WEB应用的智能化服务封装系统设计与实现](Docs/%E9%9D%A2%E5%90%91WEB%E5%BA%94%E7%94%A8%E7%9A%84%E6%99%BA%E8%83%BD%E5%8C%96%E6%9C%8D%E5%8A%A1%E5%B0%81%E8%A3%85%E7%B3%BB%E7%BB%9F%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%AE%9E%E7%8E%B0.pdf),2020年6月。