<div> <span class="brand" style="font-weight:bold;">{{paramFlowRuleDialog.title}}</span> <div class="card" style="margin-top: 20px;margin-bottom: 10px;"> <div class="panel-body"> <div class="clearfix"> <form role="form" class="form-horizontal"> <div class="form-group"> <label class="col-sm-2 control-label">资源名</label> <div class="col-sm-9"> <input type="text" ng-if="paramFlowRuleDialog.type == 'edit'" class="form-control" placeholder="资源名" ng-model='currentRule.rule.resource' disabled="" /> <input type="text" ng-if="paramFlowRuleDialog.type == 'add'" class="form-control highlight-border" placeholder="资源名" ng-model='currentRule.rule.resource' required /> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label">限流模式</label> <p class="col-sm-9 control-label" style="text-align: left; font-weight: normal;">QPS 模式</p> </div> <div class="form-group"> <label class="col-sm-2 control-label">参数索引</label> <div class="col-sm-9"> <input type="number" class="form-control highlight-border" ng-model='currentRule.rule.paramIdx' placeholder='请填入传入的热点参数的索引(从 0 开始)' /> </div> </div> <div class="form-group"> <div ng-if="!currentRule.rule.clusterMode"> <label class="col-sm-2 control-label">单机阈值</label> <div class="col-sm-3"> <input type="number" class="form-control highlight-border" ng-model='currentRule.rule.count' placeholder='单机阈值' /> </div> <label class="col-sm-3 control-label" title="统计窗口时间长度,单位为 s">统计窗口时长</label> <div class="input-group col-sm-3"> <input type="number" class="form-control highlight-border" ng-model='currentRule.rule.durationInSec' min="1" placeholder='请填入统计窗口时长(单位为 秒)' /> <span class="input-group-addon">秒</span> </div> </div> <div ng-if="currentRule.rule.clusterMode && currentRule.rule.clusterConfig.thresholdType == 0"> <label class="col-sm-2 control-label">均摊阈值</label> <div class="col-sm-9"> <input type="number" class="form-control highlight-border" ng-model='currentRule.rule.count' placeholder='集群均摊阈值' /> </div> </div> <div ng-if="currentRule.rule.clusterMode && currentRule.rule.clusterConfig.thresholdType == 1"> <label class="col-sm-2 control-label">集群阈值</label> <div class="col-sm-9"> <input type="number" class="form-control highlight-border" ng-model='currentRule.rule.count' placeholder='集群总体阈值' /> </div> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label">是否集群</label> <div class="col-sm-2"> <input type="checkbox" name="clusterMode" ng-model="currentRule.rule.clusterMode"> </div> <div ng-if="currentRule.rule.clusterMode"> <label class="col-sm-3 control-label">集群阈值模式</label> <div class="col-sm-4"> <div class="form-control highlight-border" align="center"> <input type="radio" name="clusterThresholdType" value="0" ng-model='currentRule.rule.clusterConfig.thresholdType' /> 单机均摊 <input type="radio" name="clusterThresholdType" value="1" ng-model='currentRule.rule.clusterConfig.thresholdType' /> 总体阈值 </div> </div> </div> </div> <div class="form-group" ng-if="currentRule.rule.clusterMode"> <label class="col-sm-2 control-label">失败退化</label> <div class="col-sm-8"> <div class="checkbox-inline"> <input type="checkbox" name="fallbackToLocalWhenFail" ng-model="currentRule.rule.clusterConfig.fallbackToLocalWhenFail"> <i class="glyphicon glyphicon-info-sign"></i> 若选择,则 Token Server 不可用时将退化到单机限流 </div> </div> </div> <!-- exclusion item part start --> <div ng-if="!paramFlowRuleDialog.showAdvanceButton"> <hr /> <div class="form-group"> <div class="form-group" style="text-align: center"> <label class="control-label">参数例外项</label> </div> <div class="form-group"> <label class="col-sm-2 control-label">参数类型</label> <div class="col-md-9"> <select ng-model="curExItem.classType" ng-options="classType for classType in paramItemClassTypeList" class="form-control" placeholder="请选择参数类型"> </select> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label">参数值</label> <div class="col-md-3"> <input ng-model="curExItem.object" type="text" class="form-control" placeholder="例外项参数值"> </div> <label class="col-sm-2 control-label">限流阈值</label> <div class="col-md-3"> <input type="number" ng-model="curExItem.count" class="form-control" placeholder="限流阈值"> </div> <div class="col-md-2"> <button type="button" class="btn btn-success" ng-disabled="notValidParamItem(curExItem)" ng-click="addParamItem()"> <span class="fa fa-plus"> 添加</span> </button> </div> </div> <div> <div class="col-md-12"> <table class="table table-condensed table-hover"> <thead> <th>参数值</th> <th>参数类型</th> <th>限流阈值</th> <th>操作</th> </thead> <tbody> <tr ng-repeat="paramItem in currentRule.rule.paramFlowItemList"> <td><input ng-model="paramItem.object" type="text" class="form-control" placeholder="例外项参数"></td> <td> <p>{{paramItem.classType}}</p> </td> <td> <input type="number" ng-model="paramItem.count" class="form-control" placeholder="限流阈值"> </td> <td> <button type="button" class="btn btn-danger" ng-click="removeParamItem(paramItem.object, paramItem.classType)"><span class="fa fa-trash-o"> 删除</span></button> </td> </tr> </tbody> </table> </div> </div> </div> </div> <!-- exclusion item part end --> <div class="form-group text-center" ng-if="paramFlowRuleDialog.supportAdvanced"> <a ng-click="onOpenAdvanceClick()" ng-if="paramFlowRuleDialog.showAdvanceButton" style="cursor: pointer;">高级选项</a> <a ng-click="onCloseAdvanceClick()" ng-if="!paramFlowRuleDialog.showAdvanceButton" style="cursor: pointer;">关闭高级选项</a> </div> </form> </div> <div class="separator"></div> <div clss="row" style="margin-top: 20px;"> <button class="btn btn-outline-danger" style="float:right; height: 30px;font-size: 12px;margin-left: 10px;" ng-click="closeThisDialog()">取消</button> <button class="btn btn-outline-success" style="float:right; height: 30px;font-size: 12px;margin-left: 10px;" ng-click="saveRule()">{{paramFlowRuleDialog.confirmBtnText}}</button> <button ng-if="paramFlowRuleDialog.saveAndContinueBtnText" class="btn btn-default" style="float:right; height: 30px;font-size: 12px;" ng-click="saveRuleAndContinue()">{{paramFlowRuleDialog.saveAndContinueBtnText}}</button> </div> </div> </div> </div>