From d6526c0deda459b24dfd49c8496828e0a8729894 Mon Sep 17 00:00:00 2001 From: luxin Date: Thu, 30 Dec 2021 18:06:21 +0800 Subject: [PATCH] add keywords_must and keywords_forbid --- .../config.json" | 16 +- .../config.json" | 40 ++- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../6.VLAN/config.json" | 4 +- .../7.WLAN/config.json" | 4 +- .../8.PPP/config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../1.VLAN/config.json" | 4 +- .../config.json" | 4 +- .../3.STP/config.json" | 4 +- .../1.\344\272\244\346\215\242/config.json" | 4 +- .../1.RIP/config.json" | 4 +- .../2.OSPF/config.json" | 4 +- .../3.ISIS/config.json" | 4 +- .../4.BGP/config.json" | 4 +- .../config.json" | 4 +- .../2.\350\267\257\347\224\261/config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../1.PPP/config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../2.VRRP/config.json" | 4 +- .../config.json" | 4 +- .../config.json" | 4 +- .../3.QoS/config.json" | 4 +- .../config.json" | 4 +- data/config.json | 4 +- data/tree.json | 312 +++++++++++++----- src/tree.py | 91 +++-- 69 files changed, 539 insertions(+), 180 deletions(-) diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/1.\350\256\244\350\257\206\350\272\253\350\276\271\347\232\204\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/1.\347\275\221\347\273\234\344\270\255\347\232\204\346\225\260\346\215\256\346\230\257\345\246\202\344\275\225\344\274\240\351\200\222\347\232\204/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/1.\350\256\244\350\257\206\350\272\253\350\276\271\347\232\204\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/1.\347\275\221\347\273\234\344\270\255\347\232\204\346\225\260\346\215\256\346\230\257\345\246\202\344\275\225\344\274\240\351\200\222\347\232\204/config.json" index e115a56..47d6504 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/1.\350\256\244\350\257\206\350\272\253\350\276\271\347\232\204\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/1.\347\275\221\347\273\234\344\270\255\347\232\204\346\225\260\346\215\256\346\230\257\345\246\202\344\275\225\344\274\240\351\200\222\347\232\204/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/1.\350\256\244\350\257\206\350\272\253\350\276\271\347\232\204\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/1.\347\275\221\347\273\234\344\270\255\347\232\204\346\225\260\346\215\256\346\230\257\345\246\202\344\275\225\344\274\240\351\200\222\347\232\204/config.json" @@ -6,7 +6,9 @@ "访问网页数据的传递过程" ], "children": [], - "node_id": "network-90eb249a1a944545bec9375caa09b7ee" + "node_id": "network-90eb249a1a944545bec9375caa09b7ee", + "keywords_must": [], + "keywords_forbid": [] } }, { @@ -15,7 +17,9 @@ "我国网络的发展的发展" ], "children": [], - "node_id": "network-f5d2f2b5a7624f7a95ff3e1ab2fa4fc5" + "node_id": "network-f5d2f2b5a7624f7a95ff3e1ab2fa4fc5", + "keywords_must": [], + "keywords_forbid": [] } }, { @@ -27,9 +31,13 @@ "资源共享" ], "children": [], - "node_id": "network-8a6a24c32e154eb396619dbbfbdab0e7" + "node_id": "network-8a6a24c32e154eb396619dbbfbdab0e7", + "keywords_must": [], + "keywords_forbid": [] } } ], - "node_id": "network-e0ad5915797348a88f55399a18ca858d" + "node_id": "network-e0ad5915797348a88f55399a18ca858d", + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/1.\350\256\244\350\257\206\350\272\253\350\276\271\347\232\204\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2.\345\270\270\350\247\201\347\232\204\347\275\221\347\273\234\350\256\276\345\244\207/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/1.\350\256\244\350\257\206\350\272\253\350\276\271\347\232\204\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2.\345\270\270\350\247\201\347\232\204\347\275\221\347\273\234\350\256\276\345\244\207/config.json" index 7a49275..9f3658d 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/1.\350\256\244\350\257\206\350\272\253\350\276\271\347\232\204\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2.\345\270\270\350\247\201\347\232\204\347\275\221\347\273\234\350\256\276\345\244\207/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/1.\350\256\244\350\257\206\350\272\253\350\276\271\347\232\204\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2.\345\270\270\350\247\201\347\232\204\347\275\221\347\273\234\350\256\276\345\244\207/config.json" @@ -1,5 +1,7 @@ { - "keywords":["网络设备"], + "keywords": [ + "网络设备" + ], "children": [ { "常见的网络设备": { @@ -18,7 +20,9 @@ "智能家居" ], "children": [], - "node_id": "network-2aacb5a4f5a64677ace490d4373d7628" + "node_id": "network-2aacb5a4f5a64677ace490d4373d7628", + "keywords_must": [], + "keywords_forbid": [] } }, { @@ -30,11 +34,15 @@ "无线路由器" ], "children": [], - "node_id": "network-42e9982de4334db79ea829662e90ea2f" + "node_id": "network-42e9982de4334db79ea829662e90ea2f", + "keywords_must": [], + "keywords_forbid": [] } } ], - "node_id": "network-c83783f42f4d4fdcb71dd55d3087b7f0" + "node_id": "network-c83783f42f4d4fdcb71dd55d3087b7f0", + "keywords_must": [], + "keywords_forbid": [] }, "常见的网络介质": { "keywords": [ @@ -46,30 +54,42 @@ "children": [ { "双绞线": { - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "光纤": { - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "同轴电缆": { - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "无线电波": { - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } } - ] + ], + "keywords_must": [], + "keywords_forbid": [] } } ], "export": [ "01.json" ], - "node_id": "network-16b1ac6767d947f4b9cf1be248239823" + "node_id": "network-16b1ac6767d947f4b9cf1be248239823", + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/1.\350\256\244\350\257\206\350\272\253\350\276\271\347\232\204\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/3.\347\275\221\347\273\234\346\213\223\346\211\221\347\232\204\345\210\206\347\261\273/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/1.\350\256\244\350\257\206\350\272\253\350\276\271\347\232\204\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/3.\347\275\221\347\273\234\346\213\223\346\211\221\347\232\204\345\210\206\347\261\273/config.json" index 28f7a4b..07f9e9b 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/1.\350\256\244\350\257\206\350\272\253\350\276\271\347\232\204\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/3.\347\275\221\347\273\234\346\213\223\346\211\221\347\232\204\345\210\206\347\261\273/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/1.\350\256\244\350\257\206\350\272\253\350\276\271\347\232\204\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/3.\347\275\221\347\273\234\346\213\223\346\211\221\347\232\204\345\210\206\347\261\273/config.json" @@ -2,5 +2,7 @@ "node_id": "network-05cf5084bf4b4f8dbb7040d4d53efbfa", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/1.\350\256\244\350\257\206\350\272\253\350\276\271\347\232\204\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/1.\350\256\244\350\257\206\350\272\253\350\276\271\347\232\204\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/config.json" index cf9f805..70cacdc 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/1.\350\256\244\350\257\206\350\272\253\350\276\271\347\232\204\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/1.\350\256\244\350\257\206\350\272\253\350\276\271\347\232\204\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/config.json" @@ -1,4 +1,6 @@ { "node_id": "network-21e72df6dd5b40dcb57d2daabf9d87b2", - "keywords": [] + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/2.\350\256\244\350\257\206\347\275\221\347\273\234\346\250\241\345\236\213/1.\347\275\221\347\273\234\346\250\241\345\236\213\346\246\202\350\277\260/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/2.\350\256\244\350\257\206\347\275\221\347\273\234\346\250\241\345\236\213/1.\347\275\221\347\273\234\346\250\241\345\236\213\346\246\202\350\277\260/config.json" index c5bf431..8eb091c 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/2.\350\256\244\350\257\206\347\275\221\347\273\234\346\250\241\345\236\213/1.\347\275\221\347\273\234\346\250\241\345\236\213\346\246\202\350\277\260/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/2.\350\256\244\350\257\206\347\275\221\347\273\234\346\250\241\345\236\213/1.\347\275\221\347\273\234\346\250\241\345\236\213\346\246\202\350\277\260/config.json" @@ -2,5 +2,7 @@ "node_id": "network-8afe66fc4e1e4f539061de800a0a23bf", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/2.\350\256\244\350\257\206\347\275\221\347\273\234\346\250\241\345\236\213/2.OSI\346\250\241\345\236\213/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/2.\350\256\244\350\257\206\347\275\221\347\273\234\346\250\241\345\236\213/2.OSI\346\250\241\345\236\213/config.json" index e97ca89..27e626b 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/2.\350\256\244\350\257\206\347\275\221\347\273\234\346\250\241\345\236\213/2.OSI\346\250\241\345\236\213/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/2.\350\256\244\350\257\206\347\275\221\347\273\234\346\250\241\345\236\213/2.OSI\346\250\241\345\236\213/config.json" @@ -2,5 +2,7 @@ "node_id": "network-bac5e201cd3f471aa09aef6f6bd9dd6a", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/2.\350\256\244\350\257\206\347\275\221\347\273\234\346\250\241\345\236\213/3.TCPIP\346\250\241\345\236\213/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/2.\350\256\244\350\257\206\347\275\221\347\273\234\346\250\241\345\236\213/3.TCPIP\346\250\241\345\236\213/config.json" index adbc981..db303c2 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/2.\350\256\244\350\257\206\347\275\221\347\273\234\346\250\241\345\236\213/3.TCPIP\346\250\241\345\236\213/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/2.\350\256\244\350\257\206\347\275\221\347\273\234\346\250\241\345\236\213/3.TCPIP\346\250\241\345\236\213/config.json" @@ -2,5 +2,7 @@ "node_id": "network-e7861382d8474d99b6c81866b3480346", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/2.\350\256\244\350\257\206\347\275\221\347\273\234\346\250\241\345\236\213/4.\346\225\260\346\215\256\347\232\204\345\260\201\350\243\205\345\222\214\350\247\243\345\260\201\350\243\205/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/2.\350\256\244\350\257\206\347\275\221\347\273\234\346\250\241\345\236\213/4.\346\225\260\346\215\256\347\232\204\345\260\201\350\243\205\345\222\214\350\247\243\345\260\201\350\243\205/config.json" index 36942ce..4571513 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/2.\350\256\244\350\257\206\347\275\221\347\273\234\346\250\241\345\236\213/4.\346\225\260\346\215\256\347\232\204\345\260\201\350\243\205\345\222\214\350\247\243\345\260\201\350\243\205/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/2.\350\256\244\350\257\206\347\275\221\347\273\234\346\250\241\345\236\213/4.\346\225\260\346\215\256\347\232\204\345\260\201\350\243\205\345\222\214\350\247\243\345\260\201\350\243\205/config.json" @@ -2,5 +2,7 @@ "node_id": "network-9ca6243f54a446089eaf3a8f18dbdf5f", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/2.\350\256\244\350\257\206\347\275\221\347\273\234\346\250\241\345\236\213/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/2.\350\256\244\350\257\206\347\275\221\347\273\234\346\250\241\345\236\213/config.json" index 4a343e3..36fba62 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/2.\350\256\244\350\257\206\347\275\221\347\273\234\346\250\241\345\236\213/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/2.\350\256\244\350\257\206\347\275\221\347\273\234\346\250\241\345\236\213/config.json" @@ -1,4 +1,6 @@ { "node_id": "network-903c0a65059e41a88036c457f48d9351", - "keywords": [] + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/3.\350\256\244\350\257\206\344\274\240\350\276\223\344\273\213\350\264\250/1.\347\211\251\347\220\206\345\261\202\346\246\202\350\277\260/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/3.\350\256\244\350\257\206\344\274\240\350\276\223\344\273\213\350\264\250/1.\347\211\251\347\220\206\345\261\202\346\246\202\350\277\260/config.json" index 117c01c..fabfb8b 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/3.\350\256\244\350\257\206\344\274\240\350\276\223\344\273\213\350\264\250/1.\347\211\251\347\220\206\345\261\202\346\246\202\350\277\260/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/3.\350\256\244\350\257\206\344\274\240\350\276\223\344\273\213\350\264\250/1.\347\211\251\347\220\206\345\261\202\346\246\202\350\277\260/config.json" @@ -2,5 +2,7 @@ "node_id": "network-93a232d0cf754e6b87dcdd6f43f8cbc8", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/3.\350\256\244\350\257\206\344\274\240\350\276\223\344\273\213\350\264\250/2.\351\200\232\344\277\241\346\226\271\345\274\217/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/3.\350\256\244\350\257\206\344\274\240\350\276\223\344\273\213\350\264\250/2.\351\200\232\344\277\241\346\226\271\345\274\217/config.json" index 00d06f2..044f149 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/3.\350\256\244\350\257\206\344\274\240\350\276\223\344\273\213\350\264\250/2.\351\200\232\344\277\241\346\226\271\345\274\217/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/3.\350\256\244\350\257\206\344\274\240\350\276\223\344\273\213\350\264\250/2.\351\200\232\344\277\241\346\226\271\345\274\217/config.json" @@ -2,5 +2,7 @@ "node_id": "network-f5b3ff50904c4fed949e58640a143cfe", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/3.\350\256\244\350\257\206\344\274\240\350\276\223\344\273\213\350\264\250/3.\347\275\221\347\273\234\351\200\232\344\277\241\347\232\204\344\273\213\350\264\250/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/3.\350\256\244\350\257\206\344\274\240\350\276\223\344\273\213\350\264\250/3.\347\275\221\347\273\234\351\200\232\344\277\241\347\232\204\344\273\213\350\264\250/config.json" index 91ad89c..644257b 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/3.\350\256\244\350\257\206\344\274\240\350\276\223\344\273\213\350\264\250/3.\347\275\221\347\273\234\351\200\232\344\277\241\347\232\204\344\273\213\350\264\250/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/3.\350\256\244\350\257\206\344\274\240\350\276\223\344\273\213\350\264\250/3.\347\275\221\347\273\234\351\200\232\344\277\241\347\232\204\344\273\213\350\264\250/config.json" @@ -2,5 +2,7 @@ "node_id": "network-1ed5189882a04d6da48dc84617427b65", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/3.\350\256\244\350\257\206\344\274\240\350\276\223\344\273\213\350\264\250/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/3.\350\256\244\350\257\206\344\274\240\350\276\223\344\273\213\350\264\250/config.json" index 4ff61a5..cd12414 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/3.\350\256\244\350\257\206\344\274\240\350\276\223\344\273\213\350\264\250/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/3.\350\256\244\350\257\206\344\274\240\350\276\223\344\273\213\350\264\250/config.json" @@ -1,4 +1,6 @@ { "node_id": "network-59a5b62a972247948a07ffcf892b56c9", - "keywords": [] + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/1.\346\225\260\346\215\256\351\223\276\350\267\257\345\261\202\347\232\204\344\275\234\347\224\250/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/1.\346\225\260\346\215\256\351\223\276\350\267\257\345\261\202\347\232\204\344\275\234\347\224\250/config.json" index 24647ad..d03fae3 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/1.\346\225\260\346\215\256\351\223\276\350\267\257\345\261\202\347\232\204\344\275\234\347\224\250/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/1.\346\225\260\346\215\256\351\223\276\350\267\257\345\261\202\347\232\204\344\275\234\347\224\250/config.json" @@ -2,5 +2,7 @@ "node_id": "network-ec7441d074c1439285eab85cd1d35425", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/2.MAC\345\234\260\345\235\200\345\217\212\345\210\206\347\261\273/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/2.MAC\345\234\260\345\235\200\345\217\212\345\210\206\347\261\273/config.json" index f3bf832..c337df2 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/2.MAC\345\234\260\345\235\200\345\217\212\345\210\206\347\261\273/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/2.MAC\345\234\260\345\235\200\345\217\212\345\210\206\347\261\273/config.json" @@ -2,5 +2,7 @@ "node_id": "network-45e9640d996c42d685c497fa6604a764", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/3.\344\272\244\346\215\242\346\234\272\347\232\204\344\275\234\347\224\250/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/3.\344\272\244\346\215\242\346\234\272\347\232\204\344\275\234\347\224\250/config.json" index e13cdf9..ab85e15 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/3.\344\272\244\346\215\242\346\234\272\347\232\204\344\275\234\347\224\250/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/3.\344\272\244\346\215\242\346\234\272\347\232\204\344\275\234\347\224\250/config.json" @@ -2,5 +2,7 @@ "node_id": "network-770fb1807a7e4ef59c9f78e06685dd67", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/4.\344\272\244\346\215\242\346\234\272\347\232\204\345\267\245\344\275\234\345\216\237\347\220\206/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/4.\344\272\244\346\215\242\346\234\272\347\232\204\345\267\245\344\275\234\345\216\237\347\220\206/config.json" index ffeb419..76d98aa 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/4.\344\272\244\346\215\242\346\234\272\347\232\204\345\267\245\344\275\234\345\216\237\347\220\206/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/4.\344\272\244\346\215\242\346\234\272\347\232\204\345\267\245\344\275\234\345\216\237\347\220\206/config.json" @@ -2,5 +2,7 @@ "node_id": "network-e7f2ac802a3e4ac785b5f94d4935dcae", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/5.ARP\345\215\217\350\256\256\347\232\204\345\267\245\344\275\234\345\216\237\347\220\206/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/5.ARP\345\215\217\350\256\256\347\232\204\345\267\245\344\275\234\345\216\237\347\220\206/config.json" index 18e3deb..dd2c501 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/5.ARP\345\215\217\350\256\256\347\232\204\345\267\245\344\275\234\345\216\237\347\220\206/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/5.ARP\345\215\217\350\256\256\347\232\204\345\267\245\344\275\234\345\216\237\347\220\206/config.json" @@ -2,5 +2,7 @@ "node_id": "network-44c32ade1eb24e328d84b0970a82c874", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/6.VLAN/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/6.VLAN/config.json" index dbab521..aaf3c8f 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/6.VLAN/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/6.VLAN/config.json" @@ -2,5 +2,7 @@ "node_id": "network-da956c02f676454e8bcaa50e3cfa8e06", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/7.WLAN/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/7.WLAN/config.json" index 9bd05c7..a4f74cc 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/7.WLAN/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/7.WLAN/config.json" @@ -2,5 +2,7 @@ "node_id": "network-5dd420ebd67146afa5219a44cd614a47", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/8.PPP/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/8.PPP/config.json" index fe8eee7..b40d751 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/8.PPP/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/8.PPP/config.json" @@ -2,5 +2,7 @@ "node_id": "network-dd30314697c84cc1b696d77dd11aced9", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/config.json" index 0a325f0..63cf35b 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/4.\350\256\244\350\257\206\344\270\255\345\260\217\345\236\213\345\261\200\345\237\237\347\275\221/config.json" @@ -1,4 +1,6 @@ { "node_id": "network-60f0ba128ba74fa89c79e36884305783", - "keywords": [] + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/1.\347\275\221\347\273\234\345\261\202\347\232\204\344\275\234\347\224\250/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/1.\347\275\221\347\273\234\345\261\202\347\232\204\344\275\234\347\224\250/config.json" index 2041720..ebccf57 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/1.\347\275\221\347\273\234\345\261\202\347\232\204\344\275\234\347\224\250/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/1.\347\275\221\347\273\234\345\261\202\347\232\204\344\275\234\347\224\250/config.json" @@ -2,5 +2,7 @@ "node_id": "network-8d8288ccd2b64a109c4f557efe592ac3", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/2.IP\345\215\217\350\256\256\347\232\204\347\211\271\347\202\271/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/2.IP\345\215\217\350\256\256\347\232\204\347\211\271\347\202\271/config.json" index 542e083..2c2b35d 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/2.IP\345\215\217\350\256\256\347\232\204\347\211\271\347\202\271/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/2.IP\345\215\217\350\256\256\347\232\204\347\211\271\347\202\271/config.json" @@ -2,5 +2,7 @@ "node_id": "network-ab6bfd85ec3440dd89fea166da0be00c", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/3.IPv4\345\234\260\345\235\200\347\232\204\345\210\206\347\261\273\345\222\214\350\256\241\347\256\227/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/3.IPv4\345\234\260\345\235\200\347\232\204\345\210\206\347\261\273\345\222\214\350\256\241\347\256\227/config.json" index fc19d56..7c54391 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/3.IPv4\345\234\260\345\235\200\347\232\204\345\210\206\347\261\273\345\222\214\350\256\241\347\256\227/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/3.IPv4\345\234\260\345\235\200\347\232\204\345\210\206\347\261\273\345\222\214\350\256\241\347\256\227/config.json" @@ -2,5 +2,7 @@ "node_id": "network-772cd2af7db94508840e1441a7574877", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/4.\350\267\257\347\224\261\345\231\250\347\232\204\344\275\234\347\224\250/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/4.\350\267\257\347\224\261\345\231\250\347\232\204\344\275\234\347\224\250/config.json" index 45c26d8..3f650e0 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/4.\350\267\257\347\224\261\345\231\250\347\232\204\344\275\234\347\224\250/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/4.\350\267\257\347\224\261\345\231\250\347\232\204\344\275\234\347\224\250/config.json" @@ -2,5 +2,7 @@ "node_id": "network-cbc2f413286e40fcad470f79d0da9f1d", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/5.\350\267\257\347\224\261\350\241\250\347\232\204\345\267\245\344\275\234\345\216\237\347\220\206/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/5.\350\267\257\347\224\261\350\241\250\347\232\204\345\267\245\344\275\234\345\216\237\347\220\206/config.json" index 8e5fb4a..f4de1bc 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/5.\350\267\257\347\224\261\350\241\250\347\232\204\345\267\245\344\275\234\345\216\237\347\220\206/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/5.\350\267\257\347\224\261\350\241\250\347\232\204\345\267\245\344\275\234\345\216\237\347\220\206/config.json" @@ -2,5 +2,7 @@ "node_id": "network-9d424643d20e4d6a8e563debaad8f21a", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/6.\351\235\231\346\200\201\350\267\257\347\224\261/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/6.\351\235\231\346\200\201\350\267\257\347\224\261/config.json" index 329dee5..4be357a 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/6.\351\235\231\346\200\201\350\267\257\347\224\261/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/6.\351\235\231\346\200\201\350\267\257\347\224\261/config.json" @@ -2,5 +2,7 @@ "node_id": "network-edb91111e5ff435cbcf23f5537866369", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/7.\345\212\250\346\200\201\350\267\257\347\224\261/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/7.\345\212\250\346\200\201\350\267\257\347\224\261/config.json" index 6527544..f159f22 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/7.\345\212\250\346\200\201\350\267\257\347\224\261/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/7.\345\212\250\346\200\201\350\267\257\347\224\261/config.json" @@ -2,5 +2,7 @@ "node_id": "network-8dd155538a954267abe06242248a083e", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/8.IPv6\345\234\260\345\235\200\344\273\213\347\273\215/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/8.IPv6\345\234\260\345\235\200\344\273\213\347\273\215/config.json" index 945d206..aa6287a 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/8.IPv6\345\234\260\345\235\200\344\273\213\347\273\215/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/8.IPv6\345\234\260\345\235\200\344\273\213\347\273\215/config.json" @@ -2,5 +2,7 @@ "node_id": "network-1f93a31002cf4fe2924a8c513c4a4a5c", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/config.json" index 89b6d91..336855d 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/5.\350\267\250\345\214\272\345\237\237\347\275\221\347\273\234\347\232\204\351\200\232\344\277\241\345\255\246\344\271\240/config.json" @@ -1,4 +1,6 @@ { "node_id": "network-d32c188136234d198a3d27aaf251434f", - "keywords": [] + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/6.\345\272\224\347\224\250\347\250\213\345\272\217\351\227\264\347\232\204\346\225\260\346\215\256\344\274\240\350\276\223/1.\344\274\240\350\276\223\345\261\202\347\232\204\344\275\234\347\224\250/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/6.\345\272\224\347\224\250\347\250\213\345\272\217\351\227\264\347\232\204\346\225\260\346\215\256\344\274\240\350\276\223/1.\344\274\240\350\276\223\345\261\202\347\232\204\344\275\234\347\224\250/config.json" index fd37976..f83504e 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/6.\345\272\224\347\224\250\347\250\213\345\272\217\351\227\264\347\232\204\346\225\260\346\215\256\344\274\240\350\276\223/1.\344\274\240\350\276\223\345\261\202\347\232\204\344\275\234\347\224\250/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/6.\345\272\224\347\224\250\347\250\213\345\272\217\351\227\264\347\232\204\346\225\260\346\215\256\344\274\240\350\276\223/1.\344\274\240\350\276\223\345\261\202\347\232\204\344\275\234\347\224\250/config.json" @@ -2,5 +2,7 @@ "node_id": "network-74e3d2800f35424a8e98ce089f7c27c6", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/6.\345\272\224\347\224\250\347\250\213\345\272\217\351\227\264\347\232\204\346\225\260\346\215\256\344\274\240\350\276\223/2.\347\253\257\345\217\243\345\217\267\347\232\204\345\210\206\347\261\273\343\200\201\344\275\234\347\224\250/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/6.\345\272\224\347\224\250\347\250\213\345\272\217\351\227\264\347\232\204\346\225\260\346\215\256\344\274\240\350\276\223/2.\347\253\257\345\217\243\345\217\267\347\232\204\345\210\206\347\261\273\343\200\201\344\275\234\347\224\250/config.json" index 801dcbb..09cf7db 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/6.\345\272\224\347\224\250\347\250\213\345\272\217\351\227\264\347\232\204\346\225\260\346\215\256\344\274\240\350\276\223/2.\347\253\257\345\217\243\345\217\267\347\232\204\345\210\206\347\261\273\343\200\201\344\275\234\347\224\250/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/6.\345\272\224\347\224\250\347\250\213\345\272\217\351\227\264\347\232\204\346\225\260\346\215\256\344\274\240\350\276\223/2.\347\253\257\345\217\243\345\217\267\347\232\204\345\210\206\347\261\273\343\200\201\344\275\234\347\224\250/config.json" @@ -2,5 +2,7 @@ "node_id": "network-b9246efd155b47799dc02eb00175bd3d", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/6.\345\272\224\347\224\250\347\250\213\345\272\217\351\227\264\347\232\204\346\225\260\346\215\256\344\274\240\350\276\223/3.TCP\345\215\217\350\256\256\347\232\204\347\211\271\347\202\271\345\217\212\345\272\224\347\224\250/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/6.\345\272\224\347\224\250\347\250\213\345\272\217\351\227\264\347\232\204\346\225\260\346\215\256\344\274\240\350\276\223/3.TCP\345\215\217\350\256\256\347\232\204\347\211\271\347\202\271\345\217\212\345\272\224\347\224\250/config.json" index c001a75..2167307 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/6.\345\272\224\347\224\250\347\250\213\345\272\217\351\227\264\347\232\204\346\225\260\346\215\256\344\274\240\350\276\223/3.TCP\345\215\217\350\256\256\347\232\204\347\211\271\347\202\271\345\217\212\345\272\224\347\224\250/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/6.\345\272\224\347\224\250\347\250\213\345\272\217\351\227\264\347\232\204\346\225\260\346\215\256\344\274\240\350\276\223/3.TCP\345\215\217\350\256\256\347\232\204\347\211\271\347\202\271\345\217\212\345\272\224\347\224\250/config.json" @@ -2,5 +2,7 @@ "node_id": "network-85712193cdfa4d82bafaa0f4cd30e266", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/6.\345\272\224\347\224\250\347\250\213\345\272\217\351\227\264\347\232\204\346\225\260\346\215\256\344\274\240\350\276\223/4.UDP\345\215\217\350\256\256\347\232\204\347\211\271\347\202\271\345\217\212\345\272\224\347\224\250/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/6.\345\272\224\347\224\250\347\250\213\345\272\217\351\227\264\347\232\204\346\225\260\346\215\256\344\274\240\350\276\223/4.UDP\345\215\217\350\256\256\347\232\204\347\211\271\347\202\271\345\217\212\345\272\224\347\224\250/config.json" index f8664e5..cc77cef 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/6.\345\272\224\347\224\250\347\250\213\345\272\217\351\227\264\347\232\204\346\225\260\346\215\256\344\274\240\350\276\223/4.UDP\345\215\217\350\256\256\347\232\204\347\211\271\347\202\271\345\217\212\345\272\224\347\224\250/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/6.\345\272\224\347\224\250\347\250\213\345\272\217\351\227\264\347\232\204\346\225\260\346\215\256\344\274\240\350\276\223/4.UDP\345\215\217\350\256\256\347\232\204\347\211\271\347\202\271\345\217\212\345\272\224\347\224\250/config.json" @@ -2,5 +2,7 @@ "node_id": "network-4a3481cb7b03425582b40d1e0d2e0d51", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/6.\345\272\224\347\224\250\347\250\213\345\272\217\351\227\264\347\232\204\346\225\260\346\215\256\344\274\240\350\276\223/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/6.\345\272\224\347\224\250\347\250\213\345\272\217\351\227\264\347\232\204\346\225\260\346\215\256\344\274\240\350\276\223/config.json" index efac831..fe29ae9 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/6.\345\272\224\347\224\250\347\250\213\345\272\217\351\227\264\347\232\204\346\225\260\346\215\256\344\274\240\350\276\223/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/6.\345\272\224\347\224\250\347\250\213\345\272\217\351\227\264\347\232\204\346\225\260\346\215\256\344\274\240\350\276\223/config.json" @@ -1,4 +1,6 @@ { "node_id": "network-5e7027e23eec4c67a7de74e9ab2caba8", - "keywords": [] + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/1.\345\272\224\347\224\250\345\261\202\347\232\204\344\275\234\347\224\250/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/1.\345\272\224\347\224\250\345\261\202\347\232\204\344\275\234\347\224\250/config.json" index 7ba5494..da7e8d4 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/1.\345\272\224\347\224\250\345\261\202\347\232\204\344\275\234\347\224\250/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/1.\345\272\224\347\224\250\345\261\202\347\232\204\344\275\234\347\224\250/config.json" @@ -2,5 +2,7 @@ "node_id": "network-ae82cb15ba26426a91e8a1cb474328ae", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/2.HTTP\345\215\217\350\256\256/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/2.HTTP\345\215\217\350\256\256/config.json" index 0873745..6c8f55c 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/2.HTTP\345\215\217\350\256\256/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/2.HTTP\345\215\217\350\256\256/config.json" @@ -2,5 +2,7 @@ "node_id": "network-bd22073e575c4d4ea1325760a3912954", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/3.FTP\345\215\217\350\256\256/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/3.FTP\345\215\217\350\256\256/config.json" index e156a7f..91acd04 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/3.FTP\345\215\217\350\256\256/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/3.FTP\345\215\217\350\256\256/config.json" @@ -2,5 +2,7 @@ "node_id": "network-14c66687e6e84ea68668d40b4cacd873", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/4.DNS\345\215\217\350\256\256/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/4.DNS\345\215\217\350\256\256/config.json" index ad1e5a9..12167d4 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/4.DNS\345\215\217\350\256\256/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/4.DNS\345\215\217\350\256\256/config.json" @@ -2,5 +2,7 @@ "node_id": "network-656828c7f31c4f72ad230b9e3191161d", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/5.DHCP\345\215\217\350\256\256/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/5.DHCP\345\215\217\350\256\256/config.json" index 459cea4..e174266 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/5.DHCP\345\215\217\350\256\256/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/5.DHCP\345\215\217\350\256\256/config.json" @@ -2,5 +2,7 @@ "node_id": "network-66b95999ea2147c4945a1456eb3baaee", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/6.\351\202\256\344\273\266\345\215\217\350\256\256/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/6.\351\202\256\344\273\266\345\215\217\350\256\256/config.json" index e26d01d..e23d406 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/6.\351\202\256\344\273\266\345\215\217\350\256\256/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/6.\351\202\256\344\273\266\345\215\217\350\256\256/config.json" @@ -2,5 +2,7 @@ "node_id": "network-c554312da0e0433c974d1e489be231e2", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/config.json" index bf365f4..0c6fc07 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/7.\346\224\257\346\222\221\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\345\215\217\350\256\256/config.json" @@ -1,4 +1,6 @@ { "node_id": "network-94a13c6c52614895b92d569cb38b3c87", - "keywords": [] + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/config.json" "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/config.json" index 7412b3b..deb2602 100644 --- "a/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/config.json" +++ "b/data/1.\347\275\221\347\273\234\345\210\235\351\230\266/config.json" @@ -1,4 +1,6 @@ { "node_id": "network-d41a109241504ac689c4180793d237fe", - "keywords": [] + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/1.\344\272\244\346\215\242/1.VLAN/config.json" "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/1.\344\272\244\346\215\242/1.VLAN/config.json" index cb52e5e..edaa531 100644 --- "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/1.\344\272\244\346\215\242/1.VLAN/config.json" +++ "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/1.\344\272\244\346\215\242/1.VLAN/config.json" @@ -2,5 +2,7 @@ "node_id": "network-ae056a3111bf495687aad5e94fc72b6b", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/1.\344\272\244\346\215\242/2.\351\223\276\350\267\257\350\201\232\345\220\210/config.json" "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/1.\344\272\244\346\215\242/2.\351\223\276\350\267\257\350\201\232\345\220\210/config.json" index 95d9ae3..e9d1006 100644 --- "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/1.\344\272\244\346\215\242/2.\351\223\276\350\267\257\350\201\232\345\220\210/config.json" +++ "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/1.\344\272\244\346\215\242/2.\351\223\276\350\267\257\350\201\232\345\220\210/config.json" @@ -2,5 +2,7 @@ "node_id": "network-9f63af019f97456bbf2da57a02268d26", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/1.\344\272\244\346\215\242/3.STP/config.json" "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/1.\344\272\244\346\215\242/3.STP/config.json" index 85ddfb5..534cc79 100644 --- "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/1.\344\272\244\346\215\242/3.STP/config.json" +++ "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/1.\344\272\244\346\215\242/3.STP/config.json" @@ -2,5 +2,7 @@ "node_id": "network-47c1720cca854491a63065893b444aa0", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/1.\344\272\244\346\215\242/config.json" "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/1.\344\272\244\346\215\242/config.json" index dd0d01a..6565e4f 100644 --- "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/1.\344\272\244\346\215\242/config.json" +++ "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/1.\344\272\244\346\215\242/config.json" @@ -1,4 +1,6 @@ { "node_id": "network-1c08cbe277804c9aa7d86a7cea45bb2b", - "keywords": [] + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/1.RIP/config.json" "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/1.RIP/config.json" index e4d340d..4497671 100644 --- "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/1.RIP/config.json" +++ "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/1.RIP/config.json" @@ -2,5 +2,7 @@ "node_id": "network-86a74a86c4634c7f991963d8c39c8200", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/2.OSPF/config.json" "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/2.OSPF/config.json" index 7733018..c687bda 100644 --- "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/2.OSPF/config.json" +++ "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/2.OSPF/config.json" @@ -2,5 +2,7 @@ "node_id": "network-460e4f45b1dc4746a5e6d53df073d8f3", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/3.ISIS/config.json" "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/3.ISIS/config.json" index 1d7b33e..4ed6b50 100644 --- "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/3.ISIS/config.json" +++ "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/3.ISIS/config.json" @@ -2,5 +2,7 @@ "node_id": "network-872fb874602d49aeaf479aa555f768f7", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/4.BGP/config.json" "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/4.BGP/config.json" index 31b9ecb..11fe7c8 100644 --- "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/4.BGP/config.json" +++ "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/4.BGP/config.json" @@ -2,5 +2,7 @@ "node_id": "network-d6e6178da70c4c488b4e6137a6f4f039", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/5.\350\267\257\347\224\261\347\255\226\347\225\245/config.json" "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/5.\350\267\257\347\224\261\347\255\226\347\225\245/config.json" index 541e52d..802d610 100644 --- "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/5.\350\267\257\347\224\261\347\255\226\347\225\245/config.json" +++ "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/5.\350\267\257\347\224\261\347\255\226\347\225\245/config.json" @@ -2,5 +2,7 @@ "node_id": "network-bfec537cc4e74fc0bde6968570bb0bda", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/config.json" "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/config.json" index 36b7091..6f3acd5 100644 --- "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/config.json" +++ "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/2.\350\267\257\347\224\261/config.json" @@ -1,4 +1,6 @@ { "node_id": "network-2bdf012b3e71446da96b483fb9b9cdc4", - "keywords": [] + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/config.json" "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/config.json" index 6c28b9c..00d645d 100644 --- "a/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/config.json" +++ "b/data/2.\347\275\221\347\273\234\344\270\255\351\230\266/config.json" @@ -1,4 +1,6 @@ { "node_id": "network-c2ad656b2d434cf2bddae5b67a54a30e", - "keywords": [] + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/1.PPP/1.PPP\346\246\202\350\277\260/config.json" "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/1.PPP/1.PPP\346\246\202\350\277\260/config.json" index 66803f0..01d1196 100644 --- "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/1.PPP/1.PPP\346\246\202\350\277\260/config.json" +++ "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/1.PPP/1.PPP\346\246\202\350\277\260/config.json" @@ -2,5 +2,7 @@ "node_id": "network-a4dd1c4a69364d6dba624adaeafbafcb", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/1.PPP/2.PPP\345\215\217\350\256\256\345\206\205\345\256\271/config.json" "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/1.PPP/2.PPP\345\215\217\350\256\256\345\206\205\345\256\271/config.json" index 9f5e2db..bffcebe 100644 --- "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/1.PPP/2.PPP\345\215\217\350\256\256\345\206\205\345\256\271/config.json" +++ "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/1.PPP/2.PPP\345\215\217\350\256\256\345\206\205\345\256\271/config.json" @@ -2,5 +2,7 @@ "node_id": "network-aa317ed09bf14c20bb86a1a08d5ec006", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/1.PPP/config.json" "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/1.PPP/config.json" index 8d31078..e58a7eb 100644 --- "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/1.PPP/config.json" +++ "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/1.PPP/config.json" @@ -1,4 +1,6 @@ { "node_id": "network-08302221308e40b38de8cf131dad13ad", - "keywords": [] + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/2.VRRP/1.VRRP\346\246\202\350\277\260/config.json" "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/2.VRRP/1.VRRP\346\246\202\350\277\260/config.json" index 927b1a1..564ec8e 100644 --- "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/2.VRRP/1.VRRP\346\246\202\350\277\260/config.json" +++ "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/2.VRRP/1.VRRP\346\246\202\350\277\260/config.json" @@ -2,5 +2,7 @@ "node_id": "network-5d740cb0d9a8459f88543a83b6c7c5e8", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/2.VRRP/2.VRRP\344\275\234\347\224\250/config.json" "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/2.VRRP/2.VRRP\344\275\234\347\224\250/config.json" index c764e4f..d12e259 100644 --- "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/2.VRRP/2.VRRP\344\275\234\347\224\250/config.json" +++ "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/2.VRRP/2.VRRP\344\275\234\347\224\250/config.json" @@ -2,5 +2,7 @@ "node_id": "network-ca8d4d21ad474dfd83573e883cd821d5", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/2.VRRP/3.VRRP\351\205\215\347\275\256/config.json" "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/2.VRRP/3.VRRP\351\205\215\347\275\256/config.json" index 763acaa..196fe7f 100644 --- "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/2.VRRP/3.VRRP\351\205\215\347\275\256/config.json" +++ "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/2.VRRP/3.VRRP\351\205\215\347\275\256/config.json" @@ -2,5 +2,7 @@ "node_id": "network-f8fb04c24a4e4d4dad049a963e1acdba", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/2.VRRP/config.json" "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/2.VRRP/config.json" index 7be66a5..8e3ca95 100644 --- "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/2.VRRP/config.json" +++ "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/2.VRRP/config.json" @@ -1,4 +1,6 @@ { "node_id": "network-8ef0493e96804c9aa6696c9c8c1ae3ca", - "keywords": [] + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/3.QoS/1.QoS\346\246\202\350\277\260/config.json" "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/3.QoS/1.QoS\346\246\202\350\277\260/config.json" index a78b757..f02e13b 100644 --- "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/3.QoS/1.QoS\346\246\202\350\277\260/config.json" +++ "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/3.QoS/1.QoS\346\246\202\350\277\260/config.json" @@ -2,5 +2,7 @@ "node_id": "network-40f0e24cb89b479c82163e686b1271c4", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/3.QoS/2.QoS\345\210\206\347\261\273/config.json" "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/3.QoS/2.QoS\345\210\206\347\261\273/config.json" index aefb7ac..c50d53a 100644 --- "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/3.QoS/2.QoS\345\210\206\347\261\273/config.json" +++ "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/3.QoS/2.QoS\345\210\206\347\261\273/config.json" @@ -2,5 +2,7 @@ "node_id": "network-c0196e2fe2e846bc8a4c9bb338221528", "keywords": [], "children": [], - "export": [] + "export": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/3.QoS/config.json" "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/3.QoS/config.json" index 6d22883..8b4e048 100644 --- "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/3.QoS/config.json" +++ "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/3.QoS/config.json" @@ -1,4 +1,6 @@ { "node_id": "network-c52d5bcef40f45c5bc8a3941c73d2750", - "keywords": [] + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/config.json" "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/config.json" index 6d72981..119fd56 100644 --- "a/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/config.json" +++ "b/data/3.\347\275\221\347\273\234\351\253\230\351\230\266/config.json" @@ -1,4 +1,6 @@ { "node_id": "network-fd72367657724abd93fd0e6c1b1584fc", - "keywords": [] + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git a/data/config.json b/data/config.json index 4c7f794..47d3df6 100644 --- a/data/config.json +++ b/data/config.json @@ -1,5 +1,7 @@ { "tree_name": "network", "keywords": [], - "node_id": "network-7d5f6fdfd0b04e68aeebfb18474e4c4f" + "node_id": "network-7d5f6fdfd0b04e68aeebfb18474e4c4f", + "keywords_must": [], + "keywords_forbid": [] } \ No newline at end of file diff --git a/data/tree.json b/data/tree.json index a4687bf..b708f5a 100644 --- a/data/tree.json +++ b/data/tree.json @@ -24,7 +24,9 @@ "访问网页数据的传递过程" ], "children": [], - "node_id": "network-90eb249a1a944545bec9375caa09b7ee" + "node_id": "network-90eb249a1a944545bec9375caa09b7ee", + "keywords_must": [], + "keywords_forbid": [] } }, { @@ -33,7 +35,9 @@ "我国网络的发展的发展" ], "children": [], - "node_id": "network-f5d2f2b5a7624f7a95ff3e1ab2fa4fc5" + "node_id": "network-f5d2f2b5a7624f7a95ff3e1ab2fa4fc5", + "keywords_must": [], + "keywords_forbid": [] } }, { @@ -45,10 +49,14 @@ "资源共享" ], "children": [], - "node_id": "network-8a6a24c32e154eb396619dbbfbdab0e7" + "node_id": "network-8a6a24c32e154eb396619dbbfbdab0e7", + "keywords_must": [], + "keywords_forbid": [] } } - ] + ], + "keywords_must": [], + "keywords_forbid": [] } }, { @@ -75,7 +83,9 @@ "智能家居" ], "children": [], - "node_id": "network-2aacb5a4f5a64677ace490d4373d7628" + "node_id": "network-2aacb5a4f5a64677ace490d4373d7628", + "keywords_must": [], + "keywords_forbid": [] } }, { @@ -87,11 +97,15 @@ "无线路由器" ], "children": [], - "node_id": "network-42e9982de4334db79ea829662e90ea2f" + "node_id": "network-42e9982de4334db79ea829662e90ea2f", + "keywords_must": [], + "keywords_forbid": [] } } ], - "node_id": "network-c83783f42f4d4fdcb71dd55d3087b7f0" + "node_id": "network-c83783f42f4d4fdcb71dd55d3087b7f0", + "keywords_must": [], + "keywords_forbid": [] }, "常见的网络介质": { "keywords": [ @@ -103,38 +117,54 @@ "children": [ { "双绞线": { - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "光纤": { - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "同轴电缆": { - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "无线电波": { - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } } - ] + ], + "keywords_must": [], + "keywords_forbid": [] } } - ] + ], + "keywords_must": [], + "keywords_forbid": [] } }, { "网络拓扑的分类": { "node_id": "network-05cf5084bf4b4f8dbb7040d4d53efbfa", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } } - ] + ], + "keywords_must": [], + "keywords_forbid": [] } }, { @@ -146,31 +176,41 @@ "网络模型概述": { "node_id": "network-8afe66fc4e1e4f539061de800a0a23bf", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "OSI模型": { "node_id": "network-bac5e201cd3f471aa09aef6f6bd9dd6a", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "TCPIP模型": { "node_id": "network-e7861382d8474d99b6c81866b3480346", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "数据的封装和解封装": { "node_id": "network-9ca6243f54a446089eaf3a8f18dbdf5f", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } } - ] + ], + "keywords_must": [], + "keywords_forbid": [] } }, { @@ -182,24 +222,32 @@ "物理层概述": { "node_id": "network-93a232d0cf754e6b87dcdd6f43f8cbc8", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "通信方式": { "node_id": "network-f5b3ff50904c4fed949e58640a143cfe", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "网络通信的介质": { "node_id": "network-1ed5189882a04d6da48dc84617427b65", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } } - ] + ], + "keywords_must": [], + "keywords_forbid": [] } }, { @@ -211,59 +259,77 @@ "数据链路层的作用": { "node_id": "network-ec7441d074c1439285eab85cd1d35425", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "MAC地址及分类": { "node_id": "network-45e9640d996c42d685c497fa6604a764", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "交换机的作用": { "node_id": "network-770fb1807a7e4ef59c9f78e06685dd67", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "交换机的工作原理": { "node_id": "network-e7f2ac802a3e4ac785b5f94d4935dcae", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "ARP协议的工作原理": { "node_id": "network-44c32ade1eb24e328d84b0970a82c874", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "VLAN": { "node_id": "network-da956c02f676454e8bcaa50e3cfa8e06", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "WLAN": { "node_id": "network-5dd420ebd67146afa5219a44cd614a47", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "PPP": { "node_id": "network-dd30314697c84cc1b696d77dd11aced9", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } } - ] + ], + "keywords_must": [], + "keywords_forbid": [] } }, { @@ -275,59 +341,77 @@ "网络层的作用": { "node_id": "network-8d8288ccd2b64a109c4f557efe592ac3", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "IP协议的特点": { "node_id": "network-ab6bfd85ec3440dd89fea166da0be00c", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "IPv4地址的分类和计算": { "node_id": "network-772cd2af7db94508840e1441a7574877", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "路由器的作用": { "node_id": "network-cbc2f413286e40fcad470f79d0da9f1d", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "路由表的工作原理": { "node_id": "network-9d424643d20e4d6a8e563debaad8f21a", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "静态路由": { "node_id": "network-edb91111e5ff435cbcf23f5537866369", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "动态路由": { "node_id": "network-8dd155538a954267abe06242248a083e", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "IPv6地址介绍": { "node_id": "network-1f93a31002cf4fe2924a8c513c4a4a5c", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } } - ] + ], + "keywords_must": [], + "keywords_forbid": [] } }, { @@ -339,31 +423,41 @@ "传输层的作用": { "node_id": "network-74e3d2800f35424a8e98ce089f7c27c6", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "端口号的分类、作用": { "node_id": "network-b9246efd155b47799dc02eb00175bd3d", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "TCP协议的特点及应用": { "node_id": "network-85712193cdfa4d82bafaa0f4cd30e266", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "UDP协议的特点及应用": { "node_id": "network-4a3481cb7b03425582b40d1e0d2e0d51", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } } - ] + ], + "keywords_must": [], + "keywords_forbid": [] } }, { @@ -375,48 +469,64 @@ "应用层的作用": { "node_id": "network-ae82cb15ba26426a91e8a1cb474328ae", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "HTTP协议": { "node_id": "network-bd22073e575c4d4ea1325760a3912954", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "FTP协议": { "node_id": "network-14c66687e6e84ea68668d40b4cacd873", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "DNS协议": { "node_id": "network-656828c7f31c4f72ad230b9e3191161d", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "DHCP协议": { "node_id": "network-66b95999ea2147c4945a1456eb3baaee", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "邮件协议": { "node_id": "network-c554312da0e0433c974d1e489be231e2", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } } - ] + ], + "keywords_must": [], + "keywords_forbid": [] } } - ] + ], + "keywords_must": [], + "keywords_forbid": [] } }, { @@ -433,24 +543,32 @@ "VLAN": { "node_id": "network-ae056a3111bf495687aad5e94fc72b6b", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "链路聚合": { "node_id": "network-9f63af019f97456bbf2da57a02268d26", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "STP": { "node_id": "network-47c1720cca854491a63065893b444aa0", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } } - ] + ], + "keywords_must": [], + "keywords_forbid": [] } }, { @@ -462,41 +580,55 @@ "RIP": { "node_id": "network-86a74a86c4634c7f991963d8c39c8200", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "OSPF": { "node_id": "network-460e4f45b1dc4746a5e6d53df073d8f3", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "ISIS": { "node_id": "network-872fb874602d49aeaf479aa555f768f7", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "BGP": { "node_id": "network-d6e6178da70c4c488b4e6137a6f4f039", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "路由策略": { "node_id": "network-bfec537cc4e74fc0bde6968570bb0bda", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } } - ] + ], + "keywords_must": [], + "keywords_forbid": [] } } - ] + ], + "keywords_must": [], + "keywords_forbid": [] } }, { @@ -513,17 +645,23 @@ "PPP概述": { "node_id": "network-a4dd1c4a69364d6dba624adaeafbafcb", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "PPP协议内容": { "node_id": "network-aa317ed09bf14c20bb86a1a08d5ec006", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } } - ] + ], + "keywords_must": [], + "keywords_forbid": [] } }, { @@ -535,24 +673,32 @@ "VRRP概述": { "node_id": "network-5d740cb0d9a8459f88543a83b6c7c5e8", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "VRRP作用": { "node_id": "network-ca8d4d21ad474dfd83573e883cd821d5", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "VRRP配置": { "node_id": "network-f8fb04c24a4e4d4dad049a963e1acdba", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } } - ] + ], + "keywords_must": [], + "keywords_forbid": [] } }, { @@ -564,22 +710,32 @@ "QoS概述": { "node_id": "network-40f0e24cb89b479c82163e686b1271c4", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } }, { "QoS分类": { "node_id": "network-c0196e2fe2e846bc8a4c9bb338221528", "keywords": [], - "children": [] + "children": [], + "keywords_must": [], + "keywords_forbid": [] } } - ] + ], + "keywords_must": [], + "keywords_forbid": [] } } - ] + ], + "keywords_must": [], + "keywords_forbid": [] } } - ] + ], + "keywords_must": [], + "keywords_forbid": [] } } \ No newline at end of file diff --git a/src/tree.py b/src/tree.py index 638d944..146fd12 100644 --- a/src/tree.py +++ b/src/tree.py @@ -2,10 +2,10 @@ import json import logging import os import re +import subprocess import sys import uuid import re -import git id_set = set() logger = logging.getLogger(__name__) @@ -14,15 +14,31 @@ handler = logging.StreamHandler(sys.stdout) formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') handler.setFormatter(formatter) logger.addHandler(handler) -repo = git.Repo(".") -def user_name(): - return repo.config_reader().get_value("user", "name") +def search_author(author_dict, username): + for key in author_dict: + names = author_dict[key] + if username in names: + return key + return username + + +def user_name(md_file, author_dict): + ret = subprocess.Popen([ + "git", "log", md_file + ], stdout=subprocess.PIPE) + lines = list(map(lambda l: l.decode(), ret.stdout.readlines())) + author_lines = [] + for line in lines: + if line.startswith('Author'): + author_lines.append(line.split(' ')[1]) + author_nick_name = author_lines[-1] + return search_author(author_dict, author_nick_name) def load_json(p): - with open(p, 'r') as f: + with open(p, 'r', encoding="utf-8") as f: return json.loads(f.read()) @@ -77,7 +93,18 @@ def check_export(base, cfg): class TreeWalker: - def __init__(self, root, tree_name, title=None, log=None): + def __init__( + self, root, + tree_name, + title=None, + log=None, + authors=None, + enable_notebook=None, + ignore_keywords=False + ): + self.ignore_keywords = ignore_keywords + self.authors = authors if authors else {} + self.enable_notebook = enable_notebook self.name = tree_name self.root = root self.title = tree_name if title is None else title @@ -89,7 +116,9 @@ class TreeWalker: root_node = { "node_id": root["node_id"], "keywords": root["keywords"], - "children": [] + "children": [], + "keywords_must": root["keywords_must"], + "keywords_forbid": root["keywords_forbid"] } self.tree[root["tree_name"]] = root_node self.load_levels(root_node) @@ -144,6 +173,8 @@ class TreeWalker: "node_id": config["node_id"], "keywords": config["keywords"], "children": [], + "keywords_must": config["keywords_must"], + "keywords_forbid": config["keywords_forbid"] } } @@ -195,6 +226,8 @@ class TreeWalker: "tree_name": self.name, "keywords": [], "node_id": self.gen_node_id(), + "keywords_must": [], + "keywords_forbid": [] } dump_json(config_path, config, exist_ok=True, override=True) else: @@ -224,7 +257,9 @@ class TreeWalker: if not os.path.exists(config_path): config = { "node_id": self.gen_node_id(), - "keywords": [] + "keywords": [], + "keywords_must": [], + "keywords_forbid": [] } dump_json(config_path, config, exist_ok=True, override=True) else: @@ -290,6 +325,8 @@ class TreeWalker: "node_id": config["node_id"], "keywords": config["keywords"], "children": [], + "keywords_must": config["keywords_must"], + "keywords_forbid": config["keywords_forbid"] } } return num, result @@ -301,7 +338,9 @@ class TreeWalker: name: { "node_id": config["node_id"], "keywords": config.get("keywords", []), - "children": config.get("children", []) + "children": config.get("children", []), + "keywords_must": config["keywords_must"], + "keywords_forbid": config["keywords_forbid"] } } # if "children" in config: @@ -318,7 +357,8 @@ class TreeWalker: continue mfile = base + ".json" meta_path = os.path.join(section_path, mfile) - self.ensure_exercises_meta(meta_path, source) + md_file = os.path.join(section_path, e) + self.ensure_exercises_meta(meta_path, source, md_file) export = config.get("export", []) if mfile not in export and self.name != "algorithm": export.append(mfile) @@ -339,7 +379,7 @@ class TreeWalker: else: id_set.add(exercise["exercise_id"]) - def ensure_exercises_meta(self, meta_path, source): + def ensure_exercises_meta(self, meta_path, source, md_file): _, mfile = os.path.split(meta_path) meta = None if os.path.exists(meta_path): @@ -354,27 +394,32 @@ class TreeWalker: if "source" not in meta: meta["source"] = source if "author" not in meta: - meta["author"] = user_name() + meta["author"] = user_name(md_file, self.authors) if "type" not in meta: meta["type"] = "code_options" - if meta is None: - meta = { - "type": "code_options", - "author": user_name(), - "source": source, - "notebook_enable": self.default_notebook(), - "exercise_id": uuid.uuid4().hex - } + + if meta is None: + meta = { + "type": "code_options", + "author": user_name(md_file, self.authors), + "source": source, + "notebook_enable": self.default_notebook(), + "exercise_id": uuid.uuid4().hex + } dump_json(meta_path, meta, True, True) def default_notebook(self): + if self.enable_notebook is not None: + return self.enable_notebook if self.name in ["python", "java", "c"]: return True else: return False def check_section_keywords(self, full_path): + if self.ignore_keywords: + return config = self.ensure_section_config(full_path) - # if not config.get("keywords", []): - # self.logger.error(f"节点 [{full_path}] 的关键字为空,请修改配置文件写入关键字") - # sys.exit(1) + if not config.get("keywords", []): + self.logger.error(f"节点 [{full_path}] 的关键字为空,请修改配置文件写入关键字") + sys.exit(1) -- GitLab