@arkxos/arkos-app-gateway-manage 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/ark_dist/ark-meta.json +14 -14
  2. package/ark_dist/css/views/{views-CreateGateway.41b2bde6.css → views-CreateGateway.6fbb1ad6.css} +7 -7
  3. package/ark_dist/index.html +3 -3
  4. package/ark_dist/js/app.b656f470.js +2 -0
  5. package/ark_dist/js/app.b656f470.js.map +1 -0
  6. package/ark_dist/js/views/views-CreateGateway.11d048ca.js +3 -0
  7. package/ark_dist/js/views/views-CreateGateway.11d048ca.js.LICENSE.txt +1 -0
  8. package/ark_dist/js/views/views-CreateGateway.11d048ca.js.map +1 -0
  9. package/package.json +159 -156
  10. package/src/api/gateway-manage/client_api.js +6 -6
  11. package/src/api/gateway-manage/open_client.js +8 -8
  12. package/src/component/BoxCard.vue +4 -4
  13. package/src/component/ClientInfo.vue +1 -1
  14. package/src/component/GroovyScriptTable.vue +6 -6
  15. package/src/component/RouteInfo.vue +5 -5
  16. package/src/component/RouteRequestCount.vue +1 -1
  17. package/src/views/AddClientGateway.vue +7 -7
  18. package/src/views/AddGatewayClient.vue +6 -6
  19. package/src/views/AddGroovyScript.vue +6 -6
  20. package/src/views/ApiCount.vue +1 -1
  21. package/src/views/ApiDoc.vue +5 -5
  22. package/src/views/ApiMonitor.vue +29 -29
  23. package/src/views/CreateBalanced.vue +4 -4
  24. package/src/views/CreateClient.vue +7 -7
  25. package/src/views/CreateGateway.vue +30 -30
  26. package/src/views/IpList.vue +5 -5
  27. package/ark_dist/js/app.e014b7a5.js +0 -1
  28. package/ark_dist/js/views/views-CreateGateway.7db295a9.js +0 -3
  29. package/ark_dist/js/views/views-CreateGateway.7db295a9.js.LICENSE.txt +0 -1
  30. package/ark_dist/js/views/views-CreateGateway.7db295a9.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
  <div>
3
3
  <!-- <el-page-header @back="goBack" content="已注册客户端管理"></el-page-header> -->
4
4
  <el-dialog title="添加客户端" v-model="dialogFormVisible" width="40%" :close-on-click-modal="false">
5
- <el-table size="mini" :data="clientTableData" style="width: 100%">
5
+ <el-table size="default" :data="clientTableData" style="width: 100%">
6
6
  <el-table-column label="客户端ID" width="280">
7
7
  <template #default="{ row }">
8
8
  <el-tag size="small" type="warning" style="font-weight: bold;">{{row.id}}</el-tag>
@@ -57,9 +57,9 @@
57
57
  <span style="margin-left: 50px;">
58
58
  <i class="el-icon-connection"></i>
59
59
  <span style="font-size: 11pt;">
60
- <el-tag size="mini" style="font-weight: bold;">{{form.name}}</el-tag> -
61
- <el-tag size="mini" type="warning" style="font-weight: bold;">{{form.id}}</el-tag> -
62
- <el-tag size="mini" type="success" style="font-weight: bold;">{{form.uri}}</el-tag>
60
+ <el-tag size="default" style="font-weight: bold;">{{form.name}}</el-tag> -
61
+ <el-tag size="default" type="warning" style="font-weight: bold;">{{form.id}}</el-tag> -
62
+ <el-tag size="default" type="success" style="font-weight: bold;">{{form.uri}}</el-tag>
63
63
  </span>
64
64
  </span>
65
65
  <div style="float: right; margin-left: 10px;">
@@ -121,8 +121,8 @@
121
121
  <el-table-column label="TOKEN过期时间" prop="tokenEffectiveTime"></el-table-column>
122
122
  <el-table-column label="状态" prop="status" :formatter="formatterStatus">
123
123
  <template #default="{ row }">
124
- <div v-if="row.regServerStatus==='0'"><i class="el-icon-success" style="color: #409EFF;"></i>&nbsp;<el-tag size="mini">{{'允许通行'}}</el-tag></div>
125
- <div v-if="row.regServerStatus==='1'"><i class="el-icon-error" style="color: #f00000;"></i>&nbsp;<el-tag size="mini" type="danger">{{'禁止通行'}}</el-tag></div>
124
+ <div v-if="row.regServerStatus==='0'"><i class="el-icon-success" style="color: #409EFF;"></i>&nbsp;<el-tag size="default">{{'允许通行'}}</el-tag></div>
125
+ <div v-if="row.regServerStatus==='1'"><i class="el-icon-error" style="color: #f00000;"></i>&nbsp;<el-tag size="default" type="danger">{{'禁止通行'}}</el-tag></div>
126
126
  </template>
127
127
  </el-table-column>
128
128
  <el-table-column label="注册时间" prop="regServerTime"></el-table-column>
@@ -2,7 +2,7 @@
2
2
  <div>
3
3
  <el-page-header @back="goBack" content="网关路由规则组件"></el-page-header>
4
4
  <el-dialog title="添加规则组件" v-model="dialogFormVisible" width="70%" :close-on-click-modal="false">
5
- <el-form :model="groovyForm" status-icon :rules="rules" ref="groovyForm" label-width="100px" size="mini">
5
+ <el-form :model="groovyForm" status-icon :rules="rules" ref="groovyForm" label-width="100px" size="default">
6
6
  <el-form-item label="组件名称" prop="name">
7
7
  <el-input v-model="groovyForm.name" autocomplete="off" placeholder="请输入组件名称"></el-input>
8
8
  </el-form-item>
@@ -37,12 +37,12 @@
37
37
  <el-dialog width="65%" title="编译失败日志" v-model="innerVisible" append-to-body>
38
38
  <pre class="language-java line-numbers" style="height: 500px;"><code>{{codeErrorMsg}}</code></pre>
39
39
  <div slot="footer" class="dialog-footer">
40
- <el-button icon="el-icon-s-release" size="mini" type="warning" @click="innerVisible = false">关 闭</el-button>
40
+ <el-button icon="el-icon-s-release" size="default" type="warning" @click="innerVisible = false">关 闭</el-button>
41
41
  </div>
42
42
  </el-dialog>
43
43
  <div slot="footer" class="dialog-footer">
44
- <el-button icon="el-icon-s-claim" size="mini" type="success" @click="submitForm">提 交</el-button>
45
- <el-button icon="el-icon-s-release" size="mini" type="warning" @click="dialogFormVisible = false">关 闭</el-button>
44
+ <el-button icon="el-icon-s-claim" size="default" type="success" @click="submitForm">提 交</el-button>
45
+ <el-button icon="el-icon-s-release" size="default" type="warning" @click="dialogFormVisible = false">关 闭</el-button>
46
46
  </div>
47
47
  </el-dialog>
48
48
 
@@ -51,7 +51,7 @@
51
51
  <pre class="language-java line-numbers" style="height: 700px;"><code v-html="groovScriptCode"></code></pre>
52
52
  </div>
53
53
  <div slot="footer" class="dialog-footer">
54
- <el-button icon="el-icon-s-release" size="mini" type="warning" @click="dialogCodeVisible = false">关 闭</el-button>
54
+ <el-button icon="el-icon-s-release" size="default" type="warning" @click="dialogCodeVisible = false">关 闭</el-button>
55
55
  </div>
56
56
  </el-dialog>
57
57
 
@@ -74,7 +74,7 @@
74
74
  <span style="margin-left: 50px;">
75
75
  <i class="el-icon-monitor"></i>
76
76
  <span style="font-size: 11pt;">
77
- <el-tag size="mini" style="font-weight: bold;">{{routeForm.name}}</el-tag>
77
+ <el-tag size="default" style="font-weight: bold;">{{routeForm.name}}</el-tag>
78
78
  </span>
79
79
  </span>
80
80
  <div style="float: right; margin-left: 10px;">
@@ -104,7 +104,7 @@
104
104
  <el-table-column label="查看" width="80">
105
105
  <template #default="{ row }">
106
106
  <el-button
107
- size="mini"
107
+ size="default"
108
108
  @click="handleShowRouteCount(row)"
109
109
  circle
110
110
  title="请点击选中查看"
@@ -8,10 +8,10 @@
8
8
  <span slot-scope="{ node, data }">
9
9
  <span style="font-size: 10pt;">{{ node.label }}</span>
10
10
  <span>
11
- <el-button size="mini" circle icon="el-icon-edit" title="编辑"
11
+ <el-button size="default" circle icon="el-icon-edit" title="编辑"
12
12
  style="border: 0px; margin-left: 0px; font-size: 10pt; padding: 2px;"
13
13
  @click="() => handleNodeEdit(data)" :disabled="handleType=='edit' && id != data.id" ></el-button>
14
- <el-button v-show="isNotGroups(node.data.code)" size="mini" circle icon="el-icon-view"
14
+ <el-button v-show="isNotGroups(node.data.code)" size="default" circle icon="el-icon-view"
15
15
  title="详情" style="border: 0px; margin-left: 0px; font-size: 10pt; padding: 2px;"
16
16
  @click="() => handleNodeView(data)"></el-button>
17
17
  </span>
@@ -28,19 +28,19 @@
28
28
  <span v-show="infoForm.isItem" style="margin-left: 50px;">
29
29
  <i class="el-icon-position"></i>
30
30
  <span style="font-size: 11pt;">
31
- <el-tag size="mini" style="font-weight: bold;">{{infoForm.id}}</el-tag>
31
+ <el-tag size="default" style="font-weight: bold;">{{infoForm.id}}</el-tag>
32
32
  </span>
33
33
  </span>
34
34
  <span v-show="infoForm.isItem" style="margin-left: 30px;">
35
35
  <i class="el-icon-link"></i>
36
36
  <span style="font-size: 11pt;">
37
- <el-tag size="mini" type="success" style="font-weight: bold;">{{infoForm.path}}</el-tag>
37
+ <el-tag size="default" type="success" style="font-weight: bold;">{{infoForm.path}}</el-tag>
38
38
  </span>
39
39
  </span>
40
40
  <span v-show="infoForm.isItem" style="margin-left: 30px;">
41
41
  <i class="el-icon-connection"></i>
42
42
  <span style="font-size: 11pt;">
43
- <el-tag size="mini" type="success" style="font-weight: bold;">{{infoForm.uri}}</el-tag>
43
+ <el-tag size="default" type="success" style="font-weight: bold;">{{infoForm.uri}}</el-tag>
44
44
  </span>
45
45
  </span>
46
46
  </div>
@@ -2,10 +2,10 @@
2
2
  <div class="layout-padding">
3
3
  <div class="layout-padding-auto layout-padding-view">
4
4
  <div class="box-flex-between" style="padding:20px">
5
- <el-radio-group v-model="status" size="mini" @change="search">
5
+ <el-radio-group v-model="status" size="default" @change="search">
6
6
  <el-radio-button label=""><i class="el-icon-menu" style="font-weight: bold;"></i>&nbsp;所有</el-radio-button>
7
7
  <el-radio-button label="0"><i class="el-icon-loading" style="font-weight: bold;"></i>&nbsp;运行</el-radio-button>
8
- <el-radio-button label="1"><i class="el-icon-circle-close" style="font-weight: bold;"></i>&nbsp;停止</el-radio-button>
8
+ <el-radio-button label="1"><i class="el-icon-circle-close" style="font-weight: bold;"></i>&nbsp;停止</el-radio-button>
9
9
  <el-radio-button label="2"><i class="el-icon-bell" style="font-weight: bold;"></i>&nbsp;告警</el-radio-button>
10
10
  </el-radio-group>
11
11
  </div>
@@ -18,7 +18,7 @@
18
18
  </div>
19
19
  <div class="item-name-style">
20
20
  <span>{{item.name}}</span>
21
- </div>
21
+ </div>
22
22
  </div>
23
23
  </div>
24
24
  </div>
@@ -26,46 +26,46 @@
26
26
 
27
27
  <el-dialog title="监控告警信息" v-model="dialogFormVisible" width="25%" :close-on-click-modal="false">
28
28
  <el-form :model="infoForm" ref="infoForm" :label-width="formLabelWidth">
29
- <el-form-item label="服务ID:" size="mini">
29
+ <el-form-item label="服务ID:" size="default">
30
30
  <el-tag size="small">{{infoForm.id}}</el-tag>
31
31
  </el-form-item>
32
- <el-form-item label="服务ID:" size="mini">
32
+ <el-form-item label="服务ID:" size="default">
33
33
  <el-tag size="small">{{infoForm.name}}</el-tag>
34
34
  </el-form-item>
35
- <el-form-item label="服务地址:" size="mini">
35
+ <el-form-item label="服务地址:" size="default">
36
36
  <el-tag size="small" type="success">{{infoForm.uri}}</el-tag>
37
37
  </el-form-item>
38
- <el-form-item label="断言路径:" size="mini">
38
+ <el-form-item label="断言路径:" size="default">
39
39
  <el-tag size="small" type="success">{{infoForm.path}}</el-tag>
40
40
  </el-form-item>
41
- <el-form-item v-show="infoForm.method != ''" label="请求模式:" size="mini">
41
+ <el-form-item v-show="infoForm.method != ''" label="请求模式:" size="default">
42
42
  <el-tag size="small" type="success">{{infoForm.method}}</el-tag>
43
43
  </el-form-item>
44
- <el-form-item label="告警状态:" size="mini">
44
+ <el-form-item label="告警状态:" size="default">
45
45
  <el-tag v-show="infoForm.status != '2'" size="small" type="" effect="dark">正常</el-tag>
46
46
  <el-tag v-show="infoForm.status == '2'" size="small" type="danger" effect="dark">告警</el-tag>
47
47
  </el-form-item>
48
- <el-form-item v-show="infoForm.status == '2'" label="告警时间:" size="mini">
48
+ <el-form-item v-show="infoForm.status == '2'" label="告警时间:" size="default">
49
49
  <el-tag size="small" type="danger" effect="dark">{{infoForm.alarmTime}}</el-tag>
50
50
  </el-form-item>
51
- <el-form-item label="告警重试:" size="mini">
51
+ <el-form-item label="告警重试:" size="default">
52
52
  <el-tag v-show="infoForm.recover == '0'" size="small" type="" effect="dark">启用</el-tag>
53
53
  <el-tag v-show="infoForm.recover == '1'" size="small" type="danger" effect="dark">禁止</el-tag>
54
54
  </el-form-item>
55
- <el-form-item label="通知频率:" size="mini">
55
+ <el-form-item label="通知频率:" size="default">
56
56
  <el-tag v-for="item in monitorOptions" :key="item.value" v-show="infoForm.frequency == item.value" size="small" type="" effect="dark">{{item.label}}</el-tag>
57
57
  </el-form-item>
58
- <el-form-item v-show="infoForm.emails != null && infoForm.emails != ''" label="通知邮箱:" size="mini">
58
+ <el-form-item v-show="infoForm.emails != null && infoForm.emails != ''" label="通知邮箱:" size="default">
59
59
  <el-tag size="small" type="" effect="dark">{{infoForm.emails}}</el-tag>
60
60
  </el-form-item>
61
- <el-form-item v-show="infoForm.sendTime != null && infoForm.sendTime != ''" label="通知时间:" size="mini">
61
+ <el-form-item v-show="infoForm.sendTime != null && infoForm.sendTime != ''" label="通知时间:" size="default">
62
62
  <el-tag size="small" type="" effect="dark">{{infoForm.sendTime}}</el-tag>
63
63
  </el-form-item>
64
64
  </el-form>
65
65
  <template #footer>
66
66
  <div class="dialog-footer">
67
- <el-button icon="el-icon-document-delete" v-show="infoForm.status == '2'" size="mini" type="success" @click="close">关闭本次告警</el-button>
68
- <el-button icon="el-icon-document-delete" size="mini" type="warning" @click="dialogFormVisible = false">关 闭</el-button>
67
+ <el-button icon="el-icon-document-delete" v-show="infoForm.status == '2'" size="default" type="success" @click="close">关闭本次告警</el-button>
68
+ <el-button icon="el-icon-document-delete" size="default" type="warning" @click="dialogFormVisible = false">关 闭</el-button>
69
69
  </div>
70
70
  </template>
71
71
  </el-dialog>
@@ -74,7 +74,7 @@
74
74
 
75
75
  <script>
76
76
  import {monitorList, closeMonitor} from '../api/monitor_api.js'
77
-
77
+
78
78
  export default {
79
79
  data() {
80
80
  return {
@@ -91,34 +91,34 @@
91
91
  },
92
92
  class:{
93
93
  '0':'breathe-run breathe-style breathe-keyframes-run breathe-div-border',
94
- '1':'breathe-stop breathe-style breathe-div-border',
94
+ '1':'breathe-stop breathe-style breathe-div-border',
95
95
  '2':'breathe-urgent breathe-style breathe-keyframes-urgent breathe-div-border'
96
96
  },
97
- title:{
98
- '0':',服务正常运行',
97
+ title:{
98
+ '0':',服务正常运行',
99
99
  '1':',服务已停止',
100
100
  '2':',30分钟内发生告警'
101
101
  },
102
- des:{
102
+ des:{
103
103
  '0':'服务运行中...',
104
- '1':'服务已停止...',
104
+ '1':'服务已停止...',
105
105
  '2':'服务告警...'
106
106
  },
107
107
  },
108
108
  monitorOptions: [
109
109
  {value: '30m',label: '30分钟一次'},
110
110
  {value: '1h', label: '1小时一次'},
111
- {value: '5h',label: '5小时一次'},
111
+ {value: '5h',label: '5小时一次'},
112
112
  {value: '12h',label: '12小时一次'},
113
113
  {value: '24h',label: '24小时一次'}
114
114
  ]
115
115
  };
116
116
  },
117
117
  created: function() {
118
- this.search();
118
+ this.search();
119
119
  },
120
120
  mounted: function() {
121
-
121
+
122
122
  },
123
123
  beforeDestroy: function() {
124
124
  },
@@ -176,10 +176,10 @@
176
176
  <style lang="scss" scoped>
177
177
  .span_1{
178
178
  font-size: 18pt;
179
- font-weight: bold;
180
- margin-bottom: 9px;
179
+ font-weight: bold;
180
+ margin-bottom: 9px;
181
181
  }
182
-
182
+
183
183
  .breathe-run {
184
184
  border: 1px solid #2b92d4;
185
185
  }
@@ -231,7 +231,7 @@
231
231
  white-space:nowrap;
232
232
  overflow:hidden;
233
233
  text-overflow: ellipsis;
234
- font-weight: bold;
234
+ font-weight: bold;
235
235
  }
236
236
 
237
237
  /* vue中@-webkit-keyframes改成@keyframes */
@@ -34,14 +34,14 @@
34
34
  </template>
35
35
 
36
36
  <el-dialog title="添加服务端" v-model="dialogFormVisible" width="40%" :close-on-click-modal="false">
37
- <el-table size="mini" :data="routeTableData" style="width: 100%">
37
+ <el-table size="default" :data="routeTableData" style="width: 100%">
38
38
  <el-table-column label="服务ID" prop="id"></el-table-column>
39
39
  <el-table-column label="服务名称" prop="name"></el-table-column>
40
40
  <el-table-column label="服务地址" prop="uri"></el-table-column>
41
41
  <el-table-column label="操作" width="60">
42
42
  <template #default="{ row }">
43
- <el-button v-if="row.selected !== true" size="mini" circle icon="el-icon-plus" type="success" title="点击添加" @click="handleAddRegServer(row)"></el-button>
44
- <el-button v-if="row.selected === true" size="mini" circle icon="el-icon-check" type="primary" title="已添加" @click="handleAddRegServer(row)"></el-button>
43
+ <el-button v-if="row.selected !== true" size="default" circle icon="el-icon-plus" type="success" title="点击添加" @click="handleAddRegServer(row)"></el-button>
44
+ <el-button v-if="row.selected === true" size="default" circle icon="el-icon-check" type="primary" title="已添加" @click="handleAddRegServer(row)"></el-button>
45
45
  </template>
46
46
  </el-table-column>
47
47
  </el-table>
@@ -118,7 +118,7 @@
118
118
  </el-table-column>
119
119
  <el-table-column label="操作" width="60">
120
120
  <template #default="{ row }">
121
- <el-button size="mini" circle icon="el-icon-delete" title="删除" style="border: 0px; font-size: 12pt;" @click="handleDeleteServer(row)"></el-button>
121
+ <el-button size="default" circle icon="el-icon-delete" title="删除" style="border: 0px; font-size: 12pt;" @click="handleDeleteServer(row)"></el-button>
122
122
  </template>
123
123
  </el-table-column>
124
124
  </el-table>
@@ -7,8 +7,8 @@
7
7
  <span>客户端配置</span>
8
8
  </div>
9
9
  <div class="clear-r">
10
- <el-button icon="el-icon-tickets" size="mini" type="success" @click="submit">发 布</el-button>
11
- <el-button icon="el-icon-delete" size="mini" type="warning" @click="resetForm">清 空</el-button>
10
+ <el-button icon="el-icon-tickets" size="default" type="success" @click="submit">发 布</el-button>
11
+ <el-button icon="el-icon-delete" size="default" type="warning" @click="resetForm">清 空</el-button>
12
12
  </div>
13
13
  </div>
14
14
  </template>
@@ -59,18 +59,18 @@ export default {
59
59
  },
60
60
  rules: {
61
61
  name: [
62
- { required: true, message: '请输入客户端名称', trigger: 'blur' },
62
+ { required: true, message: '请输入客户端名称', trigger: 'blur' },
63
63
  { min: 2, max: 40, message: '长度在 2 到 40 个字符', trigger: 'blur' },
64
64
  ],
65
65
  systemCode: [
66
- { required: true, message: '请输入客户端系统代号', trigger: 'blur' },
66
+ { required: true, message: '请输入客户端系统代号', trigger: 'blur' },
67
67
  { min: 2, max: 40, message: '长度在 2 到 40 个字符', trigger: 'blur' },
68
68
  ],
69
69
  groupCode: [
70
70
  { required: true, message: '请选择分组', trigger: 'change' },
71
71
  ],
72
72
  ip: [
73
- { required: true, message: '请输入客户端IP', trigger: 'blur' },
73
+ { required: true, message: '请输入客户端IP', trigger: 'blur' },
74
74
  { min: 8, max: 16, message: '长度在 8 到 16 个字符,如:0.0.0.0', trigger: 'blur' },
75
75
  ],
76
76
  status: [
@@ -153,7 +153,7 @@ export default {
153
153
  width: 100%;
154
154
  display: flex;
155
155
  justify-content: space-between;
156
-
156
+
157
157
  .clear-l,
158
158
  .clear-r {
159
159
  display: flex;
@@ -168,4 +168,4 @@ export default {
168
168
  font-weight: 500;
169
169
  }
170
170
  }
171
- </style>
171
+ </style>
@@ -30,14 +30,14 @@
30
30
  </el-popover>
31
31
  </div>
32
32
  <div class="clear-r">
33
- <el-button icon="el-icon-delete" size="mini" type="warning" @click="resetForm"> 清 空 </el-button>
34
- <el-button icon="el-icon-tickets" size="mini" type="success" @click="submit"> 发 布 </el-button>
33
+ <el-button icon="el-icon-delete" size="default" type="warning" @click="resetForm"> 清 空 </el-button>
34
+ <el-button icon="el-icon-tickets" size="default" type="success" @click="submit"> 发 布 </el-button>
35
35
  </div>
36
36
  </div>
37
37
 
38
38
  </template>
39
39
 
40
-
40
+
41
41
  <el-row>
42
42
  <el-col :span="24">
43
43
  <div style="float: left;">
@@ -66,7 +66,7 @@
66
66
  </div>
67
67
  <div style="float: left; margin-left: 10px;">
68
68
  <el-popover placement="bottom" trigger="click" width="420">
69
- <el-radio-group v-model="form.groupCode" size="mini" @change="handleSelectedGroup">
69
+ <el-radio-group v-model="form.groupCode" size="default" @change="handleSelectedGroup">
70
70
  <el-radio-button v-for="item in groupOptions" :key="item.value" :label="item.value">{{item.label}}</el-radio-button>
71
71
  </el-radio-group>
72
72
  <template #reference>
@@ -76,7 +76,7 @@
76
76
  </div>
77
77
  </el-col>
78
78
  </el-row>
79
-
79
+
80
80
  <el-row style="margin-top: 20px;">
81
81
  <el-col :span="24">
82
82
  <div style="float: left;">
@@ -119,7 +119,7 @@
119
119
  </template>
120
120
  </el-popover>
121
121
  </div>
122
- </el-col>
122
+ </el-col>
123
123
  </el-row>
124
124
 
125
125
  <el-row style="margin-top: 20px;">
@@ -166,11 +166,11 @@
166
166
  </div>
167
167
  </el-col>
168
168
  </el-row>
169
-
169
+
170
170
  </el-card>
171
171
  </el-col>
172
172
  </el-row>
173
-
173
+
174
174
  <el-row :gutter="20" style="margin-top: 20px;">
175
175
  <el-col :span="6">
176
176
  <el-card class="box-card">
@@ -192,7 +192,7 @@
192
192
  <el-button style="float: right; padding: 3px 0; " icon="el-icon-questionFilled" type="text" title="说明">说明</el-button>
193
193
  </template>
194
194
  </el-popover>
195
- </div>
195
+ </div>
196
196
  </template>
197
197
  <div>
198
198
  <el-row :gutter="24">
@@ -244,7 +244,7 @@
244
244
  </el-input>
245
245
  </div>
246
246
  </el-collapse-item>
247
- </el-collapse>
247
+ </el-collapse>
248
248
  </el-card>
249
249
 
250
250
  <el-card class="box-card" style="margin-top: 20px;">
@@ -284,7 +284,7 @@
284
284
  </template>
285
285
  </el-popover>
286
286
  <el-popover placement="bottom" width="460" trigger="click">
287
- <el-radio-group v-model="form.monitor.frequency" size="mini" @change="handleSelectedMonitorFrequency">
287
+ <el-radio-group v-model="form.monitor.frequency" size="default" @change="handleSelectedMonitorFrequency">
288
288
  <el-radio-button v-for="item in monitorOptions" :key="item.value" :label="item.value">{{item.label}}</el-radio-button>
289
289
  </el-radio-group>
290
290
  <template #reference>
@@ -359,7 +359,7 @@
359
359
  <span>缓存策略</span>
360
360
  <el-popover trigger="click" placement="bottom">
361
361
  <div style="font-size: 10pt;">
362
- <span>配置说明:</span><br/>
362
+ <span>配置说明:</span><br/>
363
363
  <span>1.基于Redis缓存路由服务端响应结果到网关,减少后端服务并发压力。</span><br/>
364
364
  <span>2.适用于非高频更新数据请求(如:配置、字典等)。高频更新数据或实时数据请求不适用,会严重影响Gateway网关服务Redis资源平衡。</span><br/>
365
365
  <span>3.基于请求参数和body值组合,计算其md5值为缓存key并缓存路由服务响应结果,之后每次相同传参请求不再路由到后端服务,直接取网关未过期缓存结果;</span><br/>
@@ -386,13 +386,13 @@
386
386
  <el-input size="small" placeholder="响应结果缓存过期时长(秒)" v-model="form.cacheTtl">
387
387
  <template #prepend>最大缓存时间(秒/s)</template>
388
388
  </el-input>
389
- </div>
389
+ </div>
390
390
  </el-collapse-item>
391
391
  </el-collapse>
392
392
  </el-card>
393
-
393
+
394
394
  </el-col>
395
-
395
+
396
396
 
397
397
  <el-col :span="6">
398
398
  <el-card class="box-card">
@@ -401,10 +401,10 @@
401
401
  <span>Sentinel限流器</span>
402
402
  <el-popover trigger="click" placement="bottom">
403
403
  <div style="font-size: 10pt;">
404
- <span>配置说明:</span><br/>
404
+ <span>配置说明:</span><br/>
405
405
  <span>1.线程数限流用于保护业务线程数不被耗尽。</span><br/>
406
406
  <span>2.流量控制主要有两种统计类型,一种是统计线程数,另外一种则是统计 QPS。</span><br/>
407
- <span>3.参见官方文档:https://sentinelguard.io/zh-cn/docs/flow-control.html</span><br/>
407
+ <span>3.参见官方文档:https://sentinelguard.io/zh-cn/docs/flow-control.html</span><br/>
408
408
  </div>
409
409
  <template #reference>
410
410
  <el-button style="float: right; padding: 3px 0; " icon="el-icon-questionFilled" type="text" title="说明">说明</el-button>
@@ -433,7 +433,7 @@
433
433
  </el-radio-group>
434
434
  </el-col>
435
435
  </el-row>
436
- </div>
436
+ </div>
437
437
  <el-collapse accordion style="margin-top: 10px;">
438
438
  <el-collapse-item>
439
439
  <template #title>
@@ -550,7 +550,7 @@ import { CaretBottom } from '@element-plus/icons-vue'
550
550
  <script>
551
551
  // import gatewayJson from '../api/json/gateway.json'
552
552
  import {addRoute,updateRoute} from '../api/gateway_api.js'
553
-
553
+
554
554
  export default {
555
555
  data() {
556
556
  return {
@@ -602,7 +602,7 @@ import { CaretBottom } from '@element-plus/icons-vue'
602
602
  slowRatioThreshold: 1
603
603
  },
604
604
  cacheTtl: 0
605
- },
605
+ },
606
606
  filter:{
607
607
  ipChecked: false,
608
608
  tokenChecked: false,
@@ -630,7 +630,7 @@ import { CaretBottom } from '@element-plus/icons-vue'
630
630
  idDisabled: false,
631
631
  methodOptions: [
632
632
  {value: null, label: 'ALL'},
633
- {value: 'POST',label: 'POST'},
633
+ {value: 'POST',label: 'POST'},
634
634
  {value: 'GET',label: 'GET'},
635
635
  {value: 'PUT',label: 'PUT'},
636
636
  {value: 'DELETE',label: 'DELETE'}
@@ -639,7 +639,7 @@ import { CaretBottom } from '@element-plus/icons-vue'
639
639
  monitorOptions: [
640
640
  {value: '30m',label: '30分钟一次'},
641
641
  {value: '1h', label: '1小时一次'},
642
- {value: '5h',label: '5小时一次'},
642
+ {value: '5h',label: '5小时一次'},
643
643
  {value: '12h',label: '12小时一次'},
644
644
  {value: '24h',label: '24小时一次'}
645
645
  ],
@@ -694,7 +694,7 @@ import { CaretBottom } from '@element-plus/icons-vue'
694
694
  this.form.degradeRule = degradeRule;
695
695
  this.cacheResult = route.cacheResult;
696
696
  console.log('this.form', this.form);
697
- this.idDisabled = true;
697
+ this.idDisabled = true;
698
698
 
699
699
  // if (this.form.monitor == undefined){
700
700
  // this.form.monitor = {
@@ -741,11 +741,11 @@ import { CaretBottom } from '@element-plus/icons-vue'
741
741
  },
742
742
  submit(){
743
743
  let data = {
744
- form: this.form,
745
- filter: this.filter,
746
- // hystrix:this.hystrix,
747
- // limiter:this.limiter,
748
- access: this.access,
744
+ form: this.form,
745
+ filter: this.filter,
746
+ // hystrix:this.hystrix,
747
+ // limiter:this.limiter,
748
+ access: this.access,
749
749
  monitor: this.monitor,
750
750
  flowRule: this.flowRule,
751
751
  degradeRule: this.degradeRule,
@@ -790,13 +790,13 @@ import { CaretBottom } from '@element-plus/icons-vue'
790
790
  cacheTtl: 0,
791
791
  monitor: {},
792
792
  degradeRule: {},
793
- flowRule: {}
793
+ flowRule: {}
794
794
  }
795
795
  this.filter={};
796
796
  this.access={};
797
797
  this.monitor={};
798
798
  this.degradeRule={};
799
- this.flowRule={};
799
+ this.flowRule={};
800
800
  this.cacheResult={};
801
801
  }
802
802
  }
@@ -60,21 +60,21 @@
60
60
 
61
61
  <el-dialog title="IP管理" v-model="dialogFormVisible" width="30%" :close-on-click-modal="false">
62
62
  <el-form :model="form" ref="form" :label-width="formLabelWidth" :rules="rules">
63
- <el-form-item label="IP" size="mini" prop="ip">
63
+ <el-form-item label="IP" size="default" prop="ip">
64
64
  <el-input v-model="form.ip" autocomplete="off" :maxlength="15" style="width: 240px;"></el-input>
65
65
  </el-form-item>
66
- <el-form-item label="状态" size="mini" prop="status">
66
+ <el-form-item label="状态" size="default" prop="status">
67
67
  <el-radio v-model="form.status" label="0">允许通行</el-radio>
68
68
  <el-radio v-model="form.status" label="1">禁止通行</el-radio>
69
69
  </el-form-item>
70
- <el-form-item label="备注" size="mini" prop="remarks">
70
+ <el-form-item label="备注" size="default" prop="remarks">
71
71
  <el-input type="textarea" :rows="3" v-model="form.remarks" :maxlength="200" autocomplete="off"></el-input>
72
72
  </el-form-item>
73
73
  </el-form>
74
74
  <template #footer>
75
75
  <div class="dialog-footer">
76
- <el-button size="mini" type="success" @click="submit">提 交</el-button>
77
- <el-button size="mini" type="warning" @click="dialogFormVisible = false">关 闭</el-button>
76
+ <el-button size="default" type="success" @click="submit">提 交</el-button>
77
+ <el-button size="default" type="warning" @click="dialogFormVisible = false">关 闭</el-button>
78
78
  </div>
79
79
  </template>
80
80
  </el-dialog>
@@ -1 +0,0 @@
1
- !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r(require("ArkLibProxy"),require("ArkMicro"),require("ElementPlus"),require("Vue"),require("axios"),require("echarts")):"function"==typeof define&&define.amd?define(["ArkLibProxy","ArkMicro","ElementPlus","Vue","axios","echarts"],r):"object"==typeof exports?exports["@arkxos/arkos-app-gateway-manage"]=r(require("ArkLibProxy"),require("ArkMicro"),require("ElementPlus"),require("Vue"),require("axios"),require("echarts")):e["@arkxos/arkos-app-gateway-manage"]=r(e.ArkLibProxy,e.ArkMicro,e.ElementPlus,e.Vue,e.axios,e.echarts)}(self,(function(e,r,t,n,o,a){return function(){"use strict";var i,u,s={8655:function(r){r.exports=e},9562:function(e){e.exports=r},6842:function(e){e.exports=t},2740:function(e){e.exports=n},3300:function(e){e.exports=o},550:function(e){e.exports=a}},c={};function f(e){var r=c[e];if(void 0!==r)return r.exports;var t=c[e]={exports:{}};return s[e](t,t.exports,f),t.exports}f.m=s,f.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(r,{a:r}),r},f.d=function(e,r){for(var t in r)f.o(r,t)&&!f.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},f.f={},f.e=function(e){return Promise.all(Object.keys(f.f).reduce((function(r,t){return f.f[t](e,r),r}),[]))},f.u=function(e){return"js/views/views-CreateGateway.7db295a9.js"},f.miniCssF=function(e){return"css/views/views-CreateGateway.41b2bde6.css"},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},i={},u="@arkxos/arkos-app-gateway-manage:",f.l=function(e,r,t,n){if(i[e])i[e].push(r);else{var o,a;if(void 0!==t)for(var s=document.getElementsByTagName("script"),c=0;c<s.length;c++){var l=s[c];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==u+t){o=l;break}}o||(a=!0,(o=document.createElement("script")).charset="utf-8",o.timeout=120,f.nc&&o.setAttribute("nonce",f.nc),o.setAttribute("data-webpack",u+t),o.src=e),i[e]=[r];var d=function(r,t){o.onerror=o.onload=null,clearTimeout(p);var n=i[e];if(delete i[e],o.parentNode&&o.parentNode.removeChild(o),n&&n.forEach((function(e){return e(t)})),r)return r(t)},p=setTimeout(d.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=d.bind(null,o.onerror),o.onload=d.bind(null,o.onload),a&&document.head.appendChild(o)}},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.p=window.ArkConfig.cdnHost+"/@arkxos/arkos-app-gateway-manage@0.1.0/ark_dist/",function(){if("undefined"!=typeof document){var e={143:0};f.f.miniCss=function(r,t){e[r]?t.push(e[r]):0!==e[r]&&{834:1}[r]&&t.push(e[r]=function(e){return new Promise((function(r,t){var n=f.miniCssF(e),o=f.p+n;if(function(e,r){for(var t=document.getElementsByTagName("link"),n=0;n<t.length;n++){var o=(i=t[n]).getAttribute("data-href")||i.getAttribute("href");if("stylesheet"===i.rel&&(o===e||o===r))return i}var a=document.getElementsByTagName("style");for(n=0;n<a.length;n++){var i;if((o=(i=a[n]).getAttribute("data-href"))===e||o===r)return i}}(n,o))return r();!function(e,r,t,n,o){var a=document.createElement("link");a.rel="stylesheet",a.type="text/css",f.nc&&(a.nonce=f.nc),a.onerror=a.onload=function(t){if(a.onerror=a.onload=null,"load"===t.type)n();else{var i=t&&t.type,u=t&&t.target&&t.target.href||r,s=new Error("Loading CSS chunk "+e+" failed.\n("+i+": "+u+")");s.name="ChunkLoadError",s.code="CSS_CHUNK_LOAD_FAILED",s.type=i,s.request=u,a.parentNode&&a.parentNode.removeChild(a),o(s)}},a.href=r,document.head.appendChild(a)}(e,o,0,r,t)}))}(r).then((function(){e[r]=0}),(function(t){throw delete e[r],t})))}}}(),function(){var e={143:0};f.f.j=function(r,t){var n=f.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise((function(t,o){n=e[r]=[t,o]}));t.push(n[2]=o);var a=f.p+f.u(r),i=new Error;f.l(a,(function(t){if(f.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+o+": "+a+")",i.name="ChunkLoadError",i.type=o,i.request=a,n[1](i)}}),"chunk-"+r,r)}};var r=function(r,t){var n,o,a=t[0],i=t[1],u=t[2],s=0;if(a.some((function(r){return 0!==e[r]}))){for(n in i)f.o(i,n)&&(f.m[n]=i[n]);u&&u(f)}for(r&&r(t);s<a.length;s++)o=a[s],f.o(e,o)&&e[o]&&e[o][0](),e[o]=0},t=self["helJsonp_@arkxos/arkos-app-gateway-manage_1748945817316"]=self["helJsonp_@arkxos/arkos-app-gateway-manage_1748945817316"]||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))}();var l={};return function(){f.r(l);var e=f(8655),r=f(9562),t=f(2740);(0,r.bindVueRuntime)({Vue:t}),async function(){const r=await f.e(834).then(f.bind(f,2227));(0,e.libReady)("@arkxos/arkos-app-gateway-manage",r.default)}().catch(console.error)}(),l}()}));