@ajaxjs/ui 1.3.0 → 1.3.2

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 (134) hide show
  1. package/.browserslistrc +3 -0
  2. package/.eslintrc.js +26 -0
  3. package/babel.config.js +5 -0
  4. package/deprecated/api-helper.zip +0 -0
  5. package/deprecated/api-helper2.zip +0 -0
  6. package/deprecated/api-selector.zip +0 -0
  7. package/deprecated/common-ui.zip +0 -0
  8. package/deprecated/data-source.zip +0 -0
  9. package/deprecated/table-selector.zip +0 -0
  10. package/deprecated/utils.js +220 -0
  11. package/dist/@ajaxjs/widgets.common.js +4084 -0
  12. package/dist/@ajaxjs/widgets.common.js.map +1 -0
  13. package/dist/@ajaxjs/widgets.css +1 -0
  14. package/dist/@ajaxjs/widgets.umd.js +4095 -0
  15. package/dist/@ajaxjs/widgets.umd.js.map +1 -0
  16. package/dist/@ajaxjs/widgets.umd.min.js +2 -0
  17. package/dist/@ajaxjs/widgets.umd.min.js.map +1 -0
  18. package/dist/demo.html +1 -0
  19. package/examples/App.vue +137 -0
  20. package/package.json +50 -41
  21. package/public/favicon.ico +0 -0
  22. package/public/index.html +17 -0
  23. package/{dist → src}/data-source/data-source.ts +16 -14
  24. package/{dist → src}/iam/iam.ts +2 -4
  25. package/{dist → src}/iam/user.vue +19 -16
  26. package/src/index.js +48 -0
  27. package/src/iview-ext/fast-iview-table.ts +131 -0
  28. package/src/iview-ext/fast-iview-table.vue +67 -0
  29. package/{dist/iView-ext/fast-iview-table → src/iview-ext}/list.ts +11 -12
  30. package/{dist/table-selector → src/iview-ext}/table-selector.vue +17 -12
  31. package/{dist/iView-ext → src/iview-ext}/tips.vue +5 -2
  32. package/src/main.ts +7 -0
  33. package/src/shims-tsx.d.ts +11 -0
  34. package/{dist → src}/shims-vue.d.ts +4 -4
  35. package/src/style/common-functions.less +286 -0
  36. package/src/style/reset.less +19 -0
  37. package/src/style/reset2.less +49 -0
  38. package/tsconfig.json +40 -0
  39. package/vue.config.js +14 -0
  40. package/LICENSE +0 -201
  41. package/dist/api-helper/common/arg.vue +0 -46
  42. package/dist/api-helper/common/http-method.vue +0 -53
  43. package/dist/api-helper/common/input-table.vue +0 -128
  44. package/dist/api-helper/document/document-render.d.ts +0 -10
  45. package/dist/api-helper/document/document-render.js +0 -38
  46. package/dist/api-helper/document/document-render.js.map +0 -1
  47. package/dist/api-helper/document/document-render.ts +0 -35
  48. package/dist/api-helper/document/document-render.vue +0 -155
  49. package/dist/api-helper/document/document.d.ts +0 -31
  50. package/dist/api-helper/document/document.js +0 -55
  51. package/dist/api-helper/document/document.js.map +0 -1
  52. package/dist/api-helper/document/document.ts +0 -55
  53. package/dist/api-helper/document/document.vue +0 -78
  54. package/dist/api-helper/document/perview.vue +0 -0
  55. package/dist/api-helper/index.js +0 -142
  56. package/dist/api-helper/index.vue +0 -108
  57. package/dist/api-helper/request-body.vue +0 -66
  58. package/dist/api-helper/table.d.ts +0 -7
  59. package/dist/api-helper/table.js +0 -13
  60. package/dist/api-helper/table.js.map +0 -1
  61. package/dist/api-helper/table.ts +0 -10
  62. package/dist/api-helper/table.vue +0 -103
  63. package/dist/api-helper/xhr.js +0 -100
  64. package/dist/api-helper2/api-helper.d.ts +0 -194
  65. package/dist/api-helper2/api-helper.vue +0 -144
  66. package/dist/api-helper2/bookmark.vue +0 -168
  67. package/dist/api-helper2/common/arg.vue +0 -46
  68. package/dist/api-helper2/common/http-method.vue +0 -53
  69. package/dist/api-helper2/document/document-render.vue +0 -189
  70. package/dist/api-helper2/document/document.vue +0 -130
  71. package/dist/api-helper2/document/perview.vue +0 -0
  72. package/dist/api-helper2/env.vue +0 -140
  73. package/dist/api-helper2/history.vue +0 -116
  74. package/dist/api-helper2/main.vue +0 -70
  75. package/dist/api-helper2/request-body.vue +0 -68
  76. package/dist/api-helper2/table.vue +0 -116
  77. package/dist/api-selector/api-list-dataservice.d.ts +0 -18
  78. package/dist/api-selector/api-list-dataservice.js +0 -209
  79. package/dist/api-selector/api-list-dataservice.js.map +0 -1
  80. package/dist/api-selector/api-list-dataservice.ts +0 -232
  81. package/dist/api-selector/api-list-swagger.d.ts +0 -28
  82. package/dist/api-selector/api-list-swagger.js +0 -179
  83. package/dist/api-selector/api-list-swagger.js.map +0 -1
  84. package/dist/api-selector/api-list-swagger.ts +0 -206
  85. package/dist/api-selector/api-list.d.ts +0 -80
  86. package/dist/api-selector/api-list.js +0 -129
  87. package/dist/api-selector/api-list.js.map +0 -1
  88. package/dist/api-selector/api-list.ts +0 -135
  89. package/dist/api-selector/index.vue +0 -125
  90. package/dist/api-selector/test-dataservice.d.ts +0 -23
  91. package/dist/api-selector/test-dataservice.js +0 -74
  92. package/dist/api-selector/test-dataservice.js.map +0 -1
  93. package/dist/api-selector/test-swagger.d.ts +0 -901
  94. package/dist/api-selector/test-swagger.js +0 -656
  95. package/dist/api-selector/test-swagger.js.map +0 -1
  96. package/dist/data-source/data-source.css +0 -44
  97. package/dist/data-source/data-source.d.ts +0 -14
  98. package/dist/data-source/data-source.html +0 -59
  99. package/dist/data-source/data-source.js +0 -97
  100. package/dist/data-source/data-source.js.map +0 -1
  101. package/dist/iView-ext/fast-iview-table/fast-iview-table.d.ts +0 -37
  102. package/dist/iView-ext/fast-iview-table/fast-iview-table.js +0 -72
  103. package/dist/iView-ext/fast-iview-table/fast-iview-table.js.map +0 -1
  104. package/dist/iView-ext/fast-iview-table/fast-iview-table.ts +0 -75
  105. package/dist/iView-ext/fast-iview-table/fast-iview-table.vue +0 -52
  106. package/dist/iView-ext/fast-iview-table/list.d.ts +0 -44
  107. package/dist/iView-ext/fast-iview-table/list.js +0 -97
  108. package/dist/iView-ext/fast-iview-table/list.js.map +0 -1
  109. package/dist/iam/iam.d.ts +0 -16
  110. package/dist/iam/iam.js +0 -54
  111. package/dist/iam/iam.js.map +0 -1
  112. package/dist/index.d.ts +0 -57
  113. package/dist/index.js +0 -22
  114. package/dist/index.js.map +0 -1
  115. package/dist/index.ts +0 -18
  116. package/dist/libs/entity.d.ts +0 -26
  117. package/dist/libs/entity.js +0 -1
  118. package/dist/libs/entity.js.map +0 -1
  119. package/dist/libs/iview-widgets.d.ts +0 -59
  120. package/dist/libs/iview-widgets.js +0 -2
  121. package/dist/libs/iview-widgets.js.map +0 -1
  122. package/dist/main.d.ts +0 -1
  123. package/dist/main.js +0 -24
  124. package/dist/main.js.map +0 -1
  125. package/dist/main.ts +0 -22
  126. package/dist/table-selector/table-selector.htm +0 -28
  127. package/dist/table-selector/table-selector.js +0 -149
  128. /package/{dist → src}/data-source/data-source.less +0 -0
  129. /package/{dist → src}/data-source/data-source.vue +0 -0
  130. /package/{dist → src}/libs/api-helper.d.ts +0 -0
  131. /package/{dist → src}/libs/api-list.d.ts +0 -0
  132. /package/{dist → src}/libs/common.d.ts +0 -0
  133. /package/{dist → src}/libs/entity.ts +0 -0
  134. /package/{dist → src}/libs/iview-widgets.ts +0 -0
@@ -1,68 +0,0 @@
1
- <template>
2
- <div>
3
- <RadioGroup v-model="requestType" type="button" size="small">
4
- <Radio label="Form"></Radio>
5
- <Radio label="FormData"></Radio>
6
- <Radio label="JSON"></Radio>
7
- <Radio label="Raw"></Radio>
8
- </RadioGroup>
9
-
10
- <span v-if="requestType == 'JSON'" class="jsonRootType">JSON 根类型
11
- <RadioGroup v-model="json.rootType" size="small">
12
- <Radio label="Object" size="small"></Radio>
13
- <Radio label="Array"></Radio>
14
- </RadioGroup>
15
- </span>
16
-
17
- <div style="margin-top: 20px">
18
- <section v-if="requestType == 'Form'">
19
- <Table mode="SIMPLE" />
20
-
21
- </section>
22
- <section v-if="requestType == 'JSON'">
23
- <Table mode="SCHEME" />
24
-
25
- </section>
26
-
27
- <section v-if="requestType == 'Raw'">
28
- <div style="width:500px;margin:10px 0;">
29
- ContentType
30
- <Select v-model="raw.contentType" style="width:200px;" size="small" transfer>
31
- <Option value="application/json">application/json</Option>
32
- <Option value="application/x-www-form-urlencoded">application/x-www-form-urlencoded</Option>
33
- <Option value="multipart/form-data">multipart/form-data</Option>
34
- <Option value="text/plain">text/plain</Option>
35
- <Option value="text/plain">text/xml</Option>
36
- </Select>
37
- </div>
38
- <Input type="textarea" :rows="4" />
39
- </section>
40
- </div>
41
- </div>
42
- </template>
43
-
44
- <script lang="ts">
45
- import Table from "./table.vue";
46
-
47
- export default {
48
- components: { Table },
49
- data() {
50
- return {
51
- requestType: "JSON",
52
- json: {
53
- rootType: "Object",
54
- },
55
- raw: {
56
- contentType: "application/json",
57
- },
58
- };
59
- },
60
- };
61
- </script>
62
-
63
- <style lang="less" scoped>
64
- .jsonRootType {
65
- font-size: 9pt;
66
- padding-left: 20px;
67
- }
68
- </style>
@@ -1,116 +0,0 @@
1
- <template>
2
- <div class="table" :class="mode">
3
- <header>
4
- <ul>
5
- <li class="check"><input type="checkbox" /></li>
6
- <li class="name">参数变量名</li>
7
- <li class="type">类型</li>
8
- <li class="value">参数值</li>
9
- <li class="default">值示例</li>
10
- <li class="required">必填</li>
11
- <li class="comment">说明</li>
12
- <li class="action">操作</li>
13
- </ul>
14
- </header>
15
-
16
- <ul class="tableBody">
17
- <li>
18
- <div class="row check">
19
- <input type="checkbox" />
20
- </div>
21
- <div class="row name">
22
- <Input value="dfgg" size="small" />
23
- </div>
24
- <div class="row type">
25
- <Select size="small" transfer>
26
- <Option value="string">string</Option>
27
- <Option value="number">number</Option>
28
- <Option value="boolean">boolean</Option>
29
- <Option value="object">object</Option>
30
- <Option value="array">array</Option>
31
- <Option value="null">null</Option>
32
- </Select>
33
- </div>
34
- <div class="row value">
35
- <Input value="dfgg" size="small" />
36
- </div>
37
-
38
- <div class="row comment">
39
- <Input value="dfgg" size="small" />
40
- </div>
41
- <div class="row action"></div>
42
- </li>
43
- </ul>
44
- </div>
45
- </template>
46
-
47
- <script lang="ts">
48
- import "./api-helper";
49
-
50
- export default {
51
- props: {
52
- mode: String,
53
- },
54
- data() {
55
- return {
56
- // mode: "SCHEME",
57
- } as API_HELPER_TABLE;
58
- },
59
- };
60
- </script>
61
-
62
- <style lang="less" scoped>
63
- .table {
64
- width: 100%;
65
-
66
- .check {
67
- width: 50px;
68
- }
69
- .name {
70
- width: 200px;
71
- }
72
- .type {
73
- width: 100px;
74
- }
75
- .value {
76
- width: 200px;
77
- }
78
- .comment {
79
- width: 300px;
80
- }
81
- .action {
82
- width: 100px;
83
- }
84
-
85
- .row {
86
- display: inline-block;
87
- padding: 0 4px;
88
- box-sizing: border-box;
89
- }
90
- }
91
-
92
- .SCHEME {
93
- .default,
94
- .required {
95
- display: none;
96
- }
97
- }
98
-
99
- header {
100
- background-color: #f8f8f9;
101
- li {
102
- // text-align: center;
103
- padding: 6px 14px;
104
- display: inline-block;
105
- font-weight: bold;
106
- box-sizing: border-box;
107
- }
108
- }
109
-
110
- .tableBody {
111
- li {
112
- padding: 10px;
113
- box-sizing: border-box;
114
- }
115
- }
116
- </style>
@@ -1,18 +0,0 @@
1
- declare const _default: {
2
- data(): {};
3
- methods: {
4
- getDataService(): void;
5
- /**
6
- * 加载表列表和配置。点击 表名 时候执行
7
- */
8
- loadTablesCfg(item: any, callback: Function): void;
9
- renderDataServiceNode(dir: string, method: string, cfg: any, isAddTypeNode?: boolean): {};
10
- /**
11
- * 点击加载接口详情
12
- *
13
- * @param data
14
- */
15
- appendDataServiceDetail(data: any): void;
16
- };
17
- };
18
- export default _default;
@@ -1,209 +0,0 @@
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 xhr_1 = require("@ajaxjs/util/dist/util/xhr");
7
- const test_dataservice_1 = __importDefault(require("./test-dataservice"));
8
- exports.default = {
9
- data() {
10
- return {
11
- DataServiceTreeData: test_dataservice_1.default,
12
- DataServiceFilter: {
13
- keyword: "", data: ['foo', 'bar']
14
- },
15
- };
16
- },
17
- methods: {
18
- getDataService() {
19
- (0, xhr_1.xhr_get)(`${this.API}/datasource`, (j) => {
20
- // console.log(j.result);
21
- let DataServiceTreeData = [];
22
- // let i: number = 0;
23
- if (j.data) {
24
- j.data.forEach((item) => {
25
- DataServiceTreeData.push({
26
- title: '数据源:' + item.name,
27
- loading: false,
28
- datasourceId: item.id,
29
- urlDir: item.urlDir,
30
- children: []
31
- });
32
- });
33
- }
34
- this.DataServiceTreeData = DataServiceTreeData;
35
- }, { start: 0, limit: 999, appId: window.sessionStorage.getItem('APP_ID') || 1432285183943376896 });
36
- },
37
- /**
38
- * 加载表列表和配置。点击 表名 时候执行
39
- */
40
- loadTablesCfg(item, callback) {
41
- let datasourceDir = item.urlDir;
42
- let datasourceId = item.datasourceId;
43
- (0, xhr_1.xhr_get)(`${this.API}/data_service?datasourceId=${datasourceId}`, (j) => {
44
- if (j.data) {
45
- this.list = j.data;
46
- let data = [];
47
- let i = 0;
48
- j.data.forEach((item) => {
49
- let children = [];
50
- let urlDir = item.urlDir; // 配置目录
51
- if (item.json) {
52
- let cfgs = JSON.parse(item.json);
53
- // console.log(":::::::::", item);
54
- for (let key in cfgs) {
55
- let cfg = cfgs[key];
56
- // console.log(":::::::::》》》》", cfg);
57
- cfg.type = key;
58
- cfg.datasourceId = datasourceId;
59
- cfg.tableName = item.tableName;
60
- if (!cfg.enable)
61
- continue;
62
- let dir = "/" + datasourceDir + "/" + urlDir;
63
- if (cfg.dir)
64
- dir += "/" + cfg.dir;
65
- switch (key) {
66
- case 'info':
67
- case 'list':
68
- children.push(this.renderDataServiceNode(dir, "GET", cfg));
69
- break;
70
- case 'create':
71
- children.push(this.renderDataServiceNode(dir, "POST", cfg));
72
- break;
73
- case 'update':
74
- children.push(this.renderDataServiceNode(dir + "/?id=${id}", "PUT", cfg));
75
- break;
76
- case 'delete':
77
- children.push(this.renderDataServiceNode(dir + "/?id=${id}", "DELETE", cfg));
78
- break;
79
- }
80
- }
81
- }
82
- data.push({
83
- title: item.tableName,
84
- children: children
85
- });
86
- });
87
- callback(data);
88
- }
89
- else {
90
- this.$Message.error('该数据源下尚未有任何表的配置');
91
- callback([]);
92
- }
93
- });
94
- },
95
- renderDataServiceNode(dir, method, cfg, isAddTypeNode) {
96
- return {
97
- title: dir,
98
- render: (h, { root, node, data }) => {
99
- this.$set(data, 'method', method);
100
- this.$set(data, 'cfg', cfg);
101
- let nodeCfg = {
102
- on: {
103
- click: () => {
104
- this.appendDataServiceDetail(data); // 点击加载接口详情
105
- }
106
- }
107
- };
108
- if (isAddTypeNode) // 右键点击事件
109
- nodeCfg.on['contextmenu'] = (e) => {
110
- e.preventDefault();
111
- this.contextSelectdNode.root = root;
112
- this.contextSelectdNode.node = node;
113
- // this.contextSelectdNode.data = data;
114
- this.$refs.contentFileMenu.$refs.reference = e.target;
115
- this.$refs.contentFileMenu.currentVisible = !this.$refs.contentFileMenu.currentVisible;
116
- };
117
- let arr = [
118
- h('span', Object.assign({ class: 'http-method ' + method.toLowerCase() }, nodeCfg), method),
119
- h('span', nodeCfg, data.title)
120
- ];
121
- if (isAddTypeNode)
122
- arr.unshift(h('span', { class: 'api-type dataservice' }, '数')); // 头部加入
123
- return arr;
124
- }
125
- };
126
- },
127
- /**
128
- * 点击加载接口详情
129
- *
130
- * @param data
131
- */
132
- appendDataServiceDetail(data) {
133
- if (!data.isLoaded) {
134
- // 预先加载
135
- let tableFields = [];
136
- (0, xhr_1.xhr_get)(`${this.API}/data_service/getAllFieldsByDataSourceAndTablename?datasourceId=${data.cfg.datasourceId}&tableName=${data.cfg.tableName}`, (j) => {
137
- console.log(j);
138
- //@ts-ignore
139
- j.result.forEach(item => {
140
- tableFields.push({
141
- name: item.name, type: item.type, required: item.null == 'YES', description: item.comment
142
- });
143
- });
144
- });
145
- // 请求参数
146
- let params = [];
147
- switch (data.cfg.type) {
148
- case 'info':
149
- case 'delete':
150
- params.push({ name: 'id', type: 'int', required: true, description: '实体 id' });
151
- break;
152
- case 'list':
153
- params.push({ name: 'start', type: 'int', required: true, description: '分页 start' });
154
- params.push({ name: 'limit', type: 'int', required: true, description: '分页 limit' });
155
- break;
156
- case 'create':
157
- case 'update':
158
- params = tableFields;
159
- break;
160
- }
161
- let paramsChildren = [];
162
- params.forEach((item) => {
163
- let desc = item.description;
164
- paramsChildren.push({ title: `${item.name}: ${item.type},必填:${item.required ? '是' : '否'} ${desc ? ',说明:' + desc : ''}`, disableCheckbox: true });
165
- });
166
- // 响应结果
167
- let resp = [];
168
- switch (data.cfg.type) {
169
- case 'info':
170
- case 'list':
171
- resp = tableFields;
172
- break;
173
- case 'create':
174
- resp.push({ name: 'isOk', type: 'boolean', description: '是否创建成功' });
175
- resp.push({ name: 'newlyId', type: 'long', description: '新增记录之 id' });
176
- break;
177
- case 'update':
178
- resp.push({ name: 'isOk', type: 'boolean', description: '是否更新成功' });
179
- break;
180
- case 'delete':
181
- resp.push({ name: 'isOk', type: 'boolean', description: '是否删除成功' });
182
- break;
183
- }
184
- let respChildren = [];
185
- resp.forEach((item) => {
186
- let desc = item.description;
187
- respChildren.push({ title: `${item.name}: ${item.type} ${desc ? ',说明:' + desc : ''}`, disableCheckbox: true });
188
- });
189
- // 整理为树节点
190
- const children = data.children || [];
191
- children.push({
192
- title: '请求参数',
193
- disableCheckbox: true,
194
- expand: true,
195
- children: paramsChildren.length ? paramsChildren : [{ title: '无', disableCheckbox: true }]
196
- }, {
197
- title: '响应结果',
198
- disableCheckbox: true,
199
- expand: true,
200
- children: respChildren ? respChildren : [{ title: '无', disableCheckbox: true }]
201
- });
202
- this.$set(data, 'children', children);
203
- this.$set(data, 'expand', true);
204
- this.$set(data, 'isLoaded', true);
205
- }
206
- },
207
- }
208
- };
209
- //# sourceMappingURL=api-list-dataservice.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-list-dataservice.js","sourceRoot":"","sources":["../../src/api-selector/api-list-dataservice.ts"],"names":[],"mappings":"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"}
@@ -1,232 +0,0 @@
1
- import { xhr_get } from '@ajaxjs/util/dist/util/xhr';
2
- import test from './test-dataservice';
3
-
4
- export default {
5
- data(): {} {
6
- return {
7
- DataServiceTreeData: test,
8
- DataServiceFilter: {
9
- keyword: "", data: ['foo', 'bar']
10
- },
11
- };
12
- },
13
- methods: {
14
- getDataService(): void {
15
- xhr_get(`${this.API}/datasource`, (j: RepsonseResult) => {
16
- // console.log(j.result);
17
- let DataServiceTreeData: any[] = [];
18
- // let i: number = 0;
19
-
20
- if (j.data) {
21
- j.data.forEach((item: any) => {
22
- DataServiceTreeData.push({
23
- title: '数据源:' + item.name,
24
- loading: false,
25
- datasourceId: item.id,
26
- urlDir: item.urlDir,
27
- children: []
28
- })
29
- });
30
- }
31
-
32
- this.DataServiceTreeData = DataServiceTreeData;
33
- }, { start: 0, limit: 999, appId: window.sessionStorage.getItem('APP_ID') || 1432285183943376896 });
34
- },
35
-
36
- /**
37
- * 加载表列表和配置。点击 表名 时候执行
38
- */
39
- loadTablesCfg(item: any, callback: Function): void {
40
- let datasourceDir: string = item.urlDir;
41
- let datasourceId: number = item.datasourceId;
42
-
43
- xhr_get(`${this.API}/data_service?datasourceId=${datasourceId}`, (j: RepsonseResult) => {
44
- if (j.data) {
45
- this.list = j.data;
46
- let data: any[] = [];
47
- let i: number = 0;
48
-
49
- j.data.forEach((item: any) => {
50
- let children: any[] = [];
51
- let urlDir: string = item.urlDir; // 配置目录
52
-
53
- if (item.json) {
54
- let cfgs: any = JSON.parse(item.json);
55
- // console.log(":::::::::", item);
56
-
57
- for (let key in cfgs) {
58
- let cfg = cfgs[key];
59
- // console.log(":::::::::》》》》", cfg);
60
- cfg.type = key;
61
- cfg.datasourceId = datasourceId;
62
- cfg.tableName = item.tableName;
63
-
64
- if (!cfg.enable)
65
- continue;
66
-
67
- let dir: string = "/" + datasourceDir + "/" + urlDir;
68
- if (cfg.dir)
69
- dir += "/" + cfg.dir;
70
-
71
- switch (key) {
72
- case 'info':
73
- case 'list':
74
- children.push(this.renderDataServiceNode(dir, "GET", cfg));
75
- break;
76
- case 'create':
77
- children.push(this.renderDataServiceNode(dir, "POST", cfg));
78
- break;
79
- case 'update':
80
- children.push(this.renderDataServiceNode(dir + "/?id=${id}", "PUT", cfg));
81
- break;
82
- case 'delete':
83
- children.push(this.renderDataServiceNode(dir + "/?id=${id}", "DELETE", cfg));
84
- break;
85
- }
86
- }
87
- }
88
-
89
- data.push({
90
- title: item.tableName,
91
- children: children
92
- });
93
- });
94
-
95
- callback(data);
96
- } else {
97
- this.$Message.error('该数据源下尚未有任何表的配置');
98
- callback([]);
99
- }
100
- });
101
- },
102
-
103
- renderDataServiceNode(dir: string, method: string, cfg: any, isAddTypeNode?: boolean): {} {
104
- return {
105
- title: dir,
106
- render: (h: Function, { root, node, data }) => {
107
- this.$set(data, 'method', method);
108
- this.$set(data, 'cfg', cfg);
109
-
110
- let nodeCfg = { // 节点事件的配置
111
- on: {
112
- click: () => {
113
- this.appendDataServiceDetail(data);// 点击加载接口详情
114
- }
115
- }
116
- };
117
-
118
- if (isAddTypeNode)// 右键点击事件
119
- nodeCfg.on['contextmenu'] = (e: Event) => {
120
- e.preventDefault();
121
- this.contextSelectdNode.root = root;
122
- this.contextSelectdNode.node = node;
123
-
124
- // this.contextSelectdNode.data = data;
125
- this.$refs.contentFileMenu.$refs.reference = e.target;
126
- this.$refs.contentFileMenu.currentVisible = !this.$refs.contentFileMenu.currentVisible;
127
- };
128
-
129
- let arr: any[] = [
130
- h('span', Object.assign({ class: 'http-method ' + method.toLowerCase() }, nodeCfg), method),
131
- h('span', nodeCfg, data.title)
132
- ];
133
-
134
- if (isAddTypeNode)
135
- arr.unshift(h('span', { class: 'api-type dataservice' }, '数')); // 头部加入
136
-
137
- return arr;
138
- }
139
- }
140
- },
141
-
142
- /**
143
- * 点击加载接口详情
144
- *
145
- * @param data
146
- */
147
- appendDataServiceDetail(data: any): void {
148
- if (!data.isLoaded) {
149
- // 预先加载
150
- let tableFields: any[] = [];
151
- xhr_get(`${this.API}/data_service/getAllFieldsByDataSourceAndTablename?datasourceId=${data.cfg.datasourceId}&tableName=${data.cfg.tableName}`,
152
- (j: RepsonseResult) => {
153
- console.log(j)
154
- //@ts-ignore
155
- j.result.forEach(item => {
156
- tableFields.push({
157
- name: item.name, type: item.type, required: item.null == 'YES', description: item.comment
158
- });
159
- });
160
- });
161
-
162
- // 请求参数
163
- let params: any[] = [];
164
- switch (data.cfg.type) {
165
- case 'info':
166
- case 'delete':
167
- params.push({ name: 'id', type: 'int', required: true, description: '实体 id' });
168
- break;
169
- case 'list':
170
- params.push({ name: 'start', type: 'int', required: true, description: '分页 start' });
171
- params.push({ name: 'limit', type: 'int', required: true, description: '分页 limit' });
172
- break;
173
- case 'create':
174
- case 'update':
175
- params = tableFields;
176
- break;
177
- }
178
-
179
- let paramsChildren: any[] = [];
180
-
181
- params.forEach((item: any) => {
182
- let desc: string = item.description;
183
- paramsChildren.push({ title: `${item.name}: ${item.type},必填:${item.required ? '是' : '否'} ${desc ? ',说明:' + desc : ''}`, disableCheckbox: true });
184
- });
185
-
186
- // 响应结果
187
- let resp: any[] = [];
188
- switch (data.cfg.type) {
189
- case 'info':
190
- case 'list':
191
- resp = tableFields;
192
- break;
193
- case 'create':
194
- resp.push({ name: 'isOk', type: 'boolean', description: '是否创建成功' });
195
- resp.push({ name: 'newlyId', type: 'long', description: '新增记录之 id' });
196
- break;
197
- case 'update':
198
- resp.push({ name: 'isOk', type: 'boolean', description: '是否更新成功' });
199
- break;
200
- case 'delete':
201
- resp.push({ name: 'isOk', type: 'boolean', description: '是否删除成功' });
202
- break;
203
- }
204
-
205
- let respChildren: any[] = [];
206
- resp.forEach((item: any) => {
207
- let desc: string = item.description;
208
- respChildren.push({ title: `${item.name}: ${item.type} ${desc ? ',说明:' + desc : ''}`, disableCheckbox: true });
209
- });
210
-
211
- // 整理为树节点
212
- const children = data.children || [];
213
-
214
- children.push({
215
- title: '请求参数',
216
- disableCheckbox: true,
217
- expand: true,
218
- children: paramsChildren.length ? paramsChildren : [{ title: '无', disableCheckbox: true }]
219
- }, {
220
- title: '响应结果',
221
- disableCheckbox: true,
222
- expand: true,
223
- children: respChildren ? respChildren : [{ title: '无', disableCheckbox: true }]
224
- });
225
-
226
- this.$set(data, 'children', children);
227
- this.$set(data, 'expand', true);
228
- this.$set(data, 'isLoaded', true);
229
- }
230
- },
231
- }
232
- };