@egova/egova-api 1.3.2 → 1.3.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.
@@ -87,6 +87,24 @@ module.exports =
87
87
  /************************************************************************/
88
88
  /******/ ({
89
89
 
90
+ /***/ "00fe":
91
+ /***/ (function(module, exports, __webpack_require__) {
92
+
93
+ "use strict";
94
+
95
+ var lengthOfArrayLike = __webpack_require__("d631");
96
+
97
+ module.exports = function (Constructor, list, $length) {
98
+ var index = 0;
99
+ var length = arguments.length > 2 ? $length : lengthOfArrayLike(list);
100
+ var result = new Constructor(length);
101
+ while (length > index) result[index] = list[index++];
102
+ return result;
103
+ };
104
+
105
+
106
+ /***/ }),
107
+
90
108
  /***/ "01a6":
91
109
  /***/ (function(module, exports) {
92
110
 
@@ -128,14 +146,14 @@ module.exports = isForced;
128
146
  /***/ "07ab":
129
147
  /***/ (function(module, exports) {
130
148
 
131
- module.exports = "<div class=\"u-tree-node\">\r\n<!-- <i class=\"iconfont\" :class=\"data.expand? 'icon-expand': 'icon-unexpand'\"></i>-->\r\n <i class=\"iconfont icon-mulushu\" @click=\"onClickNode\"></i>\r\n <div class=\"name\" @click=\"onClickNode\">{{data.name}}</div>\r\n <i-dropdown @on-click=\"onClick\" transfer transfer-class-name=\"node-oprate\" v-if=\"data.id !== 'virtual_root_directory'\">\r\n <i-icon type=\"ios-more\" />\r\n <i-dropdown-menu slot=\"list\">\r\n <i-dropdown-item v-for=\"item in actions\" :key=\"item.name\" :name=\"item.name\">\r\n <template v-if=\"item.name === 'import'\">\r\n <i-upload\r\n class=\"action-item\"\r\n :action=\"uploadAction\"\r\n :data=\"uploadParams\"\r\n accept=\".json\"\r\n :headers=\"headers\"\r\n :show-upload-list=\"false\"\r\n :format=\"['json']\"\r\n :on-success=\"onSuccess\"\r\n :before-upload=\"onBeforeUpload\"\r\n :on-format-error=\"onFormatError\"\r\n >\r\n <i title=\"导入\" class=\"iconfont icon-import\"></i>{{item.text}}\r\n </i-upload>\r\n </template>\r\n <template v-else> <i class=\"iconfont\" :class=\"'icon-' + (item.icon || item.name)\"></i>{{item.text}} </template>\r\n </i-dropdown-item>\r\n </i-dropdown-menu>\r\n </i-dropdown>\r\n</div>\r\n"
149
+ module.exports = "<div class=\"u-tree-node\">\n<!-- <i class=\"iconfont\" :class=\"data.expand? 'icon-expand': 'icon-unexpand'\"></i>-->\n <i class=\"iconfont icon-mulushu\" @click=\"onClickNode\"></i>\n <div class=\"name\" @click=\"onClickNode\">{{data.name}}</div>\n <i-dropdown @on-click=\"onClick\" transfer transfer-class-name=\"node-oprate\" v-if=\"data.id !== 'virtual_root_directory'\">\n <i-icon type=\"ios-more\" />\n <i-dropdown-menu slot=\"list\">\n <i-dropdown-item v-for=\"item in actions\" :key=\"item.name\" :name=\"item.name\">\n <template v-if=\"item.name === 'import'\">\n <i-upload\n class=\"action-item\"\n :action=\"uploadAction\"\n :data=\"uploadParams\"\n accept=\".json\"\n :headers=\"headers\"\n :show-upload-list=\"false\"\n :format=\"['json']\"\n :on-success=\"onSuccess\"\n :before-upload=\"onBeforeUpload\"\n :on-format-error=\"onFormatError\"\n >\n <i title=\"导入\" class=\"iconfont icon-import\"></i>{{item.text}}\n </i-upload>\n </template>\n <template v-else> <i class=\"iconfont\" :class=\"'icon-' + (item.icon || item.name)\"></i>{{item.text}} </template>\n </i-dropdown-item>\n </i-dropdown-menu>\n </i-dropdown>\n</div>\n"
132
150
 
133
151
  /***/ }),
134
152
 
135
153
  /***/ "086a":
136
154
  /***/ (function(module, exports) {
137
155
 
138
- module.exports = "<i-modal draggable sticky transfer reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1000\" class=\"u-test-run-modal diy-modal\">\r\n <header slot=\"header\">运行结果</header>\r\n <main>\r\n <section class=\"u-test-run-content\">\r\n <section class=\"title-g\">参数</section>\r\n <section class=\"card-panel context-editor\">\r\n <u-base-editor :data.sync=\"context\"></u-base-editor>\r\n </section>\r\n <i-row justify=\"end\">\r\n <i-button class=\"diy-btn-default\" @click=\"onReset\">重置</i-button>\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onProcess\">执行</i-button>\r\n </i-row>\r\n <section class=\"title-g\">结果</section>\r\n <section class=\"card-panel\">\r\n <i-tabs>\r\n <i-tab-pane label=\"响应\" name=\"response\">\r\n <u-base-editor :class=\"['editor', error ? 'editor-error' : '']\" :data.sync=\"result\" :readOnly=\"true\"></u-base-editor>\r\n </i-tab-pane>\r\n <i-tab-pane label=\"输出\" name=\"output\">\r\n <u-base-editor :data.sync=\"output\" :readOnly=\"true\"></u-base-editor>\r\n </i-tab-pane>\r\n </i-tabs>\r\n </section>\r\n </section>\r\n </main>\r\n <footer slot=\"footer\">\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onOk\">关闭</i-button>\r\n </footer>\r\n</i-modal>\r\n"
156
+ module.exports = "<i-modal draggable sticky transfer reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1000\" class=\"u-test-run-modal diy-modal\">\n <header slot=\"header\">运行结果</header>\n <main>\n <section class=\"u-test-run-content\">\n <section class=\"title-g\">参数</section>\n <section class=\"card-panel context-editor\">\n <u-base-editor :data.sync=\"context\"></u-base-editor>\n </section>\n <i-row justify=\"end\">\n <i-button class=\"diy-btn-default\" @click=\"onReset\">重置</i-button>\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onProcess\">执行</i-button>\n </i-row>\n <section class=\"title-g\">结果</section>\n <section class=\"card-panel\">\n <i-tabs>\n <i-tab-pane label=\"响应\" name=\"response\">\n <u-base-editor :class=\"['editor', error ? 'editor-error' : '']\" :data.sync=\"result\" :readOnly=\"true\"></u-base-editor>\n </i-tab-pane>\n <i-tab-pane label=\"输出\" name=\"output\">\n <u-base-editor :data.sync=\"output\" :readOnly=\"true\"></u-base-editor>\n </i-tab-pane>\n </i-tabs>\n </section>\n </section>\n </main>\n <footer slot=\"footer\">\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onOk\">关闭</i-button>\n </footer>\n</i-modal>\n"
139
157
 
140
158
  /***/ }),
141
159
 
@@ -158,7 +176,7 @@ module.exports = store;
158
176
  /***/ "0941":
159
177
  /***/ (function(module, exports) {
160
178
 
161
- module.exports = "<i-modal draggable sticky transfer reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1280\" class=\"u-api-project-modal diy-modal\">\r\n <header slot=\"header\">添加API</header>\r\n <main>\r\n <i-split v-model=\"splitHorizontal\">\r\n <section slot=\"left\" class=\"card-panel card-panel-no-right-border\">\r\n <div class=\"card-panel-header\">\r\n <span>选择列表</span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <u-tree :commonTaskCategoryID=\"taskCategoryID\" :initSelectItem=\"initNode\" :prop-data=\"treeData\" :isTreeList=\"true\" @on-select=\"onSelect\" />\r\n </div>\r\n </section>\r\n <section slot=\"right\" class=\"right-content\">\r\n <i-split v-model=\"splitVertical\" mode=\"vertical\" max=\"600\">\r\n <section slot=\"top\" class=\"card-panel card-panel-no-bottom-border\">\r\n <div class=\"card-panel-header\">\r\n <span>选择模型</span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <u-api-project-list\r\n :data=\"tableData\"\r\n :paging.sync=\"paging\"\r\n @on-search=\"onSearch\"\r\n @on-page-index-change=\"onPageIndexChange\"\r\n @on-page-size-change=\"onPageSizeChange\"\r\n @on-selection-change=\"onSelectionChange\"\r\n @on-delete-refresh=\"getTableData\"\r\n @on-row-click=\"onRowClick\"\r\n >\r\n </u-api-project-list>\r\n </div>\r\n </section>\r\n <section slot=\"bottom\" :class=\"['card-panel', collapse ? 'card-panel-no-bottom-border' : '']\">\r\n <div class=\"card-panel-header\">\r\n <span>已选({{checkedLength}})</span>\r\n <span>\r\n <i-poptip confirm title=\"您确定要清空已选中的数据吗?\" transfer placement=\"top-end\" @on-ok=\"onBatchDelete\">\r\n <span class=\"action-text\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n <span>清空</span>\r\n </span>\r\n </i-poptip>\r\n <span class=\"action-text collapse-text\" @click=\"onClickCollapse\">\r\n <span>{{collapse ? \"展开\" : \"收起\"}}</span>\r\n <i class=\"ivu-icon ivu-icon-ios-arrow-forward\" :class=\"{'icon-arrow-collapse':collapse}\"></i>\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <template v-if=\"checkedData&&checkedData.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"checkedData\">\r\n <template #operates=\"{row,index}\">\r\n <div class=\"row-actions\">\r\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\r\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\r\n </i-poptip>\r\n </div>\r\n </template>\r\n </i-table>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </template>\r\n </div>\r\n </section>\r\n </i-split>\r\n </section>\r\n </i-split>\r\n <i-spin fix v-if=\"isLoading\">\r\n <i class=\"spin-icon-load ivu-icon\"></i>\r\n </i-spin>\r\n </main>\r\n <footer slot=\"footer\">\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">确定</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\r\n </footer>\r\n</i-modal>\r\n"
179
+ module.exports = "<i-modal draggable sticky transfer reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1280\" class=\"u-api-project-modal diy-modal\">\n <header slot=\"header\">添加API</header>\n <main>\n <i-split v-model=\"splitHorizontal\">\n <section slot=\"left\" class=\"card-panel card-panel-no-right-border\">\n <div class=\"card-panel-header\">\n <span>选择列表</span>\n </div>\n <div class=\"card-panel-main\">\n <u-tree :commonTaskCategoryID=\"taskCategoryID\" :initSelectItem=\"initNode\" :prop-data=\"treeData\" :isTreeList=\"true\" @on-select=\"onSelect\" />\n </div>\n </section>\n <section slot=\"right\" class=\"right-content\">\n <i-split v-model=\"splitVertical\" mode=\"vertical\" max=\"600\">\n <section slot=\"top\" class=\"card-panel card-panel-no-bottom-border\">\n <div class=\"card-panel-header\">\n <span>选择模型</span>\n </div>\n <div class=\"card-panel-main\">\n <u-api-project-list\n :data=\"tableData\"\n :paging.sync=\"paging\"\n @on-search=\"onSearch\"\n @on-page-index-change=\"onPageIndexChange\"\n @on-page-size-change=\"onPageSizeChange\"\n @on-selection-change=\"onSelectionChange\"\n @on-delete-refresh=\"getTableData\"\n @on-row-click=\"onRowClick\"\n >\n </u-api-project-list>\n </div>\n </section>\n <section slot=\"bottom\" :class=\"['card-panel', collapse ? 'card-panel-no-bottom-border' : '']\">\n <div class=\"card-panel-header\">\n <span>已选({{checkedLength}})</span>\n <span>\n <i-poptip confirm title=\"您确定要清空已选中的数据吗?\" transfer placement=\"top-end\" @on-ok=\"onBatchDelete\">\n <span class=\"action-text\">\n <i class=\"iconfont icon-delete\"></i>\n <span>清空</span>\n </span>\n </i-poptip>\n <span class=\"action-text collapse-text\" @click=\"onClickCollapse\">\n <span>{{collapse ? \"展开\" : \"收起\"}}</span>\n <i class=\"ivu-icon ivu-icon-ios-arrow-forward\" :class=\"{'icon-arrow-collapse':collapse}\"></i>\n </span>\n </span>\n </div>\n <div class=\"card-panel-main\">\n <template v-if=\"checkedData&&checkedData.length\">\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"checkedData\">\n <template #operates=\"{row,index}\">\n <div class=\"row-actions\">\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\n </i-poptip>\n </div>\n </template>\n </i-table>\n </template>\n <template v-else>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </div>\n </section>\n </i-split>\n </section>\n </i-split>\n <i-spin fix v-if=\"isLoading\">\n <i class=\"spin-icon-load ivu-icon\"></i>\n </i-spin>\n </main>\n <footer slot=\"footer\">\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">确定</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\n </footer>\n</i-modal>\n"
162
180
 
163
181
  /***/ }),
164
182
 
@@ -271,7 +289,7 @@ module.exports = function (exec) {
271
289
  /***/ "10cf":
272
290
  /***/ (function(module, exports) {
273
291
 
274
- module.exports = "<i-modal\r\n draggable\r\n sticky\r\n reset-drag-position\r\n v-model=\"value\"\r\n class=\"diy-modal current-variable-modal\"\r\n :mask-closable=\"false\"\r\n footer-hide\r\n title=\"查看当前变量\"\r\n>\r\n <i-form\r\n :label-width=\"95\"\r\n class=\"diy-form\"\r\n label-colon\r\n label-position=\"left\"\r\n >\r\n <i-form-item label=\"环境名称\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入环境名称\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"环境域名\" class=\"realm-name\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入环境域名\">\r\n <i-select slot=\"prepend\" class=\"diy-select\"> </i-select>\r\n </i-input>\r\n </i-form-item>\r\n <i-form-item label=\"Header\" class=\"name-value-item\">\r\n <i-input class=\"diy-input\"></i-input>\r\n <i-input class=\"diy-input\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"Cookie\" class=\"name-value-item\">\r\n <i-input class=\"diy-input\"></i-input>\r\n <i-input class=\"diy-input\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"Global\" class=\"name-value-item\">\r\n <i-input class=\"diy-input\"></i-input>\r\n <i-input class=\"diy-input\"></i-input>\r\n </i-form-item>\r\n </i-form>\r\n</i-modal>\r\n"
292
+ module.exports = "<i-modal\n draggable\n sticky\n reset-drag-position\n v-model=\"value\"\n class=\"diy-modal current-variable-modal\"\n :mask-closable=\"false\"\n footer-hide\n title=\"查看当前变量\"\n>\n <i-form\n :label-width=\"95\"\n class=\"diy-form\"\n label-colon\n label-position=\"left\"\n >\n <i-form-item label=\"环境名称\">\n <i-input class=\"diy-input\" placeholder=\"请输入环境名称\"></i-input>\n </i-form-item>\n <i-form-item label=\"环境域名\" class=\"realm-name\">\n <i-input class=\"diy-input\" placeholder=\"请输入环境域名\">\n <i-select slot=\"prepend\" class=\"diy-select\"> </i-select>\n </i-input>\n </i-form-item>\n <i-form-item label=\"Header\" class=\"name-value-item\">\n <i-input class=\"diy-input\"></i-input>\n <i-input class=\"diy-input\"></i-input>\n </i-form-item>\n <i-form-item label=\"Cookie\" class=\"name-value-item\">\n <i-input class=\"diy-input\"></i-input>\n <i-input class=\"diy-input\"></i-input>\n </i-form-item>\n <i-form-item label=\"Global\" class=\"name-value-item\">\n <i-input class=\"diy-input\"></i-input>\n <i-input class=\"diy-input\"></i-input>\n </i-form-item>\n </i-form>\n</i-modal>\n"
275
293
 
276
294
  /***/ }),
277
295
 
@@ -301,6 +319,24 @@ module.exports = !fails(function () {
301
319
  });
302
320
 
303
321
 
322
+ /***/ }),
323
+
324
+ /***/ "16bf":
325
+ /***/ (function(module, exports, __webpack_require__) {
326
+
327
+ "use strict";
328
+
329
+ var toPositiveInteger = __webpack_require__("ead7");
330
+
331
+ var $RangeError = RangeError;
332
+
333
+ module.exports = function (it, BYTES) {
334
+ var offset = toPositiveInteger(it);
335
+ if (offset % BYTES) throw new $RangeError('Wrong offset');
336
+ return offset;
337
+ };
338
+
339
+
304
340
  /***/ }),
305
341
 
306
342
  /***/ "17f8":
@@ -404,7 +440,7 @@ module.exports = require("brace/mode/xml");
404
440
  /***/ "22e8":
405
441
  /***/ (function(module, exports) {
406
442
 
407
- module.exports = "<article class=\"headers-setting\">\r\n <header>\r\n <i-button type=\"primary\" ghost class=\"diy-btn-primary\" @click=\"onAdd\">\r\n <i class=\"api-icon icon-add\"></i>新增\r\n </i-button>\r\n <!-- <i-button type=\"primary\" ghost class=\"diy-btn-primary\">\r\n <i class=\"api-icon icon-import\"></i>导入参数\r\n </i-button>\r\n <i-button type=\"primary\" ghost class=\"diy-btn-primary\">\r\n <i class=\"api-icon icon-export\"></i>导出参数\r\n </i-button> -->\r\n </header>\r\n <i-table\r\n class=\"diy-table\"\r\n :columns=\"columns\"\r\n :data=\"interfaceModel.requestHeaders\"\r\n >\r\n <template slot-scope=\"{ row,index }\" slot=\"selection\">\r\n <i-checkbox\r\n :value=\"!interfaceModel.requestHeaders[index].disabled\"\r\n @on-change=\"onChangeDisabled($event,interfaceModel.requestHeaders[index])\"\r\n >\r\n </i-checkbox>\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"name\">\r\n <i-input\r\n class=\"diy-input\"\r\n placeholder=\"输入参数名称\"\r\n v-model=\"interfaceModel.requestHeaders[index].name\"\r\n >\r\n </i-input>\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"value\">\r\n <i-input\r\n class=\"diy-input\"\r\n placeholder=\"输入参数值\"\r\n v-model=\"interfaceModel.requestHeaders[index].value\"\r\n >\r\n </i-input>\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"text\">\r\n <i-input\r\n class=\"diy-input\"\r\n placeholder=\"备注\"\r\n v-model=\"interfaceModel.requestHeaders[index].text\"\r\n >\r\n </i-input>\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"action\">\r\n <i-poptip title=\"确认删除这条数据吗?\" confirm @on-ok=\"onDelete(index)\" transfer>\r\n <i class=\"iconfont icon-delete\" title=\"删除\"></i>\r\n </i-poptip>\r\n </template>\r\n </i-table>\r\n</article>\r\n"
443
+ module.exports = "<article class=\"headers-setting\">\n <header>\n <i-button type=\"primary\" ghost class=\"diy-btn-primary\" @click=\"onAdd\">\n <i class=\"api-icon icon-add\"></i>新增\n </i-button>\n <!-- <i-button type=\"primary\" ghost class=\"diy-btn-primary\">\n <i class=\"api-icon icon-import\"></i>导入参数\n </i-button>\n <i-button type=\"primary\" ghost class=\"diy-btn-primary\">\n <i class=\"api-icon icon-export\"></i>导出参数\n </i-button> -->\n </header>\n <i-table\n class=\"diy-table\"\n :columns=\"columns\"\n :data=\"interfaceModel.requestHeaders\"\n >\n <template slot-scope=\"{ row,index }\" slot=\"selection\">\n <i-checkbox\n :value=\"!interfaceModel.requestHeaders[index].disabled\"\n @on-change=\"onChangeDisabled($event,interfaceModel.requestHeaders[index])\"\n >\n </i-checkbox>\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"name\">\n <i-input\n class=\"diy-input\"\n placeholder=\"输入参数名称\"\n v-model=\"interfaceModel.requestHeaders[index].name\"\n >\n </i-input>\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"value\">\n <i-input\n class=\"diy-input\"\n placeholder=\"输入参数值\"\n v-model=\"interfaceModel.requestHeaders[index].value\"\n >\n </i-input>\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"text\">\n <i-input\n class=\"diy-input\"\n placeholder=\"备注\"\n v-model=\"interfaceModel.requestHeaders[index].text\"\n >\n </i-input>\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"action\">\n <i-poptip title=\"确认删除这条数据吗?\" confirm @on-ok=\"onDelete(index)\" transfer>\n <i class=\"iconfont icon-delete\" title=\"删除\"></i>\n </i-poptip>\n </template>\n </i-table>\n</article>\n"
408
444
 
409
445
  /***/ }),
410
446
 
@@ -435,7 +471,7 @@ module.exports = require("vue-json-viewer");
435
471
  /***/ "236b":
436
472
  /***/ (function(module, exports) {
437
473
 
438
- module.exports = "<article class=\"after-execution-transfer\">\r\n <i-form :label-width=\"112\" class=\"diy-form\" label-colon v-if=\"interfaceModel.convertConfig\">\r\n <i-form-item label=\"状态字段位置\">\r\n <i-input class=\"diy-input\" v-model=\"interfaceModel.convertConfig.successCodePath\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"成功标识\">\r\n <i-input class=\"diy-input\" v-model=\"interfaceModel.convertConfig.successCode\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"数据字段位置\">\r\n <i-input class=\"diy-input\" v-model=\"interfaceModel.convertConfig.convertRoot\"></i-input>\r\n </i-form-item>\r\n </i-form>\r\n <i-row class=\"transfer-actions\" justify=\"space-between\">\r\n <div class=\"transfer-actions-title\">\r\n <span>配置输出字段</span>\r\n <i-poptip class=\"action\" trigger=\"hover\" content=\"当前页面的勾选框仅对批量删除有效,实际输出字段为下方列表内的所有内容。\" width=\"300\" word-wrap transfer>\r\n <i class=\"iconfont icon-xinxi\"> </i>\r\n </i-poptip>\r\n </div>\r\n <div class=\"actions-wrapper\">\r\n <i-poptip class=\"action\" confirm title=\"将自动解析转换前结果json至配置输出字段,是否继续?\" width=\"300\" @on-ok=\"onParse\" transfer>\r\n <div class=\"action-item action-text\">\r\n <i class=\"iconfont icon-jiexi-copy\"></i>\r\n 解析\r\n </div>\r\n </i-poptip>\r\n <i-poptip class=\"action\" confirm title=\"将重置当前所有输出字段为上次保存内容,是否确认一键重置?\" width=\"300\" @on-ok=\"onReset\" transfer>\r\n <div class=\"action-item action-text\">\r\n <i class=\"iconfont icon-refresh\"></i>\r\n 重置\r\n </div>\r\n </i-poptip>\r\n <div class=\"action-item action-text action\" @click=\"onAdd\">\r\n <i class=\"iconfont icon-add\"></i>\r\n 新增\r\n </div>\r\n <i-poptip class=\"action\" confirm title=\"将批量删除勾选字段,是否确认?\" @on-ok=\"batchDelete\" transfer>\r\n <div class=\"action-item action-text action-text-delete\" :class=\"selections.length > 0 ? '' : 'icon-button-disabled'\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n 批量删除\r\n </div>\r\n </i-poptip>\r\n </div>\r\n </i-row>\r\n <i-table :columns=\"columns\" :data=\"dataList\" class=\"diy-table\" @on-selection-change=\"onChangeChecked\">\r\n <template slot-scope=\"{ row,index }\" slot=\"path\">\r\n <i-input class=\"diy-input\" v-model=\"dataList[index].paramPath\" @on-change=\"debounceUpdateFieldMappings\"> </i-input>\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"name\">\r\n <i-input class=\"diy-input half\" placeholder=\"输入字段命名\" v-model=\"dataList[index].name\" @on-change=\"debounceUpdateFieldMappings\"> </i-input>\r\n <i-select transfer class=\"half diy-select\" v-model=\"dataList[index].valueType\" placeholder=\"选择字段类型\" @on-change=\"debounceUpdateFieldMappings\">\r\n <i-option v-for=\"item in valueTypeList\" :key=\"item.name\" :value=\"item.name\">{{item.text}} </i-option>\r\n </i-select>\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"action\">\r\n <span @click=\"onDelete(index)\">\r\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\r\n </span>\r\n </template>\r\n </i-table>\r\n <i-spin fix v-show=\"loading\">\r\n <i class=\"spin-icon-load ivu-icon\"></i>\r\n </i-spin>\r\n</article>\r\n"
474
+ module.exports = "<article class=\"after-execution-transfer\">\n <i-form :label-width=\"112\" class=\"diy-form\" label-colon v-if=\"interfaceModel.convertConfig\">\n <i-form-item label=\"状态字段位置\">\n <i-input class=\"diy-input\" v-model=\"interfaceModel.convertConfig.successCodePath\"></i-input>\n </i-form-item>\n <i-form-item label=\"成功标识\">\n <i-input class=\"diy-input\" v-model=\"interfaceModel.convertConfig.successCode\"></i-input>\n </i-form-item>\n <i-form-item label=\"数据字段位置\">\n <i-input class=\"diy-input\" v-model=\"interfaceModel.convertConfig.convertRoot\"></i-input>\n </i-form-item>\n </i-form>\n <i-row class=\"transfer-actions\" justify=\"space-between\">\n <div class=\"transfer-actions-title\">\n <span>配置输出字段</span>\n <i-poptip class=\"action\" trigger=\"hover\" content=\"当前页面的勾选框仅对批量删除有效,实际输出字段为下方列表内的所有内容。\" width=\"300\" word-wrap transfer>\n <i class=\"iconfont icon-xinxi\"> </i>\n </i-poptip>\n </div>\n <div class=\"actions-wrapper\">\n <i-poptip class=\"action\" confirm title=\"将自动解析转换前结果json至配置输出字段,是否继续?\" width=\"300\" @on-ok=\"onParse\" transfer>\n <div class=\"action-item action-text\">\n <i class=\"iconfont icon-jiexi-copy\"></i>\n 解析\n </div>\n </i-poptip>\n <i-poptip class=\"action\" confirm title=\"将重置当前所有输出字段为上次保存内容,是否确认一键重置?\" width=\"300\" @on-ok=\"onReset\" transfer>\n <div class=\"action-item action-text\">\n <i class=\"iconfont icon-refresh\"></i>\n 重置\n </div>\n </i-poptip>\n <div class=\"action-item action-text action\" @click=\"onAdd\">\n <i class=\"iconfont icon-add\"></i>\n 新增\n </div>\n <i-poptip class=\"action\" confirm title=\"将批量删除勾选字段,是否确认?\" @on-ok=\"batchDelete\" transfer>\n <div class=\"action-item action-text action-text-delete\" :class=\"selections.length > 0 ? '' : 'icon-button-disabled'\">\n <i class=\"iconfont icon-delete\"></i>\n 批量删除\n </div>\n </i-poptip>\n </div>\n </i-row>\n <i-table :columns=\"columns\" :data=\"dataList\" class=\"diy-table\" @on-selection-change=\"onChangeChecked\">\n <template slot-scope=\"{ row,index }\" slot=\"path\">\n <i-input class=\"diy-input\" v-model=\"dataList[index].paramPath\" @on-change=\"debounceUpdateFieldMappings\"> </i-input>\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"name\">\n <i-input class=\"diy-input half\" placeholder=\"输入字段命名\" v-model=\"dataList[index].name\" @on-change=\"debounceUpdateFieldMappings\"> </i-input>\n <i-select transfer class=\"half diy-select\" v-model=\"dataList[index].valueType\" placeholder=\"选择字段类型\" @on-change=\"debounceUpdateFieldMappings\">\n <i-option v-for=\"item in valueTypeList\" :key=\"item.name\" :value=\"item.name\">{{item.text}} </i-option>\n </i-select>\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"action\">\n <span @click=\"onDelete(index)\">\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\n </span>\n </template>\n </i-table>\n <i-spin fix v-show=\"loading\">\n <i class=\"spin-icon-load ivu-icon\"></i>\n </i-spin>\n</article>\n"
439
475
 
440
476
  /***/ }),
441
477
 
@@ -487,6 +523,31 @@ exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
487
523
  } : $propertyIsEnumerable;
488
524
 
489
525
 
526
+ /***/ }),
527
+
528
+ /***/ "2597":
529
+ /***/ (function(module, exports, __webpack_require__) {
530
+
531
+ "use strict";
532
+
533
+ var ArrayBufferViewCore = __webpack_require__("6a10");
534
+ var lengthOfArrayLike = __webpack_require__("d631");
535
+ var toIntegerOrInfinity = __webpack_require__("9b7f");
536
+
537
+ var aTypedArray = ArrayBufferViewCore.aTypedArray;
538
+ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
539
+
540
+ // `%TypedArray%.prototype.at` method
541
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.at
542
+ exportTypedArrayMethod('at', function at(index) {
543
+ var O = aTypedArray(this);
544
+ var len = lengthOfArrayLike(O);
545
+ var relativeIndex = toIntegerOrInfinity(index);
546
+ var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
547
+ return (k < 0 || k >= len) ? undefined : O[k];
548
+ });
549
+
550
+
490
551
  /***/ }),
491
552
 
492
553
  /***/ "2606":
@@ -520,6 +581,24 @@ module.exports = {
520
581
 
521
582
  // extracted by mini-css-extract-plugin
522
583
 
584
+ /***/ }),
585
+
586
+ /***/ "2720":
587
+ /***/ (function(module, exports, __webpack_require__) {
588
+
589
+ "use strict";
590
+
591
+ var classofRaw = __webpack_require__("0d9b");
592
+ var uncurryThis = __webpack_require__("720f");
593
+
594
+ module.exports = function (fn) {
595
+ // Nashorn bug:
596
+ // https://github.com/zloirock/core-js/issues/1128
597
+ // https://github.com/zloirock/core-js/issues/1130
598
+ if (classofRaw(fn) === 'Function') return uncurryThis(fn);
599
+ };
600
+
601
+
523
602
  /***/ }),
524
603
 
525
604
  /***/ "2a79":
@@ -532,7 +611,7 @@ module.exports = {
532
611
  /***/ "2c48":
533
612
  /***/ (function(module, exports) {
534
613
 
535
- module.exports = "<article class=\"response\" :class=\"{'response-expand':expand}\">\r\n <header :class=\"{'status-success': response.code === 200, 'status-fail': response.code && response.code!==200}\">\r\n <span class=\"title\">响应</span>\r\n <span class=\"collapse-text\" @click=\"onClickCollapse\">\r\n <i class=\"ivu-icon ivu-icon-ios-arrow-forward\" :class=\"{'icon-arrow-collapse':expand}\"></i>\r\n <span>{{expand ? \"收起\" : \"展开\"}}</span>\r\n </span>\r\n <div class=\"items-div\">\r\n <span class=\"item-name\">响应码:</span>\r\n <span class=\"item-value\">{{response.code}}</span>\r\n <span class=\"item-name\">时间:</span>\r\n <span class=\"item-value\">{{response.time}}ms</span>\r\n <span class=\"item-name\">大小:</span>\r\n <span class=\"item-value\">{{response.size}}B</span>\r\n </div>\r\n </header>\r\n <main v-show=\"expand\">\r\n <div class=\"response-bar\">\r\n <div\r\n class=\"tag\"\r\n @click=\"onClickResponseSettingTpye(item)\"\r\n :class=\"{'active': item.name === active.name}\"\r\n v-for=\"(item,index) in responseSettingTypeList\"\r\n :key=\"item.name\"\r\n >\r\n <span>{{item.title + (item.num > 0 ? '(' + item.num + ')': \"\")}}</span>\r\n </div>\r\n </div>\r\n <div class=\"response-content\">\r\n <template v-if=\"active.name === 'content'\">\r\n <header>\r\n <i-radio-group type=\"button\" class=\"diy-radio-group-button response-content-radio-group\" v-model=\"contentType\">\r\n <i-radio label=\"originalContent\">转换前</i-radio>\r\n <i-radio label=\"content\">转换后</i-radio>\r\n </i-radio-group>\r\n <i-dropdown class=\"diy-dropdown response-content-dropdown\" @on-click=\"onChangeLang\">\r\n <i-button ghost type=\"primary\" class=\"diy-btn-primary\">\r\n <span class=\"lang\">{{lang.toUpperCase()}}</span>\r\n <i class=\"api-icon icon-select\"></i>\r\n </i-button>\r\n <i-dropdown-menu slot=\"list\">\r\n <i-dropdown-item name=\"json\">JSON</i-dropdown-item>\r\n <i-dropdown-item name=\"xml\">XML</i-dropdown-item>\r\n </i-dropdown-menu>\r\n </i-dropdown>\r\n </header>\r\n <u-editor :value=\"content\" :lang=\"lang\" @inited=\"onEditorInited\"></u-editor>\r\n </template>\r\n <div v-if=\"active.name === 'responseHeaders'\">\r\n <i-table :columns=\"headerColumns\" :data=\"responseHeaders\" class=\"diy-table\"> </i-table>\r\n </div>\r\n <template v-if=\"active.name === 'requestHeaders'\">\r\n <i-table :columns=\"headerColumns\" :data=\"requestHeaders\" class=\"diy-table\"> </i-table>\r\n </template>\r\n <template v-if=\"active.name === 'cookies'\">\r\n <i-table :columns=\"headerColumns\" :data=\"cookies\" class=\"diy-table\"> </i-table>\r\n </template>\r\n <template v-if=\"active.name==='output'\">\r\n <span class=\"output\">{{output}}</span>\r\n </template>\r\n </div>\r\n </main>\r\n</article>\r\n"
614
+ module.exports = "<article class=\"response\" :class=\"{'response-expand':expand}\">\n <header :class=\"{'status-success': response.code === 200, 'status-fail': response.code && response.code!==200}\">\n <span class=\"title\">响应</span>\n <span class=\"collapse-text\" @click=\"onClickCollapse\">\n <i class=\"ivu-icon ivu-icon-ios-arrow-forward\" :class=\"{'icon-arrow-collapse':expand}\"></i>\n <span>{{expand ? \"收起\" : \"展开\"}}</span>\n </span>\n <div class=\"items-div\">\n <span class=\"item-name\">响应码:</span>\n <span class=\"item-value\">{{response.code}}</span>\n <span class=\"item-name\">时间:</span>\n <span class=\"item-value\">{{response.time}}ms</span>\n <span class=\"item-name\">大小:</span>\n <span class=\"item-value\">{{response.size}}B</span>\n </div>\n </header>\n <main v-show=\"expand\">\n <div class=\"response-bar\">\n <div\n class=\"tag\"\n @click=\"onClickResponseSettingTpye(item)\"\n :class=\"{'active': item.name === active.name}\"\n v-for=\"(item,index) in responseSettingTypeList\"\n :key=\"item.name\"\n >\n <span>{{item.title + (item.num > 0 ? '(' + item.num + ')': \"\")}}</span>\n </div>\n </div>\n <div class=\"response-content\">\n <template v-if=\"active.name === 'content'\">\n <header>\n <i-radio-group type=\"button\" class=\"diy-radio-group-button response-content-radio-group\" v-model=\"contentType\">\n <i-radio label=\"originalContent\">转换前</i-radio>\n <i-radio label=\"content\">转换后</i-radio>\n </i-radio-group>\n <i-dropdown class=\"diy-dropdown response-content-dropdown\" @on-click=\"onChangeLang\">\n <i-button ghost type=\"primary\" class=\"diy-btn-primary\">\n <span class=\"lang\">{{lang.toUpperCase()}}</span>\n <i class=\"api-icon icon-select\"></i>\n </i-button>\n <i-dropdown-menu slot=\"list\">\n <i-dropdown-item name=\"json\">JSON</i-dropdown-item>\n <i-dropdown-item name=\"xml\">XML</i-dropdown-item>\n </i-dropdown-menu>\n </i-dropdown>\n </header>\n <u-editor :value=\"content\" :lang=\"lang\" @inited=\"onEditorInited\"></u-editor>\n </template>\n <div v-if=\"active.name === 'responseHeaders'\">\n <i-table :columns=\"headerColumns\" :data=\"responseHeaders\" class=\"diy-table\"> </i-table>\n </div>\n <template v-if=\"active.name === 'requestHeaders'\">\n <i-table :columns=\"headerColumns\" :data=\"requestHeaders\" class=\"diy-table\"> </i-table>\n </template>\n <template v-if=\"active.name === 'cookies'\">\n <i-table :columns=\"headerColumns\" :data=\"cookies\" class=\"diy-table\"> </i-table>\n </template>\n <template v-if=\"active.name==='output'\">\n <span class=\"output\">{{output}}</span>\n </template>\n </div>\n </main>\n</article>\n"
536
615
 
537
616
  /***/ }),
538
617
 
@@ -541,12 +620,34 @@ module.exports = "<article class=\"response\" :class=\"{'response-expand':expand
541
620
 
542
621
  // extracted by mini-css-extract-plugin
543
622
 
623
+ /***/ }),
624
+
625
+ /***/ "2ece":
626
+ /***/ (function(module, exports, __webpack_require__) {
627
+
628
+ "use strict";
629
+
630
+ var uncurryThis = __webpack_require__("2720");
631
+ var aCallable = __webpack_require__("7801");
632
+ var NATIVE_BIND = __webpack_require__("12f2");
633
+
634
+ var bind = uncurryThis(uncurryThis.bind);
635
+
636
+ // optional / simple context binding
637
+ module.exports = function (fn, that) {
638
+ aCallable(fn);
639
+ return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {
640
+ return fn.apply(that, arguments);
641
+ };
642
+ };
643
+
644
+
544
645
  /***/ }),
545
646
 
546
647
  /***/ "2f53":
547
648
  /***/ (function(module, exports) {
548
649
 
549
- module.exports = "<span class=\"wrap\">\r\n <i-poptip trigger=\"hover\" :content=\"tips\">\r\n<!-- <div class=\"diy-info-icon\">i</div>-->\r\n <i-icon type=\"ios-information-circle-outline\"></i-icon>\r\n </i-poptip>\r\n <span class=\"title\">{{labelTitle}}</span>\r\n <span v-if=\"labelColon\">:</span>\r\n</span>\r\n"
650
+ module.exports = "<span class=\"wrap\">\n <i-poptip trigger=\"hover\" :content=\"tips\">\n<!-- <div class=\"diy-info-icon\">i</div>-->\n <i-icon type=\"ios-information-circle-outline\"></i-icon>\n </i-poptip>\n <span class=\"title\">{{labelTitle}}</span>\n <span v-if=\"labelColon\">:</span>\n</span>\n"
550
651
 
551
652
  /***/ }),
552
653
 
@@ -603,14 +704,14 @@ module.exports = function (argument, $default) {
603
704
  /***/ "35e3":
604
705
  /***/ (function(module, exports) {
605
706
 
606
- module.exports = "<editor class=\"code-edit\" v-model=\"code\" :options=\"option\" @init=\"editorInit\" :lang=\"lang\" width=\"100%\" height=\"100%\"></editor>\r\n"
707
+ module.exports = "<editor class=\"code-edit\" v-model=\"code\" :options=\"option\" @init=\"editorInit\" :lang=\"lang\" width=\"100%\" height=\"100%\"></editor>\n"
607
708
 
608
709
  /***/ }),
609
710
 
610
711
  /***/ "37f5":
611
712
  /***/ (function(module, exports) {
612
713
 
613
- module.exports = "<article class=\"catalog-params\">\r\n <header>\r\n 请求体为 JSON 数组,每一个 JSON 对象应符合如下的格式:\r\n </header>\r\n <i-table height=\"200\" class=\"diy-table\" :columns=\"columns\" :data=\"dataList\">\r\n <template slot-scope=\"{ row,index }\" slot=\"type\">\r\n {{(row.typeDict || {}).text}}\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"required\">\r\n {{row.required ? \"是\": \"否\"}}\r\n </template>\r\n </i-table>\r\n</article>\r\n"
714
+ module.exports = "<article class=\"catalog-params\">\n <header>\n 请求体为 JSON 数组,每一个 JSON 对象应符合如下的格式:\n </header>\n <i-table height=\"200\" class=\"diy-table\" :columns=\"columns\" :data=\"dataList\">\n <template slot-scope=\"{ row,index }\" slot=\"type\">\n {{(row.typeDict || {}).text}}\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"required\">\n {{row.required ? \"是\": \"否\"}}\n </template>\n </i-table>\n</article>\n"
614
715
 
615
716
  /***/ }),
616
717
 
@@ -637,12 +738,50 @@ module.exports = function (target, source, exceptions) {
637
738
  };
638
739
 
639
740
 
741
+ /***/ }),
742
+
743
+ /***/ "39d5":
744
+ /***/ (function(module, exports, __webpack_require__) {
745
+
746
+ "use strict";
747
+
748
+ var arrayWith = __webpack_require__("b699");
749
+ var ArrayBufferViewCore = __webpack_require__("6a10");
750
+ var isBigIntArray = __webpack_require__("9195");
751
+ var toIntegerOrInfinity = __webpack_require__("9b7f");
752
+ var toBigInt = __webpack_require__("a68e");
753
+
754
+ var aTypedArray = ArrayBufferViewCore.aTypedArray;
755
+ var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;
756
+ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
757
+
758
+ var PROPER_ORDER = !!function () {
759
+ try {
760
+ // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing
761
+ new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } });
762
+ } catch (error) {
763
+ // some early implementations, like WebKit, does not follow the final semantic
764
+ // https://github.com/tc39/proposal-change-array-by-copy/pull/86
765
+ return error === 8;
766
+ }
767
+ }();
768
+
769
+ // `%TypedArray%.prototype.with` method
770
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.with
771
+ exportTypedArrayMethod('with', { 'with': function (index, value) {
772
+ var O = aTypedArray(this);
773
+ var relativeIndex = toIntegerOrInfinity(index);
774
+ var actualValue = isBigIntArray(O) ? toBigInt(value) : +value;
775
+ return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue);
776
+ } }['with'], !PROPER_ORDER);
777
+
778
+
640
779
  /***/ }),
641
780
 
642
781
  /***/ "3a71":
643
782
  /***/ (function(module, exports) {
644
783
 
645
- module.exports = "<i-collapse v-model=\"value\" simple class=\"api-params\">\r\n <i-panel name=\"1\">\r\n <span>Query参数</span>\r\n <span class=\"status\">{{getExpand('1') ? \"收起\" : \"展开\"}}</span>\r\n <div slot=\"content\" class=\"setting-content\">\r\n <main>\r\n <i-table\r\n height=\"200\"\r\n class=\"diy-table\"\r\n :columns=\"paramColumns\"\r\n :data=\"queryDataList\"\r\n >\r\n <template slot-scope=\"{ row,index }\" slot=\"selection\">\r\n <i-checkbox\r\n disabled\r\n :value=\"!queryDataList[index].disabled\"\r\n >\r\n </i-checkbox>\r\n </template>\r\n </i-table>\r\n </main>\r\n </div>\r\n </i-panel>\r\n <i-panel name=\"2\">\r\n <span>Body参数</span>\r\n <span class=\"status\">{{getExpand('2') ? \"收起\" : \"展开\"}}</span>\r\n <div slot=\"content\" class=\"setting-content\">\r\n <main>\r\n <i-table\r\n height=\"200\"\r\n class=\"diy-table\"\r\n :columns=\"paramColumns\"\r\n :data=\"bodyDataList\"\r\n v-if=\"isFormData\"\r\n >\r\n <template slot-scope=\"{ row,index }\" slot=\"selection\">\r\n <i-checkbox\r\n disabled\r\n :value=\"!bodyDataList[index].disabled\"\r\n >\r\n </i-checkbox>\r\n </template>\r\n </i-table>\r\n <json-viewer\r\n v-else\r\n :value=\"model.json\"\r\n boxed\r\n :copyable=\"{copyText: '复制', copiedText: '已复制'}\"\r\n :expanded=\"true\"\r\n :expand-depth=\"5\"\r\n >\r\n </json-viewer>\r\n </main>\r\n </div>\r\n </i-panel>\r\n</i-collapse>\r\n"
784
+ module.exports = "<i-collapse v-model=\"value\" simple class=\"api-params\">\n <i-panel name=\"1\">\n <span>Query参数</span>\n <span class=\"status\">{{getExpand('1') ? \"收起\" : \"展开\"}}</span>\n <div slot=\"content\" class=\"setting-content\">\n <main>\n <i-table\n height=\"200\"\n class=\"diy-table\"\n :columns=\"paramColumns\"\n :data=\"queryDataList\"\n >\n <template slot-scope=\"{ row,index }\" slot=\"selection\">\n <i-checkbox\n disabled\n :value=\"!queryDataList[index].disabled\"\n >\n </i-checkbox>\n </template>\n </i-table>\n </main>\n </div>\n </i-panel>\n <i-panel name=\"2\">\n <span>Body参数</span>\n <span class=\"status\">{{getExpand('2') ? \"收起\" : \"展开\"}}</span>\n <div slot=\"content\" class=\"setting-content\">\n <main>\n <i-table\n height=\"200\"\n class=\"diy-table\"\n :columns=\"paramColumns\"\n :data=\"bodyDataList\"\n v-if=\"isFormData\"\n >\n <template slot-scope=\"{ row,index }\" slot=\"selection\">\n <i-checkbox\n disabled\n :value=\"!bodyDataList[index].disabled\"\n >\n </i-checkbox>\n </template>\n </i-table>\n <json-viewer\n v-else\n :value=\"model.json\"\n boxed\n :copyable=\"{copyText: '复制', copiedText: '已复制'}\"\n :expanded=\"true\"\n :expand-depth=\"5\"\n >\n </json-viewer>\n </main>\n </div>\n </i-panel>\n</i-collapse>\n"
646
785
 
647
786
  /***/ }),
648
787
 
@@ -656,14 +795,57 @@ module.exports = "<i-collapse v-model=\"value\" simple class=\"api-params\">\r\n
656
795
  /***/ "3b85":
657
796
  /***/ (function(module, exports) {
658
797
 
659
- module.exports = "<i-modal :mask-closable=\"false\" draggable sticky reset-drag-position v-model=\"show\" class=\"diy-modal\">\r\n <header slot=\"header\">\r\n {{isEdit ? \"编辑分组\" : \"新增分组\"}}\r\n </header>\r\n <main>\r\n <i-form ref=\"addForm\" :model=\"data\" :rules=\"rules\">\r\n <i-form-item prop=\"name\" label=\"分组名称\">\r\n <i-input class=\"diy-input\" v-model=\"data.name\"></i-input>\r\n </i-form-item>\r\n <i-form-item v-if=\"isEdit\" label=\"所属分组\" class=\"update-category\">\r\n <u-tree-selector :treeData=\"categories\" leaf-name=\"task\" :canChooseFolder=\"true\" v-model=\"categoryData.id\" @on-select=\"selectCategory\">\r\n </u-tree-selector>\r\n </i-form-item>\r\n </i-form>\r\n </main>\r\n <footer slot=\"footer\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click.stop=\"onSave\">确定</i-button>\r\n <i-button class=\"diy-btn-default\" @click.stop=\"onCancel\">取消</i-button>\r\n </footer>\r\n</i-modal>\r\n"
798
+ module.exports = "<i-modal :mask-closable=\"false\" draggable sticky reset-drag-position v-model=\"show\" class=\"diy-modal\">\n <header slot=\"header\">\n {{isEdit ? \"编辑分组\" : \"新增分组\"}}\n </header>\n <main>\n <i-form ref=\"addForm\" :model=\"data\" :rules=\"rules\">\n <i-form-item prop=\"name\" label=\"分组名称\">\n <i-input class=\"diy-input\" v-model=\"data.name\"></i-input>\n </i-form-item>\n <i-form-item v-if=\"isEdit\" label=\"所属分组\" class=\"update-category\">\n <u-tree-selector :treeData=\"categories\" leaf-name=\"task\" :canChooseFolder=\"true\" v-model=\"categoryData.id\" @on-select=\"selectCategory\">\n </u-tree-selector>\n </i-form-item>\n </i-form>\n </main>\n <footer slot=\"footer\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click.stop=\"onSave\">确定</i-button>\n <i-button class=\"diy-btn-default\" @click.stop=\"onCancel\">取消</i-button>\n </footer>\n</i-modal>\n"
799
+
800
+ /***/ }),
801
+
802
+ /***/ "3bdc":
803
+ /***/ (function(module, exports, __webpack_require__) {
804
+
805
+ "use strict";
806
+
807
+ var bind = __webpack_require__("2ece");
808
+ var IndexedObject = __webpack_require__("5ee5");
809
+ var toObject = __webpack_require__("e614");
810
+ var lengthOfArrayLike = __webpack_require__("d631");
811
+
812
+ // `Array.prototype.{ findLast, findLastIndex }` methods implementation
813
+ var createMethod = function (TYPE) {
814
+ var IS_FIND_LAST_INDEX = TYPE === 1;
815
+ return function ($this, callbackfn, that) {
816
+ var O = toObject($this);
817
+ var self = IndexedObject(O);
818
+ var index = lengthOfArrayLike(self);
819
+ var boundFunction = bind(callbackfn, that);
820
+ var value, result;
821
+ while (index-- > 0) {
822
+ value = self[index];
823
+ result = boundFunction(value, index, O);
824
+ if (result) switch (TYPE) {
825
+ case 0: return value; // findLast
826
+ case 1: return index; // findLastIndex
827
+ }
828
+ }
829
+ return IS_FIND_LAST_INDEX ? -1 : undefined;
830
+ };
831
+ };
832
+
833
+ module.exports = {
834
+ // `Array.prototype.findLast` method
835
+ // https://github.com/tc39/proposal-array-find-from-last
836
+ findLast: createMethod(0),
837
+ // `Array.prototype.findLastIndex` method
838
+ // https://github.com/tc39/proposal-array-find-from-last
839
+ findLastIndex: createMethod(1)
840
+ };
841
+
660
842
 
661
843
  /***/ }),
662
844
 
663
845
  /***/ "3bf8":
664
846
  /***/ (function(module, exports) {
665
847
 
666
- module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1000\" class=\"u-security-modal diy-modal\" transfer>\r\n <header slot=\"header\">授权认证</header>\r\n <main class=\"security-content\">\r\n <div class=\"left\">\r\n <div class=\"left-title\">\r\n <div class=\"left-title-text\">授权列表</div>\r\n <i class=\"api-icon icon-add\" @click=\"onAddItem\"></i>\r\n </div>\r\n <div class=\"left-content\">\r\n <i-input class=\"diy-input search-input\" v-model=\"keyword\" placeholder=\"输入关键字查询\" @on-change=\"onFilter\">\r\n <template #prefix>\r\n <i-icon type=\"ios-search\"/>\r\n </template>\r\n </i-input>\r\n <div class=\"security-list\">\r\n <div class=\"security-list-item\"\r\n :class=\"currentSecurityItem.id === item.id ? 'security-list-item-active' : ''\"\r\n v-for=\"(item,index) in securityList\"\r\n :key=\"item.id || index\"\r\n @click=\"onSelectSecurityItem(item)\"\r\n >\r\n <div class=\"security-list-item-name\">\r\n <i class=\"iconfont icon-shouquan1\"></i>\r\n <div class=\"security-list-item-text\" :class=\"currentSecurityItem.id === item.id ? 'security-list-item-text-active' : ''\">{{ item.name || \"新授权\" }}</div>\r\n </div>\r\n <i-poptip confirm title=\"确认删除这条数据吗?\" transfer placement=\"top-end\" @on-ok=\"onDelete(item)\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n </i-poptip>\r\n<!-- <i class=\"iconfont icon-delete\" @click.stop=\"onDelete(item)\"></i>-->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"right-title\">授权内容</div>\r\n <div class=\"right-content\">\r\n <i-form class=\"security-content-form\" label-colon v-if=\"isEmpty\" :model=\"currentSecurityItem\">\r\n <template v-if=\"currentSecurityItem.type\">\r\n <i-form-item class=\"security-content-form-item\" :class=\"currentSecurityItem.type === 'OAuth2' ? 'oauth2-form-item' : ''\" label=\"授权名称\" required>\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.name\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item\" :class=\"currentSecurityItem.type === 'OAuth2' ? 'oauth2-form-item' : ''\" label=\"授权类型\" required>\r\n <i-select class=\"diy-select\" v-model=\"currentSecurityItem.type\">\r\n <i-option v-for=\"(item,index) in securityTypeList\" :value=\"item.name\" :key=\"index\">{{ item.text }}</i-option>\r\n </i-select>\r\n </i-form-item>\r\n </template>\r\n <template v-if=\"currentSecurityItem.type && currentSecurityItem.type !== 'GROOVY_SCRIPT'\">\r\n <i-form-item class=\"security-content-form-item\" :class=\"currentSecurityItem.type === 'OAuth2' ? 'oauth2-form-item' : ''\" label=\"存储位置\">\r\n <i-select class=\"diy-select\" v-model=\"currentSecurityItem.location\">\r\n <i-option v-for=\"(item,index) in tokenLocationTypeList\" :value=\"item.name\" :key=\"item.name\">{{ item.text }}</i-option>\r\n </i-select>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item\" :class=\"currentSecurityItem.type === 'OAuth2' ? 'oauth2-form-item' : ''\" label=\"存储键值\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.locationKey\"></i-input>\r\n </i-form-item>\r\n </template>\r\n <template v-if=\"currentSecurityItem.type === 'Api_Key'\">\r\n <i-form-item class=\"security-content-form-item\" label=\"key\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.key\"></i-input>\r\n </i-form-item>\r\n </template>\r\n <template v-if=\"currentSecurityItem.type === 'Base_Auth'\">\r\n <i-form-item class=\"security-content-form-item\" label=\"username\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.username\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item\" label=\"password\">\r\n <i-input class=\"diy-password-input diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.password\" type=\"password\" password></i-input>\r\n </i-form-item>\r\n </template>\r\n <template v-if=\"currentSecurityItem.type === 'OAuth2'\">\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\">\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Header Prefix'\" tips=\"token前缀 例如 Bearer\" label-colon></u-tips-form-label>\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.headerPrefix\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item oauth2-form-item grant-type-item\">\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Grant Type'\" tips=\"认证类型\" label-colon></u-tips-form-label>\r\n <i-select v-model=\"currentSecurityItem.content.grantType\" class=\"diy-select\">\r\n <i-option v-for=\"item in grantTypeList\" :key=\"item.name\" :value=\"item.name\"> {{item.text}} </i-option>\r\n </i-select>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\">\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Access Token Url'\" tips=\"获取token的httpurl\" label-colon></u-tips-form-label>\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.tokenUrl\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\">\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'TokenPath'\" tips=\"获取响应结果的token路径\" label-colon></u-tips-form-label>\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.tokenPath\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\" label=\"Client ID\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.clientId\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\" label=\"Client Secret\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.clientSecret\"></i-input>\r\n </i-form-item>\r\n <template v-if=\"currentSecurityItem.content.grantType === 'password'\">\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\" label=\"username\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.username\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\" label=\"password\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.password\" type=\"password\" password></i-input>\r\n </i-form-item>\r\n </template>\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\">\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Scope'\" tips=\"访问请求的范围,它可能有多个空格分隔的值\" label-colon></u-tips-form-label>\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.scope\"></i-input>\r\n </i-form-item>\r\n </template>\r\n <template v-if=\"currentSecurityItem.type === 'GROOVY_SCRIPT'\">\r\n <i-form-item class=\"security-content-form-item script-area-item\" label=\"授权脚本\">\r\n <div class=\"script-label\" slot=\"label\">\r\n <i-icon class=\"help-icon\" type=\"md-alert\" @click=\"showScriptDoc\" title=\"帮助文档\"> </i-icon>\r\n <span>授权脚本:</span>\r\n </div>\r\n <u-editor\r\n class=\"editor\"\r\n :model.sync=\"currentSecurityItem.scriptContent\"\r\n :diyKeywordList=\"diyKeywordList\"\r\n lang=\"groovy\"\r\n >\r\n </u-editor>\r\n </i-form-item>\r\n </template>\r\n </i-form>\r\n </div>\r\n </div>\r\n </main>\r\n\r\n <footer slot=\"footer\">\r\n <template>\r\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">保存</i-button>\r\n </template>\r\n </footer>\r\n <u-doc-modal class=\"script-doc-modal\" v-model=\"scriptDocShow\" :doc=\"scriptDoc\"></u-doc-modal>\r\n</i-modal>\r\n"
848
+ module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1000\" class=\"u-security-modal diy-modal\" transfer>\n <header slot=\"header\">授权认证</header>\n <main class=\"security-content\">\n <div class=\"left\">\n <div class=\"left-title\">\n <div class=\"left-title-text\">授权列表</div>\n <i class=\"api-icon icon-add\" @click=\"onAddItem\"></i>\n </div>\n <div class=\"left-content\">\n <i-input class=\"diy-input search-input\" v-model=\"keyword\" placeholder=\"输入关键字查询\" @on-change=\"onFilter\">\n <template #prefix>\n <i-icon type=\"ios-search\"/>\n </template>\n </i-input>\n <div class=\"security-list\">\n <div class=\"security-list-item\"\n :class=\"currentSecurityItem.id === item.id ? 'security-list-item-active' : ''\"\n v-for=\"(item,index) in securityList\"\n :key=\"item.id || index\"\n @click=\"onSelectSecurityItem(item)\"\n >\n <div class=\"security-list-item-name\">\n <i class=\"iconfont icon-shouquan1\"></i>\n <div class=\"security-list-item-text\" :class=\"currentSecurityItem.id === item.id ? 'security-list-item-text-active' : ''\">{{ item.name || \"新授权\" }}</div>\n </div>\n <i-poptip confirm title=\"确认删除这条数据吗?\" transfer placement=\"top-end\" @on-ok=\"onDelete(item)\">\n <i class=\"iconfont icon-delete\"></i>\n </i-poptip>\n<!-- <i class=\"iconfont icon-delete\" @click.stop=\"onDelete(item)\"></i>-->\n </div>\n </div>\n </div>\n </div>\n <div class=\"right\">\n <div class=\"right-title\">授权内容</div>\n <div class=\"right-content\">\n <i-form class=\"security-content-form\" label-colon v-if=\"isEmpty\" :model=\"currentSecurityItem\">\n <template v-if=\"currentSecurityItem.type\">\n <i-form-item class=\"security-content-form-item\" :class=\"currentSecurityItem.type === 'OAuth2' ? 'oauth2-form-item' : ''\" label=\"授权名称\" required>\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.name\"></i-input>\n </i-form-item>\n <i-form-item class=\"security-content-form-item\" :class=\"currentSecurityItem.type === 'OAuth2' ? 'oauth2-form-item' : ''\" label=\"授权类型\" required>\n <i-select class=\"diy-select\" v-model=\"currentSecurityItem.type\">\n <i-option v-for=\"(item,index) in securityTypeList\" :value=\"item.name\" :key=\"index\">{{ item.text }}</i-option>\n </i-select>\n </i-form-item>\n </template>\n <template v-if=\"currentSecurityItem.type && currentSecurityItem.type !== 'GROOVY_SCRIPT'\">\n <i-form-item class=\"security-content-form-item\" :class=\"currentSecurityItem.type === 'OAuth2' ? 'oauth2-form-item' : ''\" label=\"存储位置\">\n <i-select class=\"diy-select\" v-model=\"currentSecurityItem.location\">\n <i-option v-for=\"(item,index) in tokenLocationTypeList\" :value=\"item.name\" :key=\"item.name\">{{ item.text }}</i-option>\n </i-select>\n </i-form-item>\n <i-form-item class=\"security-content-form-item\" :class=\"currentSecurityItem.type === 'OAuth2' ? 'oauth2-form-item' : ''\" label=\"存储键值\">\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.locationKey\"></i-input>\n </i-form-item>\n </template>\n <template v-if=\"currentSecurityItem.type === 'Api_Key'\">\n <i-form-item class=\"security-content-form-item\" label=\"key\">\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.key\"></i-input>\n </i-form-item>\n </template>\n <template v-if=\"currentSecurityItem.type === 'Base_Auth'\">\n <i-form-item class=\"security-content-form-item\" label=\"username\">\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.username\"></i-input>\n </i-form-item>\n <i-form-item class=\"security-content-form-item\" label=\"password\">\n <i-input class=\"diy-password-input diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.password\" type=\"password\" password></i-input>\n </i-form-item>\n </template>\n <template v-if=\"currentSecurityItem.type === 'OAuth2'\">\n <i-form-item class=\"security-content-form-item oauth2-form-item\">\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Header Prefix'\" tips=\"token前缀 例如 Bearer\" label-colon></u-tips-form-label>\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.headerPrefix\"></i-input>\n </i-form-item>\n <i-form-item class=\"security-content-form-item oauth2-form-item grant-type-item\">\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Grant Type'\" tips=\"认证类型\" label-colon></u-tips-form-label>\n <i-select v-model=\"currentSecurityItem.content.grantType\" class=\"diy-select\">\n <i-option v-for=\"item in grantTypeList\" :key=\"item.name\" :value=\"item.name\"> {{item.text}} </i-option>\n </i-select>\n </i-form-item>\n <i-form-item class=\"security-content-form-item oauth2-form-item\">\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Access Token Url'\" tips=\"获取token的httpurl\" label-colon></u-tips-form-label>\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.tokenUrl\"></i-input>\n </i-form-item>\n <i-form-item class=\"security-content-form-item oauth2-form-item\">\n <u-tips-form-label slot=\"label\" :labelTitle=\"'TokenPath'\" tips=\"获取响应结果的token路径\" label-colon></u-tips-form-label>\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.tokenPath\"></i-input>\n </i-form-item>\n <i-form-item class=\"security-content-form-item oauth2-form-item\" label=\"Client ID\">\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.clientId\"></i-input>\n </i-form-item>\n <i-form-item class=\"security-content-form-item oauth2-form-item\" label=\"Client Secret\">\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.clientSecret\"></i-input>\n </i-form-item>\n <template v-if=\"currentSecurityItem.content.grantType === 'password'\">\n <i-form-item class=\"security-content-form-item oauth2-form-item\" label=\"username\">\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.username\"></i-input>\n </i-form-item>\n <i-form-item class=\"security-content-form-item oauth2-form-item\" label=\"password\">\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.password\" type=\"password\" password></i-input>\n </i-form-item>\n </template>\n <i-form-item class=\"security-content-form-item oauth2-form-item\">\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Scope'\" tips=\"访问请求的范围,它可能有多个空格分隔的值\" label-colon></u-tips-form-label>\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.scope\"></i-input>\n </i-form-item>\n </template>\n <template v-if=\"currentSecurityItem.type === 'GROOVY_SCRIPT'\">\n <i-form-item class=\"security-content-form-item script-area-item\" label=\"授权脚本\">\n <div class=\"script-label\" slot=\"label\">\n <i-icon class=\"help-icon\" type=\"md-alert\" @click=\"showScriptDoc\" title=\"帮助文档\"> </i-icon>\n <span>授权脚本:</span>\n </div>\n <u-editor\n class=\"editor\"\n :model.sync=\"currentSecurityItem.scriptContent\"\n :diyKeywordList=\"diyKeywordList\"\n lang=\"groovy\"\n >\n </u-editor>\n </i-form-item>\n </template>\n </i-form>\n </div>\n </div>\n </main>\n\n <footer slot=\"footer\">\n <template>\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">保存</i-button>\n </template>\n </footer>\n <u-doc-modal class=\"script-doc-modal\" v-model=\"scriptDocShow\" :doc=\"scriptDoc\"></u-doc-modal>\n</i-modal>\n"
667
849
 
668
850
  /***/ }),
669
851
 
@@ -687,7 +869,7 @@ module.exports = function (key) {
687
869
  /***/ "3de4":
688
870
  /***/ (function(module, exports) {
689
871
 
690
- module.exports = "<article class=\"security-setting-v2\">\r\n <div class=\"left\">\r\n <i-form class=\"type-form diy-form\" label-colon>\r\n <i-form-item label=\"选择授权\">\r\n <i-select ref=\"addSecuritySelect\" class=\"diy-select add-security-select\" v-model=\"currentSecurityItemId\" @on-change=\"onChangeSecurityItem($event)\" @on-clear=\"onClear\" clearable>\r\n <i-option v-for=\"item in securityList\" :key=\"item.id\" :value=\"item.id\">{{ item.name }}</i-option>\r\n <i-option class=\"add-security-item\" value=\"''\">\r\n <div class=\"add-security-item-content\" @click.stop=\"onAddSecurityItem\">\r\n <i class=\"api-icon icon-add\"></i>\r\n <span>新建授权</span>\r\n </div>\r\n </i-option>\r\n </i-select>\r\n </i-form-item>\r\n <i-form-item label=\"授权类型\">\r\n <span class=\"security-type\">{{ currentSecurityItem._type? currentSecurityItem._type.text : \"暂无\" }}</span>\r\n </i-form-item>\r\n </i-form>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"right-title\">授权详情</div>\r\n <div class=\"right-content\">\r\n <div class=\"no-data\" v-if=\"!currentSecurityItem.type\">\r\n <div class=\"no-data-bg\"></div>\r\n <div class=\"no-data-text\">请在左侧下拉框中选择已建立授权</div>\r\n </div>\r\n <div class=\"script\" v-if=\"currentSecurityItem.type === 'GROOVY_SCRIPT'\">\r\n <i-input class=\"diy-input script-area\" type=\"textarea\" v-model=\"currentSecurityItem.scriptContent\" :readonly=\"true\"></i-input>\r\n </div>\r\n <div class=\"api-key\" v-if=\"currentSecurityItem.type === 'Api_Key'\">\r\n <i-form class=\"oauth-2-form diy-form\" label-colon>\r\n <i-form-item label=\"存储位置\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem._location ? currentSecurityItem._location.text : \"\"}}</span>\r\n </i-form-item>\r\n <i-form-item label=\"存储键值\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.locationKey }}</span>\r\n </i-form-item>\r\n <i-form-item label=\"key\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.key }}</span>\r\n </i-form-item>\r\n </i-form>\r\n </div>\r\n <div class=\"base-auth\" v-if=\"currentSecurityItem.type === 'Base_Auth'\">\r\n <i-form class=\"oauth-2-form diy-form\" label-colon>\r\n <i-form-item label=\"存储位置\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem._location ? currentSecurityItem._location.text : \"\" }}</span>\r\n </i-form-item>\r\n <i-form-item label=\"存储键值\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.locationKey }}</span>\r\n </i-form-item>\r\n <i-form-item label=\"username\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.username }}</span>\r\n </i-form-item>\r\n <i-form-item label=\"password\">\r\n <!-- <span class=\"form-item-text\">{{ \"·\" }}</span>-->\r\n <!-- <i-input class=\"diy-input\" v-model=\"model.password\" type=\"password\" password placeholder=\"请输入\"> </i-input>-->\r\n <i-input class=\"diy-password-input diy-input\" :value=\"currentSecurityItem.content.password\" type=\"password\"></i-input>\r\n </i-form-item>\r\n </i-form>\r\n </div>\r\n <div class=\"oauth-2\" v-if=\"currentSecurityItem.type === 'OAuth2'\">\r\n <i-form class=\"oauth-2-form diy-form\" label-colon>\r\n <i-form-item label=\"存储位置\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem._location ? currentSecurityItem._location.text : \"\" }}</span>\r\n </i-form-item>\r\n <i-form-item label=\"存储键值\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.locationKey }}</span>\r\n </i-form-item>\r\n <i-form-item>\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Header Prefix'\" tips=\"token前缀 例如 Bearer\" label-colon></u-tips-form-label>\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.headerPrefix }}</span>\r\n </i-form-item>\r\n <i-form-item class=\"grant-type-item\">\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Grant Type'\" tips=\"认证类型\" label-colon></u-tips-form-label>\r\n <span class=\"form-item-text\">{{ findGrantTypeText(currentSecurityItem.content.grantType) }}</span>\r\n </i-form-item>\r\n <i-form-item>\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Access Token Url'\" tips=\"获取token的httpUrl\" label-colon></u-tips-form-label>\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.tokenUrl }}</span>\r\n </i-form-item>\r\n <i-form-item>\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'TokenPath'\" tips=\"获取响应结果的token路径\" label-colon></u-tips-form-label>\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.tokenPath }}</span>\r\n </i-form-item>\r\n <i-form-item label=\"Client ID\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.clientId }}</span>\r\n </i-form-item>\r\n <i-form-item label=\"Client Secret\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.clientSecret }}</span>\r\n </i-form-item>\r\n <template v-if=\"currentSecurityItem.content.grantType === 'password'\">\r\n <i-form-item class=\"security-content-form-item\" label=\"username\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.username }}</span>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item\" label=\"password\">\r\n <i-input class=\"diy-password-input diy-input\" :value=\"currentSecurityItem.content.password\" type=\"password\"></i-input>\r\n </i-form-item>\r\n </template>\r\n <i-form-item label=\"Scope\">\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Scope'\" tips=\"访问请求的范围,它可能有多个空格分隔的值\" label-colon></u-tips-form-label>\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.scope }}</span>\r\n </i-form-item>\r\n </i-form>\r\n </div>\r\n </div>\r\n </div>\r\n <u-security-modal v-model=\"showSecurity\" :projectID=\"projectID\" :isAdd=\"isAdd\"></u-security-modal>\r\n</article>\r\n"
872
+ module.exports = "<article class=\"security-setting-v2\">\n <div class=\"left\">\n <i-form class=\"type-form diy-form\" label-colon>\n <i-form-item label=\"选择授权\">\n <i-select ref=\"addSecuritySelect\" class=\"diy-select add-security-select\" v-model=\"currentSecurityItemId\" @on-change=\"onChangeSecurityItem($event)\" @on-clear=\"onClear\" clearable>\n <i-option v-for=\"item in securityList\" :key=\"item.id\" :value=\"item.id\">{{ item.name }}</i-option>\n <i-option class=\"add-security-item\" value=\"''\">\n <div class=\"add-security-item-content\" @click.stop=\"onAddSecurityItem\">\n <i class=\"api-icon icon-add\"></i>\n <span>新建授权</span>\n </div>\n </i-option>\n </i-select>\n </i-form-item>\n <i-form-item label=\"授权类型\">\n <span class=\"security-type\">{{ currentSecurityItem._type? currentSecurityItem._type.text : \"暂无\" }}</span>\n </i-form-item>\n </i-form>\n </div>\n <div class=\"right\">\n <div class=\"right-title\">授权详情</div>\n <div class=\"right-content\">\n <div class=\"no-data\" v-if=\"!currentSecurityItem.type\">\n <div class=\"no-data-bg\"></div>\n <div class=\"no-data-text\">请在左侧下拉框中选择已建立授权</div>\n </div>\n <div class=\"script\" v-if=\"currentSecurityItem.type === 'GROOVY_SCRIPT'\">\n <i-input class=\"diy-input script-area\" type=\"textarea\" v-model=\"currentSecurityItem.scriptContent\" :readonly=\"true\"></i-input>\n </div>\n <div class=\"api-key\" v-if=\"currentSecurityItem.type === 'Api_Key'\">\n <i-form class=\"oauth-2-form diy-form\" label-colon>\n <i-form-item label=\"存储位置\">\n <span class=\"form-item-text\">{{ currentSecurityItem._location ? currentSecurityItem._location.text : \"\"}}</span>\n </i-form-item>\n <i-form-item label=\"存储键值\">\n <span class=\"form-item-text\">{{ currentSecurityItem.locationKey }}</span>\n </i-form-item>\n <i-form-item label=\"key\">\n <span class=\"form-item-text\">{{ currentSecurityItem.content.key }}</span>\n </i-form-item>\n </i-form>\n </div>\n <div class=\"base-auth\" v-if=\"currentSecurityItem.type === 'Base_Auth'\">\n <i-form class=\"oauth-2-form diy-form\" label-colon>\n <i-form-item label=\"存储位置\">\n <span class=\"form-item-text\">{{ currentSecurityItem._location ? currentSecurityItem._location.text : \"\" }}</span>\n </i-form-item>\n <i-form-item label=\"存储键值\">\n <span class=\"form-item-text\">{{ currentSecurityItem.locationKey }}</span>\n </i-form-item>\n <i-form-item label=\"username\">\n <span class=\"form-item-text\">{{ currentSecurityItem.content.username }}</span>\n </i-form-item>\n <i-form-item label=\"password\">\n <!-- <span class=\"form-item-text\">{{ \"·\" }}</span>-->\n <!-- <i-input class=\"diy-input\" v-model=\"model.password\" type=\"password\" password placeholder=\"请输入\"> </i-input>-->\n <i-input class=\"diy-password-input diy-input\" :value=\"currentSecurityItem.content.password\" type=\"password\"></i-input>\n </i-form-item>\n </i-form>\n </div>\n <div class=\"oauth-2\" v-if=\"currentSecurityItem.type === 'OAuth2'\">\n <i-form class=\"oauth-2-form diy-form\" label-colon>\n <i-form-item label=\"存储位置\">\n <span class=\"form-item-text\">{{ currentSecurityItem._location ? currentSecurityItem._location.text : \"\" }}</span>\n </i-form-item>\n <i-form-item label=\"存储键值\">\n <span class=\"form-item-text\">{{ currentSecurityItem.locationKey }}</span>\n </i-form-item>\n <i-form-item>\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Header Prefix'\" tips=\"token前缀 例如 Bearer\" label-colon></u-tips-form-label>\n <span class=\"form-item-text\">{{ currentSecurityItem.content.headerPrefix }}</span>\n </i-form-item>\n <i-form-item class=\"grant-type-item\">\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Grant Type'\" tips=\"认证类型\" label-colon></u-tips-form-label>\n <span class=\"form-item-text\">{{ findGrantTypeText(currentSecurityItem.content.grantType) }}</span>\n </i-form-item>\n <i-form-item>\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Access Token Url'\" tips=\"获取token的httpUrl\" label-colon></u-tips-form-label>\n <span class=\"form-item-text\">{{ currentSecurityItem.content.tokenUrl }}</span>\n </i-form-item>\n <i-form-item>\n <u-tips-form-label slot=\"label\" :labelTitle=\"'TokenPath'\" tips=\"获取响应结果的token路径\" label-colon></u-tips-form-label>\n <span class=\"form-item-text\">{{ currentSecurityItem.content.tokenPath }}</span>\n </i-form-item>\n <i-form-item label=\"Client ID\">\n <span class=\"form-item-text\">{{ currentSecurityItem.content.clientId }}</span>\n </i-form-item>\n <i-form-item label=\"Client Secret\">\n <span class=\"form-item-text\">{{ currentSecurityItem.content.clientSecret }}</span>\n </i-form-item>\n <template v-if=\"currentSecurityItem.content.grantType === 'password'\">\n <i-form-item class=\"security-content-form-item\" label=\"username\">\n <span class=\"form-item-text\">{{ currentSecurityItem.content.username }}</span>\n </i-form-item>\n <i-form-item class=\"security-content-form-item\" label=\"password\">\n <i-input class=\"diy-password-input diy-input\" :value=\"currentSecurityItem.content.password\" type=\"password\"></i-input>\n </i-form-item>\n </template>\n <i-form-item label=\"Scope\">\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Scope'\" tips=\"访问请求的范围,它可能有多个空格分隔的值\" label-colon></u-tips-form-label>\n <span class=\"form-item-text\">{{ currentSecurityItem.content.scope }}</span>\n </i-form-item>\n </i-form>\n </div>\n </div>\n </div>\n <u-security-modal v-model=\"showSecurity\" :projectID=\"projectID\" :isAdd=\"isAdd\"></u-security-modal>\n</article>\n"
691
873
 
692
874
  /***/ }),
693
875
 
@@ -734,7 +916,7 @@ module.exports = require("lodash.debounce");
734
916
  /***/ "45bb":
735
917
  /***/ (function(module, exports) {
736
918
 
737
- module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"880\" class=\"u-data-model-doc-modal diy-modal\" transfer>\r\n <header slot=\"header\">查看接口文档</header>\r\n <main>\r\n <div class=\"v-mavon-container\">\r\n <!-- startprint -->\r\n <mavon-editor :subfield=\"false\" :toolbars=\"toolbars\" :value=\"doc\" defaultOpen=\"preview\" @change=\"onChange\">\r\n <template slot=\"left-toolbar-before\">\r\n <i-dropdown placement=\"right-start\" @on-click=\"onMenuClick\">\r\n <span class=\"op-icon fa fa-mavon-floppy-o\"></span>\r\n <i-dropdown-menu slot=\"list\">\r\n <i-dropdown-item name=\"pdf\">保存为pdf</i-dropdown-item>\r\n <i-dropdown-item name=\"html\">保存为html</i-dropdown-item>\r\n </i-dropdown-menu>\r\n </i-dropdown>\r\n </template>\r\n </mavon-editor>\r\n <!-- endprint -->\r\n <iframe id=\"printf\" src=\"\" width=\"0\" height=\"0\" frameborder=\"0\"></iframe>\r\n </div>\r\n </main>\r\n <footer slot=\"footer\">\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onOk\">关闭</i-button>\r\n </footer>\r\n</i-modal>\r\n"
919
+ module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"880\" class=\"u-data-model-doc-modal diy-modal\" transfer>\n <header slot=\"header\">查看接口文档</header>\n <main>\n <div class=\"v-mavon-container\">\n <!-- startprint -->\n <mavon-editor :subfield=\"false\" :toolbars=\"toolbars\" :value=\"doc\" defaultOpen=\"preview\" @change=\"onChange\">\n <template slot=\"left-toolbar-before\">\n <i-dropdown placement=\"right-start\" @on-click=\"onMenuClick\">\n <span class=\"op-icon fa fa-mavon-floppy-o\"></span>\n <i-dropdown-menu slot=\"list\">\n <i-dropdown-item name=\"pdf\">保存为pdf</i-dropdown-item>\n <i-dropdown-item name=\"html\">保存为html</i-dropdown-item>\n </i-dropdown-menu>\n </i-dropdown>\n </template>\n </mavon-editor>\n <!-- endprint -->\n <iframe id=\"printf\" src=\"\" width=\"0\" height=\"0\" frameborder=\"0\"></iframe>\n </div>\n </main>\n <footer slot=\"footer\">\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onOk\">关闭</i-button>\n </footer>\n</i-modal>\n"
738
920
 
739
921
  /***/ }),
740
922
 
@@ -748,14 +930,35 @@ module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\
748
930
  /***/ "46d3":
749
931
  /***/ (function(module, exports) {
750
932
 
751
- module.exports = "<article class=\"u-common-tree u-type-tree\">\r\n <slot name=\"header\">\r\n <header slot=\"header\" class=\"tree-header\">\r\n <span>合并模型列表</span>\r\n <i-upload\r\n class=\"action-item\"\r\n :action=\"uploadAction\"\r\n accept=\".json\"\r\n :headers=\"headers\"\r\n :show-upload-list=\"false\"\r\n :format=\"['json']\"\r\n :on-success=\"onSuccess\"\r\n :before-upload=\"onBeforeUpload\"\r\n :on-format-error=\"onFormatError\"\r\n >\r\n <i title=\"导入\" class=\"iconfont icon-import\"></i>\r\n </i-upload>\r\n <i\r\n @click=\"onModelExport(null)\"\r\n :class=\"{'disabled': !data.length}\"\r\n class=\"iconfont icon-export\"\r\n title=\"导出\"\r\n ></i>\r\n <i @click.stop=\"onAddTreeNode\" title=\"新增分组\" class=\"iconfont icon-add-folder\"></i>\r\n </header>\r\n </slot>\r\n <section class=\"content\">\r\n <i-input class=\"search-input diy-input\" :placeholder=\"placeholder\" @on-change=\"onFilter\" v-model=\"keyword\" >\r\n <i class=\"iconfont icon-chaxun\" slot=\"prefix\"></i>\r\n </i-input>\r\n <i-tree :data=\"renderData\" :render=\"renderContent\" @on-toggle-expand=\"onToggleExpand\"></i-tree>\r\n </section>\r\n <u-add-node :data=\"tempNode\" :categories=\"data\" v-model=\"showAddTreeNodeModal\" @on-refresh=\"queryTreeData\"></u-add-node>\r\n <i-modal draggable sticky reset-drag-position v-model=\"showImportModal\" class=\"diy-modal duplicate-import-modal\" width=\"800\" :mask-closable=\"false\" title=\"导入已合并接口\">\r\n <div class=\"import-title\">上传成功</div>\r\n <div class=\"import-label\">{{ `上传共${importResult.total}条合并接口数据,其中${importResult.total - importResult.duplicateNum}条可成功导入。` }}</div>\r\n <div class=\"import-label\">{{ `发现以下${importResult.duplicateNum}条接口数据存在编码重复(编码已存在),将不会被导入。` }}</div>\r\n <i-table class=\"diy-table import-modal-table\" :columns=\"columns\" :data=\"importResult.items\">\r\n </i-table>\r\n <footer slot=\"footer\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onImportConfirm\">确定</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onImportCancel\">取消</i-button>\r\n </footer>\r\n </i-modal>\r\n</article>\r\n"
933
+ module.exports = "<article class=\"u-common-tree u-type-tree\">\n <slot name=\"header\">\n <header slot=\"header\" class=\"tree-header\">\n <span>合并模型列表</span>\n <i-upload\n class=\"action-item\"\n :action=\"uploadAction\"\n accept=\".json\"\n :headers=\"headers\"\n :show-upload-list=\"false\"\n :format=\"['json']\"\n :on-success=\"onSuccess\"\n :before-upload=\"onBeforeUpload\"\n :on-format-error=\"onFormatError\"\n >\n <i title=\"导入\" class=\"iconfont icon-import\"></i>\n </i-upload>\n <i\n @click=\"onModelExport(null)\"\n :class=\"{'disabled': !data.length}\"\n class=\"iconfont icon-export\"\n title=\"导出\"\n ></i>\n <i @click.stop=\"onAddTreeNode\" title=\"新增分组\" class=\"iconfont icon-add-folder\"></i>\n </header>\n </slot>\n <section class=\"content\">\n <i-input class=\"search-input diy-input\" :placeholder=\"placeholder\" @on-change=\"onFilter\" v-model=\"keyword\" >\n <i class=\"iconfont icon-chaxun\" slot=\"prefix\"></i>\n </i-input>\n <i-tree :data=\"renderData\" :render=\"renderContent\" @on-toggle-expand=\"onToggleExpand\"></i-tree>\n </section>\n <u-add-node :data=\"tempNode\" :categories=\"data\" v-model=\"showAddTreeNodeModal\" @on-refresh=\"queryTreeData\"></u-add-node>\n <i-modal draggable sticky reset-drag-position v-model=\"showImportModal\" class=\"diy-modal duplicate-import-modal\" width=\"800\" :mask-closable=\"false\" title=\"导入已合并接口\">\n <div class=\"import-title\">上传成功</div>\n <div class=\"import-label\">{{ `上传共${importResult.total}条合并接口数据,其中${importResult.total - importResult.duplicateNum}条可成功导入。` }}</div>\n <div class=\"import-label\">{{ `发现以下${importResult.duplicateNum}条接口数据存在编码重复(编码已存在),将不会被导入。` }}</div>\n <i-table class=\"diy-table import-modal-table\" :columns=\"columns\" :data=\"importResult.items\">\n </i-table>\n <footer slot=\"footer\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onImportConfirm\">确定</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onImportCancel\">取消</i-button>\n </footer>\n </i-modal>\n</article>\n"
934
+
935
+ /***/ }),
936
+
937
+ /***/ "46df":
938
+ /***/ (function(module, exports, __webpack_require__) {
939
+
940
+ "use strict";
941
+
942
+ var arrayToReversed = __webpack_require__("9417");
943
+ var ArrayBufferViewCore = __webpack_require__("6a10");
944
+
945
+ var aTypedArray = ArrayBufferViewCore.aTypedArray;
946
+ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
947
+ var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;
948
+
949
+ // `%TypedArray%.prototype.toReversed` method
950
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed
951
+ exportTypedArrayMethod('toReversed', function toReversed() {
952
+ return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this));
953
+ });
954
+
752
955
 
753
956
  /***/ }),
754
957
 
755
958
  /***/ "470f":
756
959
  /***/ (function(module, exports) {
757
960
 
758
- module.exports = "<i-modal draggable sticky reset-drag-position v-model=\"value\" class=\"diy-modal global-variable-modal\" :mask-closable=\"false\" title=\"全局参数设置\">\r\n <header class=\"types\">\r\n <div class=\"tag\" @click=\"onCheckTpye(item)\" :class=\"{'active': item.name === active.name}\" v-for=\"(item,index) in typeList\" :key=\"item.name\">\r\n <span>{{item.title }}</span>\r\n </div>\r\n </header>\r\n <main class=\"content\">\r\n <i-button type=\"primary\" ghost class=\"diy-btn-primary\"> <i class=\"api-icon icon-add\"></i>新增参数</i-button>\r\n <i-table :columns=\"columns\" :data=\"dataList\" class=\"diy-table\" height=\"400\">\r\n <template slot-scope=\"{ row,index }\" slot=\"name\">\r\n <i-input class=\"diy-input\" placeholder=\"输入参数名称\" v-model=\"dataList[index].name\"></i-input>\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"value\">\r\n <i-input class=\"diy-input\" placeholder=\"输入参数值\" v-model=\"dataList[index].value\"></i-input>\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"required\">\r\n <i-switch v-model=\"dataList[index].required\">\r\n <span slot=\"open\">是</span>\r\n <span slot=\"close\">否</span>\r\n </i-switch>\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"remark\">\r\n <i-input class=\"diy-input\" placeholder=\"输入备注\" v-model=\"dataList[index].remark\"></i-input>\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"action\">\r\n <span class=\"action-btn delete\" @click=\"onDelete(dataList,index)\">删除</span>\r\n <span class=\"action-btn\" @click=\"onUp(dataList,index)\">上移</span>\r\n <span class=\"action-btn\" @click=\"onDown(dataList,index)\">下移</span>\r\n <span v-if=\"index !== 0\" class=\"action-btn\" @click=\"onTop(dataList,index)\">置顶</span>\r\n <span v-if=\"index < dataList.length - 1\" class=\"action-btn\" @click=\"onBottom(dataList,index)\">置底</span>\r\n </template>\r\n </i-table>\r\n </main>\r\n <slot slot=\"footer\" name=\"footer\"> </slot>\r\n</i-modal>\r\n"
961
+ module.exports = "<i-modal draggable sticky reset-drag-position v-model=\"value\" class=\"diy-modal global-variable-modal\" :mask-closable=\"false\" title=\"全局参数设置\">\n <header class=\"types\">\n <div class=\"tag\" @click=\"onCheckTpye(item)\" :class=\"{'active': item.name === active.name}\" v-for=\"(item,index) in typeList\" :key=\"item.name\">\n <span>{{item.title }}</span>\n </div>\n </header>\n <main class=\"content\">\n <i-button type=\"primary\" ghost class=\"diy-btn-primary\"> <i class=\"api-icon icon-add\"></i>新增参数</i-button>\n <i-table :columns=\"columns\" :data=\"dataList\" class=\"diy-table\" height=\"400\">\n <template slot-scope=\"{ row,index }\" slot=\"name\">\n <i-input class=\"diy-input\" placeholder=\"输入参数名称\" v-model=\"dataList[index].name\"></i-input>\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"value\">\n <i-input class=\"diy-input\" placeholder=\"输入参数值\" v-model=\"dataList[index].value\"></i-input>\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"required\">\n <i-switch v-model=\"dataList[index].required\">\n <span slot=\"open\">是</span>\n <span slot=\"close\">否</span>\n </i-switch>\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"remark\">\n <i-input class=\"diy-input\" placeholder=\"输入备注\" v-model=\"dataList[index].remark\"></i-input>\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"action\">\n <span class=\"action-btn delete\" @click=\"onDelete(dataList,index)\">删除</span>\n <span class=\"action-btn\" @click=\"onUp(dataList,index)\">上移</span>\n <span class=\"action-btn\" @click=\"onDown(dataList,index)\">下移</span>\n <span v-if=\"index !== 0\" class=\"action-btn\" @click=\"onTop(dataList,index)\">置顶</span>\n <span v-if=\"index < dataList.length - 1\" class=\"action-btn\" @click=\"onBottom(dataList,index)\">置底</span>\n </template>\n </i-table>\n </main>\n <slot slot=\"footer\" name=\"footer\"> </slot>\n</i-modal>\n"
759
962
 
760
963
  /***/ }),
761
964
 
@@ -798,7 +1001,7 @@ module.exports = !DESCRIPTORS && !fails(function () {
798
1001
  /***/ "4935":
799
1002
  /***/ (function(module, exports) {
800
1003
 
801
- module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1280\" class=\"u-data-model-modal diy-modal\" transfer>\r\n <header slot=\"header\">添加数据模型</header>\r\n <main>\r\n <i-split v-model=\"splitHorizontal\">\r\n <section slot=\"left\" class=\"card-panel card-panel-no-right-border\">\r\n <div class=\"card-panel-header\">\r\n <span>选择列表</span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <u-tree :commonTaskCategoryID=\"taskCategoryID\" :initSelectItem=\"initNode\" :prop-data=\"treeData\" :isTreeList=\"true\" @on-select=\"onSelect\" />\r\n </div>\r\n </section>\r\n <section slot=\"right\" class=\"right-content\">\r\n <i-split v-model=\"splitVertical\" mode=\"vertical\" max=\"600\">\r\n <section slot=\"top\" class=\"card-panel card-panel-no-bottom-border\">\r\n <div class=\"card-panel-header\">\r\n <span>选择模型</span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <u-data-model-list\r\n :data=\"tableData\"\r\n :paging.sync=\"paging\"\r\n @on-search=\"onSearch\"\r\n @on-page-index-change=\"onPageIndexChange\"\r\n @on-page-size-change=\"onPageSizeChange\"\r\n @on-selection-change=\"onSelectionChange\"\r\n @on-delete-refresh=\"getTableData\"\r\n @on-row-click=\"onRowClick\"\r\n >\r\n </u-data-model-list>\r\n </div>\r\n </section>\r\n <section slot=\"bottom\" :class=\"['card-panel', collapse ? 'card-panel-no-bottom-border' : '']\">\r\n <div class=\"card-panel-header\">\r\n <span>已选({{checkedLength}})</span>\r\n <span>\r\n <i-poptip confirm title=\"确定要清空已选中的数据吗?\" transfer placement=\"top-end\" @on-ok=\"onBatchDelete\">\r\n <span class=\"action-text\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n <span>清空</span>\r\n </span>\r\n </i-poptip>\r\n <span class=\"action-text collapse-text\" @click=\"onClickCollapse\">\r\n <span>{{collapse ? \"展开\" : \"收起\"}}</span>\r\n <i class=\"ivu-icon ivu-icon-ios-arrow-forward\" :class=\"{'icon-arrow-collapse':collapse}\"></i>\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <template v-if=\"checkedData&&checkedData.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"checkedData\">\r\n <template #operates=\"{row,index}\">\r\n <div class=\"row-actions\">\r\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\r\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\r\n </i-poptip>\r\n </div>\r\n </template>\r\n </i-table>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </template>\r\n </div>\r\n </section>\r\n </i-split>\r\n </section>\r\n </i-split>\r\n <i-spin fix v-if=\"isLoading\">\r\n <i class=\"spin-icon-load ivu-icon\"></i>\r\n </i-spin>\r\n </main>\r\n <footer slot=\"footer\">\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">确定</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\r\n </footer>\r\n</i-modal>\r\n"
1004
+ module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1280\" class=\"u-data-model-modal diy-modal\" transfer>\n <header slot=\"header\">添加数据模型</header>\n <main>\n <i-split v-model=\"splitHorizontal\">\n <section slot=\"left\" class=\"card-panel card-panel-no-right-border\">\n <div class=\"card-panel-header\">\n <span>选择列表</span>\n </div>\n <div class=\"card-panel-main\">\n <u-tree :commonTaskCategoryID=\"taskCategoryID\" :initSelectItem=\"initNode\" :prop-data=\"treeData\" :isTreeList=\"true\" @on-select=\"onSelect\" />\n </div>\n </section>\n <section slot=\"right\" class=\"right-content\">\n <i-split v-model=\"splitVertical\" mode=\"vertical\" max=\"600\">\n <section slot=\"top\" class=\"card-panel card-panel-no-bottom-border\">\n <div class=\"card-panel-header\">\n <span>选择模型</span>\n </div>\n <div class=\"card-panel-main\">\n <u-data-model-list\n :data=\"tableData\"\n :paging.sync=\"paging\"\n @on-search=\"onSearch\"\n @on-page-index-change=\"onPageIndexChange\"\n @on-page-size-change=\"onPageSizeChange\"\n @on-selection-change=\"onSelectionChange\"\n @on-delete-refresh=\"getTableData\"\n @on-row-click=\"onRowClick\"\n >\n </u-data-model-list>\n </div>\n </section>\n <section slot=\"bottom\" :class=\"['card-panel', collapse ? 'card-panel-no-bottom-border' : '']\">\n <div class=\"card-panel-header\">\n <span>已选({{checkedLength}})</span>\n <span>\n <i-poptip confirm title=\"确定要清空已选中的数据吗?\" transfer placement=\"top-end\" @on-ok=\"onBatchDelete\">\n <span class=\"action-text\">\n <i class=\"iconfont icon-delete\"></i>\n <span>清空</span>\n </span>\n </i-poptip>\n <span class=\"action-text collapse-text\" @click=\"onClickCollapse\">\n <span>{{collapse ? \"展开\" : \"收起\"}}</span>\n <i class=\"ivu-icon ivu-icon-ios-arrow-forward\" :class=\"{'icon-arrow-collapse':collapse}\"></i>\n </span>\n </span>\n </div>\n <div class=\"card-panel-main\">\n <template v-if=\"checkedData&&checkedData.length\">\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"checkedData\">\n <template #operates=\"{row,index}\">\n <div class=\"row-actions\">\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\n </i-poptip>\n </div>\n </template>\n </i-table>\n </template>\n <template v-else>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </div>\n </section>\n </i-split>\n </section>\n </i-split>\n <i-spin fix v-if=\"isLoading\">\n <i class=\"spin-icon-load ivu-icon\"></i>\n </i-spin>\n </main>\n <footer slot=\"footer\">\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">确定</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\n </footer>\n</i-modal>\n"
802
1005
 
803
1006
  /***/ }),
804
1007
 
@@ -962,7 +1165,7 @@ module.exports = fails(function () {
962
1165
  /***/ "6255":
963
1166
  /***/ (function(module, exports) {
964
1167
 
965
- module.exports = "<i-modal\r\n draggable\r\n sticky\r\n reset-drag-position\r\n v-model=\"value\"\r\n class=\"diy-modal\"\r\n :mask-closable=\"false\"\r\n :title=\"data.id ? '编辑项目': '新建项目'\"\r\n>\r\n <i-form :label-width=\"95\" class=\"diy-form\" label-colon>\r\n <i-form-item label=\"项目名称\" required>\r\n <i-input\r\n v-model.trim=\"data.name\"\r\n class=\"diy-input\"\r\n placeholder=\"请输入项目名称\"\r\n ></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"项目描述\">\r\n <i-input\r\n class=\"diy-input\"\r\n type=\"textarea\"\r\n :rows=\"4\"\r\n v-model=\"data.description\"\r\n placeholder=\"请输入项目描述\"\r\n ></i-input>\r\n </i-form-item>\r\n </i-form>\r\n <slot slot=\"footer\" name=\"footer\"> </slot>\r\n</i-modal>\r\n"
1168
+ module.exports = "<i-modal\n draggable\n sticky\n reset-drag-position\n v-model=\"value\"\n class=\"diy-modal\"\n :mask-closable=\"false\"\n :title=\"data.id ? '编辑项目': '新建项目'\"\n>\n <i-form :label-width=\"95\" class=\"diy-form\" label-colon>\n <i-form-item label=\"项目名称\" required>\n <i-input\n v-model.trim=\"data.name\"\n class=\"diy-input\"\n placeholder=\"请输入项目名称\"\n ></i-input>\n </i-form-item>\n <i-form-item label=\"项目描述\">\n <i-input\n class=\"diy-input\"\n type=\"textarea\"\n :rows=\"4\"\n v-model=\"data.description\"\n placeholder=\"请输入项目描述\"\n ></i-input>\n </i-form-item>\n </i-form>\n <slot slot=\"footer\" name=\"footer\"> </slot>\n</i-modal>\n"
966
1169
 
967
1170
  /***/ }),
968
1171
 
@@ -1063,6 +1266,207 @@ if (params + '' !== 'a=2') {
1063
1266
  }
1064
1267
 
1065
1268
 
1269
+ /***/ }),
1270
+
1271
+ /***/ "6a10":
1272
+ /***/ (function(module, exports, __webpack_require__) {
1273
+
1274
+ "use strict";
1275
+
1276
+ var NATIVE_ARRAY_BUFFER = __webpack_require__("f764");
1277
+ var DESCRIPTORS = __webpack_require__("e900");
1278
+ var global = __webpack_require__("bc85");
1279
+ var isCallable = __webpack_require__("ec2f");
1280
+ var isObject = __webpack_require__("8785");
1281
+ var hasOwn = __webpack_require__("d803");
1282
+ var classof = __webpack_require__("aaa6");
1283
+ var tryToString = __webpack_require__("1d6e");
1284
+ var createNonEnumerableProperty = __webpack_require__("9822");
1285
+ var defineBuiltIn = __webpack_require__("92d6");
1286
+ var defineBuiltInAccessor = __webpack_require__("889b");
1287
+ var isPrototypeOf = __webpack_require__("4cad");
1288
+ var getPrototypeOf = __webpack_require__("a54a");
1289
+ var setPrototypeOf = __webpack_require__("a2df");
1290
+ var wellKnownSymbol = __webpack_require__("fff8");
1291
+ var uid = __webpack_require__("a047");
1292
+ var InternalStateModule = __webpack_require__("fcc0");
1293
+
1294
+ var enforceInternalState = InternalStateModule.enforce;
1295
+ var getInternalState = InternalStateModule.get;
1296
+ var Int8Array = global.Int8Array;
1297
+ var Int8ArrayPrototype = Int8Array && Int8Array.prototype;
1298
+ var Uint8ClampedArray = global.Uint8ClampedArray;
1299
+ var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;
1300
+ var TypedArray = Int8Array && getPrototypeOf(Int8Array);
1301
+ var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);
1302
+ var ObjectPrototype = Object.prototype;
1303
+ var TypeError = global.TypeError;
1304
+
1305
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
1306
+ var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');
1307
+ var TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';
1308
+ // Fixing native typed arrays in Opera Presto crashes the browser, see #595
1309
+ var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';
1310
+ var TYPED_ARRAY_TAG_REQUIRED = false;
1311
+ var NAME, Constructor, Prototype;
1312
+
1313
+ var TypedArrayConstructorsList = {
1314
+ Int8Array: 1,
1315
+ Uint8Array: 1,
1316
+ Uint8ClampedArray: 1,
1317
+ Int16Array: 2,
1318
+ Uint16Array: 2,
1319
+ Int32Array: 4,
1320
+ Uint32Array: 4,
1321
+ Float32Array: 4,
1322
+ Float64Array: 8
1323
+ };
1324
+
1325
+ var BigIntArrayConstructorsList = {
1326
+ BigInt64Array: 8,
1327
+ BigUint64Array: 8
1328
+ };
1329
+
1330
+ var isView = function isView(it) {
1331
+ if (!isObject(it)) return false;
1332
+ var klass = classof(it);
1333
+ return klass === 'DataView'
1334
+ || hasOwn(TypedArrayConstructorsList, klass)
1335
+ || hasOwn(BigIntArrayConstructorsList, klass);
1336
+ };
1337
+
1338
+ var getTypedArrayConstructor = function (it) {
1339
+ var proto = getPrototypeOf(it);
1340
+ if (!isObject(proto)) return;
1341
+ var state = getInternalState(proto);
1342
+ return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);
1343
+ };
1344
+
1345
+ var isTypedArray = function (it) {
1346
+ if (!isObject(it)) return false;
1347
+ var klass = classof(it);
1348
+ return hasOwn(TypedArrayConstructorsList, klass)
1349
+ || hasOwn(BigIntArrayConstructorsList, klass);
1350
+ };
1351
+
1352
+ var aTypedArray = function (it) {
1353
+ if (isTypedArray(it)) return it;
1354
+ throw new TypeError('Target is not a typed array');
1355
+ };
1356
+
1357
+ var aTypedArrayConstructor = function (C) {
1358
+ if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;
1359
+ throw new TypeError(tryToString(C) + ' is not a typed array constructor');
1360
+ };
1361
+
1362
+ var exportTypedArrayMethod = function (KEY, property, forced, options) {
1363
+ if (!DESCRIPTORS) return;
1364
+ if (forced) for (var ARRAY in TypedArrayConstructorsList) {
1365
+ var TypedArrayConstructor = global[ARRAY];
1366
+ if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {
1367
+ delete TypedArrayConstructor.prototype[KEY];
1368
+ } catch (error) {
1369
+ // old WebKit bug - some methods are non-configurable
1370
+ try {
1371
+ TypedArrayConstructor.prototype[KEY] = property;
1372
+ } catch (error2) { /* empty */ }
1373
+ }
1374
+ }
1375
+ if (!TypedArrayPrototype[KEY] || forced) {
1376
+ defineBuiltIn(TypedArrayPrototype, KEY, forced ? property
1377
+ : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);
1378
+ }
1379
+ };
1380
+
1381
+ var exportTypedArrayStaticMethod = function (KEY, property, forced) {
1382
+ var ARRAY, TypedArrayConstructor;
1383
+ if (!DESCRIPTORS) return;
1384
+ if (setPrototypeOf) {
1385
+ if (forced) for (ARRAY in TypedArrayConstructorsList) {
1386
+ TypedArrayConstructor = global[ARRAY];
1387
+ if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {
1388
+ delete TypedArrayConstructor[KEY];
1389
+ } catch (error) { /* empty */ }
1390
+ }
1391
+ if (!TypedArray[KEY] || forced) {
1392
+ // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable
1393
+ try {
1394
+ return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);
1395
+ } catch (error) { /* empty */ }
1396
+ } else return;
1397
+ }
1398
+ for (ARRAY in TypedArrayConstructorsList) {
1399
+ TypedArrayConstructor = global[ARRAY];
1400
+ if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {
1401
+ defineBuiltIn(TypedArrayConstructor, KEY, property);
1402
+ }
1403
+ }
1404
+ };
1405
+
1406
+ for (NAME in TypedArrayConstructorsList) {
1407
+ Constructor = global[NAME];
1408
+ Prototype = Constructor && Constructor.prototype;
1409
+ if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;
1410
+ else NATIVE_ARRAY_BUFFER_VIEWS = false;
1411
+ }
1412
+
1413
+ for (NAME in BigIntArrayConstructorsList) {
1414
+ Constructor = global[NAME];
1415
+ Prototype = Constructor && Constructor.prototype;
1416
+ if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;
1417
+ }
1418
+
1419
+ // WebKit bug - typed arrays constructors prototype is Object.prototype
1420
+ if (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {
1421
+ // eslint-disable-next-line no-shadow -- safe
1422
+ TypedArray = function TypedArray() {
1423
+ throw new TypeError('Incorrect invocation');
1424
+ };
1425
+ if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {
1426
+ if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);
1427
+ }
1428
+ }
1429
+
1430
+ if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {
1431
+ TypedArrayPrototype = TypedArray.prototype;
1432
+ if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {
1433
+ if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);
1434
+ }
1435
+ }
1436
+
1437
+ // WebKit bug - one more object in Uint8ClampedArray prototype chain
1438
+ if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {
1439
+ setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);
1440
+ }
1441
+
1442
+ if (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {
1443
+ TYPED_ARRAY_TAG_REQUIRED = true;
1444
+ defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {
1445
+ configurable: true,
1446
+ get: function () {
1447
+ return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;
1448
+ }
1449
+ });
1450
+ for (NAME in TypedArrayConstructorsList) if (global[NAME]) {
1451
+ createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);
1452
+ }
1453
+ }
1454
+
1455
+ module.exports = {
1456
+ NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,
1457
+ TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,
1458
+ aTypedArray: aTypedArray,
1459
+ aTypedArrayConstructor: aTypedArrayConstructor,
1460
+ exportTypedArrayMethod: exportTypedArrayMethod,
1461
+ exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,
1462
+ getTypedArrayConstructor: getTypedArrayConstructor,
1463
+ isView: isView,
1464
+ isTypedArray: isTypedArray,
1465
+ TypedArray: TypedArray,
1466
+ TypedArrayPrototype: TypedArrayPrototype
1467
+ };
1468
+
1469
+
1066
1470
  /***/ }),
1067
1471
 
1068
1472
  /***/ "6a6c":
@@ -1080,12 +1484,64 @@ test[TO_STRING_TAG] = 'z';
1080
1484
  module.exports = String(test) === '[object z]';
1081
1485
 
1082
1486
 
1487
+ /***/ }),
1488
+
1489
+ /***/ "6bf0":
1490
+ /***/ (function(module, exports, __webpack_require__) {
1491
+
1492
+ "use strict";
1493
+
1494
+ var global = __webpack_require__("bc85");
1495
+ var call = __webpack_require__("a95a");
1496
+ var ArrayBufferViewCore = __webpack_require__("6a10");
1497
+ var lengthOfArrayLike = __webpack_require__("d631");
1498
+ var toOffset = __webpack_require__("16bf");
1499
+ var toIndexedObject = __webpack_require__("e614");
1500
+ var fails = __webpack_require__("10a7");
1501
+
1502
+ var RangeError = global.RangeError;
1503
+ var Int8Array = global.Int8Array;
1504
+ var Int8ArrayPrototype = Int8Array && Int8Array.prototype;
1505
+ var $set = Int8ArrayPrototype && Int8ArrayPrototype.set;
1506
+ var aTypedArray = ArrayBufferViewCore.aTypedArray;
1507
+ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
1508
+
1509
+ var WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () {
1510
+ // eslint-disable-next-line es/no-typed-arrays -- required for testing
1511
+ var array = new Uint8ClampedArray(2);
1512
+ call($set, array, { length: 1, 0: 3 }, 1);
1513
+ return array[1] !== 3;
1514
+ });
1515
+
1516
+ // https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other
1517
+ var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {
1518
+ var array = new Int8Array(2);
1519
+ array.set(1);
1520
+ array.set('2', 1);
1521
+ return array[0] !== 0 || array[1] !== 2;
1522
+ });
1523
+
1524
+ // `%TypedArray%.prototype.set` method
1525
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.set
1526
+ exportTypedArrayMethod('set', function set(arrayLike /* , offset */) {
1527
+ aTypedArray(this);
1528
+ var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);
1529
+ var src = toIndexedObject(arrayLike);
1530
+ if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);
1531
+ var length = this.length;
1532
+ var len = lengthOfArrayLike(src);
1533
+ var index = 0;
1534
+ if (len + offset > length) throw new RangeError('Wrong length');
1535
+ while (index < len) this[offset + index] = src[index++];
1536
+ }, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);
1537
+
1538
+
1083
1539
  /***/ }),
1084
1540
 
1085
1541
  /***/ "6d46":
1086
1542
  /***/ (function(module, exports) {
1087
1543
 
1088
- module.exports = "<article class=\"u-common-tree\" :class=\"className.join(' ')\">\r\n <slot name=\"header\"></slot>\r\n <section class=\"content\">\r\n <i-input\r\n class=\"search-input\"\r\n suffix=\"ios-search\"\r\n :placeholder=\"placeholder\"\r\n @on-change=\"onFilter\"\r\n v-model=\"keyword\"\r\n >\r\n <i class=\"iconfont icon-chaxun\" slot=\"prefix\"></i>\r\n </i-input>\r\n <i-tree\r\n :data=\"renderData\"\r\n :render=\"renderContent\"\r\n @on-toggle-expand=\"onToggleExpand\"\r\n ></i-tree>\r\n </section>\r\n</article>\r\n"
1544
+ module.exports = "<article class=\"u-common-tree\" :class=\"className.join(' ')\">\n <slot name=\"header\"></slot>\n <section class=\"content\">\n <i-input\n class=\"search-input\"\n suffix=\"ios-search\"\n :placeholder=\"placeholder\"\n @on-change=\"onFilter\"\n v-model=\"keyword\"\n >\n <i class=\"iconfont icon-chaxun\" slot=\"prefix\"></i>\n </i-input>\n <i-tree\n :data=\"renderData\"\n :render=\"renderContent\"\n @on-toggle-expand=\"onToggleExpand\"\n ></i-tree>\n </section>\n</article>\n"
1089
1545
 
1090
1546
  /***/ }),
1091
1547
 
@@ -1199,7 +1655,7 @@ module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {
1199
1655
  /***/ "7640":
1200
1656
  /***/ (function(module, exports) {
1201
1657
 
1202
- module.exports = "<article class=\"params-setting\">\r\n <i-collapse v-model=\"value\" simple>\r\n <i-panel name=\"1\">\r\n <span>Query参数</span>\r\n <span class=\"status\">{{getExpand('1') ? \"收起\" : \"展开\"}}</span>\r\n <div slot=\"content\" class=\"setting-content\">\r\n <header>\r\n <i-button type=\"primary\" ghost class=\"diy-btn-primary\" @click=\"onAddRequestParam\"> <i class=\"api-icon icon-add\"></i>新增参数 </i-button>\r\n </header>\r\n <main>\r\n <i-table height=\"200\" width=\"1280\" class=\"diy-table\" @on-selection-change=\"onQuerySelectionChange\" :columns=\"paramColumns\" :data=\"queryDataList\">\r\n <template slot-scope=\"{ row,index }\" slot=\"selection\">\r\n <i-switch size=\"large\" :value=\"!queryDataList[index].disabled\" @on-change=\"onChangeDisabled($event,queryDataList[index],'query')\">\r\n <span slot=\"open\">开启</span>\r\n <span slot=\"close\">禁用</span>\r\n </i-switch>\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"name\">\r\n <i-input class=\"diy-input\" placeholder=\"输入参数名称\" v-model=\"queryDataList[index].name\"></i-input>\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"valueContent\">\r\n <i-input class=\"diy-input\" placeholder=\"输入参数值\" v-model=\"queryDataList[index].valueContent\"></i-input>\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"required\">\r\n <i-switch v-model=\"queryDataList[index].requireFlag\" :disabled=\"queryDataList[index].disabled\" :true-value=\"1\" :false-value=\"0\">\r\n <span slot=\"open\">是</span>\r\n <span slot=\"close\">否</span>\r\n </i-switch>\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"text\">\r\n <i-input class=\"diy-input\" placeholder=\"输入备注\" v-model=\"queryDataList[index].text\"></i-input>\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"action\">\r\n <i-poptip class=\"action-btn delete\" title=\"确认删除这条数据吗?\" confirm @on-ok=\"onDelete(queryDataList,row.indexFlag,'query')\" transfer>\r\n <i class=\"iconfont icon-delete\" title=\"删除\"></i>\r\n </i-poptip>\r\n <span>\r\n <i v-if=\"index>0\" class=\"iconfont icon-up\" @click=\"onUp(queryDataList,index)\" title=\"上移\"></i>\r\n <i v-if=\"index>0\" class=\"iconfont icon-top\" title=\"置顶\" @click=\"onTop(queryDataList,index)\"></i>\r\n <i v-if=\"index < queryDataList.length - 1\" @click=\"onDown(queryDataList,index)\" class=\"iconfont icon-down\" title=\"下移\"></i>\r\n <i v-if=\"index < queryDataList.length - 1\" @click=\"onBottom(queryDataList,index)\" class=\"iconfont icon-bottom\" title=\"置底\"></i>\r\n </span>\r\n </template>\r\n </i-table>\r\n </main>\r\n </div>\r\n </i-panel>\r\n <i-panel name=\"2\">\r\n <span>Body参数</span>\r\n <span class=\"status\">{{getExpand('2') ? \"收起\" : \"展开\"}}</span>\r\n <div slot=\"content\" class=\"setting-content\">\r\n <header>\r\n <i-button v-if=\"isFormData\" type=\"primary\" ghost class=\"diy-btn-primary\" @click=\"onAddBodyParam\"> <i class=\"api-icon icon-add\"></i>新增参数 </i-button>\r\n <i-button v-else type=\"primary\" ghost class=\"diy-btn-primary\" @click=\"onBeautify\"> <i class=\"api-icon icon-view\"></i>格式化 </i-button>\r\n <i-select transfer v-model=\"interfaceModel.info.requestBodyType\" class=\"diy-select\">\r\n <i-option v-for=\"item in requestBodyTypeList\" :value=\"item.name\" :key=\"item.name\">{{item.text}}</i-option>\r\n </i-select>\r\n </header>\r\n <main>\r\n <i-table\r\n height=\"200\"\r\n width=\"1280\"\r\n class=\"diy-table\"\r\n @on-selection-change=\"onBodySelectionChange\"\r\n :columns=\"bodyColumns\"\r\n :data=\"bodyDataList\"\r\n v-if=\"isFormData\"\r\n >\r\n <template slot-scope=\"{ row,index }\" slot=\"selection\">\r\n <i-switch size=\"large\" :value=\"!bodyDataList[index].disabled\" @on-change=\"onChangeDisabled($event,bodyDataList[index],'body')\">\r\n <span slot=\"open\">开启</span>\r\n <span slot=\"close\">禁用</span>\r\n </i-switch>\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"name\">\r\n <div class=\"body-name-row\">\r\n <i-input class=\"diy-input\" placeholder=\"输入参数名称\" v-model=\"bodyDataList[index].name\"></i-input>\r\n <i-select class=\"diy-select\" v-if=\"bodyType === 'Form'\" v-model=\"row.valueType\" @on-change=\"onChangeFormParamType(index, row)\" transfer>\r\n <i-option v-for=\"item in formParamTypeList\" :value=\"item.name\" :key=\"item.name\">{{item.text}}</i-option>\r\n </i-select>\r\n </div>\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"valueContent\">\r\n <i-input v-if=\"row.valueType !== 'FILE'\" class=\"diy-input\" placeholder=\"输入参数值\" v-model=\"bodyDataList[index].valueContent\"></i-input>\r\n <i-upload v-if=\"row.valueType === 'FILE' && !row.fileName\" action=\"\" :before-upload=\"onImport\" :show-upload-list=\"false\">\r\n <i-button class=\"file-btn\" icon=\"ios-cloud-upload-outline\" @click=\"onClickRow(row)\">选择文件</i-button>\r\n </i-upload>\r\n <div class=\"file-wrap\" v-if=\"row.valueType === 'FILE' && row.fileName\">\r\n <div class=\"file-name\" :title=\"row.fileName\">{{ row.fileName }}</div>\r\n <i-icon type=\"ios-close\" @click=\"onClearFile(row)\" />\r\n </div>\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"required\">\r\n <i-switch v-model=\"bodyDataList[index].requireFlag\" :disabled=\"bodyDataList[index].disabled\" :true-value=\"1\" :false-value=\"0\">\r\n <span slot=\"open\">是</span>\r\n <span slot=\"close\">否</span>\r\n </i-switch>\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"text\">\r\n <i-input class=\"diy-input\" placeholder=\"输入备注\" v-model=\"bodyDataList[index].remark\"></i-input>\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"action\">\r\n <i-poptip class=\"action-btn delete\" title=\"确认删除这条数据吗?\" confirm @on-ok=\"onDeleteBodyParam(interfaceModel.formParams,row.indexFlag,'body')\" transfer>\r\n <i class=\"iconfont icon-delete\" title=\"删除\"></i>\r\n </i-poptip>\r\n <span>\r\n <i v-if=\"index > 0\" class=\"iconfont icon-up\" @click=\"onUpBodyParam(interfaceModel.formParams,row.id)\" title=\"上移\"></i>\r\n <i v-if=\"index > 0\" class=\"iconfont icon-top\" @click=\"onTopBodyParam(interfaceModel.formParams,row.id)\" title=\"置顶\"></i>\r\n <i v-if=\"index < bodyDataList.length - 1\" @click=\"onDownBodyParam(interfaceModel.formParams,row.id)\" class=\"iconfont icon-down\" title=\"下移\"></i>\r\n <i\r\n v-if=\"index < bodyDataList.length - 1\"\r\n @click=\"onBottomBodyParam(interfaceModel.formParams,row.id)\"\r\n class=\"iconfont icon-bottom\"\r\n title=\"置底\"\r\n ></i>\r\n </span>\r\n </template>\r\n </i-table>\r\n <u-editor v-else :value.sync=\"interfaceModel.json\" lang=\"json\" @inited=\"onEditorInited\"></u-editor>\r\n </main>\r\n </div>\r\n </i-panel>\r\n </i-collapse>\r\n</article>\r\n"
1658
+ module.exports = "<article class=\"params-setting\">\n <i-collapse v-model=\"value\" simple>\n <i-panel name=\"1\">\n <span>Query参数</span>\n <span class=\"status\">{{getExpand('1') ? \"收起\" : \"展开\"}}</span>\n <div slot=\"content\" class=\"setting-content\">\n <header>\n <i-button type=\"primary\" ghost class=\"diy-btn-primary\" @click=\"onAddRequestParam\"> <i class=\"api-icon icon-add\"></i>新增参数 </i-button>\n </header>\n <main>\n <i-table height=\"200\" width=\"1280\" class=\"diy-table\" @on-selection-change=\"onQuerySelectionChange\" :columns=\"paramColumns\" :data=\"queryDataList\">\n <template slot-scope=\"{ row,index }\" slot=\"selection\">\n <i-switch size=\"large\" :value=\"!queryDataList[index].disabled\" @on-change=\"onChangeDisabled($event,queryDataList[index],'query')\">\n <span slot=\"open\">开启</span>\n <span slot=\"close\">禁用</span>\n </i-switch>\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"name\">\n <i-input class=\"diy-input\" placeholder=\"输入参数名称\" v-model=\"queryDataList[index].name\"></i-input>\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"valueContent\">\n <i-input class=\"diy-input\" placeholder=\"输入参数值\" v-model=\"queryDataList[index].valueContent\"></i-input>\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"required\">\n <i-switch v-model=\"queryDataList[index].requireFlag\" :disabled=\"queryDataList[index].disabled\" :true-value=\"1\" :false-value=\"0\">\n <span slot=\"open\">是</span>\n <span slot=\"close\">否</span>\n </i-switch>\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"text\">\n <i-input class=\"diy-input\" placeholder=\"输入备注\" v-model=\"queryDataList[index].text\"></i-input>\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"action\">\n <i-poptip class=\"action-btn delete\" title=\"确认删除这条数据吗?\" confirm @on-ok=\"onDelete(queryDataList,row.indexFlag,'query')\" transfer>\n <i class=\"iconfont icon-delete\" title=\"删除\"></i>\n </i-poptip>\n <span>\n <i v-if=\"index>0\" class=\"iconfont icon-up\" @click=\"onUp(queryDataList,index)\" title=\"上移\"></i>\n <i v-if=\"index>0\" class=\"iconfont icon-top\" title=\"置顶\" @click=\"onTop(queryDataList,index)\"></i>\n <i v-if=\"index < queryDataList.length - 1\" @click=\"onDown(queryDataList,index)\" class=\"iconfont icon-down\" title=\"下移\"></i>\n <i v-if=\"index < queryDataList.length - 1\" @click=\"onBottom(queryDataList,index)\" class=\"iconfont icon-bottom\" title=\"置底\"></i>\n </span>\n </template>\n </i-table>\n </main>\n </div>\n </i-panel>\n <i-panel name=\"2\">\n <span>Body参数</span>\n <span class=\"status\">{{getExpand('2') ? \"收起\" : \"展开\"}}</span>\n <div slot=\"content\" class=\"setting-content\">\n <header>\n <i-button v-if=\"isFormData\" type=\"primary\" ghost class=\"diy-btn-primary\" @click=\"onAddBodyParam\"> <i class=\"api-icon icon-add\"></i>新增参数 </i-button>\n <i-button v-else type=\"primary\" ghost class=\"diy-btn-primary\" @click=\"onBeautify\"> <i class=\"api-icon icon-view\"></i>格式化 </i-button>\n <i-select transfer v-model=\"interfaceModel.info.requestBodyType\" class=\"diy-select\">\n <i-option v-for=\"item in requestBodyTypeList\" :value=\"item.name\" :key=\"item.name\">{{item.text}}</i-option>\n </i-select>\n </header>\n <main>\n <i-table\n height=\"200\"\n width=\"1280\"\n class=\"diy-table\"\n @on-selection-change=\"onBodySelectionChange\"\n :columns=\"bodyColumns\"\n :data=\"bodyDataList\"\n v-if=\"isFormData\"\n >\n <template slot-scope=\"{ row,index }\" slot=\"selection\">\n <i-switch size=\"large\" :value=\"!bodyDataList[index].disabled\" @on-change=\"onChangeDisabled($event,bodyDataList[index],'body')\">\n <span slot=\"open\">开启</span>\n <span slot=\"close\">禁用</span>\n </i-switch>\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"name\">\n <div class=\"body-name-row\">\n <i-input class=\"diy-input\" placeholder=\"输入参数名称\" v-model=\"bodyDataList[index].name\"></i-input>\n <i-select class=\"diy-select\" v-if=\"bodyType === 'Form'\" v-model=\"row.valueType\" @on-change=\"onChangeFormParamType(index, row)\" transfer>\n <i-option v-for=\"item in formParamTypeList\" :value=\"item.name\" :key=\"item.name\">{{item.text}}</i-option>\n </i-select>\n </div>\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"valueContent\">\n <i-input v-if=\"row.valueType !== 'FILE'\" class=\"diy-input\" placeholder=\"输入参数值\" v-model=\"bodyDataList[index].valueContent\"></i-input>\n <i-upload v-if=\"row.valueType === 'FILE' && !row.fileName\" action=\"\" :before-upload=\"onImport\" :show-upload-list=\"false\">\n <i-button class=\"file-btn\" icon=\"ios-cloud-upload-outline\" @click=\"onClickRow(row)\">选择文件</i-button>\n </i-upload>\n <div class=\"file-wrap\" v-if=\"row.valueType === 'FILE' && row.fileName\">\n <div class=\"file-name\" :title=\"row.fileName\">{{ row.fileName }}</div>\n <i-icon type=\"ios-close\" @click=\"onClearFile(row)\" />\n </div>\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"required\">\n <i-switch v-model=\"bodyDataList[index].requireFlag\" :disabled=\"bodyDataList[index].disabled\" :true-value=\"1\" :false-value=\"0\">\n <span slot=\"open\">是</span>\n <span slot=\"close\">否</span>\n </i-switch>\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"text\">\n <i-input class=\"diy-input\" placeholder=\"输入备注\" v-model=\"bodyDataList[index].remark\"></i-input>\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"action\">\n <i-poptip class=\"action-btn delete\" title=\"确认删除这条数据吗?\" confirm @on-ok=\"onDeleteBodyParam(interfaceModel.formParams,row.indexFlag,'body')\" transfer>\n <i class=\"iconfont icon-delete\" title=\"删除\"></i>\n </i-poptip>\n <span>\n <i v-if=\"index > 0\" class=\"iconfont icon-up\" @click=\"onUpBodyParam(interfaceModel.formParams,row.id)\" title=\"上移\"></i>\n <i v-if=\"index > 0\" class=\"iconfont icon-top\" @click=\"onTopBodyParam(interfaceModel.formParams,row.id)\" title=\"置顶\"></i>\n <i v-if=\"index < bodyDataList.length - 1\" @click=\"onDownBodyParam(interfaceModel.formParams,row.id)\" class=\"iconfont icon-down\" title=\"下移\"></i>\n <i\n v-if=\"index < bodyDataList.length - 1\"\n @click=\"onBottomBodyParam(interfaceModel.formParams,row.id)\"\n class=\"iconfont icon-bottom\"\n title=\"置底\"\n ></i>\n </span>\n </template>\n </i-table>\n <u-editor v-else :value.sync=\"interfaceModel.json\" lang=\"json\" @inited=\"onEditorInited\"></u-editor>\n </main>\n </div>\n </i-panel>\n </i-collapse>\n</article>\n"
1203
1659
 
1204
1660
  /***/ }),
1205
1661
 
@@ -2391,7 +2847,7 @@ module.exports = require("brace/ext/language_tools");
2391
2847
  /***/ "82af":
2392
2848
  /***/ (function(module, exports) {
2393
2849
 
2394
- module.exports = "<div class=\"v-data-modal-list-container\">\r\n <header>\r\n <div class=\"condition\">\r\n <div class=\"input-item\">\r\n <span>名称:</span>\r\n <i-input class=\"diy-input\" placeholder=\"请输入名称\" v-model=\"condition.name\" @on-enter=\"onSearch\"></i-input>\r\n </div>\r\n <div class=\"input-item\">\r\n <span>编码:</span>\r\n <i-input class=\"diy-input\" placeholder=\"请输入编码\" v-model=\"condition.code\" @on-enter=\"onSearch\"></i-input>\r\n </div>\r\n <div class=\"search-btn\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onSearch\">查询</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onEmpty\">重置</i-button>\r\n </div>\r\n </div>\r\n </header>\r\n <main>\r\n <template v-if=\"data&&data.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"data\" @on-selection-change=\"onSelected\" @on-row-click=\"onRowClick\">\r\n <template slot=\"enableCache\" slot-scope=\"{row}\">\r\n <span>{{row.enableCache === true ? \"是\" : \"否\"}}</span>\r\n </template>\r\n <template slot=\"doc\" slot-scope=\"{row}\">\r\n <a @click=\"onOpenDoc(row)\">查看</a>\r\n </template>\r\n </i-table>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </template>\r\n </main>\r\n <div class=\"pagination\" v-if=\"data&&data.length\">\r\n <i-page class=\"diy-page\" :total=\"page.totalCount\" @on-change=\"onPageIndexChange\" @on-page-size-change=\"onPageSizeChange\" placement=\"top\" show-elevator show-total show-sizer> </i-page>\r\n </div>\r\n <u-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\r\n</div>\r\n"
2850
+ module.exports = "<div class=\"v-data-modal-list-container\">\n <header>\n <div class=\"condition\">\n <div class=\"input-item\">\n <span>名称:</span>\n <i-input class=\"diy-input\" placeholder=\"请输入名称\" v-model=\"condition.name\" @on-enter=\"onSearch\"></i-input>\n </div>\n <div class=\"input-item\">\n <span>编码:</span>\n <i-input class=\"diy-input\" placeholder=\"请输入编码\" v-model=\"condition.code\" @on-enter=\"onSearch\"></i-input>\n </div>\n <div class=\"search-btn\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onSearch\">查询</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onEmpty\">重置</i-button>\n </div>\n </div>\n </header>\n <main>\n <template v-if=\"data&&data.length\">\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"data\" @on-selection-change=\"onSelected\" @on-row-click=\"onRowClick\">\n <template slot=\"enableCache\" slot-scope=\"{row}\">\n <span>{{row.enableCache === true ? \"是\" : \"否\"}}</span>\n </template>\n <template slot=\"doc\" slot-scope=\"{row}\">\n <a @click=\"onOpenDoc(row)\">查看</a>\n </template>\n </i-table>\n </template>\n <template v-else>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </main>\n <div class=\"pagination\" v-if=\"data&&data.length\">\n <i-page class=\"diy-page\" :total=\"page.totalCount\" @on-change=\"onPageIndexChange\" @on-page-size-change=\"onPageSizeChange\" placement=\"top\" show-elevator show-total show-sizer> </i-page>\n </div>\n <u-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\n</div>\n"
2395
2851
 
2396
2852
  /***/ }),
2397
2853
 
@@ -2540,7 +2996,7 @@ module.exports = function (target, name, descriptor) {
2540
2996
  /***/ "88af":
2541
2997
  /***/ (function(module, exports) {
2542
2998
 
2543
- module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"value\" width=\"800\" class=\"u-variable-modal diy-modal\" transfer>\r\n <header slot=\"header\">批量修改环境变量与授权</header>\r\n <main class=\"variable-content\">\r\n <div class=\"left\">\r\n <div class=\"left-title\">\r\n <div class=\"left-title-text\">选择API</div>\r\n </div>\r\n <div class=\"left-content\">\r\n <i-input class=\"diy-input search-input\" v-model=\"keyword\" placeholder=\"输入关键字查询\" @on-change=\"onFilter\">\r\n <template #prefix>\r\n <i-icon type=\"ios-search\"/>\r\n </template>\r\n </i-input>\r\n <div class=\"security-list\">\r\n <i-checkbox class=\"security-list-item-checkbox\" v-model=\"allSelect\" @on-change=\"onAllSelect\">全选</i-checkbox>\r\n <div class=\"security-list-item\"\r\n v-for=\"(item,index) in apiList\"\r\n :key=\"item.id || index\"\r\n >\r\n <div class=\"security-list-item-name\">\r\n <i-checkbox v-model=\"item.selected\" @on-change=\"onSelect($event,item)\"></i-checkbox>\r\n <i class=\"iconfont icon-API\"></i>\r\n <div class=\"security-list-item-text\" :title=\"item.name\">{{ item.name }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"right-title\">环境与授权</div>\r\n <div class=\"right-content\">\r\n <i-form ref=\"batch-api-form\" class=\"variable-content-form\" label-colon label-position=\"left\" v-if=\"isEmpty\" :rules=\"rules\" :label-width=\"100\" :model=\"formData\">\r\n <i-form-item class=\"content-form-item un-required-item\" label=\"选择属性\">\r\n <i-select class=\"diy-select\" placeholder=\"请输入\" clearable v-model=\"type\">\r\n <i-option value=\"env\">环境变量</i-option>\r\n <i-option value=\"auth\">授权设置</i-option>\r\n <i-option value=\"both\">环境变量和授权设置</i-option>\r\n </i-select>\r\n </i-form-item>\r\n <i-form-item class=\"content-form-item\" v-if=\"type !== 'auth'\" label=\"环境变量\" prop=\"envId\">\r\n <i-select class=\"diy-select diy-batch-select diy-batch-variable-select\" placeholder=\"请选择\" clearable v-model=\"formData.envId\">\r\n <i-option value=\"empty\">清空所有已设置环境变量</i-option>\r\n <i-option v-for=\"item in variableList\" :key=\"item.name\" :value=\"item.id\" :title=\"item.name + ':' + item.value\">{{item.name + \":\" + item.value}}</i-option>\r\n </i-select>\r\n </i-form-item>\r\n <i-form-item class=\"content-form-item\" label=\"授权设置\" v-if=\"type !== 'env'\" prop=\"authId\">\r\n <i-select class=\"diy-select diy-batch-select\" placeholder=\"请选择\" clearable v-model=\"formData.authId\">\r\n <i-option value=\"empty\">清空所有已设置授权</i-option>\r\n <i-option v-for=\"item in securityList\" :key=\"item.name\" :value=\"item.id\">{{item.name}} </i-option>\r\n </i-select>\r\n </i-form-item>\r\n </i-form>\r\n </div>\r\n </div>\r\n </main>\r\n\r\n <footer slot=\"footer\">\r\n <template>\r\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">保存</i-button>\r\n </template>\r\n </footer>\r\n</i-modal>\r\n"
2999
+ module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"value\" width=\"800\" class=\"u-variable-modal diy-modal\" transfer>\n <header slot=\"header\">批量修改环境变量与授权</header>\n <main class=\"variable-content\">\n <div class=\"left\">\n <div class=\"left-title\">\n <div class=\"left-title-text\">选择API</div>\n </div>\n <div class=\"left-content\">\n <i-input class=\"diy-input search-input\" v-model=\"keyword\" placeholder=\"输入关键字查询\" @on-change=\"onFilter\">\n <template #prefix>\n <i-icon type=\"ios-search\"/>\n </template>\n </i-input>\n <div class=\"security-list\">\n <i-checkbox class=\"security-list-item-checkbox\" v-model=\"allSelect\" @on-change=\"onAllSelect\">全选</i-checkbox>\n <div class=\"security-list-item\"\n v-for=\"(item,index) in apiList\"\n :key=\"item.id || index\"\n >\n <div class=\"security-list-item-name\">\n <i-checkbox v-model=\"item.selected\" @on-change=\"onSelect($event,item)\"></i-checkbox>\n <i class=\"iconfont icon-API\"></i>\n <div class=\"security-list-item-text\" :title=\"item.name\">{{ item.name }}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"right\">\n <div class=\"right-title\">环境与授权</div>\n <div class=\"right-content\">\n <i-form ref=\"batch-api-form\" class=\"variable-content-form\" label-colon label-position=\"left\" v-if=\"isEmpty\" :rules=\"rules\" :label-width=\"100\" :model=\"formData\">\n <i-form-item class=\"content-form-item un-required-item\" label=\"选择属性\">\n <i-select class=\"diy-select\" placeholder=\"请输入\" clearable v-model=\"type\">\n <i-option value=\"env\">环境变量</i-option>\n <i-option value=\"auth\">授权设置</i-option>\n <i-option value=\"both\">环境变量和授权设置</i-option>\n </i-select>\n </i-form-item>\n <i-form-item class=\"content-form-item\" v-if=\"type !== 'auth'\" label=\"环境变量\" prop=\"envId\">\n <i-select class=\"diy-select diy-batch-select diy-batch-variable-select\" placeholder=\"请选择\" clearable v-model=\"formData.envId\">\n <i-option value=\"empty\">清空所有已设置环境变量</i-option>\n <i-option v-for=\"item in variableList\" :key=\"item.name\" :value=\"item.id\" :title=\"item.name + ':' + item.value\">{{item.name + \":\" + item.value}}</i-option>\n </i-select>\n </i-form-item>\n <i-form-item class=\"content-form-item\" label=\"授权设置\" v-if=\"type !== 'env'\" prop=\"authId\">\n <i-select class=\"diy-select diy-batch-select\" placeholder=\"请选择\" clearable v-model=\"formData.authId\">\n <i-option value=\"empty\">清空所有已设置授权</i-option>\n <i-option v-for=\"item in securityList\" :key=\"item.name\" :value=\"item.id\">{{item.name}} </i-option>\n </i-select>\n </i-form-item>\n </i-form>\n </div>\n </div>\n </main>\n\n <footer slot=\"footer\">\n <template>\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">保存</i-button>\n </template>\n </footer>\n</i-modal>\n"
2544
3000
 
2545
3001
  /***/ }),
2546
3002
 
@@ -2582,7 +3038,7 @@ module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {
2582
3038
  /***/ "8962":
2583
3039
  /***/ (function(module, exports) {
2584
3040
 
2585
- module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"value\" width=\"800\" class=\"u-variable-modal diy-modal\" transfer>\r\n <header slot=\"header\">环境变量</header>\r\n <main class=\"variable-content\">\r\n <div class=\"left\">\r\n <div class=\"left-title\">\r\n <div class=\"left-title-text\">环境列表</div>\r\n <i class=\"api-icon icon-add\" @click=\"onAddItem\"></i>\r\n </div>\r\n <div class=\"left-content\">\r\n <i-input class=\"diy-input search-input\" v-model=\"keyword\" placeholder=\"输入关键字查询\" @on-change=\"onFilter\">\r\n <template #prefix>\r\n <i-icon type=\"ios-search\"/>\r\n </template>\r\n </i-input>\r\n <div class=\"security-list\">\r\n <div class=\"security-list-item\"\r\n :class=\"currentItem.id === item.id ? 'security-list-item-active' : ''\"\r\n v-for=\"(item,index) in varList\"\r\n :key=\"item.id || index\"\r\n @click=\"onSelectItem(item)\"\r\n >\r\n <div class=\"security-list-item-name\">\r\n <i class=\"iconfont icon-huanjing\"></i>\r\n <div class=\"security-list-item-text\" :class=\"currentItem.id === item.id ? 'security-list-item-text-active' : ''\">{{ item.name || \"新环境\" }}</div>\r\n </div>\r\n <i-poptip confirm title=\"确认删除这条数据吗?\" transfer placement=\"top-end\" @on-ok=\"onDelete(item)\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n </i-poptip>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"right-title\">环境内容</div>\r\n <div class=\"right-content\">\r\n <i-form class=\"variable-content-form\" ref=\"variable-content-form\" label-colon label-position=\"left\" v-if=\"isEmpty\" :rules=\"rules\" :label-width=\"100\" :model=\"formData\">\r\n <i-form-item class=\"content-form-item\" label=\"环境名称\" prop=\"name\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"formData.name\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"content-form-item\" label=\"域名\" prop=\"address\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"formData.address\">\r\n <i-select class=\"diy-select\" v-model=\"formData.type\" slot=\"prepend\" style=\"width: 100px\">\r\n <i-option value=\"http\">http://</i-option>\r\n <i-option value=\"https\">https://</i-option>\r\n </i-select>\r\n </i-input>\r\n </i-form-item>\r\n <i-form-item label=\"描述\" class=\"content-form-item item-remark\" prop=\"remark\">\r\n <i-input class=\"diy-input remark-textarea\" placeholder=\"请输入\" type=\"textarea\" v-model=\"formData.remark\"></i-input>\r\n </i-form-item>\r\n </i-form>\r\n </div>\r\n </div>\r\n </main>\r\n\r\n <footer slot=\"footer\">\r\n <template>\r\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">保存</i-button>\r\n </template>\r\n </footer>\r\n</i-modal>\r\n"
3041
+ module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"value\" width=\"800\" class=\"u-variable-modal diy-modal\" transfer>\n <header slot=\"header\">环境变量</header>\n <main class=\"variable-content\">\n <div class=\"left\">\n <div class=\"left-title\">\n <div class=\"left-title-text\">环境列表</div>\n <i class=\"api-icon icon-add\" @click=\"onAddItem\"></i>\n </div>\n <div class=\"left-content\">\n <i-input class=\"diy-input search-input\" v-model=\"keyword\" placeholder=\"输入关键字查询\" @on-change=\"onFilter\">\n <template #prefix>\n <i-icon type=\"ios-search\"/>\n </template>\n </i-input>\n <div class=\"security-list\">\n <div class=\"security-list-item\"\n :class=\"currentItem.id === item.id ? 'security-list-item-active' : ''\"\n v-for=\"(item,index) in varList\"\n :key=\"item.id || index\"\n @click=\"onSelectItem(item)\"\n >\n <div class=\"security-list-item-name\">\n <i class=\"iconfont icon-huanjing\"></i>\n <div class=\"security-list-item-text\" :class=\"currentItem.id === item.id ? 'security-list-item-text-active' : ''\">{{ item.name || \"新环境\" }}</div>\n </div>\n <i-poptip confirm title=\"确认删除这条数据吗?\" transfer placement=\"top-end\" @on-ok=\"onDelete(item)\">\n <i class=\"iconfont icon-delete\"></i>\n </i-poptip>\n </div>\n </div>\n </div>\n </div>\n <div class=\"right\">\n <div class=\"right-title\">环境内容</div>\n <div class=\"right-content\">\n <i-form class=\"variable-content-form\" ref=\"variable-content-form\" label-colon label-position=\"left\" v-if=\"isEmpty\" :rules=\"rules\" :label-width=\"100\" :model=\"formData\">\n <i-form-item class=\"content-form-item\" label=\"环境名称\" prop=\"name\">\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"formData.name\"></i-input>\n </i-form-item>\n <i-form-item class=\"content-form-item\" label=\"域名\" prop=\"address\">\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"formData.address\">\n <i-select class=\"diy-select\" v-model=\"formData.type\" slot=\"prepend\" style=\"width: 100px\">\n <i-option value=\"http\">http://</i-option>\n <i-option value=\"https\">https://</i-option>\n </i-select>\n </i-input>\n </i-form-item>\n <i-form-item label=\"描述\" class=\"content-form-item item-remark\" prop=\"remark\">\n <i-input class=\"diy-input remark-textarea\" placeholder=\"请输入\" type=\"textarea\" v-model=\"formData.remark\"></i-input>\n </i-form-item>\n </i-form>\n </div>\n </div>\n </main>\n\n <footer slot=\"footer\">\n <template>\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">保存</i-button>\n </template>\n </footer>\n</i-modal>\n"
2586
3042
 
2587
3043
  /***/ }),
2588
3044
 
@@ -2636,7 +3092,7 @@ module.exports = function (argument) {
2636
3092
  /***/ "8ab8":
2637
3093
  /***/ (function(module, exports) {
2638
3094
 
2639
- module.exports = "<article class=\"pre-execution-setting\">\r\n <section class=\"script\">\r\n <div class=\"script-title\">\r\n <div class=\"empty\"></div>\r\n <div class=\"script-btns\">\r\n <span @click=\"onViewMax\"><i class=\"iconfont icon-zuidahua1\"></i>{{viewMax ? \"还原显示\" : \"最大化\"}}</span>\r\n <span @click=\"onSave\"><i class=\"iconfont icon-baocun1\"></i>保存</span>\r\n <span @click=\"onRun\"><i class=\"iconfont icon-run1\"></i>RUN</span>\r\n <span @click=\"onSearch\"><i class=\"iconfont icon-search\"></i>搜索</span>\r\n </div>\r\n </div>\r\n <u-editor\r\n v-if=\"refreshEditor\"\r\n class=\"editor\"\r\n :model.sync=\"script\"\r\n :diyKeywordList=\"diyKeywordList\"\r\n lang=\"groovy\"\r\n @inited=\"onEditorInited\"\r\n >\r\n </u-editor>\r\n </section>\r\n <section class=\"quick-input\">\r\n <div class=\"info\">\r\n <p>{{scriptData.description}}</p>\r\n <!-- <ul>\r\n <li>request: 请求</li>\r\n </ul> -->\r\n </div>\r\n <i-input class=\"diy-input\" v-model=\"keyword\" @on-change=\"onFilter\" placeholder=\"输入关键字查询\">\r\n <i class=\"iconfont icon-chaxun\" slot=\"prefix\"></i>\r\n </i-input>\r\n <div class=\"quick-list\">\r\n <div v-for=\"type in tempScriptData.group\" class=\"quick-type\">\r\n <div class=\"quick-type-name\" @click=\"onQuickGroupClick(type)\">\r\n <i-icon type=\"md-arrow-dropright\" :class=\"type.expand ? 'expand' : ''\"/>\r\n <p>{{type.name}}</p>\r\n </div>\r\n <div\r\n v-show=\"type.expand\"\r\n v-for=\"item in type.list\"\r\n :key=\"item.name\"\r\n class=\"quick-item\"\r\n @click=\"onClickItem(item)\"\r\n >\r\n <i class=\"api-icon icon-item\"></i> {{item.name}}\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n</article>\r\n"
3095
+ module.exports = "<article class=\"pre-execution-setting\">\n <section class=\"script\">\n <div class=\"script-title\">\n <div class=\"empty\"></div>\n <div class=\"script-btns\">\n <span @click=\"onViewMax\"><i class=\"iconfont icon-zuidahua1\"></i>{{viewMax ? \"还原显示\" : \"最大化\"}}</span>\n <span @click=\"onSave\"><i class=\"iconfont icon-baocun1\"></i>保存</span>\n <span @click=\"onRun\"><i class=\"iconfont icon-run1\"></i>RUN</span>\n <span @click=\"onSearch\"><i class=\"iconfont icon-search\"></i>搜索</span>\n </div>\n </div>\n <u-editor\n v-if=\"refreshEditor\"\n class=\"editor\"\n :model.sync=\"script\"\n :diyKeywordList=\"diyKeywordList\"\n lang=\"groovy\"\n @inited=\"onEditorInited\"\n >\n </u-editor>\n </section>\n <section class=\"quick-input\">\n <div class=\"info\">\n <p>{{scriptData.description}}</p>\n <!-- <ul>\n <li>request: 请求</li>\n </ul> -->\n </div>\n <i-input class=\"diy-input\" v-model=\"keyword\" @on-change=\"onFilter\" placeholder=\"输入关键字查询\">\n <i class=\"iconfont icon-chaxun\" slot=\"prefix\"></i>\n </i-input>\n <div class=\"quick-list\">\n <div v-for=\"type in tempScriptData.group\" class=\"quick-type\">\n <div class=\"quick-type-name\" @click=\"onQuickGroupClick(type)\">\n <i-icon type=\"md-arrow-dropright\" :class=\"type.expand ? 'expand' : ''\"/>\n <p>{{type.name}}</p>\n </div>\n <div\n v-show=\"type.expand\"\n v-for=\"item in type.list\"\n :key=\"item.name\"\n class=\"quick-item\"\n @click=\"onClickItem(item)\"\n >\n <i class=\"api-icon icon-item\"></i> {{item.name}}\n </div>\n </div>\n </div>\n </section>\n</article>\n"
2640
3096
 
2641
3097
  /***/ }),
2642
3098
 
@@ -2678,6 +3134,38 @@ module.exports = function (O, options) {
2678
3134
 
2679
3135
  // extracted by mini-css-extract-plugin
2680
3136
 
3137
+ /***/ }),
3138
+
3139
+ /***/ "8f6e":
3140
+ /***/ (function(module, exports, __webpack_require__) {
3141
+
3142
+ "use strict";
3143
+
3144
+ var fails = __webpack_require__("10a7");
3145
+
3146
+ module.exports = !fails(function () {
3147
+ function F() { /* empty */ }
3148
+ F.prototype.constructor = null;
3149
+ // eslint-disable-next-line es/no-object-getprototypeof -- required for testing
3150
+ return Object.getPrototypeOf(new F()) !== F.prototype;
3151
+ });
3152
+
3153
+
3154
+ /***/ }),
3155
+
3156
+ /***/ "9195":
3157
+ /***/ (function(module, exports, __webpack_require__) {
3158
+
3159
+ "use strict";
3160
+
3161
+ var classof = __webpack_require__("aaa6");
3162
+
3163
+ module.exports = function (it) {
3164
+ var klass = classof(it);
3165
+ return klass === 'BigInt64Array' || klass === 'BigUint64Array';
3166
+ };
3167
+
3168
+
2681
3169
  /***/ }),
2682
3170
 
2683
3171
  /***/ "91e1":
@@ -2752,6 +3240,26 @@ module.exports = function (O, key, value, options) {
2752
3240
 
2753
3241
  // extracted by mini-css-extract-plugin
2754
3242
 
3243
+ /***/ }),
3244
+
3245
+ /***/ "9417":
3246
+ /***/ (function(module, exports, __webpack_require__) {
3247
+
3248
+ "use strict";
3249
+
3250
+ var lengthOfArrayLike = __webpack_require__("d631");
3251
+
3252
+ // https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed
3253
+ // https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed
3254
+ module.exports = function (O, C) {
3255
+ var len = lengthOfArrayLike(O);
3256
+ var A = new C(len);
3257
+ var k = 0;
3258
+ for (; k < len; k++) A[k] = O[len - k - 1];
3259
+ return A;
3260
+ };
3261
+
3262
+
2755
3263
  /***/ }),
2756
3264
 
2757
3265
  /***/ "948e":
@@ -2842,7 +3350,7 @@ module.exports = function (passed, required) {
2842
3350
  /***/ "981a":
2843
3351
  /***/ (function(module, exports) {
2844
3352
 
2845
- module.exports = "<div class=\"v-api-project-list-container\">\r\n <header>\r\n <div class=\"condition\">\r\n <div class=\"input-item\">\r\n <span>名称:</span>\r\n <i-input class=\"diy-input\" placeholder=\"请输入名称\" v-model=\"condition.name\" @on-enter=\"onSearch\"></i-input>\r\n </div>\r\n <div class=\"input-item\">\r\n <span>地址:</span>\r\n <i-input class=\"diy-input\" placeholder=\"请输入地址\" v-model=\"condition.url\" @on-enter=\"onSearch\"></i-input>\r\n </div>\r\n <div class=\"search-btn\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onSearch\">查询</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onEmpty\">重置</i-button>\r\n </div>\r\n </div>\r\n </header>\r\n <main>\r\n <template v-if=\"data&&data.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"data\" @on-selection-change=\"onSelected\" @on-row-click=\"onRowClick\">\r\n <template slot=\"detail\" slot-scope=\"{row}\">\r\n <a @click=\"onDetail(row)\">查看</a>\r\n </template>\r\n </i-table>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </template>\r\n </main>\r\n <div class=\"pagination\" v-if=\"data&&data.length\">\r\n <i-page class=\"diy-page\" :total=\"page.totalCount\" @on-change=\"onPageIndexChange\" @on-page-size-change=\"onPageSizeChange\" placement=\"top\" show-elevator show-total show-sizer> </i-page>\r\n </div>\r\n <u-api-project-detail :visiable.sync=\"detailShow\" :model=\"detail\"></u-api-project-detail>\r\n</div>\r\n"
3353
+ module.exports = "<div class=\"v-api-project-list-container\">\n <header>\n <div class=\"condition\">\n <div class=\"input-item\">\n <span>名称:</span>\n <i-input class=\"diy-input\" placeholder=\"请输入名称\" v-model=\"condition.name\" @on-enter=\"onSearch\"></i-input>\n </div>\n <div class=\"input-item\">\n <span>地址:</span>\n <i-input class=\"diy-input\" placeholder=\"请输入地址\" v-model=\"condition.url\" @on-enter=\"onSearch\"></i-input>\n </div>\n <div class=\"search-btn\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onSearch\">查询</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onEmpty\">重置</i-button>\n </div>\n </div>\n </header>\n <main>\n <template v-if=\"data&&data.length\">\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"data\" @on-selection-change=\"onSelected\" @on-row-click=\"onRowClick\">\n <template slot=\"detail\" slot-scope=\"{row}\">\n <a @click=\"onDetail(row)\">查看</a>\n </template>\n </i-table>\n </template>\n <template v-else>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </main>\n <div class=\"pagination\" v-if=\"data&&data.length\">\n <i-page class=\"diy-page\" :total=\"page.totalCount\" @on-change=\"onPageIndexChange\" @on-page-size-change=\"onPageSizeChange\" placement=\"top\" show-elevator show-total show-sizer> </i-page>\n </div>\n <u-api-project-detail :visiable.sync=\"detailShow\" :model=\"detail\"></u-api-project-detail>\n</div>\n"
2846
3354
 
2847
3355
  /***/ }),
2848
3356
 
@@ -2896,7 +3404,7 @@ module.exports = require("jsencrypt");
2896
3404
  /***/ "9915":
2897
3405
  /***/ (function(module, exports) {
2898
3406
 
2899
- module.exports = "<editor\r\n id=\"editor\"\r\n class=\"code-edit\"\r\n v-model=\"code\"\r\n theme=\"chrome\"\r\n :options=\"option\"\r\n @init=\"editorInit\"\r\n :lang=\"lang\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n></editor>"
3407
+ module.exports = "<editor\n id=\"editor\"\n class=\"code-edit\"\n v-model=\"code\"\n theme=\"chrome\"\n :options=\"option\"\n @init=\"editorInit\"\n :lang=\"lang\"\n width=\"100%\"\n height=\"100%\"\n></editor>"
2900
3408
 
2901
3409
  /***/ }),
2902
3410
 
@@ -2951,7 +3459,7 @@ module.exports = function (key, value) {
2951
3459
  /***/ "9b44":
2952
3460
  /***/ (function(module, exports) {
2953
3461
 
2954
- module.exports = "<i-timeline-item v-if=\"source.type==='more'\" class=\"trends-item\">\r\n <i slot=\"dot\"></i>\r\n <div class=\"item-more\" @click=\"onMore\">查看更多</div>\r\n</i-timeline-item>\r\n<i-timeline-item v-else class=\"trends-item\">\r\n <i-avatar size=\"large\" :class=\"source.operateType\" slot=\"dot\"></i-avatar>\r\n <div class=\"item-body\">\r\n <i-time class=\"time\" :time=\"source.createTime\" />\r\n <div class=\"title\">\r\n <span>{{source.projectName}}</span>\r\n <span class=\"create-time\">{{source.createTime}}</span>\r\n </div>\r\n <div class=\"content\">\r\n <span class=\"name\">{{source.creatorName || source.creator}}</span>\r\n <span>{{source._operateType && source._operateType.text}}</span>\r\n <span class=\"name\">{{source.categoryName}}</span>\r\n <span v-if=\"source.categoryName\">分组下的</span>\r\n <span class=\"name api-name\" @click=\"onToApi\">{{source.apiName}}</span>\r\n <span>接口</span>\r\n </div>\r\n </div>\r\n</i-timeline-item>\r\n"
3462
+ module.exports = "<i-timeline-item v-if=\"source.type==='more'\" class=\"trends-item\">\n <i slot=\"dot\"></i>\n <div class=\"item-more\" @click=\"onMore\">查看更多</div>\n</i-timeline-item>\n<i-timeline-item v-else class=\"trends-item\">\n <i-avatar size=\"large\" :class=\"source.operateType\" slot=\"dot\"></i-avatar>\n <div class=\"item-body\">\n <i-time class=\"time\" :time=\"source.createTime\" />\n <div class=\"title\">\n <span>{{source.projectName}}</span>\n <span class=\"create-time\">{{source.createTime}}</span>\n </div>\n <div class=\"content\">\n <span class=\"name\">{{source.creatorName || source.creator}}</span>\n <span>{{source._operateType && source._operateType.text}}</span>\n <span class=\"name\">{{source.categoryName}}</span>\n <span v-if=\"source.categoryName\">分组下的</span>\n <span class=\"name api-name\" @click=\"onToApi\">{{source.apiName}}</span>\n <span>接口</span>\n </div>\n </div>\n</i-timeline-item>\n"
2955
3463
 
2956
3464
  /***/ }),
2957
3465
 
@@ -3066,7 +3574,7 @@ module.exports = function (argument) {
3066
3574
  /***/ "a0f2":
3067
3575
  /***/ (function(module, exports) {
3068
3576
 
3069
- module.exports = "<article class=\"catalog-params\">\r\n <i-table height=\"200\" class=\"diy-table\" :columns=\"columns\" :data=\"dataList\">\r\n <template slot-scope=\"{ row,index }\" slot=\"type\">\r\n {{(row._type || {}).text}}\r\n </template>\r\n <template slot-scope=\"{ row,index }\" slot=\"required\">\r\n {{row.required ? \"是\": \"否\"}}\r\n </template>\r\n </i-table>\r\n</article>\r\n"
3577
+ module.exports = "<article class=\"catalog-params\">\n <i-table height=\"200\" class=\"diy-table\" :columns=\"columns\" :data=\"dataList\">\n <template slot-scope=\"{ row,index }\" slot=\"type\">\n {{(row._type || {}).text}}\n </template>\n <template slot-scope=\"{ row,index }\" slot=\"required\">\n {{row.required ? \"是\": \"否\"}}\n </template>\n </i-table>\n</article>\n"
3070
3578
 
3071
3579
  /***/ }),
3072
3580
 
@@ -3080,7 +3588,14 @@ module.exports = "<article class=\"catalog-params\">\r\n <i-table height=\"20
3080
3588
  /***/ "a1f0":
3081
3589
  /***/ (function(module, exports) {
3082
3590
 
3083
- module.exports = "<i-poptip\r\n transfer\r\n class=\"u-tree-selector\"\r\n transfer-class-name=\"u-tree-selector\"\r\n trigger=\"click\"\r\n content=\"content\"\r\n placement=\"bottom\"\r\n :disabled=\"readonly\"\r\n v-model=\"visible\"\r\n>\r\n <i-input\r\n class=\"diy-input\"\r\n :value=\"inputValue\"\r\n @on-change=\"onInputChange\"\r\n readonly\r\n />\r\n <i-icon\r\n v-if=\"inputValue && !readonly\"\r\n class=\"icon-clear-value\"\r\n type=\"ios-close-circle\"\r\n @click.stop=\"onClear\"\r\n />\r\n <i-tree\r\n slot=\"content\"\r\n :data=\"tree\"\r\n :render=\"renderContent\"\r\n @on-select-change=\"onSelectChange\"\r\n ></i-tree>\r\n</i-poptip>\r\n"
3591
+ module.exports = "<i-poptip\n transfer\n class=\"u-tree-selector\"\n transfer-class-name=\"u-tree-selector\"\n trigger=\"click\"\n content=\"content\"\n placement=\"bottom\"\n :disabled=\"readonly\"\n v-model=\"visible\"\n>\n <i-input\n class=\"diy-input\"\n :value=\"inputValue\"\n @on-change=\"onInputChange\"\n readonly\n />\n <i-icon\n v-if=\"inputValue && !readonly\"\n class=\"icon-clear-value\"\n type=\"ios-close-circle\"\n @click.stop=\"onClear\"\n />\n <i-tree\n slot=\"content\"\n :data=\"tree\"\n :render=\"renderContent\"\n @on-select-change=\"onSelectChange\"\n ></i-tree>\n</i-poptip>\n"
3592
+
3593
+ /***/ }),
3594
+
3595
+ /***/ "a2c5":
3596
+ /***/ (function(module, exports) {
3597
+
3598
+ module.exports = require("crypto-js");
3084
3599
 
3085
3600
  /***/ }),
3086
3601
 
@@ -3153,6 +3668,36 @@ if (params.has('a', 2) || !params.has('a', undefined)) {
3153
3668
  }
3154
3669
 
3155
3670
 
3671
+ /***/ }),
3672
+
3673
+ /***/ "a54a":
3674
+ /***/ (function(module, exports, __webpack_require__) {
3675
+
3676
+ "use strict";
3677
+
3678
+ var hasOwn = __webpack_require__("d803");
3679
+ var isCallable = __webpack_require__("ec2f");
3680
+ var toObject = __webpack_require__("e614");
3681
+ var sharedKey = __webpack_require__("3d77");
3682
+ var CORRECT_PROTOTYPE_GETTER = __webpack_require__("8f6e");
3683
+
3684
+ var IE_PROTO = sharedKey('IE_PROTO');
3685
+ var $Object = Object;
3686
+ var ObjectPrototype = $Object.prototype;
3687
+
3688
+ // `Object.getPrototypeOf` method
3689
+ // https://tc39.es/ecma262/#sec-object.getprototypeof
3690
+ // eslint-disable-next-line es/no-object-getprototypeof -- safe
3691
+ module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {
3692
+ var object = toObject(O);
3693
+ if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];
3694
+ var constructor = object.constructor;
3695
+ if (isCallable(constructor) && object instanceof constructor) {
3696
+ return constructor.prototype;
3697
+ } return object instanceof $Object ? ObjectPrototype : null;
3698
+ };
3699
+
3700
+
3156
3701
  /***/ }),
3157
3702
 
3158
3703
  /***/ "a564":
@@ -3184,6 +3729,27 @@ exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDes
3184
3729
  };
3185
3730
 
3186
3731
 
3732
+ /***/ }),
3733
+
3734
+ /***/ "a68e":
3735
+ /***/ (function(module, exports, __webpack_require__) {
3736
+
3737
+ "use strict";
3738
+
3739
+ var toPrimitive = __webpack_require__("e086");
3740
+
3741
+ var $TypeError = TypeError;
3742
+
3743
+ // `ToBigInt` abstract operation
3744
+ // https://tc39.es/ecma262/#sec-tobigint
3745
+ module.exports = function (argument) {
3746
+ var prim = toPrimitive(argument, 'number');
3747
+ if (typeof prim == 'number') throw new $TypeError("Can't convert number to bigint");
3748
+ // eslint-disable-next-line es/no-bigint -- safe
3749
+ return BigInt(prim);
3750
+ };
3751
+
3752
+
3187
3753
  /***/ }),
3188
3754
 
3189
3755
  /***/ "a6c3":
@@ -3257,7 +3823,7 @@ module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
3257
3823
  /***/ "ab68":
3258
3824
  /***/ (function(module, exports) {
3259
3825
 
3260
- module.exports = "<i-modal draggable sticky reset-drag-position class=\"api-detail-modal diy-modal\" v-model=\"show\" width=\"1000\" :mask-closable=\"false\" title=\"API详情\">\r\n <i-form label-colon :label-width=\"120\">\r\n <i-form-item label=\"接口名称\">\r\n <span>{{action.name}}</span>\r\n </i-form-item>\r\n <i-form-item label=\"所属类型\">\r\n <span>{{model.type}}</span>\r\n </i-form-item>\r\n <i-form-item label=\"接口url\">\r\n <span>{{detail.info?detail.info.url:\"\"}}</span>\r\n </i-form-item>\r\n <i-form-item label=\"创建时间\">\r\n <span>{{action.timestamp}}</span>\r\n </i-form-item>\r\n <p class=\"item-title\">接口参数</p>\r\n <component v-if=\"params\" :is=\"params\" :model=\"detail\"></component>\r\n </i-form>\r\n <footer slot=\"footer\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onClose\">关闭</i-button>\r\n </footer>\r\n</i-modal>\r\n"
3826
+ module.exports = "<i-modal draggable sticky reset-drag-position class=\"api-detail-modal diy-modal\" v-model=\"show\" width=\"1000\" :mask-closable=\"false\" title=\"API详情\">\n <i-form label-colon :label-width=\"120\">\n <i-form-item label=\"接口名称\">\n <span>{{action.name}}</span>\n </i-form-item>\n <i-form-item label=\"所属类型\">\n <span>{{model.type}}</span>\n </i-form-item>\n <i-form-item label=\"接口url\">\n <span>{{detail.info?detail.info.url:\"\"}}</span>\n </i-form-item>\n <i-form-item label=\"创建时间\">\n <span>{{action.timestamp}}</span>\n </i-form-item>\n <p class=\"item-title\">接口参数</p>\n <component v-if=\"params\" :is=\"params\" :model=\"detail\"></component>\n </i-form>\n <footer slot=\"footer\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onClose\">关闭</i-button>\n </footer>\n</i-modal>\n"
3261
3827
 
3262
3828
  /***/ }),
3263
3829
 
@@ -3844,21 +4410,47 @@ module.exports = g;
3844
4410
  /***/ "b61c":
3845
4411
  /***/ (function(module, exports, __webpack_require__) {
3846
4412
 
3847
- // extracted by mini-css-extract-plugin
4413
+ // extracted by mini-css-extract-plugin
4414
+
4415
+ /***/ }),
4416
+
4417
+ /***/ "b699":
4418
+ /***/ (function(module, exports, __webpack_require__) {
4419
+
4420
+ "use strict";
4421
+
4422
+ var lengthOfArrayLike = __webpack_require__("d631");
4423
+ var toIntegerOrInfinity = __webpack_require__("9b7f");
4424
+
4425
+ var $RangeError = RangeError;
4426
+
4427
+ // https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with
4428
+ // https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with
4429
+ module.exports = function (O, C, index, value) {
4430
+ var len = lengthOfArrayLike(O);
4431
+ var relativeIndex = toIntegerOrInfinity(index);
4432
+ var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex;
4433
+ if (actualIndex >= len || actualIndex < 0) throw new $RangeError('Incorrect index');
4434
+ var A = new C(len);
4435
+ var k = 0;
4436
+ for (; k < len; k++) A[k] = k === actualIndex ? value : O[k];
4437
+ return A;
4438
+ };
4439
+
3848
4440
 
3849
4441
  /***/ }),
3850
4442
 
3851
4443
  /***/ "b769":
3852
4444
  /***/ (function(module, exports) {
3853
4445
 
3854
- module.exports = "<article class=\"project-comment\">\r\n <header>\r\n <i-input\r\n class=\"diy-input\"\r\n prefix=\"ios-search\"\r\n search\r\n @on-search=\"onQuery\"\r\n placeholder=\"输入关键字检索\"\r\n v-model=\"condition.apiName\"\r\n ></i-input>\r\n </header>\r\n\r\n <main>\r\n <header class=\"tool-bar\">\r\n <span>项目动态</span>\r\n </header>\r\n <main>\r\n <i-timeline :pending=\"false\">\r\n <virtual-list\r\n class=\"scroll-list\"\r\n data-key=\"id\"\r\n :data-sources=\"list\"\r\n :data-component=\"itemComponent\"\r\n >\r\n </virtual-list>\r\n </i-timeline>\r\n </main>\r\n </main>\r\n</article>\r\n"
4446
+ module.exports = "<article class=\"project-comment\">\n <header>\n <i-input\n class=\"diy-input\"\n prefix=\"ios-search\"\n search\n @on-search=\"onQuery\"\n placeholder=\"输入关键字检索\"\n v-model=\"condition.apiName\"\n ></i-input>\n </header>\n\n <main>\n <header class=\"tool-bar\">\n <span>项目动态</span>\n </header>\n <main>\n <i-timeline :pending=\"false\">\n <virtual-list\n class=\"scroll-list\"\n data-key=\"id\"\n :data-sources=\"list\"\n :data-component=\"itemComponent\"\n >\n </virtual-list>\n </i-timeline>\n </main>\n </main>\n</article>\n"
3855
4447
 
3856
4448
  /***/ }),
3857
4449
 
3858
4450
  /***/ "bc13":
3859
4451
  /***/ (function(module, exports) {
3860
4452
 
3861
- module.exports = "<div class=\"confirm\">\r\n <div @click.stop=\"onOpenConfirm\">\r\n <slot></slot>\r\n </div>\r\n <i-modal\r\n width=400\r\n draggable\r\n sticky\r\n reset-drag-position\r\n v-model=\"value\"\r\n class=\"diy-modal confirm-modal\"\r\n :mask-closable=\"false\"\r\n :title=\"title\"\r\n >\r\n <div>\r\n <i class=\"api-icon icon-warning\"></i>\r\n </div>\r\n <p>\r\n {{message}}\r\n </p>\r\n <footer slot=\"footer\">\r\n <i-button type=\"primary\" class=\"diy-btn-primary \" @click=\"onOk\"\r\n >确定</i-button\r\n >\r\n <i-button @click=\"onCancel\">取消</i-button>\r\n </footer>\r\n </i-modal>\r\n</div>\r\n"
4453
+ module.exports = "<div class=\"confirm\">\n <div @click.stop=\"onOpenConfirm\">\n <slot></slot>\n </div>\n <i-modal\n width=400\n draggable\n sticky\n reset-drag-position\n v-model=\"value\"\n class=\"diy-modal confirm-modal\"\n :mask-closable=\"false\"\n :title=\"title\"\n >\n <div>\n <i class=\"api-icon icon-warning\"></i>\n </div>\n <p>\n {{message}}\n </p>\n <footer slot=\"footer\">\n <i-button type=\"primary\" class=\"diy-btn-primary \" @click=\"onOk\"\n >确定</i-button\n >\n <i-button @click=\"onCancel\">取消</i-button>\n </footer>\n </i-modal>\n</div>\n"
3862
4454
 
3863
4455
  /***/ }),
3864
4456
 
@@ -3930,7 +4522,7 @@ module.exports = require("js-cookie");
3930
4522
  /***/ "c01f":
3931
4523
  /***/ (function(module, exports) {
3932
4524
 
3933
- module.exports = "<article class=\"group-select\">\r\n <i-poptip\r\n trigger=\"click\"\r\n transfer\r\n :transfer-class-name=\"isSelector? 'group-select-transfer group-select-poptip':'group-select-transfer'\"\r\n placement=\"bottom-start\"\r\n v-model=\"visible\"\r\n >\r\n <i-input\r\n readonly\r\n class=\"diy-input\"\r\n :value=\"current.name\"\r\n clearable\r\n @on-clear=\"onClear\"\r\n ></i-input>\r\n <template slot=\"content\">\r\n <i-tree\r\n :data=\"data\"\r\n @on-select-change=\"onSelect\"\r\n :render=\"renderContent\"\r\n ></i-tree>\r\n </template>\r\n </i-poptip>\r\n</article>\r\n"
4525
+ module.exports = "<article class=\"group-select\">\n <i-poptip\n trigger=\"click\"\n transfer\n :transfer-class-name=\"isSelector? 'group-select-transfer group-select-poptip':'group-select-transfer'\"\n placement=\"bottom-start\"\n v-model=\"visible\"\n >\n <i-input\n readonly\n class=\"diy-input\"\n :value=\"current.name\"\n clearable\n @on-clear=\"onClear\"\n ></i-input>\n <template slot=\"content\">\n <i-tree\n :data=\"data\"\n @on-select-change=\"onSelect\"\n :render=\"renderContent\"\n ></i-tree>\n </template>\n </i-poptip>\n</article>\n"
3934
4526
 
3935
4527
  /***/ }),
3936
4528
 
@@ -4087,7 +4679,7 @@ module.exports = {
4087
4679
  /***/ "cfb3":
4088
4680
  /***/ (function(module, exports) {
4089
4681
 
4090
- module.exports = "<article class=\"project-list\">\r\n <header>\r\n <i-input\r\n class=\"diy-input\"\r\n v-model=\"condition.name\"\r\n search\r\n @on-search=\"onQuery\"\r\n placeholder=\"输入关键字检索\"\r\n ></i-input>\r\n </header>\r\n <main>\r\n <header class=\"tool-bar\">\r\n <span>项目列表</span>\r\n <div class=\"right-tool\">\r\n <div class=\"action-btn\">\r\n <i-upload\r\n class=\"action-item\"\r\n :action=\"uploadAction\"\r\n accept=\".json\"\r\n :headers=\"headers\"\r\n :show-upload-list=\"false\"\r\n :format=\"['json']\"\r\n :on-success=\"onSuccess\"\r\n :before-upload=\"onBeforeUpload\"\r\n :on-format-error=\"onFormatError\"\r\n >\r\n <i class=\"api-icon icon-import\"></i>\r\n <div>导入项目</div>\r\n </i-upload>\r\n </div>\r\n <div class=\"action-btn\" @click=\"onComment\">\r\n <i\r\n class=\"api-icon icon-star\"\r\n @click=\"onCheckType('list')\"\r\n ></i>\r\n <div>查看项目动态</div>\r\n </div>\r\n <i\r\n class=\"api-icon icon-list\"\r\n :class=\"{'active': type === 'list'}\"\r\n title=\"列表展示\"\r\n @click=\"onCheckType('list')\"\r\n ></i>\r\n <i\r\n class=\"api-icon icon-card\"\r\n :class=\"{'active': type === 'card'}\"\r\n title=\"卡片展示\"\r\n @click=\"onCheckType('card')\"\r\n ></i>\r\n </div>\r\n </header>\r\n <main>\r\n <section class=\"projects\" v-if=\"type==='card'\">\r\n <div class=\"project-card\" @click=\"onAdd\">\r\n <div class=\"add-card\">\r\n <i-icon type=\"md-add\" />\r\n <p>新建项目</p>\r\n </div>\r\n </div>\r\n <u-card\r\n v-for=\"item in dataList\"\r\n :data=\"item\"\r\n :key=\"item.id\"\r\n @on-delete=\"onDelete\"\r\n @on-detail=\"onDetail\"\r\n @on-edit=\"onEdit\"\r\n @on-export=\"onExport\"\r\n ></u-card>\r\n </section>\r\n <section class=\"projects\" v-else>\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"dataList\">\r\n <template slot-scope=\"{ row,index }\" slot=\"action\">\r\n <span @click=\"onExport(row)\" class=\"action-btn export\"\r\n ><i class=\"api-icon icon-export projects-icon-export\" title=\"导出此项目\"></i\r\n ></span>\r\n <span @click=\"onDetail(row)\" class=\"action-btn detail\"\r\n ><i class=\"api-icon icon-detail\" title=\"详情\"></i\r\n ></span>\r\n <span @click=\"onEdit(row)\" class=\"action-btn detail\"\r\n ><i class=\"api-icon icon-edit\" title=\"修改\"></i\r\n ></span>\r\n <u-confirm\r\n title=\"删除项目\"\r\n @on-ok=\"onDelete(row)\"\r\n message=\"项目内所有接口将被一并删除, 是否确认执行?\"\r\n >\r\n <span class=\"action-btn delete\"\r\n ><i\r\n class=\"api-icon icon-delete\"\r\n title=\"删除\"\r\n ></i\r\n ></span>\r\n </u-confirm>\r\n </template>\r\n </i-table>\r\n </section>\r\n </main>\r\n </main>\r\n <u-add-modal :visiable.sync=\"showAddModal\" :data=\"current\">\r\n <footer slot=\"footer\">\r\n <i-button @click=\"showAddModal = false\">取消</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary \" @click=\"onSave\"\r\n >确定</i-button\r\n >\r\n </footer>\r\n </u-add-modal>\r\n <i-spin fix v-show=\"loading\">\r\n <i class=\"spin-icon-load ivu-icon\"></i>\r\n </i-spin>\r\n</article>\r\n"
4682
+ module.exports = "<article class=\"project-list\">\n <header>\n <i-input\n class=\"diy-input\"\n v-model=\"condition.name\"\n search\n @on-search=\"onQuery\"\n placeholder=\"输入关键字检索\"\n ></i-input>\n </header>\n <main>\n <header class=\"tool-bar\">\n <span>项目列表</span>\n <div class=\"right-tool\">\n <div class=\"action-btn\">\n <i-upload\n class=\"action-item\"\n :action=\"uploadAction\"\n accept=\".json\"\n :headers=\"headers\"\n :show-upload-list=\"false\"\n :format=\"['json']\"\n :on-success=\"onSuccess\"\n :before-upload=\"onBeforeUpload\"\n :on-format-error=\"onFormatError\"\n >\n <i class=\"api-icon icon-import\"></i>\n <div>导入项目</div>\n </i-upload>\n </div>\n <div class=\"action-btn\" @click=\"onComment\">\n <i\n class=\"api-icon icon-star\"\n @click=\"onCheckType('list')\"\n ></i>\n <div>查看项目动态</div>\n </div>\n <i\n class=\"api-icon icon-list\"\n :class=\"{'active': type === 'list'}\"\n title=\"列表展示\"\n @click=\"onCheckType('list')\"\n ></i>\n <i\n class=\"api-icon icon-card\"\n :class=\"{'active': type === 'card'}\"\n title=\"卡片展示\"\n @click=\"onCheckType('card')\"\n ></i>\n </div>\n </header>\n <main>\n <section class=\"projects\" v-if=\"type==='card'\">\n <div class=\"project-card\" @click=\"onAdd\">\n <div class=\"add-card\">\n <i-icon type=\"md-add\" />\n <p>新建项目</p>\n </div>\n </div>\n <u-card\n v-for=\"item in dataList\"\n :data=\"item\"\n :key=\"item.id\"\n @on-delete=\"onDelete\"\n @on-detail=\"onDetail\"\n @on-edit=\"onEdit\"\n @on-export=\"onExport\"\n ></u-card>\n </section>\n <section class=\"projects\" v-else>\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"dataList\">\n <template slot-scope=\"{ row,index }\" slot=\"action\">\n <span @click=\"onExport(row)\" class=\"action-btn export\"\n ><i class=\"api-icon icon-export projects-icon-export\" title=\"导出此项目\"></i\n ></span>\n <span @click=\"onDetail(row)\" class=\"action-btn detail\"\n ><i class=\"api-icon icon-detail\" title=\"详情\"></i\n ></span>\n <span @click=\"onEdit(row)\" class=\"action-btn detail\"\n ><i class=\"api-icon icon-edit\" title=\"修改\"></i\n ></span>\n <u-confirm\n title=\"删除项目\"\n @on-ok=\"onDelete(row)\"\n message=\"项目内所有接口将被一并删除, 是否确认执行?\"\n >\n <span class=\"action-btn delete\"\n ><i\n class=\"api-icon icon-delete\"\n title=\"删除\"\n ></i\n ></span>\n </u-confirm>\n </template>\n </i-table>\n </section>\n </main>\n </main>\n <u-add-modal :visiable.sync=\"showAddModal\" :data=\"current\">\n <footer slot=\"footer\">\n <i-button @click=\"showAddModal = false\">取消</i-button>\n <i-button type=\"primary\" class=\"diy-btn-primary \" @click=\"onSave\"\n >确定</i-button\n >\n </footer>\n </u-add-modal>\n <i-spin fix v-show=\"loading\">\n <i class=\"spin-icon-load ivu-icon\"></i>\n </i-spin>\n</article>\n"
4091
4683
 
4092
4684
  /***/ }),
4093
4685
 
@@ -4101,7 +4693,7 @@ module.exports = "<article class=\"project-list\">\r\n <header>\r\n <i
4101
4693
  /***/ "d30a":
4102
4694
  /***/ (function(module, exports) {
4103
4695
 
4104
- module.exports = "<div class=\"u-selector-tree-node\" @click=\"onClickNode\">\r\n <i-icon v-if=\"!data.children\" type=\"ios-bookmark-outline\" />\r\n <template v-else>\r\n<!-- <i-->\r\n<!-- class=\"iconfont\"-->\r\n<!-- :class=\"data.expand? 'icon-expand': 'icon-unexpand'\"-->\r\n<!-- ></i>-->\r\n <i class=\"iconfont icon-bumenkaohe\"></i>\r\n </template>\r\n <span>{{data.title}}</span>\r\n</div>\r\n"
4696
+ module.exports = "<div class=\"u-selector-tree-node\" @click=\"onClickNode\">\n <i-icon v-if=\"!data.children\" type=\"ios-bookmark-outline\" />\n <template v-else>\n<!-- <i-->\n<!-- class=\"iconfont\"-->\n<!-- :class=\"data.expand? 'icon-expand': 'icon-unexpand'\"-->\n<!-- ></i>-->\n <i class=\"iconfont icon-bumenkaohe\"></i>\n </template>\n <span>{{data.title}}</span>\n</div>\n"
4105
4697
 
4106
4698
  /***/ }),
4107
4699
 
@@ -5173,6 +5765,55 @@ var TreeDataUtil = /** @class */function () {
5173
5765
  });
5174
5766
  return arr;
5175
5767
  };
5768
+ // 处理公共树结构
5769
+ TreeDataUtil.handlerTreeData2 = function (list, titleName, detailName, detailTitleName, filterEmpty, parentId, parentName) {
5770
+ if (list === void 0) {
5771
+ list = [];
5772
+ }
5773
+ if (detailName === void 0) {
5774
+ detailName = "";
5775
+ }
5776
+ if (detailTitleName === void 0) {
5777
+ detailTitleName = titleName;
5778
+ }
5779
+ if (filterEmpty === void 0) {
5780
+ filterEmpty = false;
5781
+ }
5782
+ if (parentId === void 0) {
5783
+ parentId = "";
5784
+ }
5785
+ if (parentName === void 0) {
5786
+ parentName = "";
5787
+ }
5788
+ var arr = [];
5789
+ list && list.forEach(function (v) {
5790
+ v.title = v[titleName];
5791
+ v.checked = false;
5792
+ v.selected = false;
5793
+ v.indeterminate = false;
5794
+ v.expand = false;
5795
+ v.parentId = v.parentId || parentId;
5796
+ v.parentName = v.parentName || parentName;
5797
+ v.children = TreeDataUtil.handlerTreeData2(v.children, titleName, detailName, detailTitleName, false, v.id, v.title);
5798
+ if (detailName) {
5799
+ var tmp = v[detailName];
5800
+ if (tmp) {
5801
+ tmp = tmp.map(function (item) {
5802
+ item.title = item[detailTitleName];
5803
+ item.checked = false;
5804
+ item.selected = false;
5805
+ item.indeterminate = false;
5806
+ item.parentId = v.id;
5807
+ item.parentName = v.title;
5808
+ return item;
5809
+ });
5810
+ v.children = (v.children || []).concat(tmp);
5811
+ }
5812
+ }
5813
+ if (!filterEmpty || v.children.length) arr.push(v);
5814
+ });
5815
+ return arr;
5816
+ };
5176
5817
  // 查找当前目录节点的完整路径
5177
5818
  TreeDataUtil.treeNodeDirectory = function (treeList, id) {
5178
5819
  if (treeList === void 0) {
@@ -9121,6 +9762,451 @@ var service_ProjectService = /** @class */function (_super) {
9121
9762
  return ProjectService;
9122
9763
  }(common_service);
9123
9764
  /* harmony default export */ var project_list_service = (service_ProjectService);
9765
+ // EXTERNAL MODULE: external "crypto-js"
9766
+ var external_crypto_js_ = __webpack_require__("a2c5");
9767
+ var external_crypto_js_default = /*#__PURE__*/__webpack_require__.n(external_crypto_js_);
9768
+
9769
+ // CONCATENATED MODULE: ./src/application/data-type-of.ts
9770
+ /* eslint-disable @typescript-eslint/no-explicit-any */
9771
+ /**
9772
+ * 判断数据类型
9773
+ * @param data - 数据
9774
+ * @returns 数据类型
9775
+ * @public
9776
+ */
9777
+ function dataTypeOf(data) {
9778
+ if (data instanceof Element) {
9779
+ return 'element';
9780
+ }
9781
+ return Object.prototype.toString.call(data).slice(8, -1).toLowerCase();
9782
+ }
9783
+ // CONCATENATED MODULE: ./src/application/url.ts
9784
+ /**
9785
+ * 清除 url 中重复的斜杠
9786
+ * @param url - 链接地址
9787
+ * @returns 链接地址
9788
+ * @public
9789
+ */
9790
+ function cleanUrl(url) {
9791
+ return url.replace(/([^:]|^)\/{2,}/g, '$1/');
9792
+ }
9793
+ // EXTERNAL MODULE: ./node_modules/.pnpm/core-js@3.35.0/node_modules/core-js/modules/es.typed-array.at.js
9794
+ var es_typed_array_at = __webpack_require__("2597");
9795
+
9796
+ // EXTERNAL MODULE: ./node_modules/.pnpm/core-js@3.35.0/node_modules/core-js/modules/es.typed-array.find-last.js
9797
+ var es_typed_array_find_last = __webpack_require__("e459");
9798
+
9799
+ // EXTERNAL MODULE: ./node_modules/.pnpm/core-js@3.35.0/node_modules/core-js/modules/es.typed-array.find-last-index.js
9800
+ var es_typed_array_find_last_index = __webpack_require__("eab2");
9801
+
9802
+ // EXTERNAL MODULE: ./node_modules/.pnpm/core-js@3.35.0/node_modules/core-js/modules/es.typed-array.set.js
9803
+ var es_typed_array_set = __webpack_require__("6bf0");
9804
+
9805
+ // EXTERNAL MODULE: ./node_modules/.pnpm/core-js@3.35.0/node_modules/core-js/modules/es.typed-array.to-reversed.js
9806
+ var es_typed_array_to_reversed = __webpack_require__("46df");
9807
+
9808
+ // EXTERNAL MODULE: ./node_modules/.pnpm/core-js@3.35.0/node_modules/core-js/modules/es.typed-array.to-sorted.js
9809
+ var es_typed_array_to_sorted = __webpack_require__("e40c");
9810
+
9811
+ // EXTERNAL MODULE: ./node_modules/.pnpm/core-js@3.35.0/node_modules/core-js/modules/es.typed-array.with.js
9812
+ var es_typed_array_with = __webpack_require__("39d5");
9813
+
9814
+ // CONCATENATED MODULE: ./src/common/utils/random.ts
9815
+
9816
+
9817
+
9818
+
9819
+
9820
+
9821
+
9822
+ var RandomUtil = /** @class */function () {
9823
+ function RandomUtil() {}
9824
+ /**
9825
+ * 等价于Math.random()
9826
+ * @returns
9827
+ */
9828
+ RandomUtil.prototype.random = function () {
9829
+ return window.crypto.getRandomValues(new Uint8Array(1))[0] * 0.001;
9830
+ };
9831
+ /**
9832
+ * 随机生成len长度的字符串,比如生成16位随机字符串:randomStr(16) 得到"bb2a6d2fe39bb7ee"
9833
+ * @param len
9834
+ */
9835
+ RandomUtil.prototype.randomStr = function (len) {
9836
+ var byteLength = Math.ceil(len / 2); // 因为一个字节可以表示两个十六进制字符
9837
+ var randomBytes = new Uint8Array(byteLength);
9838
+ window.crypto.getRandomValues(randomBytes);
9839
+ var hexArray = Array.from(randomBytes).map(function (b) {
9840
+ return b.toString(16).padStart(2, "0");
9841
+ });
9842
+ var hexString = hexArray.join("").substr(0, len);
9843
+ return hexString;
9844
+ };
9845
+ /**
9846
+ * 随机生成len长度的纯数字字符串,比如randomNumberStr(16)得到 "1842442170233672"
9847
+ * @param len
9848
+ */
9849
+ RandomUtil.prototype.randomNumberStr = function (len) {
9850
+ // 计算需要生成的字节数
9851
+ var byteLength = Math.ceil(len / 2);
9852
+ // 创建一个 Uint8Array 用于存储随机字节
9853
+ var randomBytes = new Uint8Array(byteLength);
9854
+ // 使用 window.crypto.getRandomValues 填充数组
9855
+ window.crypto.getRandomValues(randomBytes);
9856
+ // 将 Uint8Array 转换为一个数字字符串
9857
+ var randomNumber = "";
9858
+ for (var i = 0; i < byteLength; i++) {
9859
+ randomNumber += randomBytes[i].toString().padStart(2, "0");
9860
+ }
9861
+ // 截取指定长度的字符串
9862
+ return randomNumber.slice(0, len);
9863
+ };
9864
+ return RandomUtil;
9865
+ }();
9866
+ var randomUtil = new RandomUtil();
9867
+ /* harmony default export */ var random = (randomUtil);
9868
+ // CONCATENATED MODULE: ./src/application/signature.ts
9869
+
9870
+
9871
+
9872
+
9873
+
9874
+
9875
+
9876
+
9877
+
9878
+
9879
+ function isNil(value) {
9880
+ return value === null || value === undefined;
9881
+ }
9882
+ /**
9883
+ * 递归合并对象
9884
+ * @param target - 目标对象
9885
+ * @param sources - 源对象
9886
+ * @returns 合并后的对象
9887
+ */
9888
+ function merge(target) {
9889
+ var _a, _b;
9890
+ var sources = [];
9891
+ for (var _i = 1; _i < arguments.length; _i++) {
9892
+ sources[_i - 1] = arguments[_i];
9893
+ }
9894
+ if (!sources.length) return target;
9895
+ var source = sources.shift();
9896
+ if (isObject(target) && isObject(source)) {
9897
+ for (var key in source) {
9898
+ if (isObject(source[key])) {
9899
+ if (!target[key]) Object.assign(target, (_a = {}, _a[key] = {}, _a));
9900
+ merge(target[key], source[key]);
9901
+ } else {
9902
+ Object.assign(target, (_b = {}, _b[key] = source[key], _b));
9903
+ }
9904
+ }
9905
+ }
9906
+ return merge.apply(void 0, __spreadArray([target], sources, false));
9907
+ }
9908
+ function isObject(item) {
9909
+ return item && typeof item === "object" && !Array.isArray(item);
9910
+ }
9911
+ /**
9912
+ * 将对象转换为查询字符串
9913
+ * @param obj - 要转换的对象
9914
+ * @returns 查询字符串
9915
+ */
9916
+ function qsStringify(obj) {
9917
+ var params = new URLSearchParams();
9918
+ for (var key in obj) {
9919
+ if (obj.hasOwnProperty(key)) {
9920
+ params.append(key, obj[key]);
9921
+ }
9922
+ }
9923
+ return params.toString();
9924
+ }
9925
+ /**
9926
+ * 将查询字符串解析为对象
9927
+ * @param queryString - 要解析的查询字符串
9928
+ * @returns 解析后的对象
9929
+ */
9930
+ function qsParse(queryString) {
9931
+ var params = new URLSearchParams(queryString);
9932
+ var parsedParams = {};
9933
+ params.forEach(function (value, key) {
9934
+ parsedParams[key] = value;
9935
+ });
9936
+ return parsedParams;
9937
+ }
9938
+ /**
9939
+ * Signature 请求签名
9940
+ * @public
9941
+ */
9942
+ var signature_Signature = /** @class */function () {
9943
+ function Signature(appIdCode) {
9944
+ this._appIdCode = appIdCode;
9945
+ this.noncePrefix = this.generateRandomString();
9946
+ }
9947
+ Object.defineProperty(Signature.prototype, "appIdCode", {
9948
+ get: function () {
9949
+ return this._appIdCode;
9950
+ },
9951
+ enumerable: false,
9952
+ configurable: true
9953
+ });
9954
+ /**
9955
+ * 生成随机数
9956
+ * @returns
9957
+ */
9958
+ Signature.prototype.generateRandomString = function () {
9959
+ return random.randomStr(8);
9960
+ };
9961
+ /**
9962
+ * 生成签名参数
9963
+ * @returns
9964
+ */
9965
+ Signature.prototype.generateSignatureOption = function () {
9966
+ return {
9967
+ nonce: "".concat(this.noncePrefix, "_").concat(this.generateRandomString()),
9968
+ timestamp: Date.now().toString().substring(0, 10)
9969
+ };
9970
+ };
9971
+ Signature.prototype.stringToUTF8ByteSize = function (str) {
9972
+ var utf8Bytes = new TextEncoder().encode(str);
9973
+ return utf8Bytes.length;
9974
+ };
9975
+ Signature.prototype.isStringOverKB = function (str, size) {
9976
+ var byteSize = this.stringToUTF8ByteSize(str);
9977
+ return byteSize > size * 1024;
9978
+ };
9979
+ /**
9980
+ * 去除空参数
9981
+ * @param param - 参数
9982
+ * @returns
9983
+ */
9984
+ Signature.prototype.removeNilValue = function (param) {
9985
+ if (dataTypeOf(param) === "object") {
9986
+ for (var key in param) {
9987
+ if (Object.prototype.hasOwnProperty.call(param, key)) {
9988
+ var value = param[key];
9989
+ var type = dataTypeOf(value);
9990
+ if (type === "object") {
9991
+ this.removeNilValue(value);
9992
+ } else {
9993
+ if (type === "null" || type === "undefined" || type === "function") {
9994
+ delete param[key];
9995
+ }
9996
+ }
9997
+ }
9998
+ }
9999
+ }
10000
+ };
10001
+ /**
10002
+ * 格式化 url value
10003
+ * @param value - 值
10004
+ * @returns
10005
+ */
10006
+ Signature.prototype.formatEncodeValue = function (value) {
10007
+ var type = dataTypeOf(value);
10008
+ var isNilOrFunction = type === "null" || type === "undefined" || type === "function";
10009
+ var val = isNilOrFunction ? "" : value;
10010
+ return encodeURIComponent(val).replace(/%2B/g, "+").replace(/%20/g, "+").replace(/\(/g, "%28").replace(/\)/g, "%29").replace(/'/g, "%27").replace(/!/g, "%21").replace(/~/g, "%7E");
10011
+ };
10012
+ /**
10013
+ * 格式化 url params
10014
+ * @param params - 参数列表
10015
+ * @param key - 参数键
10016
+ * @param param - 参数
10017
+ * @returns
10018
+ */
10019
+ Signature.prototype.formatEncodeParam = function (params, key, param) {
10020
+ var _this = this;
10021
+ var type = dataTypeOf(param);
10022
+ if (type === "object") {
10023
+ var keys = Object.keys(param).sort();
10024
+ if (keys.length === 0) {
10025
+ params.push("".concat(key, "={}"));
10026
+ } else {
10027
+ keys.forEach(function (k) {
10028
+ _this.formatEncodeParam(params, key === "" ? "".concat(k) : "".concat(key, "[").concat(k, "]"), param[k]);
10029
+ });
10030
+ }
10031
+ } else if (type === "array") {
10032
+ if (param.length === 0) {
10033
+ params.push("".concat(key, "=[]"));
10034
+ } else {
10035
+ param.forEach(function (e) {
10036
+ _this.formatEncodeParam(params, "".concat(key, "[]"), e);
10037
+ });
10038
+ }
10039
+ } else {
10040
+ params.push("".concat(key, "=").concat(this.formatEncodeValue(param)));
10041
+ }
10042
+ };
10043
+ /**
10044
+ * 参数排序
10045
+ * @param param - 参数
10046
+ * @returns
10047
+ */
10048
+ Signature.prototype.sortParamByKey = function (param) {
10049
+ if (param === void 0) {
10050
+ param = {};
10051
+ }
10052
+ var params = [];
10053
+ this.formatEncodeParam(params, "", param);
10054
+ return params.join("&");
10055
+ };
10056
+ /**
10057
+ * 签名加密
10058
+ * @param url - 请求地址
10059
+ * @returns
10060
+ */
10061
+ Signature.prototype.cryptoHash = function (url) {
10062
+ if (window.commonSetting.signatureEncodeType === "Base64") {
10063
+ return external_crypto_js_default.a.HmacSHA1(url, this._appIdCode.code).toString(external_crypto_js_default.a.enc.Base64);
10064
+ } else {
10065
+ return external_crypto_js_default.a.HmacSHA1(url, this._appIdCode.code).toString(external_crypto_js_default.a.enc.Hex).toUpperCase();
10066
+ }
10067
+ };
10068
+ /**
10069
+ * 获取 url 参数
10070
+ * @param url - 请求地址
10071
+ * @returns
10072
+ */
10073
+ Signature.prototype.urlSearchParams = function (url) {
10074
+ var _a;
10075
+ if (url && url.indexOf("?") > -1) {
10076
+ return qsParse((_a = url.split("?").pop()) !== null && _a !== void 0 ? _a : "");
10077
+ }
10078
+ return {};
10079
+ };
10080
+ /**
10081
+ * 获取签名 url
10082
+ * @param href - 请求地址
10083
+ * @returns 签名 url
10084
+ * @public
10085
+ */
10086
+ Signature.prototype.signatureHref = function (href) {
10087
+ try {
10088
+ // 0. 构造 url
10089
+ var pathname = new URL(href, window.location.origin).pathname;
10090
+ // 1. 获取参数
10091
+ var params = this.urlSearchParams(href);
10092
+ // 2. 生成加密参数
10093
+ var signatureOption = this.generateSignatureOption();
10094
+ // 3. 参数排序
10095
+ merge(params, signatureOption);
10096
+ var paramStr = this.sortParamByKey(params);
10097
+ // 4. 获取 uri
10098
+ var uri = cleanUrl("/".concat(pathname));
10099
+ // 5. 拼接
10100
+ var full = "".concat(uri, "?").concat(paramStr);
10101
+ // 6. 加密
10102
+ var signature_1 = this.cryptoHash(full);
10103
+ // 7. 拼接加密参数
10104
+ href = "".concat(full, "&signature=").concat(signature_1);
10105
+ } catch (_a) {
10106
+ console.error("签名失败,请使用有效的链接", href);
10107
+ }
10108
+ return href;
10109
+ };
10110
+ /**
10111
+ * 获取签名参数
10112
+ * @param config - Axios 请求配置
10113
+ * @returns 签名参数
10114
+ * @public
10115
+ */
10116
+ Signature.prototype.signatureConfig = function (config) {
10117
+ var _a, _b, _c, _d, _e;
10118
+ try {
10119
+ // 获取 method
10120
+ var method = (_a = config.method) === null || _a === void 0 ? void 0 : _a.toUpperCase();
10121
+ var isGet = method === "GET";
10122
+ // 获取 data
10123
+ var rawData = Object(external_vue_["toRaw"])(config.data);
10124
+ var isObjectPayload = rawData !== null && typeof rawData === "object"; // 参考 axios 源码
10125
+ // 获取 contentType
10126
+ var contentType = ((_c = (_b = config.headers) === null || _b === void 0 ? void 0 : _b["Content-Type"]) === null || _c === void 0 ? void 0 : _c.toString()) || "";
10127
+ // 数据类型是否为 formData
10128
+ var isMultipartFormData = contentType.includes("multipart/form-data");
10129
+ // 数据类型是否为 json
10130
+ var isApplicationJson = contentType.includes("application/json");
10131
+ if (!isGet && !contentType && isObjectPayload) {
10132
+ // 若 contentType 为空,且 config.data 为对象,则 axios 会默认添加 application/json header
10133
+ isApplicationJson = true;
10134
+ }
10135
+ // 0. 传入 App-Id,用与服务器识别应用
10136
+ merge(config, {
10137
+ headers: {
10138
+ "App-Id": this._appIdCode.id
10139
+ }
10140
+ });
10141
+ // 1. 获取参数
10142
+ var params = {};
10143
+ // 1.1 取 url 参数
10144
+ var urlParams = this.urlSearchParams(config.url);
10145
+ merge(params, urlParams);
10146
+ // 1.2 取 config.params 参数
10147
+ if (!isNil(config.params)) {
10148
+ var raw = Object(external_vue_["toRaw"])(config.params);
10149
+ // params 内的参数需要去除 null|undefined|function
10150
+ this.removeNilValue(raw);
10151
+ config.params = raw;
10152
+ merge(params, qsParse(qsStringify(raw)));
10153
+ }
10154
+ // 1.3 取 config.data 参数
10155
+ if (!isNil(rawData) && isObjectPayload) {
10156
+ // 非 json 和 formData 需合并参数
10157
+ if (!isMultipartFormData && !isApplicationJson) {
10158
+ merge(params, rawData);
10159
+ }
10160
+ }
10161
+ // 2. 生成加密参数
10162
+ var signatureOption = this.generateSignatureOption();
10163
+ // 3. 参数排序
10164
+ merge(params, signatureOption);
10165
+ var paramStr = this.sortParamByKey(params);
10166
+ // 3.1 数据类型是否为 json 时,将其 stringify 拼接到最后
10167
+ if (isApplicationJson) {
10168
+ var rawDataStr = JSON.stringify(rawData);
10169
+ var isOver128KB = this.isStringOverKB(rawDataStr, 128);
10170
+ if (!isOver128KB) {
10171
+ if (isObjectPayload) {
10172
+ paramStr += this.formatEncodeValue(rawDataStr);
10173
+ } else {
10174
+ paramStr += this.formatEncodeValue(rawData);
10175
+ }
10176
+ }
10177
+ }
10178
+ // 4. 获取 uri
10179
+ var path = "";
10180
+ if ((_d = config.url) === null || _d === void 0 ? void 0 : _d.startsWith("http")) {
10181
+ path = config.url;
10182
+ } else if ((_e = config.url) === null || _e === void 0 ? void 0 : _e.startsWith("/")) {
10183
+ path = "".concat(config.baseURL || "").concat(config.url || "");
10184
+ } else {
10185
+ path = "".concat(config.baseURL || "", "/").concat(config.url || "");
10186
+ }
10187
+ var pathname = new URL(path, window.location.origin).pathname;
10188
+ var uri = cleanUrl("/".concat(pathname));
10189
+ // 5. 拼接
10190
+ var full = "".concat(uri, "?").concat(paramStr);
10191
+ // 6. 加密
10192
+ signatureOption.signature = this.cryptoHash(full);
10193
+ // 7. 拼接加密参数
10194
+ config.params = merge({}, config.params, signatureOption);
10195
+ } catch (error) {
10196
+ console.error("签名失败", error);
10197
+ }
10198
+ };
10199
+ return Signature;
10200
+ }();
10201
+
10202
+ /**
10203
+ * 签名密钥
10204
+ */
10205
+ var appIdCode = {
10206
+ id: "dex",
10207
+ code: "bb0a92a340ae4f5d936a9e6b010cb127"
10208
+ };
10209
+ var signature = new signature_Signature(appIdCode);
9124
10210
  // CONCATENATED MODULE: ./src/views/project-list/index.ts
9125
10211
 
9126
10212
 
@@ -9133,6 +10219,7 @@ var service_ProjectService = /** @class */function (_super) {
9133
10219
 
9134
10220
 
9135
10221
 
10222
+
9136
10223
  var project_list_ProjectList = /** @class */function (_super) {
9137
10224
  __extends(ProjectList, _super);
9138
10225
  function ProjectList() {
@@ -9167,7 +10254,7 @@ var project_list_ProjectList = /** @class */function (_super) {
9167
10254
  }
9168
10255
  Object.defineProperty(ProjectList.prototype, "uploadAction", {
9169
10256
  get: function () {
9170
- return commonSetting.baseUrl + "/unity/api/info/import";
10257
+ return signature.signatureHref(commonSetting.baseUrl + "/unity/api/info/import");
9171
10258
  },
9172
10259
  enumerable: false,
9173
10260
  configurable: true
@@ -9278,7 +10365,8 @@ var project_list_ProjectList = /** @class */function (_super) {
9278
10365
  get: function () {
9279
10366
  var token = getToken();
9280
10367
  return {
9281
- Authorization: "Bearer " + token
10368
+ Authorization: "Bearer " + token,
10369
+ "App-Id": signature.appIdCode.id
9282
10370
  };
9283
10371
  },
9284
10372
  enumerable: false,
@@ -13208,6 +14296,7 @@ var tree_ProjectTree = /** @class */function (_super) {
13208
14296
  switch (_a.label) {
13209
14297
  case 0:
13210
14298
  this.group.parentId = this.parent.id;
14299
+ this.group.parentName = this.parent.name;
13211
14300
  this.group.type = "api";
13212
14301
  if (!this.group.name) {
13213
14302
  this.$message.warning("请填写分组名称");
@@ -13269,11 +14358,11 @@ var tree_ProjectTree = /** @class */function (_super) {
13269
14358
  result = _a.sent();
13270
14359
  this.data = (result === null || result === void 0 ? void 0 : result.result) || [];
13271
14360
  data = this.data.$clone();
13272
- TreeDataUtil.handlerTreeData(data, "name");
14361
+ TreeDataUtil.handlerTreeData2(data, "name");
13273
14362
  this.groupTree = data;
13274
14363
  data = this.data.$clone();
13275
14364
  lastRenderData = this.renderData;
13276
- TreeDataUtil.handlerTreeData(this.data, "name", "apis");
14365
+ TreeDataUtil.handlerTreeData2(this.data, "name", "apis");
13277
14366
  if (lastRenderData && lastRenderData.length > 0) {
13278
14367
  this.data.forEach(function (dataItem) {
13279
14368
  lastRenderData.forEach(function (lastDataItem) {
@@ -13354,7 +14443,7 @@ var tree_ProjectTree = /** @class */function (_super) {
13354
14443
  _a.label = 4;
13355
14444
  case 4:
13356
14445
  data = (result === null || result === void 0 ? void 0 : result.result) || [];
13357
- TreeDataUtil.handlerTreeData(data, "name");
14446
+ TreeDataUtil.handlerTreeData2(data, "name");
13358
14447
  this.groupTree = data;
13359
14448
  return [2 /*return*/];
13360
14449
  }
@@ -13866,7 +14955,7 @@ module.exports = Object.hasOwn || function hasOwn(it, key) {
13866
14955
  /***/ "d8b4":
13867
14956
  /***/ (function(module, exports) {
13868
14957
 
13869
- module.exports = "<div class=\"v-parameter-list-container\">\r\n <main>\r\n <div class=\"parameter-table-btns\" v-if=\"isEdit\">\r\n <span class=\"table-btns table-btns-add\" @click=\"onAdd\">\r\n <i class=\"iconfont icon-add\"></i>\r\n <span class=\"table-btns-text\">新增</span>\r\n </span>\r\n <span class=\"table-btns table-btns-delete\" :class=\"selections.length ? '' : 'icon-button-disabled'\" @click=\"onBatchDelete\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n <span class=\"table-btns-text\">批量删除</span>\r\n </span>\r\n </div>\r\n <template v-if=\"data&&data.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"data\" @on-selection-change=\"onSelectionChange\">\r\n <div slot=\"name\" slot-scope=\"{row}\">\r\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.name\">{{row.name}}</i-input>\r\n <span v-else>{{row.name}}</span>\r\n </div>\r\n <div slot=\"type\" slot-scope=\"{row}\">\r\n <i-select class=\"diy-select\" v-if=\"row.isEdit\" v-model=\"row.type\" transfer>\r\n <i-option v-for=\"item in typeList\" :value=\"item.name\" :key=\"item.name\">{{item.text}}</i-option>\r\n </i-select>\r\n <span v-else>{{getTypeText(row.type)}}</span>\r\n </div>\r\n <div slot=\"required\" slot-scope=\"{row}\">\r\n <i-select class=\"diy-select\" v-if=\"row.isEdit\" :value=\"booleanObj[row.required]\" @on-change=\"onChangeRequired($event, row)\" transfer>\r\n <i-option :value=\"0\" key=\"0\">否</i-option>\r\n <i-option :value=\"1\" key=\"1\">是</i-option>\r\n </i-select>\r\n <span v-else>{{row.required ? \"是\" : \"否\"}}</span>\r\n </div>\r\n <div slot=\"defaultValue\" slot-scope=\"{row}\">\r\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.defaultValue\"></i-input>\r\n <span v-else>{{row.defaultValue}}</span>\r\n </div>\r\n <div slot=\"description\" slot-scope=\"{row}\">\r\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.description\"></i-input>\r\n <span v-else>{{row.description}}</span>\r\n </div>\r\n <div v-if=\"isEdit\" class=\"row-actions\" slot=\"actions\" slot-scope=\"{row,index}\">\r\n <div v-if=\"row.isEdit\" class=\"edit-status\">\r\n <i class=\"iconfont icon-ok\" title=\"确认\" @click=\"onConfirm(row, index)\"></i>\r\n <i class=\"iconfont icon-cancel\" title=\"取消\" @click=\"onCancel(index)\"></i>\r\n </div>\r\n <div v-else class=\"read-status\">\r\n <i class=\"iconfont icon-edit\" title=\"编辑\" @click=\"onEdit(row)\"></i>\r\n <i-poptip confirm transfer title=\"确认删除这条数据吗?\" @on-ok=\"onDelete(row, index)\">\r\n <i class=\"iconfont icon-delete\" title=\"删除\"> </i>\r\n </i-poptip>\r\n </div>\r\n </div>\r\n </i-table>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data-wrap\">\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </div>\r\n </template>\r\n </main>\r\n</div>\r\n"
14958
+ module.exports = "<div class=\"v-parameter-list-container\">\n <main>\n <div class=\"parameter-table-btns\" v-if=\"isEdit\">\n <span class=\"table-btns table-btns-add\" @click=\"onAdd\">\n <i class=\"iconfont icon-add\"></i>\n <span class=\"table-btns-text\">新增</span>\n </span>\n <span class=\"table-btns table-btns-delete\" :class=\"selections.length ? '' : 'icon-button-disabled'\" @click=\"onBatchDelete\">\n <i class=\"iconfont icon-delete\"></i>\n <span class=\"table-btns-text\">批量删除</span>\n </span>\n </div>\n <template v-if=\"data&&data.length\">\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"data\" @on-selection-change=\"onSelectionChange\">\n <div slot=\"name\" slot-scope=\"{row}\">\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.name\">{{row.name}}</i-input>\n <span v-else>{{row.name}}</span>\n </div>\n <div slot=\"type\" slot-scope=\"{row}\">\n <i-select class=\"diy-select\" v-if=\"row.isEdit\" v-model=\"row.type\" transfer>\n <i-option v-for=\"item in typeList\" :value=\"item.name\" :key=\"item.name\">{{item.text}}</i-option>\n </i-select>\n <span v-else>{{getTypeText(row.type)}}</span>\n </div>\n <div slot=\"required\" slot-scope=\"{row}\">\n <i-select class=\"diy-select\" v-if=\"row.isEdit\" :value=\"booleanObj[row.required]\" @on-change=\"onChangeRequired($event, row)\" transfer>\n <i-option :value=\"0\" key=\"0\">否</i-option>\n <i-option :value=\"1\" key=\"1\">是</i-option>\n </i-select>\n <span v-else>{{row.required ? \"是\" : \"否\"}}</span>\n </div>\n <div slot=\"defaultValue\" slot-scope=\"{row}\">\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.defaultValue\"></i-input>\n <span v-else>{{row.defaultValue}}</span>\n </div>\n <div slot=\"description\" slot-scope=\"{row}\">\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.description\"></i-input>\n <span v-else>{{row.description}}</span>\n </div>\n <div v-if=\"isEdit\" class=\"row-actions\" slot=\"actions\" slot-scope=\"{row,index}\">\n <div v-if=\"row.isEdit\" class=\"edit-status\">\n <i class=\"iconfont icon-ok\" title=\"确认\" @click=\"onConfirm(row, index)\"></i>\n <i class=\"iconfont icon-cancel\" title=\"取消\" @click=\"onCancel(index)\"></i>\n </div>\n <div v-else class=\"read-status\">\n <i class=\"iconfont icon-edit\" title=\"编辑\" @click=\"onEdit(row)\"></i>\n <i-poptip confirm transfer title=\"确认删除这条数据吗?\" @on-ok=\"onDelete(row, index)\">\n <i class=\"iconfont icon-delete\" title=\"删除\"> </i>\n </i-poptip>\n </div>\n </div>\n </i-table>\n </template>\n <template v-else>\n <div class=\"table-no-data-wrap\">\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </div>\n </template>\n </main>\n</div>\n"
13870
14959
 
13871
14960
  /***/ }),
13872
14961
 
@@ -13887,7 +14976,7 @@ module.exports = "<!DOCTYPE html>\n<article class=\"v-api-combine-info-wrapper\"
13887
14976
  /***/ "d953":
13888
14977
  /***/ (function(module, exports) {
13889
14978
 
13890
- module.exports = "<div class=\"interface-tree-node\">\r\n <span v-if=\"isLeaf && data.method\" class=\"method\" :class=\"data.method.toLowerCase() \" @click=\"onClick\"\r\n >{{data.method}}</span\r\n >\r\n <i :class=\"isLeaf ? 'iconfont icon-API' : 'iconfont icon-APIfenzu2'\" @click=\"onClick\"></i>\r\n <span class=\"interface-tree-node-name\" :title=\"data.title\" @click=\"onClick\">{{data.title}}</span>\r\n <i-dropdown\r\n transfer\r\n stop-propagation\r\n class=\"diy-dropdown\"\r\n transfer-class-name=\"diy-transfer-dropdown\"\r\n @on-click=\"onClickAction\"\r\n >\r\n <i class=\"api-icon icon-more\"></i>\r\n <i-dropdown-menu slot=\"list\">\r\n <template v-if=\"isLeaf\">\r\n <i-dropdown-item name=\"edit-interface\">修改</i-dropdown-item>\r\n <i-dropdown-item name=\"delete-interface\">删除</i-dropdown-item>\r\n <i-dropdown-item name=\"copy-interface\">复制</i-dropdown-item>\r\n </template>\r\n <template v-else>\r\n <i-dropdown-item name=\"edit-group\">修改分组</i-dropdown-item>\r\n <i-dropdown-item name=\"add-interface\">新增接口</i-dropdown-item>\r\n <i-dropdown-item name=\"edit-attribute\">批量修改属性</i-dropdown-item>\r\n <u-confirm\r\n title=\"删除分组\"\r\n @on-ok=\"onDelete('delete-group')\"\r\n message=\"分组内的接口一并删除, 是否确认执行?\"\r\n >\r\n <i-dropdown-item>删除</i-dropdown-item>\r\n </u-confirm>\r\n </template>\r\n </i-dropdown-menu>\r\n </i-dropdown>\r\n</div>\r\n"
14979
+ module.exports = "<div class=\"interface-tree-node\">\n <span v-if=\"isLeaf && data.method\" class=\"method\" :class=\"data.method.toLowerCase() \" @click=\"onClick\"\n >{{data.method}}</span\n >\n <i :class=\"isLeaf ? 'iconfont icon-API' : 'iconfont icon-APIfenzu2'\" @click=\"onClick\"></i>\n <span class=\"interface-tree-node-name\" :title=\"data.title\" @click=\"onClick\">{{data.title}}</span>\n <i-dropdown\n transfer\n stop-propagation\n class=\"diy-dropdown\"\n transfer-class-name=\"diy-transfer-dropdown\"\n @on-click=\"onClickAction\"\n >\n <i class=\"api-icon icon-more\"></i>\n <i-dropdown-menu slot=\"list\">\n <template v-if=\"isLeaf\">\n <i-dropdown-item name=\"edit-interface\">修改</i-dropdown-item>\n <i-dropdown-item name=\"delete-interface\">删除</i-dropdown-item>\n <i-dropdown-item name=\"copy-interface\">复制</i-dropdown-item>\n </template>\n <template v-else>\n <i-dropdown-item name=\"edit-group\">修改分组</i-dropdown-item>\n <i-dropdown-item name=\"add-interface\">新增接口</i-dropdown-item>\n <i-dropdown-item name=\"edit-attribute\">批量修改属性</i-dropdown-item>\n <u-confirm\n title=\"删除分组\"\n @on-ok=\"onDelete('delete-group')\"\n message=\"分组内的接口一并删除, 是否确认执行?\"\n >\n <i-dropdown-item>删除</i-dropdown-item>\n </u-confirm>\n </template>\n </i-dropdown-menu>\n </i-dropdown>\n</div>\n"
13891
14980
 
13892
14981
  /***/ }),
13893
14982
 
@@ -14030,6 +15119,53 @@ module.exports = [
14030
15119
  ];
14031
15120
 
14032
15121
 
15122
+ /***/ }),
15123
+
15124
+ /***/ "e40c":
15125
+ /***/ (function(module, exports, __webpack_require__) {
15126
+
15127
+ "use strict";
15128
+
15129
+ var ArrayBufferViewCore = __webpack_require__("6a10");
15130
+ var uncurryThis = __webpack_require__("720f");
15131
+ var aCallable = __webpack_require__("7801");
15132
+ var arrayFromConstructorAndList = __webpack_require__("00fe");
15133
+
15134
+ var aTypedArray = ArrayBufferViewCore.aTypedArray;
15135
+ var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;
15136
+ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
15137
+ var sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort);
15138
+
15139
+ // `%TypedArray%.prototype.toSorted` method
15140
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.tosorted
15141
+ exportTypedArrayMethod('toSorted', function toSorted(compareFn) {
15142
+ if (compareFn !== undefined) aCallable(compareFn);
15143
+ var O = aTypedArray(this);
15144
+ var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O);
15145
+ return sort(A, compareFn);
15146
+ });
15147
+
15148
+
15149
+ /***/ }),
15150
+
15151
+ /***/ "e459":
15152
+ /***/ (function(module, exports, __webpack_require__) {
15153
+
15154
+ "use strict";
15155
+
15156
+ var ArrayBufferViewCore = __webpack_require__("6a10");
15157
+ var $findLast = __webpack_require__("3bdc").findLast;
15158
+
15159
+ var aTypedArray = ArrayBufferViewCore.aTypedArray;
15160
+ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
15161
+
15162
+ // `%TypedArray%.prototype.findLast` method
15163
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlast
15164
+ exportTypedArrayMethod('findLast', function findLast(predicate /* , thisArg */) {
15165
+ return $findLast(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
15166
+ });
15167
+
15168
+
14033
15169
  /***/ }),
14034
15170
 
14035
15171
  /***/ "e614":
@@ -14060,7 +15196,7 @@ module.exports = function (argument) {
14060
15196
  /***/ "e718":
14061
15197
  /***/ (function(module, exports) {
14062
15198
 
14063
- module.exports = "<section class=\"v-base-editor-container\">\r\n <u-editor @inited=\"onEditorInited\" :model.sync=\"script\" lang=\"groovy\"></u-editor>\r\n</section>\r\n"
15199
+ module.exports = "<section class=\"v-base-editor-container\">\n <u-editor @inited=\"onEditorInited\" :model.sync=\"script\" lang=\"groovy\"></u-editor>\n</section>\n"
14064
15200
 
14065
15201
  /***/ }),
14066
15202
 
@@ -14085,6 +15221,44 @@ module.exports = !fails(function () {
14085
15221
 
14086
15222
  // extracted by mini-css-extract-plugin
14087
15223
 
15224
+ /***/ }),
15225
+
15226
+ /***/ "eab2":
15227
+ /***/ (function(module, exports, __webpack_require__) {
15228
+
15229
+ "use strict";
15230
+
15231
+ var ArrayBufferViewCore = __webpack_require__("6a10");
15232
+ var $findLastIndex = __webpack_require__("3bdc").findLastIndex;
15233
+
15234
+ var aTypedArray = ArrayBufferViewCore.aTypedArray;
15235
+ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
15236
+
15237
+ // `%TypedArray%.prototype.findLastIndex` method
15238
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlastindex
15239
+ exportTypedArrayMethod('findLastIndex', function findLastIndex(predicate /* , thisArg */) {
15240
+ return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
15241
+ });
15242
+
15243
+
15244
+ /***/ }),
15245
+
15246
+ /***/ "ead7":
15247
+ /***/ (function(module, exports, __webpack_require__) {
15248
+
15249
+ "use strict";
15250
+
15251
+ var toIntegerOrInfinity = __webpack_require__("9b7f");
15252
+
15253
+ var $RangeError = RangeError;
15254
+
15255
+ module.exports = function (it) {
15256
+ var result = toIntegerOrInfinity(it);
15257
+ if (result < 0) throw new $RangeError("The argument can't be less than 0");
15258
+ return result;
15259
+ };
15260
+
15261
+
14088
15262
  /***/ }),
14089
15263
 
14090
15264
  /***/ "eaed":
@@ -14157,7 +15331,7 @@ module.exports = NATIVE_SYMBOL
14157
15331
  /***/ "ef27":
14158
15332
  /***/ (function(module, exports) {
14159
15333
 
14160
- module.exports = "<article class=\"project-card\" @click=\"onDetail\">\r\n <header>{{data.name}}</header>\r\n <i-dropdown transfer transfer-class-name=\"api-project-oprate\" class=\"project-card-i-dropdown\" @on-click=\"onClick\">\r\n <i-icon type=\"ios-more\" />\r\n <i-dropdown-menu slot=\"list\">\r\n <i-dropdown-item :name=\"'export'\">\r\n <i\r\n class=\"api-icon icon-export project-card-i-dropdown-item-icon\"\r\n title=\"导出此项目\"\r\n @click.stop=\"onExport\"\r\n ></i>\r\n 导出此项目\r\n </i-dropdown-item>\r\n </i-dropdown-menu>\r\n </i-dropdown>\r\n <main></main>\r\n <footer>\r\n <div @click.stop=\"onEdit\">修改</div>\r\n <u-confirm\r\n class=\"delete\"\r\n title=\"删除项目\"\r\n message=\"项目内所有接口将被一并删除, 是否确认执行?\"\r\n @on-ok=\"onDelete\"\r\n >\r\n <span>删除</span>\r\n </u-confirm>\r\n </footer>\r\n</article>\r\n"
15334
+ module.exports = "<article class=\"project-card\" @click=\"onDetail\">\n <header>{{data.name}}</header>\n <i-dropdown transfer transfer-class-name=\"api-project-oprate\" class=\"project-card-i-dropdown\" @on-click=\"onClick\">\n <i-icon type=\"ios-more\" />\n <i-dropdown-menu slot=\"list\">\n <i-dropdown-item :name=\"'export'\">\n <i\n class=\"api-icon icon-export project-card-i-dropdown-item-icon\"\n title=\"导出此项目\"\n @click.stop=\"onExport\"\n ></i>\n 导出此项目\n </i-dropdown-item>\n </i-dropdown-menu>\n </i-dropdown>\n <main></main>\n <footer>\n <div @click.stop=\"onEdit\">修改</div>\n <u-confirm\n class=\"delete\"\n title=\"删除项目\"\n message=\"项目内所有接口将被一并删除, 是否确认执行?\"\n @on-ok=\"onDelete\"\n >\n <span>删除</span>\n </u-confirm>\n </footer>\n</article>\n"
14161
15335
 
14162
15336
  /***/ }),
14163
15337
 
@@ -14181,14 +15355,25 @@ module.exports = function (bitmap, value) {
14181
15355
  /***/ "f40e":
14182
15356
  /***/ (function(module, exports) {
14183
15357
 
14184
- module.exports = "<article class=\"interface-settings\" :class=\"{'script-max': scriptView}\">\r\n <header v-show=\"!scriptView\">\r\n<!-- <i-input class=\"diy-input\" v-model=\"interfaceModel.info.url\">-->\r\n<!-- <i-select transfer slot=\"prepend\" class=\"diy-select\" v-model=\"interfaceModel.info.method\">-->\r\n<!-- <i-option v-for=\"item in typeList\" :key=\"item.value\" :value=\"item.value\">{{item.text}}</i-option>-->\r\n<!-- </i-select>-->\r\n<!-- </i-input>-->\r\n <i-select class=\"diy-select method-select\" v-model=\"interfaceModel.info.method\">\r\n <i-option v-for=\"item in typeList\" :key=\"item.value\" :value=\"item.value\">{{item.text}}</i-option>\r\n </i-select>\r\n <i-select ref=\"addEnvParamSelect\" class=\"diy-select env-select\" v-model=\"interfaceModel.info.envId\" placeholder=\"请选择环境变量\" clearable>\r\n <i-option v-for=\"item in paramList\" :key=\"item.id\" :value=\"item.id\">{{item.name + \":\" + item.value}}</i-option>\r\n <i-option class=\"add-security-item\" value=\"''\">\r\n <div class=\"add-security-item-content\" @click.stop=\"onAddEnvParam\">\r\n <i class=\"api-icon icon-add\"></i>\r\n <span>新增环境变量</span>\r\n </div>\r\n </i-option>\r\n </i-select>\r\n <i-input class=\"diy-input url-input\" v-model=\"interfaceModel.info.url\"></i-input>\r\n\r\n <i-button type=\"primary\" class=\"diy-btn-primary submit-btn\" @click=\"onRun\">发送</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\" ghost>保存</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary his-btn\" @click=\"onVersion\" ghost>查看历史版本</i-button>\r\n <i class=\"export iconfont icon-xiazai\" title=\"导出\" type=\"md-download\" @click=\"onExport\"></i>\r\n <i-upload action=\"\" :before-upload=\"onImport\" :show-upload-list=\"false\">\r\n <i class=\"import iconfont icon-shangchuan\" title=\"导入\" type=\"md-cloud-upload\"></i>\r\n </i-upload>\r\n </header>\r\n <main :class=\"{'transverse': !lengthwise}\">\r\n <section class=\"request\">\r\n <div v-show=\"!scriptView\" class=\"request-bar\">\r\n <div\r\n class=\"tag\"\r\n :class=\"{'active': currentRequestSettingType.name.indexOf(item.name) === 0}\"\r\n v-for=\"(item,index) in requertSettingTypeList\"\r\n :key=\"item.name\"\r\n @click=\"onClickRequertSettingTpye(item)\"\r\n >\r\n <span>{{item.title}}</span>\r\n </div>\r\n </div>\r\n <div class=\"request-content\">\r\n <component\r\n :is=\"currentRequestSettingType.name\"\r\n :lengthwise=\"lengthwise\"\r\n :interface-model=\"interfaceModel\"\r\n :response=\"response\"\r\n :key=\"interfaceModel.info.id + currentRequestSettingType.name\"\r\n :projectID=\"projectId\"\r\n :currentSecurityID=\"currentId\"\r\n :errorLine=\"!originId || originId === interfaceModel.info.id ? errorLine : []\"\r\n :formData=\"formData\"\r\n @on-current-id=\"onCurrentId\"\r\n @on-script-run=\"onScriptRun\"\r\n @on-script-save=\"onSave\"\r\n @on-script-max=\"onScriptMax\"\r\n ></component>\r\n </div>\r\n </section>\r\n <response :key=\"interfaceModel.info.id + 'response'\" :lengthwise=\"lengthwise\" :response=\"response\"></response>\r\n </main>\r\n <i-spin fix v-show=\"loading\">\r\n <i class=\"spin-icon-load ivu-icon\"></i>\r\n </i-spin>\r\n <u-environment-modal :visiable.sync=\"showEnvironmentModal\" :projectId=\"projectId\" @on-refresh=\"getEnvironmentParamList\" :isAdd=\"true\"></u-environment-modal>\r\n <i-modal class=\"diy-modal edit-import-name\" v-model=\"showImportModal\" :mask-closable=\"false\">\r\n <p slot=\"header\">编辑名称</p>\r\n <i-form ref=\"import\" :model=\"apiForm\" :rules=\"rules\">\r\n <i-form-item label=\"环境变量:\" prop=\"envName\">\r\n <i-input v-model=\"apiForm.envName\"></i-input>\r\n </i-form-item>\r\n\r\n <i-form-item label=\"授权:\" prop=\"authName\">\r\n <i-input v-model=\"apiForm.authName\"></i-input>\r\n </i-form-item>\r\n </i-form>\r\n <div class=\"handle-btn\" slot=\"footer\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click.stop=\"saveImportData(importObj)\">确定</i-button>\r\n <i-button class=\"diy-btn-text\" @click.stop=\"cancleModify\">取消</i-button>\r\n </div>\r\n </i-modal>\r\n</article>\r\n"
15358
+ module.exports = "<article class=\"interface-settings\" :class=\"{'script-max': scriptView}\">\n <header v-show=\"!scriptView\">\n<!-- <i-input class=\"diy-input\" v-model=\"interfaceModel.info.url\">-->\n<!-- <i-select transfer slot=\"prepend\" class=\"diy-select\" v-model=\"interfaceModel.info.method\">-->\n<!-- <i-option v-for=\"item in typeList\" :key=\"item.value\" :value=\"item.value\">{{item.text}}</i-option>-->\n<!-- </i-select>-->\n<!-- </i-input>-->\n <i-select class=\"diy-select method-select\" v-model=\"interfaceModel.info.method\">\n <i-option v-for=\"item in typeList\" :key=\"item.value\" :value=\"item.value\">{{item.text}}</i-option>\n </i-select>\n <i-select ref=\"addEnvParamSelect\" class=\"diy-select env-select\" v-model=\"interfaceModel.info.envId\" placeholder=\"请选择环境变量\" clearable>\n <i-option v-for=\"item in paramList\" :key=\"item.id\" :value=\"item.id\">{{item.name + \":\" + item.value}}</i-option>\n <i-option class=\"add-security-item\" value=\"''\">\n <div class=\"add-security-item-content\" @click.stop=\"onAddEnvParam\">\n <i class=\"api-icon icon-add\"></i>\n <span>新增环境变量</span>\n </div>\n </i-option>\n </i-select>\n <i-input class=\"diy-input url-input\" v-model=\"interfaceModel.info.url\"></i-input>\n\n <i-button type=\"primary\" class=\"diy-btn-primary submit-btn\" @click=\"onRun\">发送</i-button>\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\" ghost>保存</i-button>\n <i-button type=\"primary\" class=\"diy-btn-primary his-btn\" @click=\"onVersion\" ghost>查看历史版本</i-button>\n <i class=\"export iconfont icon-xiazai\" title=\"导出\" type=\"md-download\" @click=\"onExport\"></i>\n <i-upload action=\"\" :before-upload=\"onImport\" :show-upload-list=\"false\">\n <i class=\"import iconfont icon-shangchuan\" title=\"导入\" type=\"md-cloud-upload\"></i>\n </i-upload>\n </header>\n <main :class=\"{'transverse': !lengthwise}\">\n <section class=\"request\">\n <div v-show=\"!scriptView\" class=\"request-bar\">\n <div\n class=\"tag\"\n :class=\"{'active': currentRequestSettingType.name.indexOf(item.name) === 0}\"\n v-for=\"(item,index) in requertSettingTypeList\"\n :key=\"item.name\"\n @click=\"onClickRequertSettingTpye(item)\"\n >\n <span>{{item.title}}</span>\n </div>\n </div>\n <div class=\"request-content\">\n <component\n :is=\"currentRequestSettingType.name\"\n :lengthwise=\"lengthwise\"\n :interface-model=\"interfaceModel\"\n :response=\"response\"\n :key=\"interfaceModel.info.id + currentRequestSettingType.name\"\n :projectID=\"projectId\"\n :currentSecurityID=\"currentId\"\n :errorLine=\"!originId || originId === interfaceModel.info.id ? errorLine : []\"\n :formData=\"formData\"\n @on-current-id=\"onCurrentId\"\n @on-script-run=\"onScriptRun\"\n @on-script-save=\"onSave\"\n @on-script-max=\"onScriptMax\"\n ></component>\n </div>\n </section>\n <response :key=\"interfaceModel.info.id + 'response'\" :lengthwise=\"lengthwise\" :response=\"response\"></response>\n </main>\n <i-spin fix v-show=\"loading\">\n <i class=\"spin-icon-load ivu-icon\"></i>\n </i-spin>\n <u-environment-modal :visiable.sync=\"showEnvironmentModal\" :projectId=\"projectId\" @on-refresh=\"getEnvironmentParamList\" :isAdd=\"true\"></u-environment-modal>\n <i-modal class=\"diy-modal edit-import-name\" v-model=\"showImportModal\" :mask-closable=\"false\">\n <p slot=\"header\">编辑名称</p>\n <i-form ref=\"import\" :model=\"apiForm\" :rules=\"rules\">\n <i-form-item label=\"环境变量:\" prop=\"envName\">\n <i-input v-model=\"apiForm.envName\"></i-input>\n </i-form-item>\n\n <i-form-item label=\"授权:\" prop=\"authName\">\n <i-input v-model=\"apiForm.authName\"></i-input>\n </i-form-item>\n </i-form>\n <div class=\"handle-btn\" slot=\"footer\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click.stop=\"saveImportData(importObj)\">确定</i-button>\n <i-button class=\"diy-btn-text\" @click.stop=\"cancleModify\">取消</i-button>\n </div>\n </i-modal>\n</article>\n"
15359
+
15360
+ /***/ }),
15361
+
15362
+ /***/ "f764":
15363
+ /***/ (function(module, exports, __webpack_require__) {
15364
+
15365
+ "use strict";
15366
+
15367
+ // eslint-disable-next-line es/no-typed-arrays -- safe
15368
+ module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';
15369
+
14185
15370
 
14186
15371
  /***/ }),
14187
15372
 
14188
15373
  /***/ "f9a4":
14189
15374
  /***/ (function(module, exports) {
14190
15375
 
14191
- module.exports = "<i-switch :class=\"{ 'mid-style': midState }\" :value=\"showValue\" size=\"large\" :true-value=\"1\" :false-value=\"0\" @on-change=\"onChange\" >\r\n <span slot=\"open\">启用</span>\r\n <span slot=\"close\">禁用</span>\r\n</i-switch>"
15376
+ module.exports = "<i-switch :class=\"{ 'mid-style': midState }\" :value=\"showValue\" size=\"large\" :true-value=\"1\" :false-value=\"0\" @on-change=\"onChange\" >\n <span slot=\"open\">启用</span>\n <span slot=\"close\">禁用</span>\n</i-switch>"
14192
15377
 
14193
15378
  /***/ }),
14194
15379