@ajaxjs/ui 1.2.2 → 1.2.4
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.
- package/README.md +8 -11
- package/dist/api-helper/common/arg.vue +46 -0
- package/dist/api-helper/common/http-method.vue +53 -0
- package/dist/api-helper/common/input-table.vue +128 -0
- package/dist/api-helper/document/document-render.d.ts +10 -0
- package/dist/api-helper/document/document-render.js +38 -0
- package/dist/api-helper/document/document-render.js.map +1 -0
- package/dist/api-helper/document/document-render.ts +35 -0
- package/dist/api-helper/document/document-render.vue +155 -0
- package/dist/api-helper/document/document.d.ts +31 -0
- package/dist/api-helper/document/document.js +55 -0
- package/dist/api-helper/document/document.js.map +1 -0
- package/dist/api-helper/document/document.ts +55 -0
- package/dist/api-helper/document/document.vue +78 -0
- package/dist/api-helper/document/perview.vue +0 -0
- package/dist/api-helper/index.js +142 -0
- package/dist/api-helper/index.vue +108 -0
- package/dist/api-helper/request-body.vue +66 -0
- package/dist/api-helper/table.d.ts +7 -0
- package/dist/api-helper/table.js +13 -0
- package/dist/api-helper/table.js.map +1 -0
- package/dist/api-helper/table.ts +10 -0
- package/dist/api-helper/table.vue +103 -0
- package/dist/api-helper/xhr.js +100 -0
- package/dist/api-helper2/api-helper.d.ts +194 -0
- package/dist/api-helper2/api-helper.vue +144 -0
- package/dist/api-helper2/bookmark.vue +168 -0
- package/dist/api-helper2/common/arg.vue +46 -0
- package/dist/api-helper2/common/http-method.vue +53 -0
- package/dist/api-helper2/document/document-render.vue +189 -0
- package/dist/api-helper2/document/document.vue +130 -0
- package/dist/api-helper2/document/perview.vue +0 -0
- package/dist/api-helper2/env.vue +140 -0
- package/dist/api-helper2/history.vue +116 -0
- package/dist/api-helper2/main.vue +70 -0
- package/dist/api-helper2/request-body.vue +68 -0
- package/dist/api-helper2/table.vue +116 -0
- package/dist/api-selector/api-list-dataservice.d.ts +18 -0
- package/dist/api-selector/api-list-dataservice.js +209 -0
- package/dist/api-selector/api-list-dataservice.js.map +1 -0
- package/dist/api-selector/api-list-dataservice.ts +232 -0
- package/dist/api-selector/api-list-swagger.d.ts +28 -0
- package/dist/api-selector/api-list-swagger.js +179 -0
- package/dist/api-selector/api-list-swagger.js.map +1 -0
- package/dist/api-selector/api-list-swagger.ts +206 -0
- package/dist/api-selector/api-list.d.ts +80 -0
- package/dist/api-selector/api-list.js +129 -0
- package/dist/api-selector/api-list.js.map +1 -0
- package/dist/api-selector/api-list.ts +135 -0
- package/dist/api-selector/index.vue +125 -0
- package/dist/api-selector/test-dataservice.d.ts +23 -0
- package/dist/api-selector/test-dataservice.js +74 -0
- package/dist/api-selector/test-dataservice.js.map +1 -0
- package/dist/api-selector/test-swagger.d.ts +901 -0
- package/dist/api-selector/test-swagger.js +656 -0
- package/dist/api-selector/test-swagger.js.map +1 -0
- package/dist/data-source/data-source.css +44 -0
- package/dist/data-source/data-source.d.ts +14 -0
- package/dist/data-source/data-source.html +59 -0
- package/dist/data-source/data-source.js +97 -0
- package/dist/data-source/data-source.js.map +1 -0
- package/dist/data-source/data-source.less +46 -0
- package/dist/data-source/data-source.ts +95 -0
- package/dist/data-source/data-source.vue +59 -0
- package/dist/iView-ext/fast-iview-table/fast-iview-table.d.ts +37 -0
- package/dist/iView-ext/fast-iview-table/fast-iview-table.js +72 -0
- package/dist/iView-ext/fast-iview-table/fast-iview-table.js.map +1 -0
- package/dist/iView-ext/fast-iview-table/fast-iview-table.ts +75 -0
- package/dist/iView-ext/fast-iview-table/fast-iview-table.vue +52 -0
- package/dist/iView-ext/fast-iview-table/list.d.ts +44 -0
- package/dist/iView-ext/fast-iview-table/list.js +97 -0
- package/dist/iView-ext/fast-iview-table/list.js.map +1 -0
- package/dist/iView-ext/fast-iview-table/list.ts +109 -0
- package/dist/iView-ext/tips.vue +14 -0
- package/dist/index.d.ts +33 -31
- package/dist/index.js +8 -60
- package/dist/index.js.map +1 -1
- package/dist/index.ts +15 -0
- package/dist/libs/api-helper.d.ts +194 -0
- package/dist/libs/api-list.d.ts +15 -0
- package/dist/libs/common.d.ts +201 -0
- package/dist/libs/entity.d.ts +26 -0
- package/dist/libs/entity.js +1 -0
- package/dist/libs/entity.js.map +1 -0
- package/dist/libs/entity.ts +31 -0
- package/dist/libs/iview-widgets.d.ts +59 -0
- package/dist/libs/iview-widgets.js +2 -0
- package/dist/libs/iview-widgets.js.map +1 -0
- package/dist/libs/iview-widgets.ts +73 -0
- package/dist/main.d.ts +1 -1
- package/dist/main.js +16 -8
- package/dist/main.js.map +1 -1
- package/dist/main.ts +22 -0
- package/dist/table-selector/table-selector.htm +28 -0
- package/dist/table-selector/table-selector.js +149 -0
- package/package.json +16 -17
- package/dist/router/index.d.ts +0 -3
- package/dist/router/index.js +0 -44
- package/dist/router/index.js.map +0 -1
- package/dist/util/cookies.d.ts +0 -18
- package/dist/util/cookies.js +0 -46
- package/dist/util/cookies.js.map +0 -1
- package/dist/util/dom.d.ts +0 -17
- package/dist/util/dom.js +0 -44
- package/dist/util/dom.js.map +0 -1
- package/dist/util/utils.d.ts +0 -51
- package/dist/util/utils.js +0 -174
- package/dist/util/utils.js.map +0 -1
- package/dist/util/xhr-config.d.ts +0 -22
- package/dist/util/xhr-config.js +0 -3
- package/dist/util/xhr-config.js.map +0 -1
- package/dist/util/xhr.d.ts +0 -71
- package/dist/util/xhr.js +0 -262
- package/dist/util/xhr.js.map +0 -1
- package/dist/widget/AccordionMenu.vue +0 -140
- package/dist/widget/AdjustFontSize.vue +0 -65
- package/dist/widget/Article.vue +0 -59
- package/dist/widget/EmptyContent.d.ts +0 -5
- package/dist/widget/EmptyContent.js +0 -7
- package/dist/widget/EmptyContent.js.map +0 -1
- package/dist/widget/Expander.vue +0 -65
- package/dist/widget/FileUploader/FileUploader.d.ts +0 -70
- package/dist/widget/FileUploader/FileUploader.js +0 -139
- package/dist/widget/FileUploader/FileUploader.js.map +0 -1
- package/dist/widget/FileUploader/FileUploader.less +0 -68
- package/dist/widget/FileUploader/FileUploader.ts +0 -156
- package/dist/widget/FileUploader/FileUploader.vue +0 -43
- package/dist/widget/HtmlEditor/HtmlEditor.d.ts +0 -70
- package/dist/widget/HtmlEditor/HtmlEditor.js +0 -287
- package/dist/widget/HtmlEditor/HtmlEditor.js.map +0 -1
- package/dist/widget/HtmlEditor/HtmlEditor.less +0 -345
- package/dist/widget/HtmlEditor/HtmlEditor.ts +0 -339
- package/dist/widget/HtmlEditor/HtmlEditor.vue +0 -70
- package/dist/widget/HtmlEditor/html-editor-HtmlSanitizer.js +0 -103
- package/dist/widget/ImageEnlarger.vue +0 -105
- package/dist/widget/OpacityBanner.vue +0 -125
- package/dist/widget/ProcessLine.vue +0 -133
- package/dist/widget/Resize.d.ts +0 -51
- package/dist/widget/Resize.js +0 -133
- package/dist/widget/Resize.js.map +0 -1
- package/dist/widget/Resize.ts +0 -152
- package/dist/widget/Resize.vue +0 -104
- package/dist/widget/TreeSelector.vue +0 -4
- package/dist/widget/calendar/BetweenDate.vue +0 -63
- package/dist/widget/calendar/Calendar.d.ts +0 -55
- package/dist/widget/calendar/Calendar.js +0 -145
- package/dist/widget/calendar/Calendar.js.map +0 -1
- package/dist/widget/calendar/Calendar.less +0 -210
- package/dist/widget/calendar/Calendar.ts +0 -167
- package/dist/widget/calendar/Calendar.vue +0 -52
- package/dist/widget/calendar/CalendarInput.vue +0 -71
- package/dist/widget/form/validator.d.ts +0 -70
- package/dist/widget/form/validator.js +0 -220
- package/dist/widget/form/validator.js.map +0 -1
- package/dist/widget/form/validator.ts +0 -289
- package/dist/widget/play-ground/sku.vue +0 -93
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
data(): {};
|
|
3
|
+
methods: {
|
|
4
|
+
getSwaggerData(): void;
|
|
5
|
+
renderSwaggerNode(dir: string, method: string, isAddTypeNode?: boolean): {};
|
|
6
|
+
/**
|
|
7
|
+
* 点击加载接口详情
|
|
8
|
+
*
|
|
9
|
+
* @param data
|
|
10
|
+
*/
|
|
11
|
+
appendApiDetail(data: any): void;
|
|
12
|
+
/**
|
|
13
|
+
* 获取实体字段
|
|
14
|
+
*
|
|
15
|
+
* @param item
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
getFields(item: any): any | null;
|
|
19
|
+
treeSwaggerHandler(nodeArr: any, node: any): void;
|
|
20
|
+
/**
|
|
21
|
+
* 在过滤器中选择结果
|
|
22
|
+
*
|
|
23
|
+
* @param value
|
|
24
|
+
*/
|
|
25
|
+
filterHandler(value: string): void;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
export default _default;
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const test_swagger_1 = __importDefault(require("./test-swagger"));
|
|
7
|
+
exports.default = {
|
|
8
|
+
data() {
|
|
9
|
+
return {
|
|
10
|
+
SwaggerTreeData: [],
|
|
11
|
+
SwaggerFilter: {
|
|
12
|
+
keyword: "", data: []
|
|
13
|
+
},
|
|
14
|
+
SwaggerTreeRootNode: null
|
|
15
|
+
};
|
|
16
|
+
},
|
|
17
|
+
methods: {
|
|
18
|
+
getSwaggerData() {
|
|
19
|
+
let tagMap = {};
|
|
20
|
+
for (let path in test_swagger_1.default.paths) {
|
|
21
|
+
let _path = test_swagger_1.default.paths[path];
|
|
22
|
+
for (let method in _path) {
|
|
23
|
+
let tag = _path[method].tags[0];
|
|
24
|
+
// console.log('http method::', method)
|
|
25
|
+
// console.log('tag::', tag);
|
|
26
|
+
if (!tagMap[tag])
|
|
27
|
+
tagMap[tag] = [];
|
|
28
|
+
tagMap[tag].push({ method, path });
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
let i = 0;
|
|
32
|
+
// 转换为符合 tree 的数据格式
|
|
33
|
+
for (let tag in tagMap) {
|
|
34
|
+
let children = [];
|
|
35
|
+
let arr = tagMap[tag];
|
|
36
|
+
arr.forEach(({ method, path }) => children.push(this.renderSwaggerNode(path, method.toUpperCase())));
|
|
37
|
+
this.SwaggerTreeData.push({
|
|
38
|
+
title: tag,
|
|
39
|
+
expand: ((i++) === 0),
|
|
40
|
+
children: children
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
renderSwaggerNode(dir, method, isAddTypeNode) {
|
|
45
|
+
this.SwaggerFilter.data.push(method + " " + dir); // 加入搜索
|
|
46
|
+
return {
|
|
47
|
+
title: dir,
|
|
48
|
+
render: (h, { root, node, data }) => {
|
|
49
|
+
this.$set(data, 'method', method);
|
|
50
|
+
if (!this.SwaggerTreeRootNode)
|
|
51
|
+
this.SwaggerTreeRootNode = root;
|
|
52
|
+
let nodeCfg = {
|
|
53
|
+
on: { click: () => this.appendApiDetail(data) } // 点击加载接口详情
|
|
54
|
+
};
|
|
55
|
+
if (isAddTypeNode) // 右键点击事件
|
|
56
|
+
nodeCfg.on['contextmenu'] = (e) => {
|
|
57
|
+
e.preventDefault();
|
|
58
|
+
this.contextSelectdNode.root = root;
|
|
59
|
+
this.contextSelectdNode.node = node;
|
|
60
|
+
// this.contextSelectdNode.data = data;
|
|
61
|
+
this.$refs.contentFileMenu.$refs.reference = e.target;
|
|
62
|
+
this.$refs.contentFileMenu.currentVisible = !this.$refs.contentFileMenu.currentVisible;
|
|
63
|
+
};
|
|
64
|
+
let arr = [
|
|
65
|
+
h('span', Object.assign({ class: 'http-method ' + method.toLowerCase() }, nodeCfg), method),
|
|
66
|
+
h('span', nodeCfg, data.title)
|
|
67
|
+
];
|
|
68
|
+
if (isAddTypeNode)
|
|
69
|
+
arr.unshift(h('span', { class: 'api-type swagger' }, 'S')); // 头部加入
|
|
70
|
+
return arr;
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
},
|
|
74
|
+
/**
|
|
75
|
+
* 点击加载接口详情
|
|
76
|
+
*
|
|
77
|
+
* @param data
|
|
78
|
+
*/
|
|
79
|
+
appendApiDetail(data) {
|
|
80
|
+
if (!data.isLoaded) {
|
|
81
|
+
console.log(test_swagger_1.default.paths[data.title][data.method.toLowerCase()]);
|
|
82
|
+
let meta = test_swagger_1.default.paths[data.title][data.method.toLowerCase()];
|
|
83
|
+
// 请求参数
|
|
84
|
+
let paramsChildren = [];
|
|
85
|
+
let params = meta.parameters;
|
|
86
|
+
params.forEach((item) => {
|
|
87
|
+
if (!item.type && item.schema && item.schema.$ref) {
|
|
88
|
+
let fields = this.getFields(item);
|
|
89
|
+
for (let field in fields) {
|
|
90
|
+
let type = fields[field].type;
|
|
91
|
+
let desc = fields[field].description;
|
|
92
|
+
paramsChildren.push({
|
|
93
|
+
title: `${field}: ${type || field} ${desc ? ',说明:' + desc : ''}`, disableCheckbox: true,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
let desc = item.description;
|
|
99
|
+
paramsChildren.push({
|
|
100
|
+
title: `${item.name}: ${item.type},必填:${item.required ? '是' : '否'} ${desc ? ',说明:' + desc : ''}`, disableCheckbox: true,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
// 响应结果
|
|
105
|
+
let respChildren = [];
|
|
106
|
+
let resp = meta.responses['200'];
|
|
107
|
+
if (resp && resp.schema && resp.schema.$ref) {
|
|
108
|
+
// debugger
|
|
109
|
+
let fields = this.getFields(resp);
|
|
110
|
+
for (let field in fields) {
|
|
111
|
+
let type = fields[field].type;
|
|
112
|
+
let desc = fields[field].description;
|
|
113
|
+
respChildren.push({
|
|
114
|
+
title: `${field}: ${type || field} ${desc ? ',说明:' + desc : ''}`, disableCheckbox: true,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
// 整理为树节点
|
|
119
|
+
const children = data.children || [];
|
|
120
|
+
children.push({
|
|
121
|
+
title: '请求参数',
|
|
122
|
+
disableCheckbox: true,
|
|
123
|
+
expand: true,
|
|
124
|
+
children: paramsChildren.length ? paramsChildren : [{ title: '无', disableCheckbox: true }]
|
|
125
|
+
}, {
|
|
126
|
+
title: '响应结果',
|
|
127
|
+
disableCheckbox: true,
|
|
128
|
+
expand: true,
|
|
129
|
+
children: respChildren
|
|
130
|
+
});
|
|
131
|
+
this.$set(data, 'children', children);
|
|
132
|
+
this.$set(data, 'expand', true);
|
|
133
|
+
this.$set(data, 'isLoaded', true);
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
/**
|
|
137
|
+
* 获取实体字段
|
|
138
|
+
*
|
|
139
|
+
* @param item
|
|
140
|
+
* @returns
|
|
141
|
+
*/
|
|
142
|
+
getFields(item) {
|
|
143
|
+
let arr = item.schema.$ref.split('/');
|
|
144
|
+
let schema = arr.pop();
|
|
145
|
+
let _schema = test_swagger_1.default.definitions[schema];
|
|
146
|
+
if (_schema)
|
|
147
|
+
return _schema.properties;
|
|
148
|
+
else
|
|
149
|
+
console.warn('找不到元数据 ' + schema);
|
|
150
|
+
return null;
|
|
151
|
+
},
|
|
152
|
+
treeSwaggerHandler(nodeArr, node) {
|
|
153
|
+
// console.log(arguments)
|
|
154
|
+
},
|
|
155
|
+
/**
|
|
156
|
+
* 在过滤器中选择结果
|
|
157
|
+
*
|
|
158
|
+
* @param value
|
|
159
|
+
*/
|
|
160
|
+
filterHandler(value) {
|
|
161
|
+
let arr = value.split(' ');
|
|
162
|
+
let method = arr[0], url = arr[1];
|
|
163
|
+
let target = this.SwaggerTreeRootNode.find((el) => el.node.method == method && el.node.title == url);
|
|
164
|
+
if (!target)
|
|
165
|
+
console.log('找不到目标节点', method, url);
|
|
166
|
+
else {
|
|
167
|
+
console.log(target);
|
|
168
|
+
target.checked = true;
|
|
169
|
+
target.expand = true;
|
|
170
|
+
target.node.checked = true;
|
|
171
|
+
target.node.expand = true;
|
|
172
|
+
// this.$set( target.node, 'expand', true);
|
|
173
|
+
this.$set(target, 'checked', true);
|
|
174
|
+
this.$set(target.node, 'checked', true);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
//# sourceMappingURL=api-list-swagger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-list-swagger.js","sourceRoot":"","sources":["../../src/api-selector/api-list-swagger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import testData from './test-swagger';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
data(): {} {
|
|
5
|
+
return {
|
|
6
|
+
SwaggerTreeData: [],
|
|
7
|
+
SwaggerFilter: {
|
|
8
|
+
keyword: "", data: []
|
|
9
|
+
},
|
|
10
|
+
SwaggerTreeRootNode: null
|
|
11
|
+
};
|
|
12
|
+
},
|
|
13
|
+
methods: {
|
|
14
|
+
getSwaggerData(): void {
|
|
15
|
+
let tagMap = {};
|
|
16
|
+
|
|
17
|
+
for (let path in testData.paths) {
|
|
18
|
+
let _path: any = testData.paths[path];
|
|
19
|
+
|
|
20
|
+
for (let method in _path) {
|
|
21
|
+
let tag: string = _path[method].tags[0];
|
|
22
|
+
// console.log('http method::', method)
|
|
23
|
+
// console.log('tag::', tag);
|
|
24
|
+
|
|
25
|
+
if (!tagMap[tag])
|
|
26
|
+
tagMap[tag] = [];
|
|
27
|
+
|
|
28
|
+
tagMap[tag].push({ method, path });
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
let i: number = 0;
|
|
33
|
+
|
|
34
|
+
// 转换为符合 tree 的数据格式
|
|
35
|
+
for (let tag in tagMap) {
|
|
36
|
+
let children: any[] = [];
|
|
37
|
+
let arr: any[] = tagMap[tag];
|
|
38
|
+
|
|
39
|
+
arr.forEach(({ method, path }) => children.push(this.renderSwaggerNode(path, method.toUpperCase())));
|
|
40
|
+
this.SwaggerTreeData.push({
|
|
41
|
+
title: tag,
|
|
42
|
+
expand: ((i++) === 0),
|
|
43
|
+
children: children
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
renderSwaggerNode(dir: string, method: string, isAddTypeNode?: boolean): {} {
|
|
48
|
+
this.SwaggerFilter.data.push(method + " " + dir); // 加入搜索
|
|
49
|
+
|
|
50
|
+
return {
|
|
51
|
+
title: dir,
|
|
52
|
+
render: (h: Function, { root, node, data }) => {
|
|
53
|
+
this.$set(data, 'method', method);
|
|
54
|
+
|
|
55
|
+
if (!this.SwaggerTreeRootNode)
|
|
56
|
+
this.SwaggerTreeRootNode = root;
|
|
57
|
+
|
|
58
|
+
let nodeCfg = { // 节点事件的配置
|
|
59
|
+
on: { click: () => this.appendApiDetail(data) }// 点击加载接口详情
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
if (isAddTypeNode)// 右键点击事件
|
|
63
|
+
nodeCfg.on['contextmenu'] = (e: Event) => {
|
|
64
|
+
e.preventDefault();
|
|
65
|
+
this.contextSelectdNode.root = root;
|
|
66
|
+
this.contextSelectdNode.node = node;
|
|
67
|
+
|
|
68
|
+
// this.contextSelectdNode.data = data;
|
|
69
|
+
this.$refs.contentFileMenu.$refs.reference = e.target;
|
|
70
|
+
this.$refs.contentFileMenu.currentVisible = !this.$refs.contentFileMenu.currentVisible;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
let arr: any[] = [
|
|
74
|
+
h('span', Object.assign({ class: 'http-method ' + method.toLowerCase() }, nodeCfg), method),
|
|
75
|
+
h('span', nodeCfg, data.title)
|
|
76
|
+
];
|
|
77
|
+
|
|
78
|
+
if (isAddTypeNode)
|
|
79
|
+
arr.unshift(h('span', { class: 'api-type swagger' }, 'S')); // 头部加入
|
|
80
|
+
|
|
81
|
+
return arr;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* 点击加载接口详情
|
|
88
|
+
*
|
|
89
|
+
* @param data
|
|
90
|
+
*/
|
|
91
|
+
appendApiDetail(data: any): void {
|
|
92
|
+
if (!data.isLoaded) {
|
|
93
|
+
console.log(testData.paths[data.title][data.method.toLowerCase()]);
|
|
94
|
+
let meta: any = testData.paths[data.title][data.method.toLowerCase()];
|
|
95
|
+
|
|
96
|
+
// 请求参数
|
|
97
|
+
let paramsChildren: any[] = [];
|
|
98
|
+
let params: any[] = meta.parameters;
|
|
99
|
+
|
|
100
|
+
params.forEach((item: any) => {
|
|
101
|
+
if (!item.type && item.schema && item.schema.$ref) {
|
|
102
|
+
let fields = this.getFields(item);
|
|
103
|
+
|
|
104
|
+
for (let field in fields) {
|
|
105
|
+
let type: string = fields[field].type;
|
|
106
|
+
let desc: string = fields[field].description;
|
|
107
|
+
|
|
108
|
+
paramsChildren.push({
|
|
109
|
+
title: `${field}: ${type || field} ${desc ? ',说明:' + desc : ''}`, disableCheckbox: true,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
} else {
|
|
113
|
+
let desc: string = item.description;
|
|
114
|
+
paramsChildren.push({
|
|
115
|
+
title: `${item.name}: ${item.type},必填:${item.required ? '是' : '否'} ${desc ? ',说明:' + desc : ''}`, disableCheckbox: true,
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
// 响应结果
|
|
121
|
+
let respChildren: any[] = [];
|
|
122
|
+
let resp = meta.responses['200'];
|
|
123
|
+
|
|
124
|
+
if (resp && resp.schema && resp.schema.$ref) {
|
|
125
|
+
// debugger
|
|
126
|
+
let fields = this.getFields(resp);
|
|
127
|
+
|
|
128
|
+
for (let field in fields) {
|
|
129
|
+
let type: string = fields[field].type;
|
|
130
|
+
let desc: string = fields[field].description;
|
|
131
|
+
|
|
132
|
+
respChildren.push({
|
|
133
|
+
title: `${field}: ${type || field} ${desc ? ',说明:' + desc : ''}`, disableCheckbox: true,
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// 整理为树节点
|
|
139
|
+
const children = data.children || [];
|
|
140
|
+
|
|
141
|
+
children.push({
|
|
142
|
+
title: '请求参数',
|
|
143
|
+
disableCheckbox: true,
|
|
144
|
+
expand: true,
|
|
145
|
+
children: paramsChildren.length ? paramsChildren : [{ title: '无', disableCheckbox: true }]
|
|
146
|
+
}, {
|
|
147
|
+
title: '响应结果',
|
|
148
|
+
disableCheckbox: true,
|
|
149
|
+
expand: true,
|
|
150
|
+
children: respChildren
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
this.$set(data, 'children', children);
|
|
154
|
+
this.$set(data, 'expand', true);
|
|
155
|
+
this.$set(data, 'isLoaded', true);
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* 获取实体字段
|
|
161
|
+
*
|
|
162
|
+
* @param item
|
|
163
|
+
* @returns
|
|
164
|
+
*/
|
|
165
|
+
getFields(item: any): any | null {
|
|
166
|
+
let arr: string[] = item.schema.$ref.split('/');
|
|
167
|
+
let schema: string = arr.pop();
|
|
168
|
+
let _schema = testData.definitions[schema];
|
|
169
|
+
|
|
170
|
+
if (_schema)
|
|
171
|
+
return _schema.properties;
|
|
172
|
+
else console.warn('找不到元数据 ' + schema);
|
|
173
|
+
|
|
174
|
+
return null;
|
|
175
|
+
},
|
|
176
|
+
|
|
177
|
+
treeSwaggerHandler(nodeArr, node): void {
|
|
178
|
+
// console.log(arguments)
|
|
179
|
+
},
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* 在过滤器中选择结果
|
|
183
|
+
*
|
|
184
|
+
* @param value
|
|
185
|
+
*/
|
|
186
|
+
filterHandler(value: string): void {
|
|
187
|
+
let arr: string[] = value.split(' ');
|
|
188
|
+
let method: string = arr[0], url: string = arr[1];
|
|
189
|
+
let target = this.SwaggerTreeRootNode.find((el: any) => el.node.method == method && el.node.title == url);
|
|
190
|
+
|
|
191
|
+
if (!target)
|
|
192
|
+
console.log('找不到目标节点', method, url);
|
|
193
|
+
else {
|
|
194
|
+
console.log(target)
|
|
195
|
+
target.checked = true;
|
|
196
|
+
target.expand = true;
|
|
197
|
+
target.node.checked = true;
|
|
198
|
+
target.node.expand = true;
|
|
199
|
+
// this.$set( target.node, 'expand', true);
|
|
200
|
+
this.$set(target, 'checked', true);
|
|
201
|
+
this.$set(target.node, 'checked', true);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
}
|
|
206
|
+
};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
props: {
|
|
3
|
+
apiRoot: {
|
|
4
|
+
type: StringConstructor;
|
|
5
|
+
required: boolean;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
mixins: ({
|
|
9
|
+
data(): {};
|
|
10
|
+
methods: {
|
|
11
|
+
getDataService(): void;
|
|
12
|
+
loadTablesCfg(item: any, callback: Function): void; /**
|
|
13
|
+
* 测试 API
|
|
14
|
+
*/
|
|
15
|
+
renderDataServiceNode(dir: string, method: string, cfg: any, isAddTypeNode?: boolean): {};
|
|
16
|
+
appendDataServiceDetail(data: any): void;
|
|
17
|
+
};
|
|
18
|
+
} | {
|
|
19
|
+
data(): {};
|
|
20
|
+
methods: {
|
|
21
|
+
getSwaggerData(): void;
|
|
22
|
+
renderSwaggerNode(dir: string, method: string, isAddTypeNode?: boolean): {};
|
|
23
|
+
appendApiDetail(data: any): void;
|
|
24
|
+
getFields(item: any): any;
|
|
25
|
+
treeSwaggerHandler(nodeArr: any, node: any): void;
|
|
26
|
+
filterHandler(value: string): void;
|
|
27
|
+
};
|
|
28
|
+
})[];
|
|
29
|
+
data(): {
|
|
30
|
+
API: string;
|
|
31
|
+
showSelector: boolean;
|
|
32
|
+
selectedTab: string;
|
|
33
|
+
treeAllApi: any[];
|
|
34
|
+
selectedApi: {
|
|
35
|
+
DataService: {};
|
|
36
|
+
Swagger: {};
|
|
37
|
+
};
|
|
38
|
+
contextSelectdNode: {
|
|
39
|
+
root: {};
|
|
40
|
+
node: {};
|
|
41
|
+
data: {};
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
mounted(): void;
|
|
45
|
+
methods: {
|
|
46
|
+
/**
|
|
47
|
+
* 自动填充的过滤
|
|
48
|
+
*
|
|
49
|
+
* @param value
|
|
50
|
+
* @param option
|
|
51
|
+
* @returns
|
|
52
|
+
*/
|
|
53
|
+
auotCompleteFilter(value: string, option: string): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* 选好了,加入到列表中
|
|
56
|
+
*/
|
|
57
|
+
selectHandler(): void;
|
|
58
|
+
/**
|
|
59
|
+
* watch 无效,于是写到了这里
|
|
60
|
+
*
|
|
61
|
+
* @private
|
|
62
|
+
*/
|
|
63
|
+
sendSelected(): void;
|
|
64
|
+
/**
|
|
65
|
+
* 删除树节点
|
|
66
|
+
*/
|
|
67
|
+
handleContextMenuDelete(): void;
|
|
68
|
+
/**
|
|
69
|
+
* 测试 API
|
|
70
|
+
*/
|
|
71
|
+
handleContextMenuTest(): void;
|
|
72
|
+
};
|
|
73
|
+
watch: {
|
|
74
|
+
selectedApi: {
|
|
75
|
+
deep: boolean;
|
|
76
|
+
handler(v: any): void;
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
export default _default;
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const api_list_dataservice_1 = __importDefault(require("./api-list-dataservice"));
|
|
7
|
+
const api_list_swagger_1 = __importDefault(require("./api-list-swagger"));
|
|
8
|
+
exports.default = {
|
|
9
|
+
props: {
|
|
10
|
+
apiRoot: { type: String, required: true } // 接口前缀
|
|
11
|
+
},
|
|
12
|
+
mixins: [api_list_dataservice_1.default, api_list_swagger_1.default],
|
|
13
|
+
data() {
|
|
14
|
+
return {
|
|
15
|
+
API: this.apiRoot + '/admin',
|
|
16
|
+
showSelector: false,
|
|
17
|
+
selectedTab: 'dataservice',
|
|
18
|
+
treeAllApi: [],
|
|
19
|
+
selectedApi: {
|
|
20
|
+
DataService: {},
|
|
21
|
+
Swagger: {}
|
|
22
|
+
},
|
|
23
|
+
contextSelectdNode: {
|
|
24
|
+
root: {}, node: {}, data: {}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
},
|
|
28
|
+
mounted() {
|
|
29
|
+
this.getDataService();
|
|
30
|
+
this.getSwaggerData();
|
|
31
|
+
},
|
|
32
|
+
methods: {
|
|
33
|
+
/**
|
|
34
|
+
* 自动填充的过滤
|
|
35
|
+
*
|
|
36
|
+
* @param value
|
|
37
|
+
* @param option
|
|
38
|
+
* @returns
|
|
39
|
+
*/
|
|
40
|
+
auotCompleteFilter(value, option) {
|
|
41
|
+
return option.toUpperCase().indexOf(value.toUpperCase()) !== -1;
|
|
42
|
+
},
|
|
43
|
+
/**
|
|
44
|
+
* 选好了,加入到列表中
|
|
45
|
+
*/
|
|
46
|
+
selectHandler() {
|
|
47
|
+
let arr;
|
|
48
|
+
// if ('dataservice' == this.selectedTab) {
|
|
49
|
+
arr = this.$refs.treeDataservice.getCheckedNodes();
|
|
50
|
+
if (arr && arr.length) {
|
|
51
|
+
arr.forEach((treeNode) => {
|
|
52
|
+
if (treeNode.method && treeNode.title) {
|
|
53
|
+
let key = treeNode.method + '_' + treeNode.title;
|
|
54
|
+
if (!this.selectedApi.DataService[key]) { // 防止重复加入相同的
|
|
55
|
+
this.treeAllApi.push(this.renderDataServiceNode(treeNode.title, treeNode.method, treeNode.cfg, true));
|
|
56
|
+
this.selectedApi.DataService[key] = true;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
// this.$Message.error(`已加入相同的 ${treeNode.title} API`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
// } else if ('swagger' == this.selectedTab) {
|
|
65
|
+
arr = this.$refs.treeSwagger.getCheckedNodes();
|
|
66
|
+
if (arr && arr.length) {
|
|
67
|
+
arr.forEach((treeNode) => {
|
|
68
|
+
if (treeNode.method && treeNode.title) {
|
|
69
|
+
let key = treeNode.method + '_' + treeNode.title;
|
|
70
|
+
if (!this.selectedApi.Swagger[key]) { // 防止重复加入相同的
|
|
71
|
+
this.treeAllApi.push(this.renderSwaggerNode(treeNode.title, treeNode.method, true));
|
|
72
|
+
this.selectedApi.Swagger[key] = true;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
/* if (treeNode.title == '请求参数')
|
|
76
|
+
debugger;
|
|
77
|
+
this.$Message.error(`已加入相同的 ${treeNode.title} API`); */
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
// }
|
|
83
|
+
this.sendSelected();
|
|
84
|
+
},
|
|
85
|
+
/**
|
|
86
|
+
* watch 无效,于是写到了这里
|
|
87
|
+
*
|
|
88
|
+
* @private
|
|
89
|
+
*/
|
|
90
|
+
sendSelected() {
|
|
91
|
+
let arr = [];
|
|
92
|
+
for (let key in this.selectedApi.DataService) {
|
|
93
|
+
let _arr = key.split('_');
|
|
94
|
+
arr.push({ method: _arr[0], url: key.replace(_arr[0] + '_', '') });
|
|
95
|
+
}
|
|
96
|
+
this.$emit('apiselected', arr);
|
|
97
|
+
},
|
|
98
|
+
/**
|
|
99
|
+
* 删除树节点
|
|
100
|
+
*/
|
|
101
|
+
handleContextMenuDelete() {
|
|
102
|
+
let { root, node } = this.contextSelectdNode;
|
|
103
|
+
console.log(node);
|
|
104
|
+
const index = root.indexOf(node);
|
|
105
|
+
this.treeAllApi.splice(index, 1);
|
|
106
|
+
let key = node.node.method + '_' + node.node.title;
|
|
107
|
+
if (this.selectedApi.Swagger[key])
|
|
108
|
+
delete this.selectedApi.Swagger[key];
|
|
109
|
+
if (this.selectedApi.DataService[key])
|
|
110
|
+
delete this.selectedApi.DataService[key];
|
|
111
|
+
},
|
|
112
|
+
/**
|
|
113
|
+
* 测试 API
|
|
114
|
+
*/
|
|
115
|
+
handleContextMenuTest() {
|
|
116
|
+
alert('TODO');
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
watch: {
|
|
120
|
+
selectedApi: {
|
|
121
|
+
deep: false,
|
|
122
|
+
handler(v) {
|
|
123
|
+
alert(this.$emit);
|
|
124
|
+
this.$emit('apiselected', 888);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=api-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-list.js","sourceRoot":"","sources":["../../src/api-selector/api-list.ts"],"names":[],"mappings":"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"}
|