[TOC] ## 获取匹配器列表 ~~~[api] get:/v1/cc-matchs integer:page=1#当前页码 integer:limit=10#单页显示数量 integer:internal_self#置为1时显示内置及自己的匹配器 integer:internal#置为1时,只显示内置匹配器 boolean:enable#显示禁用或启用的匹配器 <<< 返回结果 { "code": 0, "count": 1, "data": [ { "c.uid": 2, "create_at": null, "create_at2": "2021-11-25 14:17:49", "data": "{\"uri\": {\"operator\": \"contain\", \"value\": \"/api\"}}", "des": "", "enable": 1, "id": 10021, "internal": 0, "name": "匹配api", "state": null, "task_id": null, "uid": 2, "update_at": null, "update_at2": "2021-11-25 14:17:49", "username": "jason", "version": 1 } ] } ~~~ ## 新增匹配器 ~~~[api] post:/v1/cc-matchs *string:name#匹配器名称 des#备注 data#匹配规则,如果为{}时,表示匹配所有,格式为对象,键名支持ip、host、req_uri、req_method、uri、user_agent、referer、country_iso_code,opertator支持=、!=、!contain、contain、!AC、AC。当operator值为!AC或AC时,value值格式需要为数组。 如匹配ip为1.1.1.1,{"ip":{"operator":"=","value":"1.1.1.1"}} <<< 返回结果 { "code": 0, "data": "1", "msg": "匹配器添加成功" } <<< 提交内容 { "name": "中国地区", "data": { "country_iso_code": { "operator": "=", "value": "CN" } } } ~~~ ## 批量修改匹配器 (数据格式为数组) ~~~[api] put:/v1/cc-matchs *integer:id#匹配器id *string:name#匹配器名称 des#备注 data#匹配规则,如果为{}时,表示匹配所有,格式为对象,键名支持ip、host、req_uri、req_method、uri、user_agent、referer、country_iso_code,opertator支持=、!=、!contain、contain、!AC、AC。当operator值为!AC或AC时,value值格式需要为数组。 如匹配ip为1.1.1.1,{"ip":{"operator":"=","value":"1.1.1.1"}} boolean:enable#启用或禁用 <<< 返回结果 { "code": 0, "data": "", "msg": "更新匹配器成功" } <<< 提交内容 [{ "id": 1, "enable": 0 }, { "id": 2, "enable": 0 }] ~~~ ## 获取单个匹配器 ~~~[api] get:/v1/cc-matchs/<匹配器ID> <<< 返回结果 { "code": 0, "data": { "create_at": null, "data": "{\"uri\": {\"operator\": \"contain\", \"value\": \"/api\"}}", "des": "", "enable": 1, "id": 10021, "internal": 0, "name": "匹配api", "task_id": null, "uid": 2, "update_at": null, "version": 1 }, "msg": "" } ~~~ ## 修改单个匹配器 ~~~[api] put:/v1/cc-matchs/<匹配器ID> string:name#匹配器名称 des#备注 data#匹配规则,如果为{}时,表示匹配所有,格式为对象,键名支持ip、host、req_uri、req_method、uri、user_agent、referer、country_iso_code,opertator支持=、!=、!contain、contain、!AC、AC。当operator值为!AC或AC时,value值格式需要为数组。 如匹配ip为1.1.1.1,{"ip":{"operator":"=","value":"1.1.1.1"}} boolean:enable#启用或禁用 <<< 返回结果 { "code": 0, "data": "", "msg": "更新匹配器成功" } <<< 提交内容 { "name": "新名称", } ~~~ ## 删除匹配器 ~~~[api] delete:/v1/cc-matchs/<匹配器ID,多个以逗号分隔> <<< 返回结果 { "code": 0, "data": "", "msg": "匹配器删除成功" } ~~~