@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.
Files changed (156) hide show
  1. package/README.md +8 -11
  2. package/dist/api-helper/common/arg.vue +46 -0
  3. package/dist/api-helper/common/http-method.vue +53 -0
  4. package/dist/api-helper/common/input-table.vue +128 -0
  5. package/dist/api-helper/document/document-render.d.ts +10 -0
  6. package/dist/api-helper/document/document-render.js +38 -0
  7. package/dist/api-helper/document/document-render.js.map +1 -0
  8. package/dist/api-helper/document/document-render.ts +35 -0
  9. package/dist/api-helper/document/document-render.vue +155 -0
  10. package/dist/api-helper/document/document.d.ts +31 -0
  11. package/dist/api-helper/document/document.js +55 -0
  12. package/dist/api-helper/document/document.js.map +1 -0
  13. package/dist/api-helper/document/document.ts +55 -0
  14. package/dist/api-helper/document/document.vue +78 -0
  15. package/dist/api-helper/document/perview.vue +0 -0
  16. package/dist/api-helper/index.js +142 -0
  17. package/dist/api-helper/index.vue +108 -0
  18. package/dist/api-helper/request-body.vue +66 -0
  19. package/dist/api-helper/table.d.ts +7 -0
  20. package/dist/api-helper/table.js +13 -0
  21. package/dist/api-helper/table.js.map +1 -0
  22. package/dist/api-helper/table.ts +10 -0
  23. package/dist/api-helper/table.vue +103 -0
  24. package/dist/api-helper/xhr.js +100 -0
  25. package/dist/api-helper2/api-helper.d.ts +194 -0
  26. package/dist/api-helper2/api-helper.vue +144 -0
  27. package/dist/api-helper2/bookmark.vue +168 -0
  28. package/dist/api-helper2/common/arg.vue +46 -0
  29. package/dist/api-helper2/common/http-method.vue +53 -0
  30. package/dist/api-helper2/document/document-render.vue +189 -0
  31. package/dist/api-helper2/document/document.vue +130 -0
  32. package/dist/api-helper2/document/perview.vue +0 -0
  33. package/dist/api-helper2/env.vue +140 -0
  34. package/dist/api-helper2/history.vue +116 -0
  35. package/dist/api-helper2/main.vue +70 -0
  36. package/dist/api-helper2/request-body.vue +68 -0
  37. package/dist/api-helper2/table.vue +116 -0
  38. package/dist/api-selector/api-list-dataservice.d.ts +18 -0
  39. package/dist/api-selector/api-list-dataservice.js +209 -0
  40. package/dist/api-selector/api-list-dataservice.js.map +1 -0
  41. package/dist/api-selector/api-list-dataservice.ts +232 -0
  42. package/dist/api-selector/api-list-swagger.d.ts +28 -0
  43. package/dist/api-selector/api-list-swagger.js +179 -0
  44. package/dist/api-selector/api-list-swagger.js.map +1 -0
  45. package/dist/api-selector/api-list-swagger.ts +206 -0
  46. package/dist/api-selector/api-list.d.ts +80 -0
  47. package/dist/api-selector/api-list.js +129 -0
  48. package/dist/api-selector/api-list.js.map +1 -0
  49. package/dist/api-selector/api-list.ts +135 -0
  50. package/dist/api-selector/index.vue +125 -0
  51. package/dist/api-selector/test-dataservice.d.ts +23 -0
  52. package/dist/api-selector/test-dataservice.js +74 -0
  53. package/dist/api-selector/test-dataservice.js.map +1 -0
  54. package/dist/api-selector/test-swagger.d.ts +901 -0
  55. package/dist/api-selector/test-swagger.js +656 -0
  56. package/dist/api-selector/test-swagger.js.map +1 -0
  57. package/dist/data-source/data-source.css +44 -0
  58. package/dist/data-source/data-source.d.ts +14 -0
  59. package/dist/data-source/data-source.html +59 -0
  60. package/dist/data-source/data-source.js +97 -0
  61. package/dist/data-source/data-source.js.map +1 -0
  62. package/dist/data-source/data-source.less +46 -0
  63. package/dist/data-source/data-source.ts +95 -0
  64. package/dist/data-source/data-source.vue +59 -0
  65. package/dist/iView-ext/fast-iview-table/fast-iview-table.d.ts +37 -0
  66. package/dist/iView-ext/fast-iview-table/fast-iview-table.js +72 -0
  67. package/dist/iView-ext/fast-iview-table/fast-iview-table.js.map +1 -0
  68. package/dist/iView-ext/fast-iview-table/fast-iview-table.ts +75 -0
  69. package/dist/iView-ext/fast-iview-table/fast-iview-table.vue +52 -0
  70. package/dist/iView-ext/fast-iview-table/list.d.ts +44 -0
  71. package/dist/iView-ext/fast-iview-table/list.js +97 -0
  72. package/dist/iView-ext/fast-iview-table/list.js.map +1 -0
  73. package/dist/iView-ext/fast-iview-table/list.ts +109 -0
  74. package/dist/iView-ext/tips.vue +14 -0
  75. package/dist/index.d.ts +33 -31
  76. package/dist/index.js +8 -60
  77. package/dist/index.js.map +1 -1
  78. package/dist/index.ts +15 -0
  79. package/dist/libs/api-helper.d.ts +194 -0
  80. package/dist/libs/api-list.d.ts +15 -0
  81. package/dist/libs/common.d.ts +201 -0
  82. package/dist/libs/entity.d.ts +26 -0
  83. package/dist/libs/entity.js +1 -0
  84. package/dist/libs/entity.js.map +1 -0
  85. package/dist/libs/entity.ts +31 -0
  86. package/dist/libs/iview-widgets.d.ts +59 -0
  87. package/dist/libs/iview-widgets.js +2 -0
  88. package/dist/libs/iview-widgets.js.map +1 -0
  89. package/dist/libs/iview-widgets.ts +73 -0
  90. package/dist/main.d.ts +1 -1
  91. package/dist/main.js +16 -8
  92. package/dist/main.js.map +1 -1
  93. package/dist/main.ts +22 -0
  94. package/dist/table-selector/table-selector.htm +28 -0
  95. package/dist/table-selector/table-selector.js +149 -0
  96. package/package.json +16 -17
  97. package/dist/router/index.d.ts +0 -3
  98. package/dist/router/index.js +0 -44
  99. package/dist/router/index.js.map +0 -1
  100. package/dist/util/cookies.d.ts +0 -18
  101. package/dist/util/cookies.js +0 -46
  102. package/dist/util/cookies.js.map +0 -1
  103. package/dist/util/dom.d.ts +0 -17
  104. package/dist/util/dom.js +0 -44
  105. package/dist/util/dom.js.map +0 -1
  106. package/dist/util/utils.d.ts +0 -51
  107. package/dist/util/utils.js +0 -174
  108. package/dist/util/utils.js.map +0 -1
  109. package/dist/util/xhr-config.d.ts +0 -22
  110. package/dist/util/xhr-config.js +0 -3
  111. package/dist/util/xhr-config.js.map +0 -1
  112. package/dist/util/xhr.d.ts +0 -71
  113. package/dist/util/xhr.js +0 -262
  114. package/dist/util/xhr.js.map +0 -1
  115. package/dist/widget/AccordionMenu.vue +0 -140
  116. package/dist/widget/AdjustFontSize.vue +0 -65
  117. package/dist/widget/Article.vue +0 -59
  118. package/dist/widget/EmptyContent.d.ts +0 -5
  119. package/dist/widget/EmptyContent.js +0 -7
  120. package/dist/widget/EmptyContent.js.map +0 -1
  121. package/dist/widget/Expander.vue +0 -65
  122. package/dist/widget/FileUploader/FileUploader.d.ts +0 -70
  123. package/dist/widget/FileUploader/FileUploader.js +0 -139
  124. package/dist/widget/FileUploader/FileUploader.js.map +0 -1
  125. package/dist/widget/FileUploader/FileUploader.less +0 -68
  126. package/dist/widget/FileUploader/FileUploader.ts +0 -156
  127. package/dist/widget/FileUploader/FileUploader.vue +0 -43
  128. package/dist/widget/HtmlEditor/HtmlEditor.d.ts +0 -70
  129. package/dist/widget/HtmlEditor/HtmlEditor.js +0 -287
  130. package/dist/widget/HtmlEditor/HtmlEditor.js.map +0 -1
  131. package/dist/widget/HtmlEditor/HtmlEditor.less +0 -345
  132. package/dist/widget/HtmlEditor/HtmlEditor.ts +0 -339
  133. package/dist/widget/HtmlEditor/HtmlEditor.vue +0 -70
  134. package/dist/widget/HtmlEditor/html-editor-HtmlSanitizer.js +0 -103
  135. package/dist/widget/ImageEnlarger.vue +0 -105
  136. package/dist/widget/OpacityBanner.vue +0 -125
  137. package/dist/widget/ProcessLine.vue +0 -133
  138. package/dist/widget/Resize.d.ts +0 -51
  139. package/dist/widget/Resize.js +0 -133
  140. package/dist/widget/Resize.js.map +0 -1
  141. package/dist/widget/Resize.ts +0 -152
  142. package/dist/widget/Resize.vue +0 -104
  143. package/dist/widget/TreeSelector.vue +0 -4
  144. package/dist/widget/calendar/BetweenDate.vue +0 -63
  145. package/dist/widget/calendar/Calendar.d.ts +0 -55
  146. package/dist/widget/calendar/Calendar.js +0 -145
  147. package/dist/widget/calendar/Calendar.js.map +0 -1
  148. package/dist/widget/calendar/Calendar.less +0 -210
  149. package/dist/widget/calendar/Calendar.ts +0 -167
  150. package/dist/widget/calendar/Calendar.vue +0 -52
  151. package/dist/widget/calendar/CalendarInput.vue +0 -71
  152. package/dist/widget/form/validator.d.ts +0 -70
  153. package/dist/widget/form/validator.js +0 -220
  154. package/dist/widget/form/validator.js.map +0 -1
  155. package/dist/widget/form/validator.ts +0 -289
  156. package/dist/widget/play-ground/sku.vue +0 -93
@@ -0,0 +1,68 @@
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>
@@ -0,0 +1,116 @@
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>
@@ -0,0 +1,18 @@
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;
@@ -0,0 +1,209 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-list-dataservice.js","sourceRoot":"","sources":["../../src/api-selector/api-list-dataservice.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,232 @@
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
+ };