@arkxos/arkos-app-gateway-manage 0.1.0

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 (87) hide show
  1. package/README.md +36 -0
  2. package/ark_dist/ark-meta.json +75 -0
  3. package/ark_dist/ark_userChunk_1.js +5 -0
  4. package/ark_dist/ark_userChunk_2.js +49 -0
  5. package/ark_dist/css/views/views-CreateGateway.41b2bde6.css +297 -0
  6. package/ark_dist/favicon.ico +0 -0
  7. package/ark_dist/img/404.png +0 -0
  8. package/ark_dist/img/auth_banner.jpg +0 -0
  9. package/ark_dist/img/avatar.jpg +0 -0
  10. package/ark_dist/img/avatar2.gif +0 -0
  11. package/ark_dist/img/avatar3.gif +0 -0
  12. package/ark_dist/img/loginbg.svg +1 -0
  13. package/ark_dist/img/logo-r.png +0 -0
  14. package/ark_dist/img/logo.png +0 -0
  15. package/ark_dist/img/no-widgets.svg +57 -0
  16. package/ark_dist/img/tasks-example.png +0 -0
  17. package/ark_dist/img/ver.svg +236 -0
  18. package/ark_dist/index.html +132 -0
  19. package/ark_dist/js/app.e014b7a5.js +1 -0
  20. package/ark_dist/js/views/views-CreateGateway.7db295a9.js +3 -0
  21. package/ark_dist/js/views/views-CreateGateway.7db295a9.js.LICENSE.txt +1 -0
  22. package/ark_dist/js/views/views-CreateGateway.7db295a9.js.map +1 -0
  23. package/ark_proxy/entry.js +30 -0
  24. package/ark_proxy_es/entry.js +18 -0
  25. package/package.json +156 -0
  26. package/scripts/check.js +13 -0
  27. package/scripts/meta.js +21 -0
  28. package/scripts/prepublishOnly.js +28 -0
  29. package/src/api/apidoc_api.js +35 -0
  30. package/src/api/authority.js +161 -0
  31. package/src/api/balanced_api.js +101 -0
  32. package/src/api/client_api.js +68 -0
  33. package/src/api/count_api.js +62 -0
  34. package/src/api/gateway-manage/client_api.js +68 -0
  35. package/src/api/gateway-manage/open_client.js +188 -0
  36. package/src/api/gateway_api.js +81 -0
  37. package/src/api/global_function.js +278 -0
  38. package/src/api/global_variable.js +35 -0
  39. package/src/api/groovyscript_api.js +130 -0
  40. package/src/api/ip_api.js +47 -0
  41. package/src/api/monitor_api.js +24 -0
  42. package/src/api/regserver_api.js +224 -0
  43. package/src/api/request.js +107 -0
  44. package/src/assets/font_1930435_u2cpsigmd9d.js +38 -0
  45. package/src/assets/font_ma6wg7gw3td/demo.css +539 -0
  46. package/src/assets/font_ma6wg7gw3td/demo_index.html +674 -0
  47. package/src/assets/font_ma6wg7gw3td/iconfont.css +105 -0
  48. package/src/assets/font_ma6wg7gw3td/iconfont.eot +0 -0
  49. package/src/assets/font_ma6wg7gw3td/iconfont.js +1 -0
  50. package/src/assets/font_ma6wg7gw3td/iconfont.json +163 -0
  51. package/src/assets/font_ma6wg7gw3td/iconfont.svg +92 -0
  52. package/src/assets/font_ma6wg7gw3td/iconfont.ttf +0 -0
  53. package/src/assets/font_ma6wg7gw3td/iconfont.woff +0 -0
  54. package/src/assets/font_ma6wg7gw3td/iconfont.woff2 +0 -0
  55. package/src/assets/logo.png +0 -0
  56. package/src/assets/particles.json +110 -0
  57. package/src/auto-imports.d.ts +307 -0
  58. package/src/component/BoxCard.vue +156 -0
  59. package/src/component/ClientInfo.vue +82 -0
  60. package/src/component/GroovyScriptTable.vue +74 -0
  61. package/src/component/PanThumb/index.vue +149 -0
  62. package/src/component/RouteAccessChart.vue +85 -0
  63. package/src/component/RouteInfo.vue +146 -0
  64. package/src/component/RouteRequestCount.vue +126 -0
  65. package/src/component/TextHoverEffect/Mallki.vue +120 -0
  66. package/src/configs/subApp.ts +9 -0
  67. package/src/entrance/libProperties.ts +30 -0
  68. package/src/entrance/libTypes.ts +27 -0
  69. package/src/main.ts +13 -0
  70. package/src/plugins/index.ts +11 -0
  71. package/src/router/constantRoutes.js +155 -0
  72. package/src/router/loadComponent.js +29 -0
  73. package/src/views/AddClientGateway.vue +253 -0
  74. package/src/views/AddGatewayClient.vue +360 -0
  75. package/src/views/AddGroovyScript.vue +337 -0
  76. package/src/views/ApiCount.vue +291 -0
  77. package/src/views/ApiDoc.vue +293 -0
  78. package/src/views/ApiMonitor.vue +292 -0
  79. package/src/views/ClientList.vue +217 -0
  80. package/src/views/CreateBalanced.vue +341 -0
  81. package/src/views/CreateClient.vue +171 -0
  82. package/src/views/CreateGateway.vue +836 -0
  83. package/src/views/GatewayList.vue +322 -0
  84. package/src/views/GatewayTopology.vue +245 -0
  85. package/src/views/IpList.vue +218 -0
  86. package/src/views/LoadBalanced.vue +389 -0
  87. package/src/views/Main.vue +98 -0
@@ -0,0 +1,68 @@
1
+ //client_api.js
2
+ import { request } from '@arkxos/arkos-core';
3
+
4
+ /**
5
+ * 添加客户端
6
+ */
7
+ export const addClient = data => {
8
+ return request({
9
+ url: '/base/app/add',
10
+ method: 'post',
11
+ data
12
+ })
13
+ };
14
+
15
+ /**
16
+ * 更新客户端
17
+ */
18
+ export const updateClient = data => {
19
+ return request({
20
+ url: '/base/app/update',
21
+ method: 'post',
22
+ data
23
+ })
24
+ };
25
+
26
+ /**
27
+ * 分页查询客户端列表
28
+ */
29
+ export const clientPageList = data => {
30
+ return request({
31
+ url: '/base/app',
32
+ method: 'get',
33
+ data
34
+ })
35
+ };
36
+
37
+ /**
38
+ * 启用客户端
39
+ */
40
+ export const startClient = data => {
41
+ return request({
42
+ url: '/base/app/start',
43
+ method: 'post',
44
+ data
45
+ })
46
+ };
47
+
48
+ /**
49
+ * 停止客户端
50
+ */
51
+ export const stopClient = data => {
52
+ return request({
53
+ url: '/base/app/stop',
54
+ method: 'post',
55
+ data
56
+ })
57
+ };
58
+
59
+ /**
60
+ * 删除客户端
61
+ */
62
+ export const deleteClient = data => {
63
+ return request({
64
+ url: '/base/app/delete',
65
+ method: 'post',
66
+ data
67
+ })
68
+ };
@@ -0,0 +1,188 @@
1
+ import { request } from '@arkxos/arkos-core';
2
+
3
+ /**
4
+ * 获取应用列表
5
+ * @param page
6
+ * @param limit
7
+ * @param appId
8
+ * @param appName
9
+ * @param appNameEn
10
+ */
11
+ export const getApps = ({ page, limit, appId, appName, appNameEn }) => {
12
+ const params = { page: page, limit: limit, appId: appId, appName: appName, appNameEn: appNameEn }
13
+ return request({
14
+ url: 'base/app',
15
+ params,
16
+ method: 'get'
17
+ })
18
+ }
19
+
20
+ /**
21
+ * 添加应用信息
22
+ * @param appName
23
+ * @param appNameEn
24
+ * @param appType
25
+ * @param appIcon
26
+ * @param appOs
27
+ * @param appDesc
28
+ * @param status
29
+ * @param website
30
+ * @param developerId
31
+ * @param isSign
32
+ * @param isEncrypt
33
+ * @param encryptType
34
+ * @param publicKey
35
+ */
36
+ export const addApp = ({
37
+ appName, appNameEn, appType, appIcon, appOs,
38
+ appDesc, status, website, developerId, isSign,
39
+ isEncrypt, encryptType, publicKey, groupCode, ip }) => {
40
+ const data = {
41
+ appName: appName,
42
+ appNameEn: appNameEn,
43
+ appType: appType,
44
+ groupCode: groupCode,
45
+ ip: ip,
46
+ appIcon: appIcon,
47
+ appOs: appOs,
48
+ appDesc: appDesc,
49
+ status: status,
50
+ website: website,
51
+ developerId: developerId,
52
+ isSign: isSign,
53
+ isEncrypt: isEncrypt,
54
+ encryptType: encryptType,
55
+ publicKey: publicKey
56
+ }
57
+ return request({
58
+ url: 'base/app/add',
59
+ data,
60
+ method: 'post'
61
+ })
62
+ }
63
+
64
+ /**
65
+ * 更新应用信息
66
+ * @param appId
67
+ * @param appName
68
+ * @param appNameEn
69
+ * @param appType
70
+ * @param appIcon
71
+ * @param appOs
72
+ * @param appDesc
73
+ * @param status
74
+ * @param website
75
+ * @param developerId
76
+ * @param isSign
77
+ * @param isEncrypt
78
+ * @param encryptType
79
+ * @param publicKey
80
+ */
81
+ export const updateApp = ({
82
+ appId, appName, appNameEn, appType, appIcon,
83
+ groupCode, ip,
84
+ appOs, appDesc, status, website, developerId,
85
+ isSign, isEncrypt, encryptType, publicKey }) => {
86
+ const data = {
87
+ appId: appId,
88
+ appName: appName,
89
+ appNameEn: appNameEn,
90
+ appType: appType,
91
+ appIcon: appIcon,
92
+ groupCode: groupCode,
93
+ ip: ip,
94
+ appOs: appOs,
95
+ appDesc: appDesc,
96
+ status: status,
97
+ website: website,
98
+ developerId: developerId,
99
+ isSign: isSign,
100
+ isEncrypt: isEncrypt,
101
+ encryptType: encryptType,
102
+ publicKey: publicKey
103
+ }
104
+ return request({
105
+ url: 'base/app/update',
106
+ data,
107
+ method: 'post'
108
+ })
109
+ }
110
+
111
+ /**
112
+ * 完善应用开发信息
113
+ * @param appId
114
+ * @param grantTypes
115
+ * @param redirectUrls
116
+ * @param scopes
117
+ * @param accessTokenValidity
118
+ * @param refreshTokenValidity
119
+ * @param autoApproveScopes
120
+ */
121
+ export const updateAppClientInfo = ({ appId, grantTypes, redirectUrls, scopes, accessTokenValidity, refreshTokenValidity, autoApproveScopes }) => {
122
+ const data = {
123
+ appId: appId,
124
+ grantTypes: grantTypes.join(','),
125
+ redirectUrls: redirectUrls,
126
+ scopes: scopes.join(','),
127
+ accessTokenValidity: accessTokenValidity,
128
+ refreshTokenValidity: refreshTokenValidity,
129
+ autoApproveScopes: autoApproveScopes.join(',')
130
+ }
131
+ return request({
132
+ url: 'base/app/client/update',
133
+ data,
134
+ method: 'post'
135
+ })
136
+ }
137
+
138
+ /**
139
+ * 删除应用
140
+ * @param appId
141
+ */
142
+ export const removeApp = ({ appId }) => {
143
+ const data = {
144
+ appId: appId
145
+ }
146
+ return request({
147
+ url: 'base/app/remove',
148
+ data,
149
+ method: 'post'
150
+ })
151
+ }
152
+
153
+ /**
154
+ * 重置秘钥
155
+ * @param appId
156
+ */
157
+ export const restApp = ({ appId }) => {
158
+ const data = {
159
+ appId: appId
160
+ }
161
+ return request({
162
+ url: 'base/app/reset',
163
+ data,
164
+ method: 'post'
165
+ })
166
+ }
167
+
168
+ /**
169
+ * 获取应用信息
170
+ * @param appId
171
+ */
172
+ export const getAppInfo = ({ appId }) => {
173
+ return request({
174
+ url: `base/app/${appId}/info`,
175
+ method: 'get'
176
+ })
177
+ }
178
+
179
+ /**
180
+ * 获取应用开发信息
181
+ * @param clientId
182
+ */
183
+ export const getAppClientInfo = ({ clientId }) => {
184
+ return request({
185
+ url: `base/app/client/${clientId}/info`,
186
+ method: 'get'
187
+ })
188
+ }
@@ -0,0 +1,81 @@
1
+ //sys_api.js
2
+ import { request } from '@arkxos/arkos-core';
3
+
4
+ /**
5
+ * 添加字典组
6
+ */
7
+ export const getGateWayInfo = data => {
8
+ return request({
9
+ url: '/gateway-manage',
10
+ method: 'post',
11
+ headers: {'Content-type': 'multipart/form-data'},
12
+ data
13
+ })
14
+ };
15
+
16
+
17
+ /**
18
+ * 添加网关路由服务
19
+ */
20
+ export const addRoute = data => {
21
+ return request({
22
+ url: '/gateway-manage/route/add',
23
+ method: 'post',
24
+ data
25
+ })
26
+ };
27
+
28
+ /**
29
+ * 添加网关路由服务
30
+ */
31
+ export const updateRoute = data => {
32
+ return request({
33
+ url: '/gateway-manage/route/update',
34
+ method: 'post',
35
+ data
36
+ })
37
+ };
38
+
39
+ /**
40
+ * 查询网关路由分页列表
41
+ */
42
+ export const routePageList = data => {
43
+ return request({
44
+ url: '/gateway-manage/route/pageList',
45
+ method: 'post',
46
+ data
47
+ })
48
+ };
49
+
50
+ /**
51
+ * 启用网关路由
52
+ */
53
+ export const startRoute = data => {
54
+ return request({
55
+ url: '/gateway-manage/route/start',
56
+ method: 'post',
57
+ data
58
+ })
59
+ };
60
+
61
+ /**
62
+ * 停止网关路由
63
+ */
64
+ export const stopRoute = data => {
65
+ return request({
66
+ url: '/gateway-manage/route/stop',
67
+ method: 'post',
68
+ data
69
+ })
70
+ };
71
+
72
+ /**
73
+ * 删除网关路由
74
+ */
75
+ export const deleteRoute = data => {
76
+ return request({
77
+ url: '/gateway-manage/route/delete',
78
+ method: 'post',
79
+ data
80
+ })
81
+ };
@@ -0,0 +1,278 @@
1
+ //global_function.js
2
+ // 专门放置 全局函数
3
+ import { Loading, Message } from 'element-plus'
4
+ import { useMessage } from '@arkxos/arkos-core';
5
+
6
+ //let 声明变量
7
+ const err_msg = "操作失败"
8
+ const success_msg = "操作成功"
9
+ let loading;
10
+
11
+ /**
12
+ * 加载中的样式
13
+ */
14
+ function startLoading() {
15
+ // loading = Loading.service({
16
+ // lock: true,
17
+ // text: '加载中....',
18
+ // background: 'rgba(0, 0, 0, 0.7)'
19
+ // })
20
+ }
21
+
22
+ /**
23
+ * 关闭加载中的样式
24
+ */
25
+ function endLoading() {
26
+ loading?.close()
27
+ }
28
+
29
+ /**
30
+ * 成功消息
31
+ * @param {Object} msg 内容
32
+ * @param {Object} duration 时长
33
+ */
34
+ function successMsg(msg, duration) {
35
+ msg = (msg) ? msg : success_msg
36
+ useMessage().success(msg)
37
+ }
38
+
39
+ /**
40
+ * 失败消息
41
+ * @param {Object} msg 内容
42
+ * @param {Object} duration 时长
43
+ */
44
+ function errorMsg(msg, duration) {
45
+ msg = (msg) ? msg : err_msg
46
+ useMessage().error(msg)
47
+ }
48
+
49
+ /**
50
+ * 打开新的窗口
51
+ * @param {Object} _this
52
+ * @param {Object} path
53
+ * @param {Object} tabTitle
54
+ * @param {Object} query
55
+ */
56
+ function openNewTab(_this,path,tabTitle,query){
57
+ //调用父类的方法,打开新的窗口
58
+ _this.$root.$children[0].$children[0].addTab(path,tabTitle,query);
59
+ }
60
+
61
+ /**
62
+ * 获取Tab的对象与传参
63
+ * @param {Object} _this
64
+ * @param {Object} tabTitle
65
+ */
66
+ function getOpenTab(_this,tabTitle){
67
+ //调用父类的方法,获取指定打开的窗口
68
+ return _this.$root.$children[0].$children[0].getTab(tabTitle);
69
+ }
70
+
71
+ /**
72
+ * 将信息存储到本地sessionStorage中,sessionStorage仅在当前会话下有效,关闭页面或浏览器后被清除
73
+ * @param {Object} key
74
+ * @param {Object} value
75
+ */
76
+ function setSessionStorage(key,value){
77
+ if(!window.sessionStorage){
78
+ alert("浏览器不支持localstorage");
79
+ return false;
80
+ }else{
81
+ removeSessionStorage(key);
82
+ window.sessionStorage.setItem(key, value);
83
+ }
84
+ }
85
+
86
+ /**
87
+ * 获取存储到本地sessionStorage中key对应的值
88
+ * @param {Object} key
89
+ */
90
+ function getSessionStorage(key){
91
+ return window.sessionStorage.getItem(key);
92
+ }
93
+
94
+ /**
95
+ * 删除存储到本地sessionStorage中key对应的值
96
+ * @param {Object} key
97
+ */
98
+ function removeSessionStorage(key){
99
+ return window.sessionStorage.removeItem(key);
100
+ }
101
+
102
+ /**
103
+ * 将信息存储到本地localStorage中
104
+ * @param {Object} key
105
+ * @param {Object} value
106
+ */
107
+ function setLocalStorage(key,value){
108
+ if(!window.localStorage){
109
+ alert("浏览器不支持localstorage");
110
+ return false;
111
+ }else{
112
+ removeLocalStorage(key);
113
+ window.localStorage.setItem(key, value);
114
+ }
115
+ }
116
+
117
+ /**
118
+ * 获取存储到本地localStorage中key对应的值
119
+ * @param {Object} key
120
+ */
121
+ function getLocalStorage(key){
122
+ return window.localStorage.getItem(key);
123
+ }
124
+
125
+ /**
126
+ * 删除存储到本地localStorage中key对应的值
127
+ * @param {Object} key
128
+ */
129
+ function removeLocalStorage(key){
130
+ return window.localStorage.removeItem(key);
131
+ }
132
+
133
+ /**
134
+ * 存储登录token
135
+ * @param {Object} token
136
+ */
137
+ function setToken(token){
138
+ setLocalStorage('token', token);
139
+ }
140
+
141
+ /**
142
+ * 获取token
143
+ */
144
+ function getToken(){
145
+ return getLocalStorage('token');
146
+ }
147
+
148
+ /**
149
+ * 删除token
150
+ */
151
+ function removeToken(){
152
+ return removeLocalStorage('token');
153
+ }
154
+
155
+ /**
156
+ * 遍历生成菜单树
157
+ * @param {Object} pcode
158
+ * @param {Object} data
159
+ */
160
+ function appendTree(pcode, data){
161
+ let treeData = [];
162
+ let _data = data;
163
+ data.forEach((row, index) => {
164
+ if (pcode == row.pcode){
165
+ let newChild = {
166
+ id: row.id,
167
+ code: row.code,
168
+ pcode: row.pcode,
169
+ label: row.name,
170
+ children: appendTree(row.code, _data)
171
+ }
172
+ treeData.push(newChild);
173
+ }
174
+ });
175
+ return treeData;
176
+ }
177
+
178
+ /**
179
+ * 获取原始数据,加工生成树结构
180
+ * @param {Object} data
181
+ */
182
+ function initTree(data) {
183
+ let treeData = [];
184
+ data.forEach((row, index) => {
185
+ let newChild = {
186
+ id: row.id,
187
+ code: row.code,
188
+ pcode: row.pcode,
189
+ label: row.name,
190
+ children: [],
191
+ }
192
+ //将当前数据对象与树中的所有节点进行比较,data 是否为父节点或子节点
193
+ let t;
194
+ for (let i = 0; i < treeData.length; i++) {
195
+ t = append(treeData[i], newChild);
196
+ if (t == 1) { //表示当前treeData[i] 是newChild的父节点,找到父节点后,不在遍历
197
+ break;
198
+ } else if (t == 2) { //表示当前treeData[i] 是newChild的子节点,则继续遍历treeData,查找是否还有其它子节点
199
+ treeData[i] = {};
200
+ t = undefined;
201
+ }
202
+ }
203
+ if (t == undefined) {
204
+ treeData.push(newChild);
205
+ }
206
+ });
207
+ let dataArray = [];
208
+ treeData.forEach(d => {
209
+ if (d != undefined && d.id) {
210
+ dataArray.push(d);
211
+ }
212
+ })
213
+ console.log(dataArray);
214
+ return dataArray;
215
+ }
216
+
217
+ /**
218
+ * 判断树节点关系
219
+ * @param {Object} data
220
+ * @param {Object} newChild
221
+ */
222
+ function append(data, newChild) {
223
+ if (data.code == newChild.pcode) {
224
+ if (data.children) {
225
+ data.children[data.children.length] = newChild;
226
+ return 1; //表示child是data子节点
227
+ }
228
+ } else if (data.pcode == newChild.code) {
229
+ newChild.children[newChild.children.length] = data;
230
+ return 2; //表示child是data父节点
231
+ } else if (data.children && data.children.length > 0) {
232
+ let t;
233
+ for (let i = 0; i < data.children.length; i++) {
234
+ t = append(data.children[i], newChild);
235
+ if (t == 1) {
236
+ break;
237
+ }
238
+ }
239
+ return t;
240
+ }
241
+ return undefined; //表示child与data无父子关系
242
+ }
243
+
244
+ /**
245
+ * 复制内容
246
+ * @param {Object} data
247
+ */
248
+ function copy(data){
249
+ let inputObj = document.createElement('input');
250
+ inputObj.value = data;
251
+ document.body.appendChild(inputObj);
252
+ inputObj.select();
253
+ document.execCommand('Copy');
254
+ successMsg('复制成功');
255
+ inputObj.remove();
256
+ }
257
+
258
+ //导出全局变量
259
+ export default {
260
+ errorMsg,
261
+ successMsg,
262
+ startLoading,
263
+ endLoading,
264
+ openNewTab,
265
+ getOpenTab,
266
+ getToken,
267
+ setToken,
268
+ removeToken,
269
+ initTree,
270
+ appendTree,
271
+ getLocalStorage,
272
+ setLocalStorage,
273
+ removeLocalStorage,
274
+ getSessionStorage,
275
+ setSessionStorage,
276
+ removeSessionStorage,
277
+ copy
278
+ }
@@ -0,0 +1,35 @@
1
+ // global_variable.js
2
+ // 专门放置 全局变量
3
+
4
+ //const 声明常量,注意此处在webpack.config.js中做了代理转发
5
+ //注意:npm run build 时,此baseURL在webpack.config.js/devServer的代理已经失效,请将此api设置为'/'
6
+ //const baseURL = "/api"
7
+ //const gatewayRoutesURL = "http://127.0.0.1:8771"
8
+
9
+ const baseURL = "/"
10
+ const gatewayRoutesURL = ""
11
+ const errMsg = "操作失败"
12
+ const successMsg = "操作成功"
13
+ const contentType = "application/json;charset=UTF-8"
14
+ const systemVersion = "snapshot-nacos.v.3.4"
15
+
16
+ // 分组类型,暂不放到数据字典,直接由前端添加
17
+ const groups = [
18
+ { value: 'public_api', label: '公共API' },
19
+ { value: 'external_api', label: '第三方API' },
20
+ { value: 'interior_api', label: '内网API' },
21
+ { value: 'pay_api', label: '支付API' },
22
+ { value: 'other_api', label: '其它API' }
23
+ ]
24
+
25
+
26
+ //导出全局变量
27
+ export default{
28
+ baseURL,
29
+ gatewayRoutesURL,
30
+ contentType,
31
+ systemVersion,
32
+ errMsg,
33
+ successMsg,
34
+ groups
35
+ }