This commit is contained in:
tanghc
2019-05-22 11:12:55 +08:00
parent 2d3b651bd4
commit 2388c4b872
7 changed files with 20 additions and 12 deletions

View File

@@ -145,9 +145,9 @@
>
<el-form-item label="限流维度" prop="typeKey">
<el-checkbox-group v-model="limitDialogFormData.typeKey">
<el-checkbox v-model="limitDialogFormData.typeKey[0]" :label="1" name="typeKey" @change="checked=>onLimitKeyTypeChange(checked, 'routeId')">路由ID</el-checkbox>
<el-checkbox v-model="limitDialogFormData.typeKey[1]" :label="2" name="typeKey" @change="checked=>onLimitKeyTypeChange(checked, 'appKey')">AppKey</el-checkbox>
<el-checkbox v-model="limitDialogFormData.typeKey[2]" :label="3" name="typeKey" @change="checked=>onLimitKeyTypeChange(checked, 'limitIp')">IP</el-checkbox>
<el-checkbox v-model="limitDialogFormData.typeKey[0]" :label="1" name="typeKey">路由ID</el-checkbox>
<el-checkbox v-model="limitDialogFormData.typeKey[1]" :label="2" name="typeKey">AppKey</el-checkbox>
<el-checkbox v-model="limitDialogFormData.typeKey[2]" :label="3" name="typeKey">IP</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item v-show="checkTypeKey(1)" prop="routeId" label="路由ID" :rules="checkTypeKey(1) ? rulesLimit.routeId : []">
@@ -429,6 +429,7 @@ export default {
onLimitDialogSave: function() {
this.$refs['limitDialogForm'].validate((valid) => {
if (valid) {
this.cleanCheckboxData()
this.limitDialogFormData.serviceId = this.serviceId
const uri = this.limitDialogFormData.id ? 'config.limit.update' : 'config.limit.add'
this.post(uri, this.limitDialogFormData, function(resp) {
@@ -438,6 +439,18 @@ export default {
}
})
},
cleanCheckboxData: function() {
// 如果没有勾选则清空
if (!this.checkTypeKey(1)) {
this.limitDialogFormData.routeId = ''
}
if (!this.checkTypeKey(2)) {
this.limitDialogFormData.appKey = ''
}
if (!this.checkTypeKey(3)) {
this.limitDialogFormData.limitIp = ''
}
},
onLimitTypeTipClick: function() {
const leakyRemark = '漏桶策略:每秒处理固定数量的请求,超出请求返回错误信息。'
const tokenRemark = '令牌桶策略:每秒放置固定数量的令牌数,每个请求进来后先去拿令牌,拿到了令牌才能继续,拿不到则等候令牌重新生成了再拿。'
@@ -454,11 +467,6 @@ export default {
this.searchFormData.pageIndex = pageIndex
this.loadTable()
},
onLimitKeyTypeChange: function(checked, name) {
if (!checked) {
this.limitDialogFormData[name] = ''
}
},
checkTypeKey: function(val) {
return this.limitDialogFormData.typeKey.find((value, index, arr) => {
return value === val