diff --git a/QD保留n天日志.har b/QD保留n天日志.har
new file mode 100644
index 0000000..8d53843
--- /dev/null
+++ b/QD保留n天日志.har
@@ -0,0 +1,288 @@
+[
+ {
+ "request": {
+ "method": "POST",
+ "url": "http://127.0.0.1:{{port}}/login",
+ "headers": [
+ {
+ "name": "Accept",
+ "value": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"
+ },
+ {
+ "name": "Accept-Encoding",
+ "value": "gzip, deflate"
+ },
+ {
+ "name": "Accept-Language",
+ "value": "zh-CN,zh;q=0.9"
+ },
+ {
+ "name": "Cache-Control",
+ "value": "max-age=0"
+ },
+ {
+ "name": "Connection",
+ "value": "keep-alive"
+ },
+ {
+ "name": "Content-Length",
+ "value": "45"
+ },
+ {
+ "name": "Content-Type",
+ "value": "application/x-www-form-urlencoded"
+ },
+ {
+ "name": "Host",
+ "value": "127.0.0.1:{{port}}"
+ },
+ {
+ "name": "Origin",
+ "value": "http://127.0.0.1:{{port}}"
+ },
+ {
+ "name": "Referer",
+ "value": "http://127.0.0.1:{{port}}/login"
+ },
+ {
+ "name": "Upgrade-Insecure-Requests",
+ "value": "1"
+ },
+ {
+ "name": "User-Agent",
+ "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"
+ }
+ ],
+ "cookies": [],
+ "data": "email={{email|urlencode}}&password={{password|urlencode}}",
+ "mimeType": "application/x-www-form-urlencoded"
+ },
+ "rule": {
+ "success_asserts": [
+ {
+ "re": "302",
+ "from": "status"
+ }
+ ],
+ "failed_asserts": [
+ {
+ "re": "请输入用户名和密码",
+ "from": "content"
+ }
+ ],
+ "extract_variables": [
+ {
+ "name": "cookie",
+ "re": "Set-Cookie: (.*?); expires",
+ "from": "header"
+ }
+ ]
+ }
+ },
+ {
+ "request": {
+ "method": "GET",
+ "url": "http://127.0.0.1:{{port}}/my/",
+ "headers": [
+ {
+ "name": "Accept",
+ "value": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"
+ },
+ {
+ "name": "Accept-Encoding",
+ "value": "gzip, deflate"
+ },
+ {
+ "name": "Accept-Language",
+ "value": "zh-CN,zh;q=0.9,en;q=0.8"
+ },
+ {
+ "name": "Cache-Control",
+ "value": "max-age=0"
+ },
+ {
+ "name": "Connection",
+ "value": "keep-alive"
+ },
+ {
+ "name": "Cookie",
+ "value": "{{cookie}}"
+ },
+ {
+ "name": "Host",
+ "value": "127.0.0.1:{{port}}"
+ },
+ {
+ "name": "Upgrade-Insecure-Requests",
+ "value": "1"
+ },
+ {
+ "name": "User-Agent",
+ "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"
+ },
+ {
+ "name": "Referer",
+ "value": "http://127.0.0.1:{{port}}/login"
+ },
+ {
+ "name": "Origin",
+ "value": "http://127.0.0.1:{{port}}"
+ }
+ ],
+ "cookies": []
+ },
+ "rule": {
+ "success_asserts": [
+ {
+ "re": "200",
+ "from": "status"
+ }
+ ],
+ "failed_asserts": [],
+ "extract_variables": [
+ {
+ "name": "task_ids",
+ "re": "//g",
+ "from": "content"
+ },
+ {
+ "name": "task_id",
+ "re": "",
+ "from": "content"
+ }
+ ]
+ }
+ },
+ {
+ "comment": "For 循环开始",
+ "request": {
+ "method": "GET",
+ "url": "{% for task_id in task_ids %}",
+ "headers": [],
+ "cookies": [],
+ "data": ""
+ },
+ "rule": {
+ "success_asserts": [],
+ "failed_asserts": [],
+ "extract_variables": []
+ }
+ },
+ {
+ "request": {
+ "method": "POST",
+ "url": "http://127.0.0.1:{{port}}/task/{{task_id}}/log/del",
+ "headers": [
+ {
+ "name": "Accept",
+ "value": "*/*"
+ },
+ {
+ "name": "Accept-Encoding",
+ "value": "gzip, deflate"
+ },
+ {
+ "name": "Accept-Language",
+ "value": "zh-CN,zh;q=0.9,en;q=0.8"
+ },
+ {
+ "name": "Connection",
+ "value": "keep-alive"
+ },
+ {
+ "name": "Host",
+ "value": "127.0.0.1:{{port}}"
+ },
+ {
+ "name": "Upgrade-Insecure-Requests",
+ "value": "1"
+ },
+ {
+ "name": "User-Agent",
+ "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"
+ },
+ {
+ "name": "Content-Type",
+ "value": "application/x-www-form-urlencoded; charset=UTF-8"
+ },
+ {
+ "name": "Content-Length",
+ "value": "5"
+ },
+ {
+ "name": "cookie",
+ "value": "{{cookie}}"
+ },
+ {
+ "name": "Origin",
+ "value": "http://127.0.0.1:{{port}}"
+ },
+ {
+ "name": "Referer",
+ "value": "http://127.0.0.1:{{port}}/task/{{task_id}}/log"
+ },
+ {
+ "name": "X-Requested-With",
+ "value": "XMLHttpRequest"
+ }
+ ],
+ "cookies": [],
+ "data": "day={{day}}"
+ },
+ "rule": {
+ "success_asserts": [
+ {
+ "re": "302",
+ "from": "status"
+ }
+ ],
+ "failed_asserts": [],
+ "extract_variables": []
+ }
+ },
+ {
+ "comment": "For 循环结束",
+ "request": {
+ "method": "GET",
+ "url": "{% endfor %}",
+ "headers": [],
+ "cookies": [],
+ "data": ""
+ },
+ "rule": {
+ "success_asserts": [],
+ "failed_asserts": [],
+ "extract_variables": []
+ }
+ },
+ {
+ "comment": "Unicode转换",
+ "request": {
+ "method": "POST",
+ "url": "api://util/unicode",
+ "headers": [],
+ "cookies": [],
+ "data": "&content=已清除 {{day}} 天前全部日志"
+ },
+ "rule": {
+ "success_asserts": [
+ {
+ "re": "200",
+ "from": "status"
+ },
+ {
+ "re": "\"状态\": \"200\"",
+ "from": "content"
+ }
+ ],
+ "failed_asserts": [],
+ "extract_variables": [
+ {
+ "name": "__log__",
+ "re": "\"转换后\": \"(.*)\"",
+ "from": "content"
+ }
+ ]
+ }
+ }
+]
\ No newline at end of file
diff --git a/tpls_history.json b/tpls_history.json
index 849cae6..84816df 100644
--- a/tpls_history.json
+++ b/tpls_history.json
@@ -3264,6 +3264,18 @@
"date": "2024-02-27 08:07:00",
"version": "20240227",
"commenturl": "https://github.com/qd-today/templates/issues/569"
+ },
+ "QD保留n天日志": {
+ "name": "QD保留n天日志",
+ "author": "zyblog",
+ "url": "https://raw.githubusercontent.com/qd-today/templates/master/QD保留n天日志.har",
+ "update": false,
+ "comments": "该模板将尝试获取 QD 所有任务 ID,并清除超出n天的全部日志
port: QD 的端口号
email: QD 登录邮箱
password: QD 登录密码
day: 超过 day 天的日志将被清除",
+ "filename": "QD保留n天日志.har",
+ "content": "W3sicmVxdWVzdCI6IHsibWV0aG9kIjogIlBPU1QiLCAidXJsIjogImh0dHA6Ly8xMjcuMC4wLjE6e3twb3J0fX0vbG9naW4iLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiQWNjZXB0IiwgInZhbHVlIjogInRleHQvaHRtbCxhcHBsaWNhdGlvbi94aHRtbCt4bWwsYXBwbGljYXRpb24veG1sO3E9MC45LGltYWdlL2F2aWYsaW1hZ2Uvd2VicCxpbWFnZS9hcG5nLCovKjtxPTAuOCxhcHBsaWNhdGlvbi9zaWduZWQtZXhjaGFuZ2U7dj1iMztxPTAuNyJ9LCB7Im5hbWUiOiAiQWNjZXB0LUVuY29kaW5nIiwgInZhbHVlIjogImd6aXAsIGRlZmxhdGUifSwgeyJuYW1lIjogIkFjY2VwdC1MYW5ndWFnZSIsICJ2YWx1ZSI6ICJ6aC1DTix6aDtxPTAuOSJ9LCB7Im5hbWUiOiAiQ2FjaGUtQ29udHJvbCIsICJ2YWx1ZSI6ICJtYXgtYWdlPTAifSwgeyJuYW1lIjogIkNvbm5lY3Rpb24iLCAidmFsdWUiOiAia2VlcC1hbGl2ZSJ9LCB7Im5hbWUiOiAiQ29udGVudC1MZW5ndGgiLCAidmFsdWUiOiAiNDUifSwgeyJuYW1lIjogIkNvbnRlbnQtVHlwZSIsICJ2YWx1ZSI6ICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifSwgeyJuYW1lIjogIkhvc3QiLCAidmFsdWUiOiAiMTI3LjAuMC4xOnt7cG9ydH19In0sIHsibmFtZSI6ICJPcmlnaW4iLCAidmFsdWUiOiAiaHR0cDovLzEyNy4wLjAuMTp7e3BvcnR9fSJ9LCB7Im5hbWUiOiAiUmVmZXJlciIsICJ2YWx1ZSI6ICJodHRwOi8vMTI3LjAuMC4xOnt7cG9ydH19L2xvZ2luIn0sIHsibmFtZSI6ICJVcGdyYWRlLUluc2VjdXJlLVJlcXVlc3RzIiwgInZhbHVlIjogIjEifSwgeyJuYW1lIjogIlVzZXItQWdlbnQiLCAidmFsdWUiOiAiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyMi4wLjAuMCBTYWZhcmkvNTM3LjM2In1dLCAiY29va2llcyI6IFtdLCAiZGF0YSI6ICJlbWFpbD17e2VtYWlsfHVybGVuY29kZX19JnBhc3N3b3JkPXt7cGFzc3dvcmR8dXJsZW5jb2RlfX0iLCAibWltZVR5cGUiOiAiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIn0sICJydWxlIjogeyJzdWNjZXNzX2Fzc2VydHMiOiBbeyJyZSI6ICIzMDIiLCAiZnJvbSI6ICJzdGF0dXMifV0sICJmYWlsZWRfYXNzZXJ0cyI6IFt7InJlIjogIuivt+i+k+WFpeeUqOaIt+WQjeWSjOWvhueggSIsICJmcm9tIjogImNvbnRlbnQifV0sICJleHRyYWN0X3ZhcmlhYmxlcyI6IFt7Im5hbWUiOiAiY29va2llIiwgInJlIjogIlNldC1Db29raWU6ICguKj8pOyBleHBpcmVzIiwgImZyb20iOiAiaGVhZGVyIn1dfX0sIHsicmVxdWVzdCI6IHsibWV0aG9kIjogIkdFVCIsICJ1cmwiOiAiaHR0cDovLzEyNy4wLjAuMTp7e3BvcnR9fS9teS8iLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiQWNjZXB0IiwgInZhbHVlIjogInRleHQvaHRtbCxhcHBsaWNhdGlvbi94aHRtbCt4bWwsYXBwbGljYXRpb24veG1sO3E9MC45LGltYWdlL2F2aWYsaW1hZ2Uvd2VicCxpbWFnZS9hcG5nLCovKjtxPTAuOCxhcHBsaWNhdGlvbi9zaWduZWQtZXhjaGFuZ2U7dj1iMztxPTAuNyJ9LCB7Im5hbWUiOiAiQWNjZXB0LUVuY29kaW5nIiwgInZhbHVlIjogImd6aXAsIGRlZmxhdGUifSwgeyJuYW1lIjogIkFjY2VwdC1MYW5ndWFnZSIsICJ2YWx1ZSI6ICJ6aC1DTix6aDtxPTAuOSxlbjtxPTAuOCJ9LCB7Im5hbWUiOiAiQ2FjaGUtQ29udHJvbCIsICJ2YWx1ZSI6ICJtYXgtYWdlPTAifSwgeyJuYW1lIjogIkNvbm5lY3Rpb24iLCAidmFsdWUiOiAia2VlcC1hbGl2ZSJ9LCB7Im5hbWUiOiAiQ29va2llIiwgInZhbHVlIjogInt7Y29va2llfX0ifSwgeyJuYW1lIjogIkhvc3QiLCAidmFsdWUiOiAiMTI3LjAuMC4xOnt7cG9ydH19In0sIHsibmFtZSI6ICJVcGdyYWRlLUluc2VjdXJlLVJlcXVlc3RzIiwgInZhbHVlIjogIjEifSwgeyJuYW1lIjogIlVzZXItQWdlbnQiLCAidmFsdWUiOiAiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyMi4wLjAuMCBTYWZhcmkvNTM3LjM2In0sIHsibmFtZSI6ICJSZWZlcmVyIiwgInZhbHVlIjogImh0dHA6Ly8xMjcuMC4wLjE6e3twb3J0fX0vbG9naW4ifSwgeyJuYW1lIjogIk9yaWdpbiIsICJ2YWx1ZSI6ICJodHRwOi8vMTI3LjAuMC4xOnt7cG9ydH19In1dLCAiY29va2llcyI6IFtdfSwgInJ1bGUiOiB7InN1Y2Nlc3NfYXNzZXJ0cyI6IFt7InJlIjogIjIwMCIsICJmcm9tIjogInN0YXR1cyJ9XSwgImZhaWxlZF9hc3NlcnRzIjogW10sICJleHRyYWN0X3ZhcmlhYmxlcyI6IFt7Im5hbWUiOiAidGFza19pZHMiLCAicmUiOiAiLzxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG1vZGFsX2xvYWRcIiBocmVmPVwiL3Rhc2svKFxcZCs/KS9lZGl0XCIgdGl0bGU9XCLkv67mlLnku7vliqHkv6Hmga9cIj7kv67mlLk8L2J1dHRvbj4vZyIsICJmcm9tIjogImNvbnRlbnQifSwgeyJuYW1lIjogInRhc2tfaWQiLCAicmUiOiAiIiwgImZyb20iOiAiY29udGVudCJ9XX19LCB7ImNvbW1lbnQiOiAiRm9yIOW+queOr+W8gOWniyIsICJyZXF1ZXN0IjogeyJtZXRob2QiOiAiR0VUIiwgInVybCI6ICJ7JSBmb3IgdGFza19pZCBpbiB0YXNrX2lkcyAlfSIsICJoZWFkZXJzIjogW10sICJjb29raWVzIjogW10sICJkYXRhIjogIiJ9LCAicnVsZSI6IHsic3VjY2Vzc19hc3NlcnRzIjogW10sICJmYWlsZWRfYXNzZXJ0cyI6IFtdLCAiZXh0cmFjdF92YXJpYWJsZXMiOiBbXX19LCB7InJlcXVlc3QiOiB7Im1ldGhvZCI6ICJQT1NUIiwgInVybCI6ICJodHRwOi8vMTI3LjAuMC4xOnt7cG9ydH19L3Rhc2sve3t0YXNrX2lkfX0vbG9nL2RlbCIsICJoZWFkZXJzIjogW3sibmFtZSI6ICJBY2NlcHQiLCAidmFsdWUiOiAiKi8qIn0sIHsibmFtZSI6ICJBY2NlcHQtRW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCwgZGVmbGF0ZSJ9LCB7Im5hbWUiOiAiQWNjZXB0LUxhbmd1YWdlIiwgInZhbHVlIjogInpoLUNOLHpoO3E9MC45LGVuO3E9MC44In0sIHsibmFtZSI6ICJDb25uZWN0aW9uIiwgInZhbHVlIjogImtlZXAtYWxpdmUifSwgeyJuYW1lIjogIkhvc3QiLCAidmFsdWUiOiAiMTI3LjAuMC4xOnt7cG9ydH19In0sIHsibmFtZSI6ICJVcGdyYWRlLUluc2VjdXJlLVJlcXVlc3RzIiwgInZhbHVlIjogIjEifSwgeyJuYW1lIjogIlVzZXItQWdlbnQiLCAidmFsdWUiOiAiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyMi4wLjAuMCBTYWZhcmkvNTM3LjM2In0sIHsibmFtZSI6ICJDb250ZW50LVR5cGUiLCAidmFsdWUiOiAiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04In0sIHsibmFtZSI6ICJDb250ZW50LUxlbmd0aCIsICJ2YWx1ZSI6ICI1In0sIHsibmFtZSI6ICJjb29raWUiLCAidmFsdWUiOiAie3tjb29raWV9fSJ9LCB7Im5hbWUiOiAiT3JpZ2luIiwgInZhbHVlIjogImh0dHA6Ly8xMjcuMC4wLjE6e3twb3J0fX0ifSwgeyJuYW1lIjogIlJlZmVyZXIiLCAidmFsdWUiOiAiaHR0cDovLzEyNy4wLjAuMTp7e3BvcnR9fS90YXNrL3t7dGFza19pZH19L2xvZyJ9LCB7Im5hbWUiOiAiWC1SZXF1ZXN0ZWQtV2l0aCIsICJ2YWx1ZSI6ICJYTUxIdHRwUmVxdWVzdCJ9XSwgImNvb2tpZXMiOiBbXSwgImRhdGEiOiAiZGF5PXt7ZGF5fX0ifSwgInJ1bGUiOiB7InN1Y2Nlc3NfYXNzZXJ0cyI6IFt7InJlIjogIjMwMiIsICJmcm9tIjogInN0YXR1cyJ9XSwgImZhaWxlZF9hc3NlcnRzIjogW10sICJleHRyYWN0X3ZhcmlhYmxlcyI6IFtdfX0sIHsiY29tbWVudCI6ICJGb3Ig5b6q546v57uT5p2fIiwgInJlcXVlc3QiOiB7Im1ldGhvZCI6ICJHRVQiLCAidXJsIjogInslIGVuZGZvciAlfSIsICJoZWFkZXJzIjogW10sICJjb29raWVzIjogW10sICJkYXRhIjogIiJ9LCAicnVsZSI6IHsic3VjY2Vzc19hc3NlcnRzIjogW10sICJmYWlsZWRfYXNzZXJ0cyI6IFtdLCAiZXh0cmFjdF92YXJpYWJsZXMiOiBbXX19LCB7ImNvbW1lbnQiOiAiVW5pY29kZei9rOaNoiIsICJyZXF1ZXN0IjogeyJtZXRob2QiOiAiUE9TVCIsICJ1cmwiOiAiYXBpOi8vdXRpbC91bmljb2RlIiwgImhlYWRlcnMiOiBbXSwgImNvb2tpZXMiOiBbXSwgImRhdGEiOiAiJmNvbnRlbnQ95bey5riF6ZmkIHt7ZGF5fX0g5aSp5YmN5YWo6YOo5pel5b+XIn0sICJydWxlIjogeyJzdWNjZXNzX2Fzc2VydHMiOiBbeyJyZSI6ICIyMDAiLCAiZnJvbSI6ICJzdGF0dXMifSwgeyJyZSI6ICJcIueKtuaAgVwiOiBcIjIwMFwiIiwgImZyb20iOiAiY29udGVudCJ9XSwgImZhaWxlZF9hc3NlcnRzIjogW10sICJleHRyYWN0X3ZhcmlhYmxlcyI6IFt7Im5hbWUiOiAiX19sb2dfXyIsICJyZSI6ICJcIui9rOaNouWQjlwiOiBcIiguKilcIiIsICJmcm9tIjogImNvbnRlbnQifV19fV0=",
+ "date": "2024-02-28 05:34:09",
+ "version": "20240228",
+ "commenturl": "https://github.com/qd-today/templates/issues/575"
}
}
}
\ No newline at end of file