Skip to content

Commit c70316f

Browse files
committed
feat: api规则细节限制优化
1 parent e5a923e commit c70316f

File tree

7 files changed

+93
-22
lines changed

7 files changed

+93
-22
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<div align=center><img src="doc/logo.png"/></div>
22

3-
[![](https://img.shields.io/badge/base-openresty-blue?style=flat-square)](https://openresty.org/cn/) ![Build](https://img.shields.io/badge/build-passing-green?style=flat-square) ![Version](https://img.shields.io/github/v/tag/iamtsm/tl-ops-manage?color=green&label=Version&style=flat-square) ![License](https://img.shields.io/badge/License-Apache%202.0-blue?style=flat-square)
3+
[![](https://img.shields.io/badge/base-openresty-blue?style=flat-square)](https://openresty.org/cn/) ![Build](https://img.shields.io/badge/build-passing-green?style=flat-square) ![Version](https://img.shields.io/github/v/tag/iamtsm/tl-ops-manage?color=green&label=Version&style=flat-square)
44

55
基于openresty的API网关,支持负载均衡,健康检查,服务熔断,服务限流,waf过滤,黑白名单,动态SSL证书,自定义插件,多级缓存,可视化管理,动态配置,动态插拔插件,数据统计,数据展示,集群部署
66

balance/tl_ops_balance_core_api.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ local tl_ops_balance_api_service_matcher = function(service_list_table)
184184
ngx.var.tlops_ups_api_prefix = fake_sub
185185
end
186186
end
187-
187+
188188
return node, node_state, node_id, host, rule_match_mode
189189
end
190190

bin/install_centeros.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ TL_OPS_PATH="/usr/local/tl-ops-manage/"
66
TL_OPS_CONF_PATH="/usr/local/tl-ops-manage/conf/tl_ops_manage.conf"
77
TL_OPS_LUA_PATH="/usr/local/openresty/lualib/?.lua;;/usr/local/tl-ops-manage/?.lua;;"
88
TL_OPS_LUAC_PATH="/usr/local/openresty/lualib/?.so;;"
9-
TL_OPS_VER="v3.4.4"
9+
TL_OPS_VER="v3.4.5"
1010

1111
echo_msg(){
1212
cur_time=$(date "+%Y-%m-%d %H:%M:%S")

bin/install_ubuntu.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ TL_OPS_PATH="/usr/local/tl-ops-manage/"
66
TL_OPS_CONF_PATH="/usr/local/tl-ops-manage/conf/tl_ops_manage.conf"
77
TL_OPS_LUA_PATH="/usr/local/openresty/lualib/?.lua;;/usr/local/tl-ops-manage/?.lua;;"
88
TL_OPS_LUAC_PATH="/usr/local/openresty/lualib/?.so;;"
9-
TL_OPS_VER="v3.4.4"
9+
TL_OPS_VER="v3.4.5"
1010

1111
echo_msg(){
1212
cur_time=$(date "+%Y-%m-%d %H:%M:%S")

doc/change.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11

22
## 事务更新日程
33

4+
2023-04-22
5+
6+
1. api规则细节限制优化
7+
8+
2. 事务日程调整
9+
10+
411
2023-03-26
512

613
1. 补充部分测试用例

web/balance/tl_ops_web_api.js

Lines changed: 63 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -372,16 +372,38 @@ const tl_ops_api_data_add_filter = function( data ) {
372372
if(rule === 'random'){
373373
delete data.field.node
374374
}
375-
for(let key in data.field){
376-
if(key === 'id' || key === 'rewrite_url' || key === 'fake_prefix'){
377-
continue;
378-
}
379-
if(data.field[key] === undefined || data.field[key] === null || data.field[key] === ''){
380-
layer.msg(key + "未填写")
381-
return false;
375+
376+
let api_type = data.field.api_type;
377+
378+
if(api_type === 'page'){
379+
for(let key in data.field){
380+
if(key === 'id' || key === 'rewrite_url' || key === 'fake_prefix' || key === 'service' || key === 'node'){
381+
continue;
382+
}
383+
384+
if(data.field[key] === undefined || data.field[key] === null || data.field[key] === ''){
385+
layer.msg(key + "未填写")
386+
return false;
387+
}
388+
if(key === 'node'){
389+
data.field[key] = parseInt(data.field[key])
390+
}
382391
}
383-
if(key === 'node'){
384-
data.field[key] = parseInt(data.field[key])
392+
}
393+
394+
if(api_type === 'api'){
395+
for(let key in data.field){
396+
if(key === 'id' || key === 'rewrite_url' || key === 'fake_prefix'){
397+
continue;
398+
}
399+
400+
if(data.field[key] === undefined || data.field[key] === null || data.field[key] === ''){
401+
layer.msg(key + "未填写")
402+
return false;
403+
}
404+
if(key === 'node'){
405+
data.field[key] = parseInt(data.field[key])
406+
}
385407
}
386408
}
387409

@@ -402,18 +424,41 @@ const tl_ops_api_data_edit_filter = function( data ) {
402424
if(rule === 'random'){
403425
delete data.field.node
404426
}
405-
for(let key in data.field){
406-
if(key === 'rewrite_url' || key === 'fake_prefix'){
407-
continue
408-
}
409-
if(data.field[key] === undefined || data.field[key] === null || data.field[key] === ''){
410-
layer.msg(key + "未填写")
411-
return false;
427+
428+
let api_type = data.field.api_type;
429+
430+
if(api_type === 'page'){
431+
for(let key in data.field){
432+
if(key === 'rewrite_url' || key === 'fake_prefix' || key === 'service' || key === 'node'){
433+
continue;
434+
}
435+
436+
if(data.field[key] === undefined || data.field[key] === null || data.field[key] === ''){
437+
layer.msg(key + "未填写")
438+
return false;
439+
}
440+
if(key === 'node'){
441+
data.field[key] = parseInt(data.field[key])
442+
}
412443
}
413-
if(key === 'node'){
414-
data.field[key] = parseInt(data.field[key])
444+
}
445+
446+
if(api_type === 'api'){
447+
for(let key in data.field){
448+
if(key === 'rewrite_url' || key === 'fake_prefix'){
449+
continue;
450+
}
451+
452+
if(data.field[key] === undefined || data.field[key] === null || data.field[key] === ''){
453+
layer.msg(key + "未填写")
454+
return false;
455+
}
456+
if(key === 'node'){
457+
data.field[key] = parseInt(data.field[key])
458+
}
415459
}
416460
}
461+
417462
let cur_list = []
418463
res_data.tl_ops_balance_api_list[rule].forEach((item)=>{
419464
if(parseInt(item.id) === parseInt(data.field.id)){

web/balance/tl_ops_web_api_form.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,16 @@ const tl_ops_web_api_form_main = async function (){
3434
}
3535
});
3636

37+
form.on('radio', function(data){
38+
if(data.value === 'page'){
39+
document.getElementById("tl-ops-web-api-form-service-view").style.display = "none";
40+
document.getElementById("tl-ops-web-api-form-service-node-view").style.display = "none";
41+
}else if(data.value === 'api'){
42+
document.getElementById("tl-ops-web-api-form-service-view").style.display = "block";
43+
document.getElementById("tl-ops-web-api-form-service-node-view").style.display = "block";
44+
}
45+
});
46+
3747
let res = await axios.get("/tlops/service/list");
3848
res = res.data;
3949
if(res.code === 0){
@@ -61,6 +71,15 @@ const tl_ops_web_api_form_main = async function (){
6171

6272

6373
window.tl_ops_web_api_form_render = function(data){
74+
if(data){
75+
if(data.api_type === 'page'){
76+
document.getElementById("tl-ops-web-api-form-service-view").style.display = "none";
77+
document.getElementById("tl-ops-web-api-form-service-node-view").style.display = "none";
78+
}else if(data.api_type === 'api'){
79+
document.getElementById("tl-ops-web-api-form-service-view").style.display = "block";
80+
document.getElementById("tl-ops-web-api-form-service-node-view").style.display = "block";
81+
}
82+
}
6483
form.val("tl-ops-web-api-form", Object.assign(form.val("tl-ops-web-api-form"), data))
6584
form.render()
6685
document.querySelector("#fake_prefix").dispatchEvent(new Event('input', {}))

0 commit comments

Comments
 (0)