@egova/egova-api 1.3.36 → 1.3.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -91,7 +91,7 @@ return /******/ (function(modules) { // webpackBootstrap
91
91
  /******/
92
92
  /******/
93
93
  /******/ // Load entry module and return exports
94
- /******/ return __webpack_require__(__webpack_require__.s = "d345");
94
+ /******/ return __webpack_require__(__webpack_require__.s = "cb40");
95
95
  /******/ })
96
96
  /************************************************************************/
97
97
  /******/ ({
@@ -906,7 +906,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__3fb3__;
906
906
  /***/ "40aa":
907
907
  /***/ (function(module, exports) {
908
908
 
909
- module.exports = "<!DOCTYPE html>\n<i-drawer\n width=\"700\"\n draggable\n sticky\n reset-drag-position\n v-model=\"show\"\n class=\"interface-modal diy-modal\"\n transfer\n title=\"已关联流程配置\"\n :mask-closable=\"false\"\n @on-cancel=\"onCancel\"\n>\n <div class=\"drawer-content\">\n <div class=\"header\">\n <i-select v-model=\"proxyName\" :placeholder=\"proxyList?.length ? `已有${proxyList?.length}个代理服务`:'暂无数据'\" @on-select=\"selectProxyName\">\n <i-option v-for=\"item in proxyList\" :value=\"item.id\" :key=\"item.id\"> {{item.name}} </i-option>\n </i-select>\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onAdd\">新增配置</i-button>\n </div>\n\n <template>\n <i-form v-show=\"proxyName || isAdding \" ref=\"configform\" label-position=\"left\" :label-width=\"125\" label-colon :rules=\"rulesValidate\" :model=\"model\">\n <div class=\"form-title\">{{formTitle}}</div>\n <i-form-item v-show=\"isAdding\" label=\"所属分类\" prop=\"categoryId\" class=\"proxy-category-validate\" required>\n <u-tree-selector\n :treeData=\"categoryList\"\n :canChooseFolder=\"true\"\n v-model=\"model.categoryId\"\n @on-select=\"selectCategory\"\n placeholder=\"请选择所属分类\"\n ></u-tree-selector>\n </i-form-item>\n <i-form-item label=\"代理名称\" prop=\"name\" class=\"proxy-name-validate\" required>\n <i-input class=\"diy-input\" v-model=\"model.name\" placeholder=\"请输入代理名称\"></i-input>\n </i-form-item>\n <i-form-item class=\"proxy-name-validate\" prop=\"code\" label=\"接口编码\" required>\n <i-input class=\"diy-input\" v-model=\"model.code\" placeholder=\"请输入接口编码\"></i-input>\n </i-form-item>\n <i-form-item class=\"un-required-item copy-item\" label=\"接口地址\">\n <i-input class=\"diy-input\" disabled :value=\"url\"></i-input>\n <div class=\"set-btn\" @click=\"onCopy(url)\">复制</div>\n </i-form-item>\n <i-form-item label=\"描述\" prop=\"description\" class=\"proxy-description-validate un-required-item\">\n <i-input type=\"textarea\" v-model=\"model.description\" placeholder=\"请输入描述\" :rows=\"2\"></i-input>\n </i-form-item>\n <i-row class=\"retry-wrap\" style=\"padding-top: 8px\">\n <i-col span=\"24\">\n <i-form-item class=\"un-required-item copy-item\">\n <template #label>\n <i-poptip slot=\"label\" trigger=\"hover\" word-wrap transfer>\n <icon style=\"cursor: help; font-size: 0.16rem\" type=\"ios-information-circle-outline\" />\n <div slot=\"content\" style=\"width: 3rem\">\n <span style=\"font-size: 0.14rem\"\n >在右侧勾选日志记录的请求类型。需记录慢接口时,可以设置最小耗时阈值(大于该值将记录日志),不勾选时则不记录。日志表会记录请求头、请求参数和响应体,如果内容较多时建议关闭,请求次数频繁比较占数据库资源。选项【失败】仅记录调用失败的日志</span\n >\n </div>\n </i-poptip>\n <span>记录日志:</span>\n </template>\n <i-checkboxGroup class=\"diy-checkbox\" v-model=\"logSavingEnabledList\">\n <i-checkbox v-for=\"item in loginLevelFlag\" :disabled=\"readonly\" :label=\"item.value\">{{ item.name }}</i-checkbox>\n </i-checkboxGroup>\n <i-form-item class=\"slow-log-threshold\" prop=\"slowLogThreshold\">\n >\n <i-input class=\"diy-input\" type=\"number\" :disabled=\"slowLogThreshold\" v-model=\"model.slowLogThreshold\"> </i-input>\n 毫秒\n </i-form-item>\n </i-form-item>\n </i-col>\n </i-row>\n <template v-if=\"model.logSavingEnabled\">\n <i-row class=\"retry-wrap\">\n <i-col span=\"11\">\n <i-form-item label=\"开启重推\" required>\n <i-select class=\"diy-select\" v-model=\"model.enableRetry\">\n <i-option v-for=\"(item,index) in isRetryList\" :value=\"item.value\" :key=\"index\">{{ item.name }}</i-option>\n </i-select>\n </i-form-item>\n </i-col>\n <i-col span=\"11\">\n <i-form-item class=\"un-required-item\" label=\"重推次数\" prop=\"retryTimes\">\n <tips-table-label class=\"data-type-tips\" slot=\"label\" label-colon labelTitle=\"重推次数\"></tips-table-label>\n <i-input class=\"diy-input\" type=\"number\" :disabled=\"isRetryTimesReadonly\" v-model=\"model.retryTimes\" placeholder=\"请输入重推次数\"></i-input>\n </i-form-item>\n </i-col>\n </i-row>\n <i-row v-show=\"model.enableRetry === 'true' \">\n <i-col span=\"11\">\n <i-form-item class=\"un-required-item status-code\">\n <template #label>\n <i-poptip slot=\"label\" trigger=\"hover\" content=\"当接口状态码和配置项相同时,才触发重推;多个自定义状态码以英文逗号分隔\" word-wrap transfer>\n <icon style=\"cursor: help; font-size: 0.16rem\" type=\"ios-information-circle-outline\" />\n </i-poptip>\n <span>重推接口状态码:</span>\n </template>\n <i-form-item>\n <i-select ref=\"statusCodeSelect\" v-model=\"statusCode\" class=\"diy-select code-select\" @on-change=\"onStatusCodeChange\">\n <i-option v-for=\"item in statusCodeList\" :value=\"item.value\" :key=\"item.value\">{{ item.name }}</i-option>\n </i-select>\n </i-form-item>\n <i-form-item prop=\"retryCode\">\n <i-input\n style=\"min-width: 0.32rem\"\n v-show=\"statusCode === '2'\"\n class=\"diy-input\"\n v-model=\"model.retryCode\"\n placeholder=\"请输入状态码\"\n ></i-input>\n </i-form-item>\n </i-form-item>\n </i-col>\n </i-row>\n </template>\n\n <i-row class=\"retry-wrap\">\n <i-col span=\"11\">\n <i-form-item label=\"需要认证\" class=\"un-required-item copy-item\">\n <i-select class=\"diy-select\" style=\"margin-top: 6px\" v-model=\"model.authFlag\">\n <i-option v-for=\"item in authFlag\" :value=\"item.value\" :key=\"item.value\">{{ item.name }}</i-option>\n </i-select>\n </i-form-item>\n </i-col>\n <i-col span=\"11\">\n <i-form-item class=\"un-required-item copy-item\">\n <template #label>\n <i-poptip slot=\"label\" trigger=\"hover\" content=\"使用用户中心token访问该接口时,将校验登陆是否拥有该资源代码的权限\" word-wrap transfer>\n <icon style=\"cursor: help; font-size: 0.16rem\" type=\"ios-information-circle-outline\" />\n </i-poptip>\n <span>用户中心资源代码:</span>\n </template>\n <i-input\n class=\"diy-input\"\n style=\"margin-top: 6px\"\n v-model=\"model.resourceCode\"\n :disabled=\"!isResourceCodeEnabled\"\n placeholder=\"请输入用户中心资源代码\"\n ></i-input>\n </i-form-item>\n </i-col>\n </i-row>\n <template>\n <i-row class=\"retry-wrap\">\n <i-col span=\"11\">\n <i-form-item label=\"代理类型\">\n <i-input class=\"diy-input\" value=\"外部接口\" disabled></i-input>\n </i-form-item>\n </i-col>\n <i-col span=\"11\">\n <i-form-item label=\"API项目\">\n <i-select disabled class=\"diy-select\" v-model=\"apiModel.projectId\">\n <i-option v-for=\"(item,index) in projectList\" :value=\"item.id\" :key=\"item.id\">{{ item.name }}</i-option>\n </i-select>\n </i-form-item>\n </i-col>\n </i-row>\n <i-form-item label=\"API接口\">\n <u-tree-selector\n readonly\n :treeData=\"apiTree\"\n leaf-name=\"apis\"\n v-model=\"apiModel.typeId\"\n placeholder=\"请选择API接口\"\n @on-select=\"onApiTreeSelect\"\n ></u-tree-selector>\n </i-form-item>\n <i-form-item label=\"接口路径\">\n <i-input class=\"diy-input\" :readonly=\"true\" v-model=\"apiModel.path\" :rows=\"4\"></i-input>\n </i-form-item>\n </template>\n </i-form>\n </template>\n <i-table v-if=\"proxyName || isAdding\" class=\"diy-table\" height=\"200\" :columns=\"apiColumns\" :data=\"apiParamList\"> </i-table>\n <div v-if=\"!proxyName && !isAdding \" class=\"no-data\">暂无数据</div>\n </div>\n <div class=\"footer\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" :loading=\"loading\" @click.stop=\"onSave\">保存</i-button>\n <i-button class=\"diy-btn-default\" @click.stop=\"onCancel\">取消</i-button>\n </div>\n</i-drawer>\n"
909
+ module.exports = "<!DOCTYPE html>\r\n<i-drawer\r\n width=\"700\"\r\n draggable\r\n sticky\r\n reset-drag-position\r\n v-model=\"show\"\r\n class=\"interface-modal diy-modal\"\r\n transfer\r\n title=\"已关联流程配置\"\r\n :mask-closable=\"false\"\r\n @on-cancel=\"onCancel\"\r\n>\r\n <div class=\"drawer-content\">\r\n <div class=\"header\">\r\n <i-select v-model=\"proxyName\" :placeholder=\"proxyList?.length ? `已有${proxyList?.length}个代理服务`:'暂无数据'\" @on-select=\"selectProxyName\">\r\n <i-option v-for=\"item in proxyList\" :value=\"item.id\" :key=\"item.id\"> {{item.name}} </i-option>\r\n </i-select>\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onAdd\">新增配置</i-button>\r\n </div>\r\n\r\n <template>\r\n <i-form v-show=\"proxyName || isAdding \" ref=\"configform\" label-position=\"left\" :label-width=\"125\" label-colon :rules=\"rulesValidate\" :model=\"model\">\r\n <div class=\"form-title\">{{formTitle}}</div>\r\n <i-form-item v-show=\"isAdding\" label=\"所属分类\" prop=\"categoryId\" class=\"proxy-category-validate\" required>\r\n <u-tree-selector\r\n :treeData=\"categoryList\"\r\n :canChooseFolder=\"true\"\r\n v-model=\"model.categoryId\"\r\n @on-select=\"selectCategory\"\r\n placeholder=\"请选择所属分类\"\r\n ></u-tree-selector>\r\n </i-form-item>\r\n <i-form-item label=\"代理名称\" prop=\"name\" class=\"proxy-name-validate\" required>\r\n <i-input class=\"diy-input\" v-model=\"model.name\" placeholder=\"请输入代理名称\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"proxy-name-validate\" prop=\"code\" label=\"接口编码\" required>\r\n <i-input class=\"diy-input\" v-model=\"model.code\" placeholder=\"请输入接口编码\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"un-required-item copy-item\" label=\"接口地址\">\r\n <i-input class=\"diy-input\" disabled :value=\"url\"></i-input>\r\n <div class=\"set-btn\" @click=\"onCopy(url)\">复制</div>\r\n </i-form-item>\r\n <i-form-item label=\"描述\" prop=\"description\" class=\"proxy-description-validate un-required-item\">\r\n <i-input type=\"textarea\" v-model=\"model.description\" placeholder=\"请输入描述\" :rows=\"2\"></i-input>\r\n </i-form-item>\r\n <i-row class=\"retry-wrap\" style=\"padding-top: 8px\">\r\n <i-col span=\"24\">\r\n <i-form-item class=\"un-required-item copy-item\">\r\n <template #label>\r\n <i-poptip slot=\"label\" trigger=\"hover\" word-wrap transfer>\r\n <icon style=\"cursor: help; font-size: 0.16rem\" type=\"ios-information-circle-outline\" />\r\n <div slot=\"content\" style=\"width: 3rem\">\r\n <span style=\"font-size: 0.14rem\"\r\n >在右侧勾选日志记录的请求类型。需记录慢接口时,可以设置最小耗时阈值(大于该值将记录日志),不勾选时则不记录。日志表会记录请求头、请求参数和响应体,如果内容较多时建议关闭,请求次数频繁比较占数据库资源。选项【失败】仅记录调用失败的日志</span\r\n >\r\n </div>\r\n </i-poptip>\r\n <span>记录日志:</span>\r\n </template>\r\n <i-checkboxGroup class=\"diy-checkbox\" v-model=\"logSavingEnabledList\">\r\n <i-checkbox v-for=\"item in loginLevelFlag\" :disabled=\"readonly\" :label=\"item.value\">{{ item.name }}</i-checkbox>\r\n </i-checkboxGroup>\r\n <i-form-item class=\"slow-log-threshold\" prop=\"slowLogThreshold\">\r\n >\r\n <i-input class=\"diy-input\" type=\"number\" :disabled=\"slowLogThreshold\" v-model=\"model.slowLogThreshold\"> </i-input>\r\n 毫秒\r\n </i-form-item>\r\n </i-form-item>\r\n </i-col>\r\n </i-row>\r\n <template v-if=\"model.logSavingEnabled\">\r\n <i-row class=\"retry-wrap\">\r\n <i-col span=\"11\">\r\n <i-form-item label=\"开启重推\" required>\r\n <i-select class=\"diy-select\" v-model=\"model.enableRetry\">\r\n <i-option v-for=\"(item,index) in isRetryList\" :value=\"item.value\" :key=\"index\">{{ item.name }}</i-option>\r\n </i-select>\r\n </i-form-item>\r\n </i-col>\r\n <i-col span=\"11\">\r\n <i-form-item class=\"un-required-item\" label=\"重推次数\" prop=\"retryTimes\">\r\n <tips-table-label class=\"data-type-tips\" slot=\"label\" label-colon labelTitle=\"重推次数\"></tips-table-label>\r\n <i-input class=\"diy-input\" type=\"number\" :disabled=\"isRetryTimesReadonly\" v-model=\"model.retryTimes\" placeholder=\"请输入重推次数\"></i-input>\r\n </i-form-item>\r\n </i-col>\r\n </i-row>\r\n <i-row v-show=\"model.enableRetry === 'true' \">\r\n <i-col span=\"11\">\r\n <i-form-item class=\"un-required-item status-code\">\r\n <template #label>\r\n <i-poptip slot=\"label\" trigger=\"hover\" content=\"当接口状态码和配置项相同时,才触发重推;多个自定义状态码以英文逗号分隔\" word-wrap transfer>\r\n <icon style=\"cursor: help; font-size: 0.16rem\" type=\"ios-information-circle-outline\" />\r\n </i-poptip>\r\n <span>重推接口状态码:</span>\r\n </template>\r\n <i-form-item>\r\n <i-select ref=\"statusCodeSelect\" v-model=\"statusCode\" class=\"diy-select code-select\" @on-change=\"onStatusCodeChange\">\r\n <i-option v-for=\"item in statusCodeList\" :value=\"item.value\" :key=\"item.value\">{{ item.name }}</i-option>\r\n </i-select>\r\n </i-form-item>\r\n <i-form-item prop=\"retryCode\">\r\n <i-input\r\n style=\"min-width: 0.32rem\"\r\n v-show=\"statusCode === '2'\"\r\n class=\"diy-input\"\r\n v-model=\"model.retryCode\"\r\n placeholder=\"请输入状态码\"\r\n ></i-input>\r\n </i-form-item>\r\n </i-form-item>\r\n </i-col>\r\n </i-row>\r\n </template>\r\n\r\n <i-row class=\"retry-wrap\">\r\n <i-col span=\"11\">\r\n <i-form-item label=\"需要认证\" class=\"un-required-item copy-item\">\r\n <i-select class=\"diy-select\" style=\"margin-top: 6px\" v-model=\"model.authFlag\">\r\n <i-option v-for=\"item in authFlag\" :value=\"item.value\" :key=\"item.value\">{{ item.name }}</i-option>\r\n </i-select>\r\n </i-form-item>\r\n </i-col>\r\n <i-col span=\"11\">\r\n <i-form-item class=\"un-required-item copy-item\">\r\n <template #label>\r\n <i-poptip slot=\"label\" trigger=\"hover\" content=\"使用用户中心token访问该接口时,将校验登陆是否拥有该资源代码的权限\" word-wrap transfer>\r\n <icon style=\"cursor: help; font-size: 0.16rem\" type=\"ios-information-circle-outline\" />\r\n </i-poptip>\r\n <span>用户中心资源代码:</span>\r\n </template>\r\n <i-input\r\n class=\"diy-input\"\r\n style=\"margin-top: 6px\"\r\n v-model=\"model.resourceCode\"\r\n :disabled=\"!isResourceCodeEnabled\"\r\n placeholder=\"请输入用户中心资源代码\"\r\n ></i-input>\r\n </i-form-item>\r\n </i-col>\r\n </i-row>\r\n <template>\r\n <i-row class=\"retry-wrap\">\r\n <i-col span=\"11\">\r\n <i-form-item label=\"代理类型\">\r\n <i-input class=\"diy-input\" value=\"外部接口\" disabled></i-input>\r\n </i-form-item>\r\n </i-col>\r\n <i-col span=\"11\">\r\n <i-form-item label=\"API项目\">\r\n <i-select disabled class=\"diy-select\" v-model=\"apiModel.projectId\">\r\n <i-option v-for=\"(item,index) in projectList\" :value=\"item.id\" :key=\"item.id\">{{ item.name }}</i-option>\r\n </i-select>\r\n </i-form-item>\r\n </i-col>\r\n </i-row>\r\n <i-form-item label=\"API接口\">\r\n <u-tree-selector\r\n readonly\r\n :treeData=\"apiTree\"\r\n leaf-name=\"apis\"\r\n v-model=\"apiModel.typeId\"\r\n placeholder=\"请选择API接口\"\r\n @on-select=\"onApiTreeSelect\"\r\n ></u-tree-selector>\r\n </i-form-item>\r\n <i-form-item label=\"接口路径\">\r\n <i-input class=\"diy-input\" :readonly=\"true\" v-model=\"apiModel.path\" :rows=\"4\"></i-input>\r\n </i-form-item>\r\n </template>\r\n </i-form>\r\n </template>\r\n <i-table v-if=\"proxyName || isAdding\" class=\"diy-table\" height=\"200\" :columns=\"apiColumns\" :data=\"apiParamList\"> </i-table>\r\n <div v-if=\"!proxyName && !isAdding \" class=\"no-data\">暂无数据</div>\r\n </div>\r\n <div class=\"footer\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" :loading=\"loading\" @click.stop=\"onSave\">保存</i-button>\r\n <i-button class=\"diy-btn-default\" @click.stop=\"onCancel\">取消</i-button>\r\n </div>\r\n</i-drawer>\r\n"
910
910
 
911
911
  /***/ }),
912
912
 
@@ -3997,529 +3997,44 @@ module.exports = function (argument) {
3997
3997
 
3998
3998
  /***/ }),
3999
3999
 
4000
- /***/ "b042":
4000
+ /***/ "b061":
4001
+ /***/ (function(module, exports) {
4002
+
4003
+ var g;
4004
+
4005
+ // This works in non-strict mode
4006
+ g = (function() {
4007
+ return this;
4008
+ })();
4009
+
4010
+ try {
4011
+ // This works if eval is allowed (see CSP)
4012
+ g = g || new Function("return this")();
4013
+ } catch (e) {
4014
+ // This works if the window reference is available
4015
+ if (typeof window === "object") g = window;
4016
+ }
4017
+
4018
+ // g can still be undefined, but nothing to do about it...
4019
+ // We return undefined, instead of nothing here, so it's
4020
+ // easier to handle this case. if(!global) { ...}
4021
+
4022
+ module.exports = g;
4023
+
4024
+
4025
+ /***/ }),
4026
+
4027
+ /***/ "b156":
4001
4028
  /***/ (function(module, exports, __webpack_require__) {
4002
4029
 
4030
+ // extracted by mini-css-extract-plugin
4003
4031
 
4004
- /*!
4005
- * vue-awesome-swiper v4.1.1
4006
- * Copyright (c) Surmon. All rights reserved.
4007
- * Released under the MIT License.
4008
- * Surmon <https://github.com/surmon-china>
4009
- */
4032
+ /***/ }),
4010
4033
 
4011
- (function(g,f){ true?f(exports,__webpack_require__("d670"),__webpack_require__("8bbf")):undefined;}(this,(function(exports, SwiperClass, Vue){'use strict';SwiperClass=SwiperClass&&Object.prototype.hasOwnProperty.call(SwiperClass,'default')?SwiperClass['default']:SwiperClass;Vue=Vue&&Object.prototype.hasOwnProperty.call(Vue,'default')?Vue['default']:Vue;/**
4012
- * @file vue-awesome-swiper
4013
- * @module constants
4014
- * @author Surmon <https://github.com/surmon-china>
4015
- */
4016
- var CoreNames;
4017
- (function (CoreNames) {
4018
- CoreNames["SwiperComponent"] = "Swiper";
4019
- CoreNames["SwiperSlideComponent"] = "SwiperSlide";
4020
- CoreNames["SwiperDirective"] = "swiper";
4021
- CoreNames["SwiperInstance"] = "$swiper";
4022
- })(CoreNames || (CoreNames = {}));
4023
- var DEFAULT_CLASSES = Object.freeze({
4024
- containerClass: 'swiper-container',
4025
- wrapperClass: 'swiper-wrapper',
4026
- slideClass: 'swiper-slide'
4027
- });
4028
- var ComponentEvents;
4029
- (function (ComponentEvents) {
4030
- ComponentEvents["Ready"] = "ready";
4031
- ComponentEvents["ClickSlide"] = "clickSlide";
4032
- })(ComponentEvents || (ComponentEvents = {}));
4033
- var ComponentPropNames;
4034
- (function (ComponentPropNames) {
4035
- ComponentPropNames["AutoUpdate"] = "autoUpdate";
4036
- ComponentPropNames["AutoDestroy"] = "autoDestroy";
4037
- ComponentPropNames["DeleteInstanceOnDestroy"] = "deleteInstanceOnDestroy";
4038
- ComponentPropNames["CleanupStylesOnDestroy"] = "cleanupStylesOnDestroy";
4039
- })(ComponentPropNames || (ComponentPropNames = {}));
4040
- // https://swiperjs.com/api/#events
4041
- var SWIPER_EVENTS = [
4042
- 'init',
4043
- 'beforeDestroy',
4044
- 'slideChange',
4045
- 'slideChangeTransitionStart',
4046
- 'slideChangeTransitionEnd',
4047
- 'slideNextTransitionStart',
4048
- 'slideNextTransitionEnd',
4049
- 'slidePrevTransitionStart',
4050
- 'slidePrevTransitionEnd',
4051
- 'transitionStart',
4052
- 'transitionEnd',
4053
- 'touchStart',
4054
- 'touchMove',
4055
- 'touchMoveOpposite',
4056
- 'sliderMove',
4057
- 'touchEnd',
4058
- 'click',
4059
- 'tap',
4060
- 'doubleTap',
4061
- 'imagesReady',
4062
- 'progress',
4063
- 'reachBeginning',
4064
- 'reachEnd',
4065
- 'fromEdge',
4066
- 'setTranslate',
4067
- 'setTransition',
4068
- 'resize',
4069
- 'observerUpdate',
4070
- 'beforeLoopFix',
4071
- 'loopFix'
4072
- ];/*! *****************************************************************************
4073
- Copyright (c) Microsoft Corporation. All rights reserved.
4074
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4075
- this file except in compliance with the License. You may obtain a copy of the
4076
- License at http://www.apache.org/licenses/LICENSE-2.0
4077
-
4078
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
4079
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
4080
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
4081
- MERCHANTABLITY OR NON-INFRINGEMENT.
4082
-
4083
- See the Apache Version 2.0 License for specific language governing permissions
4084
- and limitations under the License.
4085
- ***************************************************************************** */
4086
-
4087
- function __spreadArrays() {
4088
- for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
4089
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
4090
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
4091
- r[k] = a[j];
4092
- return r;
4093
- }/**
4094
- * @file vue-awesome-swiper
4095
- * @module utils
4096
- * @author Surmon <https://github.com/surmon-china>
4097
- */
4098
- var kebabcase = function (string) {
4099
- return string
4100
- .replace(/([a-z])([A-Z])/g, '$1-$2')
4101
- .replace(/\s+/g, '-')
4102
- .toLowerCase();
4103
- };/**
4104
- * @file vue-awesome-swiper
4105
- * @module event
4106
- * @author Surmon <https://github.com/surmon-china>
4107
- */
4108
- var handleClickSlideEvent = function (swiper, event, emit) {
4109
- var _a, _b, _c;
4110
- if (swiper && !(swiper.destroyed)) {
4111
- var eventPath = ((_a = event.composedPath) === null || _a === void 0 ? void 0 : _a.call(event)) || event.path;
4112
- if ((event === null || event === void 0 ? void 0 : event.target) && eventPath) {
4113
- var slides_1 = Array.from(swiper.slides);
4114
- var paths = Array.from(eventPath);
4115
- // Click slide || slide[children]
4116
- if (slides_1.includes(event.target) || paths.some(function (item) { return slides_1.includes(item); })) {
4117
- var clickedIndex = swiper.clickedIndex;
4118
- var reallyIndex = Number((_c = (_b = swiper.clickedSlide) === null || _b === void 0 ? void 0 : _b.dataset) === null || _c === void 0 ? void 0 : _c.swiperSlideIndex);
4119
- var reallyIndexValue = Number.isInteger(reallyIndex) ? reallyIndex : null;
4120
- emit(ComponentEvents.ClickSlide, clickedIndex, reallyIndexValue);
4121
- emit(kebabcase(ComponentEvents.ClickSlide), clickedIndex, reallyIndexValue);
4122
- }
4123
- }
4124
- }
4125
- };
4126
- var bindSwiperEvents = function (swiper, emit) {
4127
- SWIPER_EVENTS.forEach(function (eventName) {
4128
- swiper.on(eventName, function () {
4129
- var arguments$1 = arguments;
4130
-
4131
- var args = [];
4132
- for (var _i = 0; _i < arguments.length; _i++) {
4133
- args[_i] = arguments$1[_i];
4134
- }
4135
- emit.apply(void 0, __spreadArrays([eventName], args));
4136
- var kebabcaseName = kebabcase(eventName);
4137
- if (kebabcaseName !== eventName) {
4138
- emit.apply(void 0, __spreadArrays([kebabcaseName], args));
4139
- }
4140
- });
4141
- });
4142
- };/**
4143
- * @file vue-awesome-swiper
4144
- * @module directive
4145
- * @author Surmon <https://github.com/surmon-china>
4146
- */
4147
- var INSTANCE_NAME_KEY = 'instanceName';
4148
- function getDirective(SwiperClass, globalOptions) {
4149
- var getStandardisedOptionByAttrs = function (vnode, key) {
4150
- var _a, _b, _c, _d;
4151
- var value = (_b = (_a = vnode.data) === null || _a === void 0 ? void 0 : _a.attrs) === null || _b === void 0 ? void 0 : _b[key];
4152
- return value !== undefined
4153
- ? value
4154
- : (_d = (_c = vnode.data) === null || _c === void 0 ? void 0 : _c.attrs) === null || _d === void 0 ? void 0 : _d[kebabcase(key)];
4155
- };
4156
- // Get swiper instace name in directive
4157
- var getSwiperInstanceName = function (element, binding, vnode) {
4158
- return (binding.arg ||
4159
- getStandardisedOptionByAttrs(vnode, INSTANCE_NAME_KEY) ||
4160
- element.id ||
4161
- CoreNames.SwiperInstance);
4162
- };
4163
- var getSwiperInstance = function (element, binding, vnode) {
4164
- var instanceName = getSwiperInstanceName(element, binding, vnode);
4165
- return vnode.context[instanceName] || null;
4166
- };
4167
- var getSwipeOptions = function (binding) {
4168
- return binding.value || globalOptions;
4169
- };
4170
- var getBooleanValueByInput = function (input) {
4171
- return [true, undefined, null, ''].includes(input);
4172
- };
4173
- // Emit event in Vue directive
4174
- var getEventEmiter = function (vnode) {
4175
- var _a, _b;
4176
- var handlers = ((_a = vnode.data) === null || _a === void 0 ? void 0 : _a.on) || ((_b = vnode.componentOptions) === null || _b === void 0 ? void 0 : _b.listeners);
4177
- return function (name) {
4178
- var arguments$1 = arguments;
4179
-
4180
- var args = [];
4181
- for (var _i = 1; _i < arguments.length; _i++) {
4182
- args[_i - 1] = arguments$1[_i];
4183
- }
4184
- var _a;
4185
- var handle = (_a = handlers) === null || _a === void 0 ? void 0 : _a[name];
4186
- if (handle) {
4187
- handle.fns.apply(handle, args);
4188
- }
4189
- };
4190
- };
4191
- return {
4192
- // Init
4193
- bind: function (element, binding, vnode) {
4194
- // auto class name
4195
- if (element.className.indexOf(DEFAULT_CLASSES.containerClass) === -1) {
4196
- element.className += ((element.className ? ' ' : '') + DEFAULT_CLASSES.containerClass);
4197
- }
4198
- // bind click event
4199
- element.addEventListener('click', function (event) {
4200
- var emitEvent = getEventEmiter(vnode);
4201
- var swiper = getSwiperInstance(element, binding, vnode);
4202
- handleClickSlideEvent(swiper, event, emitEvent);
4203
- });
4204
- },
4205
- // DOM inserted
4206
- inserted: function (element, binding, vnode) {
4207
- var context = vnode.context;
4208
- var swiperOptions = getSwipeOptions(binding);
4209
- var instanceName = getSwiperInstanceName(element, binding, vnode);
4210
- var emitEvent = getEventEmiter(vnode);
4211
- var vueContext = context;
4212
- var swiper = vueContext === null || vueContext === void 0 ? void 0 : vueContext[instanceName];
4213
- // Swiper will destroy but not delete instance, when used <keep-alive>
4214
- if (!swiper || swiper.destroyed) {
4215
- swiper = new SwiperClass(element, swiperOptions);
4216
- vueContext[instanceName] = swiper;
4217
- bindSwiperEvents(swiper, emitEvent);
4218
- emitEvent(ComponentEvents.Ready, swiper);
4219
- // MARK: Reinstance when the nexttick with <keep-alive>
4220
- // Vue.nextTick(instancing) | setTimeout(instancing)
4221
- }
4222
- },
4223
- // On options changed or DOM updated
4224
- componentUpdated: function (element, binding, vnode) {
4225
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
4226
- var autoUpdate = getStandardisedOptionByAttrs(vnode, ComponentPropNames.AutoUpdate);
4227
- if (getBooleanValueByInput(autoUpdate)) {
4228
- var swiper = getSwiperInstance(element, binding, vnode);
4229
- if (swiper) {
4230
- var swiperOptions = getSwipeOptions(binding);
4231
- var isLoop = swiperOptions.loop;
4232
- if (isLoop) {
4233
- (_b = (_a = swiper) === null || _a === void 0 ? void 0 : _a.loopDestroy) === null || _b === void 0 ? void 0 : _b.call(_a);
4234
- }
4235
- (_c = swiper === null || swiper === void 0 ? void 0 : swiper.update) === null || _c === void 0 ? void 0 : _c.call(swiper);
4236
- (_e = (_d = swiper.navigation) === null || _d === void 0 ? void 0 : _d.update) === null || _e === void 0 ? void 0 : _e.call(_d);
4237
- (_g = (_f = swiper.pagination) === null || _f === void 0 ? void 0 : _f.render) === null || _g === void 0 ? void 0 : _g.call(_f);
4238
- (_j = (_h = swiper.pagination) === null || _h === void 0 ? void 0 : _h.update) === null || _j === void 0 ? void 0 : _j.call(_h);
4239
- if (isLoop) {
4240
- (_l = (_k = swiper) === null || _k === void 0 ? void 0 : _k.loopCreate) === null || _l === void 0 ? void 0 : _l.call(_k);
4241
- (_m = swiper === null || swiper === void 0 ? void 0 : swiper.update) === null || _m === void 0 ? void 0 : _m.call(swiper);
4242
- }
4243
- }
4244
- }
4245
- },
4246
- // Destroy this directive
4247
- unbind: function (element, binding, vnode) {
4248
- var _a;
4249
- var autoDestroy = getStandardisedOptionByAttrs(vnode, ComponentPropNames.AutoDestroy);
4250
- if (getBooleanValueByInput(autoDestroy)) {
4251
- var swiper = getSwiperInstance(element, binding, vnode);
4252
- if (swiper && swiper.initialized) {
4253
- (_a = swiper === null || swiper === void 0 ? void 0 : swiper.destroy) === null || _a === void 0 ? void 0 : _a.call(swiper, getBooleanValueByInput(getStandardisedOptionByAttrs(vnode, ComponentPropNames.DeleteInstanceOnDestroy)), getBooleanValueByInput(getStandardisedOptionByAttrs(vnode, ComponentPropNames.CleanupStylesOnDestroy)));
4254
- }
4255
- }
4256
- }
4257
- };
4258
- }/**
4259
- * @file vue-awesome-swiper
4260
- * @module SwiperComponent
4261
- * @author Surmon <https://github.com/surmon-china>
4262
- */
4263
- var SlotNames;
4264
- (function (SlotNames) {
4265
- SlotNames["ParallaxBg"] = "parallax-bg";
4266
- SlotNames["Pagination"] = "pagination";
4267
- SlotNames["Scrollbar"] = "scrollbar";
4268
- SlotNames["PrevButton"] = "button-prev";
4269
- SlotNames["NextButton"] = "button-next";
4270
- })(SlotNames || (SlotNames = {}));
4271
- function getSwiperComponent(SwiperClass) {
4272
- var _a;
4273
- return Vue.extend({
4274
- name: CoreNames.SwiperComponent,
4275
- props: (_a = {
4276
- defaultOptions: {
4277
- type: Object,
4278
- required: false,
4279
- default: function () { return ({}); }
4280
- },
4281
- // eslint-disable-next-line vue/require-default-prop
4282
- options: {
4283
- type: Object,
4284
- required: false
4285
- }
4286
- },
4287
- _a[ComponentPropNames.AutoUpdate] = {
4288
- type: Boolean,
4289
- default: true
4290
- },
4291
- // https://github.com/surmon-china/vue-awesome-swiper/pull/550/files
4292
- _a[ComponentPropNames.AutoDestroy] = {
4293
- type: Boolean,
4294
- default: true
4295
- },
4296
- // https://github.com/surmon-china/vue-awesome-swiper/pull/388
4297
- _a[ComponentPropNames.DeleteInstanceOnDestroy] = {
4298
- type: Boolean,
4299
- required: false,
4300
- default: true
4301
- },
4302
- _a[ComponentPropNames.CleanupStylesOnDestroy] = {
4303
- type: Boolean,
4304
- required: false,
4305
- default: true
4306
- },
4307
- _a),
4308
- data: function () {
4309
- var _a;
4310
- return _a = {},
4311
- _a[CoreNames.SwiperInstance] = null,
4312
- _a;
4313
- },
4314
- computed: {
4315
- swiperInstance: {
4316
- cache: false,
4317
- set: function (swiper) {
4318
- this[CoreNames.SwiperInstance] = swiper;
4319
- },
4320
- get: function () {
4321
- return this[CoreNames.SwiperInstance];
4322
- }
4323
- },
4324
- swiperOptions: function () {
4325
- return this.options || this.defaultOptions;
4326
- },
4327
- wrapperClass: function () {
4328
- return this.swiperOptions.wrapperClass || DEFAULT_CLASSES.wrapperClass;
4329
- }
4330
- },
4331
- methods: {
4332
- // Feature: click event
4333
- handleSwiperClick: function (event) {
4334
- handleClickSlideEvent(this.swiperInstance, event, this.$emit.bind(this));
4335
- },
4336
- autoReLoopSwiper: function () {
4337
- var _a, _b;
4338
- if (this.swiperInstance && this.swiperOptions.loop) {
4339
- // https://github.com/surmon-china/vue-awesome-swiper/issues/593
4340
- // https://github.com/surmon-china/vue-awesome-swiper/issues/544
4341
- // https://github.com/surmon-china/vue-awesome-swiper/pull/545/files
4342
- var swiper = this.swiperInstance;
4343
- (_a = swiper === null || swiper === void 0 ? void 0 : swiper.loopDestroy) === null || _a === void 0 ? void 0 : _a.call(swiper);
4344
- (_b = swiper === null || swiper === void 0 ? void 0 : swiper.loopCreate) === null || _b === void 0 ? void 0 : _b.call(swiper);
4345
- }
4346
- },
4347
- updateSwiper: function () {
4348
- var _a, _b, _c, _d, _e, _f, _g, _h;
4349
- if (this[ComponentPropNames.AutoUpdate] && this.swiperInstance) {
4350
- this.autoReLoopSwiper();
4351
- (_b = (_a = this.swiperInstance) === null || _a === void 0 ? void 0 : _a.update) === null || _b === void 0 ? void 0 : _b.call(_a);
4352
- (_d = (_c = this.swiperInstance.navigation) === null || _c === void 0 ? void 0 : _c.update) === null || _d === void 0 ? void 0 : _d.call(_c);
4353
- (_f = (_e = this.swiperInstance.pagination) === null || _e === void 0 ? void 0 : _e.render) === null || _f === void 0 ? void 0 : _f.call(_e);
4354
- (_h = (_g = this.swiperInstance.pagination) === null || _g === void 0 ? void 0 : _g.update) === null || _h === void 0 ? void 0 : _h.call(_g);
4355
- }
4356
- },
4357
- destroySwiper: function () {
4358
- var _a, _b;
4359
- if (this[ComponentPropNames.AutoDestroy] && this.swiperInstance) {
4360
- // https://github.com/surmon-china/vue-awesome-swiper/pull/341
4361
- // https://github.com/surmon-china/vue-awesome-swiper/issues/340
4362
- if (this.swiperInstance.initialized) {
4363
- (_b = (_a = this.swiperInstance) === null || _a === void 0 ? void 0 : _a.destroy) === null || _b === void 0 ? void 0 : _b.call(_a, this[ComponentPropNames.DeleteInstanceOnDestroy], this[ComponentPropNames.CleanupStylesOnDestroy]);
4364
- }
4365
- }
4366
- },
4367
- initSwiper: function () {
4368
- this.swiperInstance = new SwiperClass(this.$el, this.swiperOptions);
4369
- bindSwiperEvents(this.swiperInstance, this.$emit.bind(this));
4370
- this.$emit(ComponentEvents.Ready, this.swiperInstance);
4371
- }
4372
- },
4373
- mounted: function () {
4374
- if (!this.swiperInstance) {
4375
- this.initSwiper();
4376
- }
4377
- },
4378
- // Update swiper when the parent component activated with `keep-alive`.
4379
- activated: function () {
4380
- this.updateSwiper();
4381
- },
4382
- updated: function () {
4383
- this.updateSwiper();
4384
- },
4385
- beforeDestroy: function () {
4386
- // https://github.com/surmon-china/vue-awesome-swiper/commit/2924a9d4d3d1cf51c0d46076410b1f804b2b8a43#diff-7f4e0261ac562c0f354cb91a1ca8864f
4387
- this.$nextTick(this.destroySwiper);
4388
- },
4389
- render: function (createElement) {
4390
- return createElement('div', {
4391
- staticClass: DEFAULT_CLASSES.containerClass,
4392
- on: {
4393
- click: this.handleSwiperClick
4394
- }
4395
- }, [
4396
- this.$slots[SlotNames.ParallaxBg],
4397
- createElement('div', {
4398
- class: this.wrapperClass
4399
- }, this.$slots.default),
4400
- this.$slots[SlotNames.Pagination],
4401
- this.$slots[SlotNames.PrevButton],
4402
- this.$slots[SlotNames.NextButton],
4403
- this.$slots[SlotNames.Scrollbar]
4404
- ]);
4405
- }
4406
- });
4407
- }/**
4408
- * @file vue-awesome-swiper
4409
- * @module SwiperSlideComponent
4410
- * @author Surmon <https://github.com/surmon-china>
4411
- */
4412
- var SwiperSlideComponent = Vue.extend({
4413
- name: CoreNames.SwiperSlideComponent,
4414
- computed: {
4415
- slideClass: function () {
4416
- var _a, _b;
4417
- return ((_b = (_a = this.$parent) === null || _a === void 0 ? void 0 : _a.swiperOptions) === null || _b === void 0 ? void 0 : _b.slideClass) || DEFAULT_CLASSES.slideClass;
4418
- }
4419
- },
4420
- methods: {
4421
- update: function () {
4422
- var _a;
4423
- var parent = this.$parent;
4424
- // https://github.com/surmon-china/vue-awesome-swiper/issues/632
4425
- if (parent[ComponentPropNames.AutoUpdate]) {
4426
- (_a = parent === null || parent === void 0 ? void 0 : parent.swiperInstance) === null || _a === void 0 ? void 0 : _a.update();
4427
- }
4428
- }
4429
- },
4430
- mounted: function () {
4431
- this.update();
4432
- },
4433
- updated: function () {
4434
- this.update();
4435
- },
4436
- render: function (createElement) {
4437
- return createElement('div', {
4438
- class: this.slideClass
4439
- }, this.$slots.default);
4440
- }
4441
- });/**
4442
- * @file vue-awesome-swiper
4443
- * @module exporter
4444
- * @author Surmon <https://github.com/surmon-china>
4445
- */
4446
- var getInstaller = function (SwiperClass) {
4447
- var install = function (Vue, globalOptions) {
4448
- if (install.installed)
4449
- { return; }
4450
- var SwiperComponent = getSwiperComponent(SwiperClass);
4451
- if (globalOptions) {
4452
- SwiperComponent.options.props.defaultOptions.default = function () { return globalOptions; };
4453
- }
4454
- Vue.component(CoreNames.SwiperComponent, SwiperComponent);
4455
- Vue.component(CoreNames.SwiperSlideComponent, SwiperSlideComponent);
4456
- Vue.directive(CoreNames.SwiperDirective, getDirective(SwiperClass, globalOptions));
4457
- install.installed = true;
4458
- };
4459
- return install;
4460
- };
4461
- function exporter(SwiperClass) {
4462
- var _a;
4463
- return _a = {
4464
- version: '4.1.1',
4465
- install: getInstaller(SwiperClass),
4466
- directive: getDirective(SwiperClass)
4467
- },
4468
- _a[CoreNames.SwiperComponent] = getSwiperComponent(SwiperClass),
4469
- _a[CoreNames.SwiperSlideComponent] = SwiperSlideComponent,
4470
- _a;
4471
- }/**
4472
- * @file vue-awesome-swiper
4473
- * @module default-export
4474
- * @author Surmon <https://github.com/surmon-china>
4475
- */
4476
- var VueAwesomeSwiper = exporter(SwiperClass);
4477
- var version = VueAwesomeSwiper.version;
4478
- var install = VueAwesomeSwiper.install;
4479
- var directive = VueAwesomeSwiper.directive;
4480
- var Swiper = VueAwesomeSwiper.Swiper;
4481
- var SwiperSlide = VueAwesomeSwiper.SwiperSlide;exports.Swiper=Swiper;exports.SwiperSlide=SwiperSlide;exports.default=VueAwesomeSwiper;exports.directive=directive;exports.install=install;exports.version=version;Object.defineProperty(exports,'__esModule',{value:true});})));
4482
-
4483
- /***/ }),
4484
-
4485
- /***/ "b061":
4486
- /***/ (function(module, exports) {
4487
-
4488
- var g;
4489
-
4490
- // This works in non-strict mode
4491
- g = (function() {
4492
- return this;
4493
- })();
4494
-
4495
- try {
4496
- // This works if eval is allowed (see CSP)
4497
- g = g || new Function("return this")();
4498
- } catch (e) {
4499
- // This works if the window reference is available
4500
- if (typeof window === "object") g = window;
4501
- }
4502
-
4503
- // g can still be undefined, but nothing to do about it...
4504
- // We return undefined, instead of nothing here, so it's
4505
- // easier to handle this case. if(!global) { ...}
4506
-
4507
- module.exports = g;
4508
-
4509
-
4510
- /***/ }),
4511
-
4512
- /***/ "b156":
4513
- /***/ (function(module, exports, __webpack_require__) {
4514
-
4515
- // extracted by mini-css-extract-plugin
4516
-
4517
- /***/ }),
4518
-
4519
- /***/ "b61c":
4520
- /***/ (function(module, exports, __webpack_require__) {
4521
-
4522
- // extracted by mini-css-extract-plugin
4034
+ /***/ "b61c":
4035
+ /***/ (function(module, exports, __webpack_require__) {
4036
+
4037
+ // extracted by mini-css-extract-plugin
4523
4038
 
4524
4039
  /***/ }),
4525
4040
 
@@ -4687,126 +4202,7 @@ module.exports = DESCRIPTORS && fails(function () {
4687
4202
 
4688
4203
  /***/ }),
4689
4204
 
4690
- /***/ "ccf6":
4691
- /***/ (function(module, exports) {
4692
-
4693
- module.exports = "<!DOCTYPE html>\r\n<article class=\"v-api-combine-wrapper\">\r\n <i-split v-model=\"split\" min=\"200px\" max=\"1100px\">\r\n <!-- 左侧内容 -->\r\n <section slot=\"left\" class=\"left-split-pane\">\r\n <u-type-tree :taskCategoryID=\"taskCategoryID\" :initSelectItem=\"initNode\" @on-import-success=\"onQuery\" @on-select=\"onNodeSelect\" @on-tree-data=\"onTreeData\">\r\n </u-type-tree>\r\n </section>\r\n <!-- 分割线 -->\r\n <section class=\"trigger\" slot=\"trigger\"></section>\r\n <!-- 右侧内容 -->\r\n <section slot=\"right\" class=\"right-split-pane\">\r\n <section class=\"search-wrapper\">\r\n <i-form class=\"diy-search-form\" ref=\"searchForm\" :model=\"formData\" label-position=\"left\" label-colon>\r\n <i-form-item label=\"名称\" prop=\"name\">\r\n <i-input class=\"diy-input\" v-model=\"formData.name\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"编码\" prop=\"code\">\r\n <i-input class=\"diy-input\" v-model=\"formData.code\"></i-input>\r\n </i-form-item>\r\n </i-form>\r\n <div class=\"btns\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onQuery\">查询</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onReset\">重置</i-button>\r\n </div>\r\n </section>\r\n <section class=\"actions-wrapper\">\r\n <div class=\"action-item action-text\" @click=\"onAdd()\" :class=\"currentNode.id === 'virtual_root_directory' ? 'icon-button-disabled' : ''\">\r\n <i class=\"iconfont icon-add\"></i>\r\n <div>新增</div>\r\n </div>\r\n <div class=\"action-item action-text\" :class=\"(selection.length && !isContainsPublished) ? '' : 'icon-button-disabled'\" @click=\"onBatchDelete\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n <span>批量删除</span>\r\n </div>\r\n </section>\r\n <section class=\"main-wrapper\">\r\n <template v-if=\"list&&list.length\">\r\n <i-table class=\"diy-table diy-table-scorll\" :columns=\"columns\" :data=\"list\" @on-selection-change=\"onSelectChange\" @on-row-click=\"onRowClick\">\r\n <template slot=\"status\" slot-scope=\"{row,index}\">\r\n <i-switch class=\"diy-switch\" :value=\"row.status==='PUBLISHED'\" @on-change=\"onStatusChange($event, row, index)\"></i-switch>\r\n <span>{{row.status===\"PUBLISHED\" ? \"已发布\" : \"未发布\"}}</span>\r\n </template>\r\n <template slot=\"authFlag\" slot-scope=\"{row,index}\">\r\n <i-switch class=\"diy-switch\" :value=\"row.authFlag\" :true-value=\"1\" :false-value=\"0\" @on-change=\"onAuthFlagChange($event, row, index)\">\r\n <span slot=\"open\">是</span>\r\n <span slot=\"close\">否</span>\r\n </i-switch>\r\n </template>\r\n <template slot=\"doc\" slot-scope=\"{row}\">\r\n <a @click=\"onOpenDoc(row)\">查看</a>\r\n </template>\r\n <template #operates=\"{row,index}\">\r\n <div class=\"row-actions\">\r\n <i @click=\"onDetail(row)\" title=\"查看\" class=\"iconfont icon-a-xinzengzhibiaobeifen9\"></i>\r\n <i @click=\"onCopy(row)\" title=\"复制\" class=\"iconfont icon-fuzhi1\"> </i>\r\n <template v-if=\"row.status!=='PUBLISHED'\">\r\n <i @click=\"onEdit(row)\" title=\"编辑\" class=\"iconfont icon-Edit\"></i>\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 </template>\r\n </div>\r\n </template>\r\n </i-table>\r\n <i-page\r\n class=\"diy-page\"\r\n show-total\r\n show-sizer\r\n show-elevator\r\n :total=\"paging.totalCount\"\r\n :current=\"paging.pageIndex\"\r\n :page-size=\"paging.pageSize\"\r\n @on-change=\"onPageIndexChange\"\r\n @on-page-size-change=\"onPageSizeChange\"\r\n ></i-page>\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 </section>\r\n </section>\r\n </i-split>\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-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\r\n <i-modal draggable sticky reset-drag-position v-model=\"showCopyModal\" class=\"diy-modal combine-copy-modal\" :mask-closable=\"false\" title=\"复制接口\">\r\n <i-form :label-width=\"100\" class=\"diy-form\" v-model=\"copyData\" label-colon>\r\n <i-form-item label=\"接口名称\" required>\r\n <i-input class=\"diy-input\" v-model=\"copyData.name\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"接口编码\" required>\r\n <i-input class=\"diy-input\" v-model=\"copyData.code\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"选择分组\" required>\r\n <u-tree-selector :treeData=\"treeData\" leaf-name=\"copy\" :canChooseFolder=\"true\" v-model=\"categoryData.id\" @on-select=\"selectCategory\"> </u-tree-selector>\r\n </i-form-item>\r\n </i-form>\r\n <footer slot=\"footer\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onCopyConfirm\">确定</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onCopyCancel\">取消</i-button>\r\n </footer>\r\n </i-modal>\r\n</article>\r\n"
4694
-
4695
- /***/ }),
4696
-
4697
- /***/ "cd69":
4698
- /***/ (function(module, exports, __webpack_require__) {
4699
-
4700
- "use strict";
4701
-
4702
- var ceil = Math.ceil;
4703
- var floor = Math.floor;
4704
-
4705
- // `Math.trunc` method
4706
- // https://tc39.es/ecma262/#sec-math.trunc
4707
- // eslint-disable-next-line es/no-math-trunc -- safe
4708
- module.exports = Math.trunc || function trunc(x) {
4709
- var n = +x;
4710
- return (n > 0 ? floor : ceil)(n);
4711
- };
4712
-
4713
-
4714
- /***/ }),
4715
-
4716
- /***/ "ce8f":
4717
- /***/ (function(module, exports) {
4718
-
4719
- module.exports = __WEBPACK_EXTERNAL_MODULE_ce8f__;
4720
-
4721
- /***/ }),
4722
-
4723
- /***/ "ce97":
4724
- /***/ (function(module, exports, __webpack_require__) {
4725
-
4726
- "use strict";
4727
-
4728
- var classof = __webpack_require__("aaa6");
4729
-
4730
- var $String = String;
4731
-
4732
- module.exports = function (argument) {
4733
- if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');
4734
- return $String(argument);
4735
- };
4736
-
4737
-
4738
- /***/ }),
4739
-
4740
- /***/ "cebe":
4741
- /***/ (function(module, exports) {
4742
-
4743
- module.exports = __WEBPACK_EXTERNAL_MODULE_cebe__;
4744
-
4745
- /***/ }),
4746
-
4747
- /***/ "cf8c":
4748
- /***/ (function(module, exports, __webpack_require__) {
4749
-
4750
- "use strict";
4751
-
4752
- var toIndexedObject = __webpack_require__("485f");
4753
- var toAbsoluteIndex = __webpack_require__("575c");
4754
- var lengthOfArrayLike = __webpack_require__("d631");
4755
-
4756
- // `Array.prototype.{ indexOf, includes }` methods implementation
4757
- var createMethod = function (IS_INCLUDES) {
4758
- return function ($this, el, fromIndex) {
4759
- var O = toIndexedObject($this);
4760
- var length = lengthOfArrayLike(O);
4761
- var index = toAbsoluteIndex(fromIndex, length);
4762
- var value;
4763
- // Array#includes uses SameValueZero equality algorithm
4764
- // eslint-disable-next-line no-self-compare -- NaN check
4765
- if (IS_INCLUDES && el !== el) while (length > index) {
4766
- value = O[index++];
4767
- // eslint-disable-next-line no-self-compare -- NaN check
4768
- if (value !== value) return true;
4769
- // Array#indexOf ignores holes, Array#includes - not
4770
- } else for (;length > index; index++) {
4771
- if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
4772
- } return !IS_INCLUDES && -1;
4773
- };
4774
- };
4775
-
4776
- module.exports = {
4777
- // `Array.prototype.includes` method
4778
- // https://tc39.es/ecma262/#sec-array.prototype.includes
4779
- includes: createMethod(true),
4780
- // `Array.prototype.indexOf` method
4781
- // https://tc39.es/ecma262/#sec-array.prototype.indexof
4782
- indexOf: createMethod(false)
4783
- };
4784
-
4785
-
4786
- /***/ }),
4787
-
4788
- /***/ "cfb3":
4789
- /***/ (function(module, exports) {
4790
-
4791
- 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"
4792
-
4793
- /***/ }),
4794
-
4795
- /***/ "cfde":
4796
- /***/ (function(module, exports, __webpack_require__) {
4797
-
4798
- // extracted by mini-css-extract-plugin
4799
-
4800
- /***/ }),
4801
-
4802
- /***/ "d30a":
4803
- /***/ (function(module, exports) {
4804
-
4805
- 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"
4806
-
4807
- /***/ }),
4808
-
4809
- /***/ "d345":
4205
+ /***/ "cb40":
4810
4206
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4811
4207
 
4812
4208
  "use strict";
@@ -4821,7 +4217,7 @@ __webpack_require__.d(__webpack_exports__, "ProjectDetail", function() { return
4821
4217
  __webpack_require__.d(__webpack_exports__, "ProjectList", function() { return /* reexport */ views_project_list; });
4822
4218
  __webpack_require__.d(__webpack_exports__, "injectEnableUserCenterCookie", function() { return /* reexport */ injectEnableUserCenterCookie; });
4823
4219
 
4824
- // CONCATENATED MODULE: ./node_modules/.pnpm/@vue+cli-service@4.5.19_4j72uuzxhpprprr3owyhj65lvq/node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
4220
+ // CONCATENATED MODULE: ./node_modules/.pnpm/@vue+cli-service@4.5.19_raw-loader@1.0.0_sass-load_6c5aczzntsl4dewyqjyegjkf6q/node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
4825
4221
  // This file is imported into lib/wc client bundles.
4826
4222
 
4827
4223
  if (typeof window !== 'undefined') {
@@ -10591,10 +9987,19 @@ var project_comment = __webpack_require__("65e5");
10591
9987
  var dist = __webpack_require__("7af4");
10592
9988
  var dist_default = /*#__PURE__*/__webpack_require__.n(dist);
10593
9989
 
9990
+ // EXTERNAL MODULE: ./node_modules/.pnpm/core-js@3.35.0/node_modules/core-js/modules/es.error.cause.js
9991
+ var es_error_cause = __webpack_require__("0ddb");
9992
+
10594
9993
  // CONCATENATED MODULE: ./src/views/project-detail/service.ts
10595
9994
 
10596
9995
 
10597
9996
 
9997
+
9998
+
9999
+
10000
+
10001
+
10002
+
10598
10003
  var service_ApiService = /** @class */function (_super) {
10599
10004
  __extends(ApiService, _super);
10600
10005
  function ApiService() {
@@ -10646,6 +10051,90 @@ var service_ApiService = /** @class */function (_super) {
10646
10051
  ApiService.prototype.runWithFile = function (apiId, data) {
10647
10052
  return this._post("/unity/api/run/".concat(apiId, "/exec"), data);
10648
10053
  };
10054
+ ApiService.prototype.runStream = function (apiId, apiInfo, handlers) {
10055
+ var _a, _b;
10056
+ if (handlers === void 0) {
10057
+ handlers = {};
10058
+ }
10059
+ return __awaiter(this, void 0, void 0, function () {
10060
+ var config, queryString, requestUrl, response, responseHeaders, reader, decoder, originalContent, size, _c, done, value, chunk;
10061
+ return __generator(this, function (_d) {
10062
+ switch (_d.label) {
10063
+ case 0:
10064
+ config = {
10065
+ method: "POST",
10066
+ baseURL: window.location.origin,
10067
+ url: this.url("/unity/api/run/".concat(apiId, "/web")),
10068
+ data: apiInfo,
10069
+ headers: __assign({
10070
+ "Content-Type": "application/json"
10071
+ }, getToken().headers),
10072
+ params: {}
10073
+ };
10074
+ signature.signatureConfig(config);
10075
+ queryString = new URLSearchParams(config.params).toString();
10076
+ requestUrl = queryString ? "".concat(config.url, "?").concat(queryString) : "".concat(config.url);
10077
+ return [4 /*yield*/, fetch(requestUrl, {
10078
+ method: "POST",
10079
+ headers: config.headers,
10080
+ body: JSON.stringify(apiInfo)
10081
+ })];
10082
+ case 1:
10083
+ response = _d.sent();
10084
+ responseHeaders = {};
10085
+ response.headers.forEach(function (value, key) {
10086
+ responseHeaders[key] = value;
10087
+ });
10088
+ (_a = handlers.onHeaders) === null || _a === void 0 ? void 0 : _a.call(handlers, {
10089
+ code: response.status,
10090
+ responseHeaders: responseHeaders
10091
+ });
10092
+ if (!response.ok) {
10093
+ throw new Error("\u8BF7\u6C42\u5931\u8D25(".concat(response.status, ")"));
10094
+ }
10095
+ if (!response.body) {
10096
+ return [2 /*return*/, {
10097
+ code: response.status,
10098
+ responseHeaders: responseHeaders,
10099
+ originalContent: "",
10100
+ size: 0
10101
+ }];
10102
+ }
10103
+ reader = response.body.getReader();
10104
+ decoder = new TextDecoder("utf-8");
10105
+ originalContent = "";
10106
+ size = 0;
10107
+ _d.label = 2;
10108
+ case 2:
10109
+ if (false) {}
10110
+ return [4 /*yield*/, reader.read()];
10111
+ case 3:
10112
+ _c = _d.sent(), done = _c.done, value = _c.value;
10113
+ if (done) {
10114
+ originalContent += decoder.decode();
10115
+ return [3 /*break*/, 4];
10116
+ }
10117
+ chunk = decoder.decode(value, {
10118
+ stream: true
10119
+ });
10120
+ originalContent += chunk;
10121
+ size += (value === null || value === void 0 ? void 0 : value.length) || 0;
10122
+ (_b = handlers.onChunk) === null || _b === void 0 ? void 0 : _b.call(handlers, {
10123
+ chunk: chunk,
10124
+ size: size
10125
+ });
10126
+ return [3 /*break*/, 2];
10127
+ case 4:
10128
+ return [2 /*return*/, {
10129
+ code: response.status,
10130
+ responseHeaders: responseHeaders,
10131
+ originalContent: originalContent,
10132
+ size: size
10133
+ }];
10134
+ }
10135
+ });
10136
+ });
10137
+ };
10649
10138
  ApiService.prototype.saveApiInfo = function (apiInfo) {
10650
10139
  return this._post("/unity/api/info/save/whole", apiInfo);
10651
10140
  };
@@ -11395,8 +10884,8 @@ var environment_variable_modal_EnvironmentVariableModal = /** @class */function
11395
10884
  // EXTERNAL MODULE: ./src/views/project-detail/index.scss
11396
10885
  var project_detail = __webpack_require__("fe54");
11397
10886
 
11398
- // EXTERNAL MODULE: ./node_modules/.pnpm/core-js@3.35.0/node_modules/core-js/modules/es.error.cause.js
11399
- var es_error_cause = __webpack_require__("0ddb");
10887
+ // EXTERNAL MODULE: ./node_modules/.pnpm/core-js@3.35.0/node_modules/core-js/modules/es.array.reduce.js
10888
+ var es_array_reduce = __webpack_require__("8b65");
11400
10889
 
11401
10890
  // CONCATENATED MODULE: ./src/views/project-detail/interface-settings/model.ts
11402
10891
 
@@ -11805,7 +11294,7 @@ var code_editor_CodeEditor = /** @class */function (_super) {
11805
11294
  }(flagwind_web_umd_js_["Component"]);
11806
11295
  /* harmony default export */ var components_code_editor = (code_editor_CodeEditor);
11807
11296
  // EXTERNAL MODULE: ./src/views/project-detail/response/index.scss
11808
- var response = __webpack_require__("aba0");
11297
+ var project_detail_response = __webpack_require__("aba0");
11809
11298
 
11810
11299
  // CONCATENATED MODULE: ./src/views/project-detail/response/index.ts
11811
11300
 
@@ -11997,7 +11486,7 @@ var response_ResponsePanel = /** @class */function (_super) {
11997
11486
  })], ResponsePanel);
11998
11487
  return ResponsePanel;
11999
11488
  }(base_editor_setting);
12000
- /* harmony default export */ var project_detail_response = (response_ResponsePanel);
11489
+ /* harmony default export */ var views_project_detail_response = (response_ResponsePanel);
12001
11490
  // EXTERNAL MODULE: ./src/views/project-detail/after-execution-transfer/index.scss
12002
11491
  var after_execution_transfer = __webpack_require__("8a77");
12003
11492
 
@@ -13345,9 +12834,6 @@ var security_setting_v2_SecuritySettingV2 = /** @class */function (_super) {
13345
12834
  return SecuritySettingV2;
13346
12835
  }(flagwind_web_["Component"]);
13347
12836
  /* harmony default export */ var project_detail_security_setting_v2 = (security_setting_v2_SecuritySettingV2);
13348
- // EXTERNAL MODULE: ./node_modules/.pnpm/core-js@3.35.0/node_modules/core-js/modules/es.array.reduce.js
13349
- var es_array_reduce = __webpack_require__("8b65");
13350
-
13351
12837
  // EXTERNAL MODULE: ./src/views/project-detail/interface-settings/tips-table-label/index.scss
13352
12838
  var tips_table_label = __webpack_require__("0a2e");
13353
12839
 
@@ -14165,6 +13651,7 @@ var process_drawer_InterfaceModal = /** @class */function (_super) {
14165
13651
 
14166
13652
 
14167
13653
 
13654
+
14168
13655
  // import SecuritySetting from "../security-setting";
14169
13656
 
14170
13657
 
@@ -14179,6 +13666,7 @@ var interface_settings_InterfaceSettings = /** @class */function (_super) {
14179
13666
  _this.response = new Response();
14180
13667
  _this.responseCache = new Map();
14181
13668
  _this.loading = false;
13669
+ _this.runLoading = false;
14182
13670
  _this.showEnvironmentModal = false;
14183
13671
  _this.currentId = "";
14184
13672
  _this.paramList = [];
@@ -14257,14 +13745,14 @@ var interface_settings_InterfaceSettings = /** @class */function (_super) {
14257
13745
  });
14258
13746
  };
14259
13747
  InterfaceSettings.prototype.onRun = function () {
14260
- var _a, _b, _c, _d, _e, _f;
13748
+ var _a, _b, _c, _d, _e, _f, _g;
14261
13749
  return __awaiter(this, void 0, void 0, function () {
14262
- var formParams, requestHeaders, index, result, fileFormParams, _model, tmpFormData_1;
13750
+ var formParams, requestHeaders, index, result, fileFormParams, isStreamResponse, response, start_1, streamResult, error_1, _model, tmpFormData_1;
14263
13751
  var _this = this;
14264
- return __generator(this, function (_g) {
14265
- switch (_g.label) {
13752
+ return __generator(this, function (_h) {
13753
+ switch (_h.label) {
14266
13754
  case 0:
14267
- this.loading = true;
13755
+ this.runLoading = true;
14268
13756
  formParams = [];
14269
13757
  requestHeaders = [];
14270
13758
  if (((_a = this.interfaceModel.formParams) === null || _a === void 0 ? void 0 : _a.length) > 0) {
@@ -14287,7 +13775,70 @@ var interface_settings_InterfaceSettings = /** @class */function (_super) {
14287
13775
  fileFormParams = formParams.filter(function (item) {
14288
13776
  return item.valueType === "FILE";
14289
13777
  });
14290
- if (!fileFormParams.length) return [3 /*break*/, 2];
13778
+ isStreamResponse = ((_d = this.interfaceModel.info) === null || _d === void 0 ? void 0 : _d.streamResponseFlag) === 1;
13779
+ this.loading = !isStreamResponse || !!fileFormParams.length;
13780
+ _h.label = 1;
13781
+ case 1:
13782
+ _h.trys.push([1,, 11, 12]);
13783
+ if (!(isStreamResponse && !fileFormParams.length)) return [3 /*break*/, 6];
13784
+ response = new Response();
13785
+ response.streaming = true;
13786
+ response.requestHeaders = requestHeaders.reduce(function (headers, item) {
13787
+ if (item === null || item === void 0 ? void 0 : item.name) {
13788
+ headers[item.name] = item.value;
13789
+ }
13790
+ return headers;
13791
+ }, {});
13792
+ this.response = response;
13793
+ start_1 = Date.now();
13794
+ _h.label = 2;
13795
+ case 2:
13796
+ _h.trys.push([2, 4,, 5]);
13797
+ return [4 /*yield*/, this.service.runStream(this.interfaceModel.info.id, __assign(__assign({}, this.interfaceModel), {
13798
+ formParams: formParams,
13799
+ requestHeaders: requestHeaders
13800
+ }), {
13801
+ onHeaders: function (_a) {
13802
+ var code = _a.code,
13803
+ responseHeaders = _a.responseHeaders;
13804
+ _this.response = __assign(__assign({}, _this.response), {
13805
+ code: code,
13806
+ responseHeaders: responseHeaders,
13807
+ time: Date.now() - start_1
13808
+ });
13809
+ },
13810
+ onChunk: function (_a) {
13811
+ var chunk = _a.chunk,
13812
+ size = _a.size;
13813
+ _this.response = __assign(__assign({}, _this.response), {
13814
+ originalContent: (_this.response.originalContent || "") + chunk,
13815
+ size: size,
13816
+ time: Date.now() - start_1
13817
+ });
13818
+ }
13819
+ })];
13820
+ case 3:
13821
+ streamResult = _h.sent();
13822
+ this.response = __assign(__assign({}, this.response), {
13823
+ code: streamResult.code,
13824
+ responseHeaders: streamResult.responseHeaders,
13825
+ originalContent: streamResult.originalContent,
13826
+ size: streamResult.size,
13827
+ time: Date.now() - start_1
13828
+ });
13829
+ return [3 /*break*/, 5];
13830
+ case 4:
13831
+ error_1 = _h.sent();
13832
+ this.response = __assign(__assign({}, this.response), {
13833
+ code: this.response.code || 500,
13834
+ errorMessage: (error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || "流式请求失败",
13835
+ time: Date.now() - start_1
13836
+ });
13837
+ return [3 /*break*/, 5];
13838
+ case 5:
13839
+ return [3 /*break*/, 10];
13840
+ case 6:
13841
+ if (!fileFormParams.length) return [3 /*break*/, 8];
14291
13842
  _model = __assign(__assign({}, this.interfaceModel), {
14292
13843
  formParams: formParams,
14293
13844
  requestHeaders: requestHeaders
@@ -14298,31 +13849,41 @@ var interface_settings_InterfaceSettings = /** @class */function (_super) {
14298
13849
  });
14299
13850
  tmpFormData_1.append("_model", JSON.stringify(_model));
14300
13851
  return [4 /*yield*/, this.service.runWithFile(this.interfaceModel.info.id, tmpFormData_1)];
14301
- case 1:
14302
- result = _g.sent();
14303
- return [3 /*break*/, 4];
14304
- case 2:
13852
+ case 7:
13853
+ result = _h.sent();
13854
+ this.response = (result === null || result === void 0 ? void 0 : result.result) || new Response();
13855
+ if (result.hasError) {
13856
+ this.response.code = 400;
13857
+ this.response.errorMessage = result.message;
13858
+ }
13859
+ return [3 /*break*/, 10];
13860
+ case 8:
14305
13861
  return [4 /*yield*/, this.service.run(this.interfaceModel.info.id, __assign(__assign({}, this.interfaceModel), {
14306
13862
  formParams: formParams,
14307
13863
  requestHeaders: requestHeaders
14308
13864
  }))];
14309
- case 3:
14310
- result = _g.sent();
14311
- _g.label = 4;
14312
- case 4:
14313
- this.loading = false;
13865
+ case 9:
13866
+ result = _h.sent();
14314
13867
  this.response = (result === null || result === void 0 ? void 0 : result.result) || new Response();
14315
13868
  if (result.hasError) {
14316
13869
  this.response.code = 400;
14317
13870
  this.response.errorMessage = result.message;
14318
13871
  }
13872
+ _h.label = 10;
13873
+ case 10:
14319
13874
  this.responseCache.set(this.interfaceModel.info.id, this.response);
14320
- if ((_d = this.response.errorLineNumbers) === null || _d === void 0 ? void 0 : _d.length) {
13875
+ if ((_e = this.response.errorLineNumbers) === null || _e === void 0 ? void 0 : _e.length) {
14321
13876
  this.errorLine = this.response.errorLineNumbers;
14322
13877
  } else {
14323
13878
  this.errorLine = null;
14324
13879
  }
14325
- this.originId = ((_f = (_e = this.interfaceModel) === null || _e === void 0 ? void 0 : _e.info) === null || _f === void 0 ? void 0 : _f.id) || "";
13880
+ this.originId = ((_g = (_f = this.interfaceModel) === null || _f === void 0 ? void 0 : _f.info) === null || _g === void 0 ? void 0 : _g.id) || "";
13881
+ return [3 /*break*/, 12];
13882
+ case 11:
13883
+ this.loading = false;
13884
+ this.runLoading = false;
13885
+ return [7 /*endfinally*/];
13886
+ case 12:
14326
13887
  return [2 /*return*/];
14327
13888
  }
14328
13889
  });
@@ -14367,6 +13928,10 @@ var interface_settings_InterfaceSettings = /** @class */function (_super) {
14367
13928
  });
14368
13929
  };
14369
13930
  InterfaceSettings.prototype.interfaceModelChange = function () {
13931
+ var _a, _b;
13932
+ if (((_b = (_a = this.interfaceModel) === null || _a === void 0 ? void 0 : _a.info) === null || _b === void 0 ? void 0 : _b.streamResponseFlag) !== 1) {
13933
+ this.interfaceModel.info.streamResponseFlag = 0;
13934
+ }
14370
13935
  this.response = this.responseCache.get(this.interfaceModel.info.id) || new Response();
14371
13936
  };
14372
13937
  InterfaceSettings.prototype.showImportModalChange = function (value) {
@@ -14610,7 +14175,7 @@ var interface_settings_InterfaceSettings = /** @class */function (_super) {
14610
14175
  InterfaceSettings = __decorate([Object(flagwind_web_["component"])({
14611
14176
  template: __webpack_require__("f40e"),
14612
14177
  components: {
14613
- response: project_detail_response,
14178
+ response: views_project_detail_response,
14614
14179
  params: project_detail_params_setting,
14615
14180
  headers: project_detail_headers_setting,
14616
14181
  // security: SecuritySetting,
@@ -15612,8 +15177,8 @@ var tree_ProjectTree = /** @class */function (_super) {
15612
15177
  return ProjectTree;
15613
15178
  }(flagwind_web_["Component"]);
15614
15179
  /* harmony default export */ var views_project_detail_tree = (tree_ProjectTree);
15615
- // EXTERNAL MODULE: ./node_modules/.pnpm/vue-awesome-swiper@4.1.1_swiper@6.8.4+vue@2.7.16/node_modules/vue-awesome-swiper/dist/vue-awesome-swiper.js
15616
- var vue_awesome_swiper = __webpack_require__("b042");
15180
+ // EXTERNAL MODULE: ./node_modules/.pnpm/vue-awesome-swiper@4.1.1_swiper@6.8.4_vue@2.7.16/node_modules/vue-awesome-swiper/dist/vue-awesome-swiper.js
15181
+ var vue_awesome_swiper = __webpack_require__("ed38");
15617
15182
 
15618
15183
  // CONCATENATED MODULE: ./src/views/project-detail/index.ts
15619
15184
 
@@ -16004,24 +15569,143 @@ var project_detail_ProjectDetail = /** @class */function (_super) {
16004
15569
 
16005
15570
  external_vue_default.a.use(external_halo_math_default.a);
16006
15571
 
16007
- // CONCATENATED MODULE: ./node_modules/.pnpm/@vue+cli-service@4.5.19_4j72uuzxhpprprr3owyhj65lvq/node_modules/@vue/cli-service/lib/commands/build/entry-lib-no-default.js
15572
+ // CONCATENATED MODULE: ./node_modules/.pnpm/@vue+cli-service@4.5.19_raw-loader@1.0.0_sass-load_6c5aczzntsl4dewyqjyegjkf6q/node_modules/@vue/cli-service/lib/commands/build/entry-lib-no-default.js
16008
15573
 
16009
15574
 
16010
15575
 
16011
15576
 
16012
15577
  /***/ }),
16013
15578
 
16014
- /***/ "d371":
15579
+ /***/ "ccf6":
15580
+ /***/ (function(module, exports) {
15581
+
15582
+ module.exports = "<!DOCTYPE html>\r\n<article class=\"v-api-combine-wrapper\">\r\n <i-split v-model=\"split\" min=\"200px\" max=\"1100px\">\r\n <!-- 左侧内容 -->\r\n <section slot=\"left\" class=\"left-split-pane\">\r\n <u-type-tree :taskCategoryID=\"taskCategoryID\" :initSelectItem=\"initNode\" @on-import-success=\"onQuery\" @on-select=\"onNodeSelect\" @on-tree-data=\"onTreeData\">\r\n </u-type-tree>\r\n </section>\r\n <!-- 分割线 -->\r\n <section class=\"trigger\" slot=\"trigger\"></section>\r\n <!-- 右侧内容 -->\r\n <section slot=\"right\" class=\"right-split-pane\">\r\n <section class=\"search-wrapper\">\r\n <i-form class=\"diy-search-form\" ref=\"searchForm\" :model=\"formData\" label-position=\"left\" label-colon>\r\n <i-form-item label=\"名称\" prop=\"name\">\r\n <i-input class=\"diy-input\" v-model=\"formData.name\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"编码\" prop=\"code\">\r\n <i-input class=\"diy-input\" v-model=\"formData.code\"></i-input>\r\n </i-form-item>\r\n </i-form>\r\n <div class=\"btns\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onQuery\">查询</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onReset\">重置</i-button>\r\n </div>\r\n </section>\r\n <section class=\"actions-wrapper\">\r\n <div class=\"action-item action-text\" @click=\"onAdd()\" :class=\"currentNode.id === 'virtual_root_directory' ? 'icon-button-disabled' : ''\">\r\n <i class=\"iconfont icon-add\"></i>\r\n <div>新增</div>\r\n </div>\r\n <div class=\"action-item action-text\" :class=\"(selection.length && !isContainsPublished) ? '' : 'icon-button-disabled'\" @click=\"onBatchDelete\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n <span>批量删除</span>\r\n </div>\r\n </section>\r\n <section class=\"main-wrapper\">\r\n <template v-if=\"list&&list.length\">\r\n <i-table class=\"diy-table diy-table-scorll\" :columns=\"columns\" :data=\"list\" @on-selection-change=\"onSelectChange\" @on-row-click=\"onRowClick\">\r\n <template slot=\"status\" slot-scope=\"{row,index}\">\r\n <i-switch class=\"diy-switch\" :value=\"row.status==='PUBLISHED'\" @on-change=\"onStatusChange($event, row, index)\"></i-switch>\r\n <span>{{row.status===\"PUBLISHED\" ? \"已发布\" : \"未发布\"}}</span>\r\n </template>\r\n <template slot=\"authFlag\" slot-scope=\"{row,index}\">\r\n <i-switch class=\"diy-switch\" :value=\"row.authFlag\" :true-value=\"1\" :false-value=\"0\" @on-change=\"onAuthFlagChange($event, row, index)\">\r\n <span slot=\"open\">是</span>\r\n <span slot=\"close\">否</span>\r\n </i-switch>\r\n </template>\r\n <template slot=\"doc\" slot-scope=\"{row}\">\r\n <a @click=\"onOpenDoc(row)\">查看</a>\r\n </template>\r\n <template #operates=\"{row,index}\">\r\n <div class=\"row-actions\">\r\n <i @click=\"onDetail(row)\" title=\"查看\" class=\"iconfont icon-a-xinzengzhibiaobeifen9\"></i>\r\n <i @click=\"onCopy(row)\" title=\"复制\" class=\"iconfont icon-fuzhi1\"> </i>\r\n <template v-if=\"row.status!=='PUBLISHED'\">\r\n <i @click=\"onEdit(row)\" title=\"编辑\" class=\"iconfont icon-Edit\"></i>\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 </template>\r\n </div>\r\n </template>\r\n </i-table>\r\n <i-page\r\n class=\"diy-page\"\r\n show-total\r\n show-sizer\r\n show-elevator\r\n :total=\"paging.totalCount\"\r\n :current=\"paging.pageIndex\"\r\n :page-size=\"paging.pageSize\"\r\n @on-change=\"onPageIndexChange\"\r\n @on-page-size-change=\"onPageSizeChange\"\r\n ></i-page>\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 </section>\r\n </section>\r\n </i-split>\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-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\r\n <i-modal draggable sticky reset-drag-position v-model=\"showCopyModal\" class=\"diy-modal combine-copy-modal\" :mask-closable=\"false\" title=\"复制接口\">\r\n <i-form :label-width=\"100\" class=\"diy-form\" v-model=\"copyData\" label-colon>\r\n <i-form-item label=\"接口名称\" required>\r\n <i-input class=\"diy-input\" v-model=\"copyData.name\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"接口编码\" required>\r\n <i-input class=\"diy-input\" v-model=\"copyData.code\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"选择分组\" required>\r\n <u-tree-selector :treeData=\"treeData\" leaf-name=\"copy\" :canChooseFolder=\"true\" v-model=\"categoryData.id\" @on-select=\"selectCategory\"> </u-tree-selector>\r\n </i-form-item>\r\n </i-form>\r\n <footer slot=\"footer\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onCopyConfirm\">确定</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onCopyCancel\">取消</i-button>\r\n </footer>\r\n </i-modal>\r\n</article>\r\n"
15583
+
15584
+ /***/ }),
15585
+
15586
+ /***/ "cd69":
16015
15587
  /***/ (function(module, exports, __webpack_require__) {
16016
15588
 
16017
15589
  "use strict";
16018
15590
 
16019
- var DESCRIPTORS = __webpack_require__("e900");
16020
- var uncurryThis = __webpack_require__("720f");
16021
- var defineBuiltInAccessor = __webpack_require__("889b");
15591
+ var ceil = Math.ceil;
15592
+ var floor = Math.floor;
16022
15593
 
16023
- var URLSearchParamsPrototype = URLSearchParams.prototype;
16024
- var forEach = uncurryThis(URLSearchParamsPrototype.forEach);
15594
+ // `Math.trunc` method
15595
+ // https://tc39.es/ecma262/#sec-math.trunc
15596
+ // eslint-disable-next-line es/no-math-trunc -- safe
15597
+ module.exports = Math.trunc || function trunc(x) {
15598
+ var n = +x;
15599
+ return (n > 0 ? floor : ceil)(n);
15600
+ };
15601
+
15602
+
15603
+ /***/ }),
15604
+
15605
+ /***/ "ce8f":
15606
+ /***/ (function(module, exports) {
15607
+
15608
+ module.exports = __WEBPACK_EXTERNAL_MODULE_ce8f__;
15609
+
15610
+ /***/ }),
15611
+
15612
+ /***/ "ce97":
15613
+ /***/ (function(module, exports, __webpack_require__) {
15614
+
15615
+ "use strict";
15616
+
15617
+ var classof = __webpack_require__("aaa6");
15618
+
15619
+ var $String = String;
15620
+
15621
+ module.exports = function (argument) {
15622
+ if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');
15623
+ return $String(argument);
15624
+ };
15625
+
15626
+
15627
+ /***/ }),
15628
+
15629
+ /***/ "cebe":
15630
+ /***/ (function(module, exports) {
15631
+
15632
+ module.exports = __WEBPACK_EXTERNAL_MODULE_cebe__;
15633
+
15634
+ /***/ }),
15635
+
15636
+ /***/ "cf8c":
15637
+ /***/ (function(module, exports, __webpack_require__) {
15638
+
15639
+ "use strict";
15640
+
15641
+ var toIndexedObject = __webpack_require__("485f");
15642
+ var toAbsoluteIndex = __webpack_require__("575c");
15643
+ var lengthOfArrayLike = __webpack_require__("d631");
15644
+
15645
+ // `Array.prototype.{ indexOf, includes }` methods implementation
15646
+ var createMethod = function (IS_INCLUDES) {
15647
+ return function ($this, el, fromIndex) {
15648
+ var O = toIndexedObject($this);
15649
+ var length = lengthOfArrayLike(O);
15650
+ var index = toAbsoluteIndex(fromIndex, length);
15651
+ var value;
15652
+ // Array#includes uses SameValueZero equality algorithm
15653
+ // eslint-disable-next-line no-self-compare -- NaN check
15654
+ if (IS_INCLUDES && el !== el) while (length > index) {
15655
+ value = O[index++];
15656
+ // eslint-disable-next-line no-self-compare -- NaN check
15657
+ if (value !== value) return true;
15658
+ // Array#indexOf ignores holes, Array#includes - not
15659
+ } else for (;length > index; index++) {
15660
+ if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
15661
+ } return !IS_INCLUDES && -1;
15662
+ };
15663
+ };
15664
+
15665
+ module.exports = {
15666
+ // `Array.prototype.includes` method
15667
+ // https://tc39.es/ecma262/#sec-array.prototype.includes
15668
+ includes: createMethod(true),
15669
+ // `Array.prototype.indexOf` method
15670
+ // https://tc39.es/ecma262/#sec-array.prototype.indexof
15671
+ indexOf: createMethod(false)
15672
+ };
15673
+
15674
+
15675
+ /***/ }),
15676
+
15677
+ /***/ "cfb3":
15678
+ /***/ (function(module, exports) {
15679
+
15680
+ 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"
15681
+
15682
+ /***/ }),
15683
+
15684
+ /***/ "cfde":
15685
+ /***/ (function(module, exports, __webpack_require__) {
15686
+
15687
+ // extracted by mini-css-extract-plugin
15688
+
15689
+ /***/ }),
15690
+
15691
+ /***/ "d30a":
15692
+ /***/ (function(module, exports) {
15693
+
15694
+ 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"
15695
+
15696
+ /***/ }),
15697
+
15698
+ /***/ "d371":
15699
+ /***/ (function(module, exports, __webpack_require__) {
15700
+
15701
+ "use strict";
15702
+
15703
+ var DESCRIPTORS = __webpack_require__("e900");
15704
+ var uncurryThis = __webpack_require__("720f");
15705
+ var defineBuiltInAccessor = __webpack_require__("889b");
15706
+
15707
+ var URLSearchParamsPrototype = URLSearchParams.prototype;
15708
+ var forEach = uncurryThis(URLSearchParamsPrototype.forEach);
16025
15709
 
16026
15710
  // `URLSearchParams.prototype.size` getter
16027
15711
  // https://github.com/whatwg/url/pull/734
@@ -16508,12 +16192,497 @@ module.exports = NATIVE_SYMBOL
16508
16192
  && typeof Symbol.iterator == 'symbol';
16509
16193
 
16510
16194
 
16195
+ /***/ }),
16196
+
16197
+ /***/ "ed38":
16198
+ /***/ (function(module, exports, __webpack_require__) {
16199
+
16200
+
16201
+ /*!
16202
+ * vue-awesome-swiper v4.1.1
16203
+ * Copyright (c) Surmon. All rights reserved.
16204
+ * Released under the MIT License.
16205
+ * Surmon <https://github.com/surmon-china>
16206
+ */
16207
+
16208
+ (function(g,f){ true?f(exports,__webpack_require__("d670"),__webpack_require__("8bbf")):undefined;}(this,(function(exports, SwiperClass, Vue){'use strict';SwiperClass=SwiperClass&&Object.prototype.hasOwnProperty.call(SwiperClass,'default')?SwiperClass['default']:SwiperClass;Vue=Vue&&Object.prototype.hasOwnProperty.call(Vue,'default')?Vue['default']:Vue;/**
16209
+ * @file vue-awesome-swiper
16210
+ * @module constants
16211
+ * @author Surmon <https://github.com/surmon-china>
16212
+ */
16213
+ var CoreNames;
16214
+ (function (CoreNames) {
16215
+ CoreNames["SwiperComponent"] = "Swiper";
16216
+ CoreNames["SwiperSlideComponent"] = "SwiperSlide";
16217
+ CoreNames["SwiperDirective"] = "swiper";
16218
+ CoreNames["SwiperInstance"] = "$swiper";
16219
+ })(CoreNames || (CoreNames = {}));
16220
+ var DEFAULT_CLASSES = Object.freeze({
16221
+ containerClass: 'swiper-container',
16222
+ wrapperClass: 'swiper-wrapper',
16223
+ slideClass: 'swiper-slide'
16224
+ });
16225
+ var ComponentEvents;
16226
+ (function (ComponentEvents) {
16227
+ ComponentEvents["Ready"] = "ready";
16228
+ ComponentEvents["ClickSlide"] = "clickSlide";
16229
+ })(ComponentEvents || (ComponentEvents = {}));
16230
+ var ComponentPropNames;
16231
+ (function (ComponentPropNames) {
16232
+ ComponentPropNames["AutoUpdate"] = "autoUpdate";
16233
+ ComponentPropNames["AutoDestroy"] = "autoDestroy";
16234
+ ComponentPropNames["DeleteInstanceOnDestroy"] = "deleteInstanceOnDestroy";
16235
+ ComponentPropNames["CleanupStylesOnDestroy"] = "cleanupStylesOnDestroy";
16236
+ })(ComponentPropNames || (ComponentPropNames = {}));
16237
+ // https://swiperjs.com/api/#events
16238
+ var SWIPER_EVENTS = [
16239
+ 'init',
16240
+ 'beforeDestroy',
16241
+ 'slideChange',
16242
+ 'slideChangeTransitionStart',
16243
+ 'slideChangeTransitionEnd',
16244
+ 'slideNextTransitionStart',
16245
+ 'slideNextTransitionEnd',
16246
+ 'slidePrevTransitionStart',
16247
+ 'slidePrevTransitionEnd',
16248
+ 'transitionStart',
16249
+ 'transitionEnd',
16250
+ 'touchStart',
16251
+ 'touchMove',
16252
+ 'touchMoveOpposite',
16253
+ 'sliderMove',
16254
+ 'touchEnd',
16255
+ 'click',
16256
+ 'tap',
16257
+ 'doubleTap',
16258
+ 'imagesReady',
16259
+ 'progress',
16260
+ 'reachBeginning',
16261
+ 'reachEnd',
16262
+ 'fromEdge',
16263
+ 'setTranslate',
16264
+ 'setTransition',
16265
+ 'resize',
16266
+ 'observerUpdate',
16267
+ 'beforeLoopFix',
16268
+ 'loopFix'
16269
+ ];/*! *****************************************************************************
16270
+ Copyright (c) Microsoft Corporation. All rights reserved.
16271
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
16272
+ this file except in compliance with the License. You may obtain a copy of the
16273
+ License at http://www.apache.org/licenses/LICENSE-2.0
16274
+
16275
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16276
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
16277
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
16278
+ MERCHANTABLITY OR NON-INFRINGEMENT.
16279
+
16280
+ See the Apache Version 2.0 License for specific language governing permissions
16281
+ and limitations under the License.
16282
+ ***************************************************************************** */
16283
+
16284
+ function __spreadArrays() {
16285
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
16286
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
16287
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
16288
+ r[k] = a[j];
16289
+ return r;
16290
+ }/**
16291
+ * @file vue-awesome-swiper
16292
+ * @module utils
16293
+ * @author Surmon <https://github.com/surmon-china>
16294
+ */
16295
+ var kebabcase = function (string) {
16296
+ return string
16297
+ .replace(/([a-z])([A-Z])/g, '$1-$2')
16298
+ .replace(/\s+/g, '-')
16299
+ .toLowerCase();
16300
+ };/**
16301
+ * @file vue-awesome-swiper
16302
+ * @module event
16303
+ * @author Surmon <https://github.com/surmon-china>
16304
+ */
16305
+ var handleClickSlideEvent = function (swiper, event, emit) {
16306
+ var _a, _b, _c;
16307
+ if (swiper && !(swiper.destroyed)) {
16308
+ var eventPath = ((_a = event.composedPath) === null || _a === void 0 ? void 0 : _a.call(event)) || event.path;
16309
+ if ((event === null || event === void 0 ? void 0 : event.target) && eventPath) {
16310
+ var slides_1 = Array.from(swiper.slides);
16311
+ var paths = Array.from(eventPath);
16312
+ // Click slide || slide[children]
16313
+ if (slides_1.includes(event.target) || paths.some(function (item) { return slides_1.includes(item); })) {
16314
+ var clickedIndex = swiper.clickedIndex;
16315
+ var reallyIndex = Number((_c = (_b = swiper.clickedSlide) === null || _b === void 0 ? void 0 : _b.dataset) === null || _c === void 0 ? void 0 : _c.swiperSlideIndex);
16316
+ var reallyIndexValue = Number.isInteger(reallyIndex) ? reallyIndex : null;
16317
+ emit(ComponentEvents.ClickSlide, clickedIndex, reallyIndexValue);
16318
+ emit(kebabcase(ComponentEvents.ClickSlide), clickedIndex, reallyIndexValue);
16319
+ }
16320
+ }
16321
+ }
16322
+ };
16323
+ var bindSwiperEvents = function (swiper, emit) {
16324
+ SWIPER_EVENTS.forEach(function (eventName) {
16325
+ swiper.on(eventName, function () {
16326
+ var arguments$1 = arguments;
16327
+
16328
+ var args = [];
16329
+ for (var _i = 0; _i < arguments.length; _i++) {
16330
+ args[_i] = arguments$1[_i];
16331
+ }
16332
+ emit.apply(void 0, __spreadArrays([eventName], args));
16333
+ var kebabcaseName = kebabcase(eventName);
16334
+ if (kebabcaseName !== eventName) {
16335
+ emit.apply(void 0, __spreadArrays([kebabcaseName], args));
16336
+ }
16337
+ });
16338
+ });
16339
+ };/**
16340
+ * @file vue-awesome-swiper
16341
+ * @module directive
16342
+ * @author Surmon <https://github.com/surmon-china>
16343
+ */
16344
+ var INSTANCE_NAME_KEY = 'instanceName';
16345
+ function getDirective(SwiperClass, globalOptions) {
16346
+ var getStandardisedOptionByAttrs = function (vnode, key) {
16347
+ var _a, _b, _c, _d;
16348
+ var value = (_b = (_a = vnode.data) === null || _a === void 0 ? void 0 : _a.attrs) === null || _b === void 0 ? void 0 : _b[key];
16349
+ return value !== undefined
16350
+ ? value
16351
+ : (_d = (_c = vnode.data) === null || _c === void 0 ? void 0 : _c.attrs) === null || _d === void 0 ? void 0 : _d[kebabcase(key)];
16352
+ };
16353
+ // Get swiper instace name in directive
16354
+ var getSwiperInstanceName = function (element, binding, vnode) {
16355
+ return (binding.arg ||
16356
+ getStandardisedOptionByAttrs(vnode, INSTANCE_NAME_KEY) ||
16357
+ element.id ||
16358
+ CoreNames.SwiperInstance);
16359
+ };
16360
+ var getSwiperInstance = function (element, binding, vnode) {
16361
+ var instanceName = getSwiperInstanceName(element, binding, vnode);
16362
+ return vnode.context[instanceName] || null;
16363
+ };
16364
+ var getSwipeOptions = function (binding) {
16365
+ return binding.value || globalOptions;
16366
+ };
16367
+ var getBooleanValueByInput = function (input) {
16368
+ return [true, undefined, null, ''].includes(input);
16369
+ };
16370
+ // Emit event in Vue directive
16371
+ var getEventEmiter = function (vnode) {
16372
+ var _a, _b;
16373
+ var handlers = ((_a = vnode.data) === null || _a === void 0 ? void 0 : _a.on) || ((_b = vnode.componentOptions) === null || _b === void 0 ? void 0 : _b.listeners);
16374
+ return function (name) {
16375
+ var arguments$1 = arguments;
16376
+
16377
+ var args = [];
16378
+ for (var _i = 1; _i < arguments.length; _i++) {
16379
+ args[_i - 1] = arguments$1[_i];
16380
+ }
16381
+ var _a;
16382
+ var handle = (_a = handlers) === null || _a === void 0 ? void 0 : _a[name];
16383
+ if (handle) {
16384
+ handle.fns.apply(handle, args);
16385
+ }
16386
+ };
16387
+ };
16388
+ return {
16389
+ // Init
16390
+ bind: function (element, binding, vnode) {
16391
+ // auto class name
16392
+ if (element.className.indexOf(DEFAULT_CLASSES.containerClass) === -1) {
16393
+ element.className += ((element.className ? ' ' : '') + DEFAULT_CLASSES.containerClass);
16394
+ }
16395
+ // bind click event
16396
+ element.addEventListener('click', function (event) {
16397
+ var emitEvent = getEventEmiter(vnode);
16398
+ var swiper = getSwiperInstance(element, binding, vnode);
16399
+ handleClickSlideEvent(swiper, event, emitEvent);
16400
+ });
16401
+ },
16402
+ // DOM inserted
16403
+ inserted: function (element, binding, vnode) {
16404
+ var context = vnode.context;
16405
+ var swiperOptions = getSwipeOptions(binding);
16406
+ var instanceName = getSwiperInstanceName(element, binding, vnode);
16407
+ var emitEvent = getEventEmiter(vnode);
16408
+ var vueContext = context;
16409
+ var swiper = vueContext === null || vueContext === void 0 ? void 0 : vueContext[instanceName];
16410
+ // Swiper will destroy but not delete instance, when used <keep-alive>
16411
+ if (!swiper || swiper.destroyed) {
16412
+ swiper = new SwiperClass(element, swiperOptions);
16413
+ vueContext[instanceName] = swiper;
16414
+ bindSwiperEvents(swiper, emitEvent);
16415
+ emitEvent(ComponentEvents.Ready, swiper);
16416
+ // MARK: Reinstance when the nexttick with <keep-alive>
16417
+ // Vue.nextTick(instancing) | setTimeout(instancing)
16418
+ }
16419
+ },
16420
+ // On options changed or DOM updated
16421
+ componentUpdated: function (element, binding, vnode) {
16422
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
16423
+ var autoUpdate = getStandardisedOptionByAttrs(vnode, ComponentPropNames.AutoUpdate);
16424
+ if (getBooleanValueByInput(autoUpdate)) {
16425
+ var swiper = getSwiperInstance(element, binding, vnode);
16426
+ if (swiper) {
16427
+ var swiperOptions = getSwipeOptions(binding);
16428
+ var isLoop = swiperOptions.loop;
16429
+ if (isLoop) {
16430
+ (_b = (_a = swiper) === null || _a === void 0 ? void 0 : _a.loopDestroy) === null || _b === void 0 ? void 0 : _b.call(_a);
16431
+ }
16432
+ (_c = swiper === null || swiper === void 0 ? void 0 : swiper.update) === null || _c === void 0 ? void 0 : _c.call(swiper);
16433
+ (_e = (_d = swiper.navigation) === null || _d === void 0 ? void 0 : _d.update) === null || _e === void 0 ? void 0 : _e.call(_d);
16434
+ (_g = (_f = swiper.pagination) === null || _f === void 0 ? void 0 : _f.render) === null || _g === void 0 ? void 0 : _g.call(_f);
16435
+ (_j = (_h = swiper.pagination) === null || _h === void 0 ? void 0 : _h.update) === null || _j === void 0 ? void 0 : _j.call(_h);
16436
+ if (isLoop) {
16437
+ (_l = (_k = swiper) === null || _k === void 0 ? void 0 : _k.loopCreate) === null || _l === void 0 ? void 0 : _l.call(_k);
16438
+ (_m = swiper === null || swiper === void 0 ? void 0 : swiper.update) === null || _m === void 0 ? void 0 : _m.call(swiper);
16439
+ }
16440
+ }
16441
+ }
16442
+ },
16443
+ // Destroy this directive
16444
+ unbind: function (element, binding, vnode) {
16445
+ var _a;
16446
+ var autoDestroy = getStandardisedOptionByAttrs(vnode, ComponentPropNames.AutoDestroy);
16447
+ if (getBooleanValueByInput(autoDestroy)) {
16448
+ var swiper = getSwiperInstance(element, binding, vnode);
16449
+ if (swiper && swiper.initialized) {
16450
+ (_a = swiper === null || swiper === void 0 ? void 0 : swiper.destroy) === null || _a === void 0 ? void 0 : _a.call(swiper, getBooleanValueByInput(getStandardisedOptionByAttrs(vnode, ComponentPropNames.DeleteInstanceOnDestroy)), getBooleanValueByInput(getStandardisedOptionByAttrs(vnode, ComponentPropNames.CleanupStylesOnDestroy)));
16451
+ }
16452
+ }
16453
+ }
16454
+ };
16455
+ }/**
16456
+ * @file vue-awesome-swiper
16457
+ * @module SwiperComponent
16458
+ * @author Surmon <https://github.com/surmon-china>
16459
+ */
16460
+ var SlotNames;
16461
+ (function (SlotNames) {
16462
+ SlotNames["ParallaxBg"] = "parallax-bg";
16463
+ SlotNames["Pagination"] = "pagination";
16464
+ SlotNames["Scrollbar"] = "scrollbar";
16465
+ SlotNames["PrevButton"] = "button-prev";
16466
+ SlotNames["NextButton"] = "button-next";
16467
+ })(SlotNames || (SlotNames = {}));
16468
+ function getSwiperComponent(SwiperClass) {
16469
+ var _a;
16470
+ return Vue.extend({
16471
+ name: CoreNames.SwiperComponent,
16472
+ props: (_a = {
16473
+ defaultOptions: {
16474
+ type: Object,
16475
+ required: false,
16476
+ default: function () { return ({}); }
16477
+ },
16478
+ // eslint-disable-next-line vue/require-default-prop
16479
+ options: {
16480
+ type: Object,
16481
+ required: false
16482
+ }
16483
+ },
16484
+ _a[ComponentPropNames.AutoUpdate] = {
16485
+ type: Boolean,
16486
+ default: true
16487
+ },
16488
+ // https://github.com/surmon-china/vue-awesome-swiper/pull/550/files
16489
+ _a[ComponentPropNames.AutoDestroy] = {
16490
+ type: Boolean,
16491
+ default: true
16492
+ },
16493
+ // https://github.com/surmon-china/vue-awesome-swiper/pull/388
16494
+ _a[ComponentPropNames.DeleteInstanceOnDestroy] = {
16495
+ type: Boolean,
16496
+ required: false,
16497
+ default: true
16498
+ },
16499
+ _a[ComponentPropNames.CleanupStylesOnDestroy] = {
16500
+ type: Boolean,
16501
+ required: false,
16502
+ default: true
16503
+ },
16504
+ _a),
16505
+ data: function () {
16506
+ var _a;
16507
+ return _a = {},
16508
+ _a[CoreNames.SwiperInstance] = null,
16509
+ _a;
16510
+ },
16511
+ computed: {
16512
+ swiperInstance: {
16513
+ cache: false,
16514
+ set: function (swiper) {
16515
+ this[CoreNames.SwiperInstance] = swiper;
16516
+ },
16517
+ get: function () {
16518
+ return this[CoreNames.SwiperInstance];
16519
+ }
16520
+ },
16521
+ swiperOptions: function () {
16522
+ return this.options || this.defaultOptions;
16523
+ },
16524
+ wrapperClass: function () {
16525
+ return this.swiperOptions.wrapperClass || DEFAULT_CLASSES.wrapperClass;
16526
+ }
16527
+ },
16528
+ methods: {
16529
+ // Feature: click event
16530
+ handleSwiperClick: function (event) {
16531
+ handleClickSlideEvent(this.swiperInstance, event, this.$emit.bind(this));
16532
+ },
16533
+ autoReLoopSwiper: function () {
16534
+ var _a, _b;
16535
+ if (this.swiperInstance && this.swiperOptions.loop) {
16536
+ // https://github.com/surmon-china/vue-awesome-swiper/issues/593
16537
+ // https://github.com/surmon-china/vue-awesome-swiper/issues/544
16538
+ // https://github.com/surmon-china/vue-awesome-swiper/pull/545/files
16539
+ var swiper = this.swiperInstance;
16540
+ (_a = swiper === null || swiper === void 0 ? void 0 : swiper.loopDestroy) === null || _a === void 0 ? void 0 : _a.call(swiper);
16541
+ (_b = swiper === null || swiper === void 0 ? void 0 : swiper.loopCreate) === null || _b === void 0 ? void 0 : _b.call(swiper);
16542
+ }
16543
+ },
16544
+ updateSwiper: function () {
16545
+ var _a, _b, _c, _d, _e, _f, _g, _h;
16546
+ if (this[ComponentPropNames.AutoUpdate] && this.swiperInstance) {
16547
+ this.autoReLoopSwiper();
16548
+ (_b = (_a = this.swiperInstance) === null || _a === void 0 ? void 0 : _a.update) === null || _b === void 0 ? void 0 : _b.call(_a);
16549
+ (_d = (_c = this.swiperInstance.navigation) === null || _c === void 0 ? void 0 : _c.update) === null || _d === void 0 ? void 0 : _d.call(_c);
16550
+ (_f = (_e = this.swiperInstance.pagination) === null || _e === void 0 ? void 0 : _e.render) === null || _f === void 0 ? void 0 : _f.call(_e);
16551
+ (_h = (_g = this.swiperInstance.pagination) === null || _g === void 0 ? void 0 : _g.update) === null || _h === void 0 ? void 0 : _h.call(_g);
16552
+ }
16553
+ },
16554
+ destroySwiper: function () {
16555
+ var _a, _b;
16556
+ if (this[ComponentPropNames.AutoDestroy] && this.swiperInstance) {
16557
+ // https://github.com/surmon-china/vue-awesome-swiper/pull/341
16558
+ // https://github.com/surmon-china/vue-awesome-swiper/issues/340
16559
+ if (this.swiperInstance.initialized) {
16560
+ (_b = (_a = this.swiperInstance) === null || _a === void 0 ? void 0 : _a.destroy) === null || _b === void 0 ? void 0 : _b.call(_a, this[ComponentPropNames.DeleteInstanceOnDestroy], this[ComponentPropNames.CleanupStylesOnDestroy]);
16561
+ }
16562
+ }
16563
+ },
16564
+ initSwiper: function () {
16565
+ this.swiperInstance = new SwiperClass(this.$el, this.swiperOptions);
16566
+ bindSwiperEvents(this.swiperInstance, this.$emit.bind(this));
16567
+ this.$emit(ComponentEvents.Ready, this.swiperInstance);
16568
+ }
16569
+ },
16570
+ mounted: function () {
16571
+ if (!this.swiperInstance) {
16572
+ this.initSwiper();
16573
+ }
16574
+ },
16575
+ // Update swiper when the parent component activated with `keep-alive`.
16576
+ activated: function () {
16577
+ this.updateSwiper();
16578
+ },
16579
+ updated: function () {
16580
+ this.updateSwiper();
16581
+ },
16582
+ beforeDestroy: function () {
16583
+ // https://github.com/surmon-china/vue-awesome-swiper/commit/2924a9d4d3d1cf51c0d46076410b1f804b2b8a43#diff-7f4e0261ac562c0f354cb91a1ca8864f
16584
+ this.$nextTick(this.destroySwiper);
16585
+ },
16586
+ render: function (createElement) {
16587
+ return createElement('div', {
16588
+ staticClass: DEFAULT_CLASSES.containerClass,
16589
+ on: {
16590
+ click: this.handleSwiperClick
16591
+ }
16592
+ }, [
16593
+ this.$slots[SlotNames.ParallaxBg],
16594
+ createElement('div', {
16595
+ class: this.wrapperClass
16596
+ }, this.$slots.default),
16597
+ this.$slots[SlotNames.Pagination],
16598
+ this.$slots[SlotNames.PrevButton],
16599
+ this.$slots[SlotNames.NextButton],
16600
+ this.$slots[SlotNames.Scrollbar]
16601
+ ]);
16602
+ }
16603
+ });
16604
+ }/**
16605
+ * @file vue-awesome-swiper
16606
+ * @module SwiperSlideComponent
16607
+ * @author Surmon <https://github.com/surmon-china>
16608
+ */
16609
+ var SwiperSlideComponent = Vue.extend({
16610
+ name: CoreNames.SwiperSlideComponent,
16611
+ computed: {
16612
+ slideClass: function () {
16613
+ var _a, _b;
16614
+ return ((_b = (_a = this.$parent) === null || _a === void 0 ? void 0 : _a.swiperOptions) === null || _b === void 0 ? void 0 : _b.slideClass) || DEFAULT_CLASSES.slideClass;
16615
+ }
16616
+ },
16617
+ methods: {
16618
+ update: function () {
16619
+ var _a;
16620
+ var parent = this.$parent;
16621
+ // https://github.com/surmon-china/vue-awesome-swiper/issues/632
16622
+ if (parent[ComponentPropNames.AutoUpdate]) {
16623
+ (_a = parent === null || parent === void 0 ? void 0 : parent.swiperInstance) === null || _a === void 0 ? void 0 : _a.update();
16624
+ }
16625
+ }
16626
+ },
16627
+ mounted: function () {
16628
+ this.update();
16629
+ },
16630
+ updated: function () {
16631
+ this.update();
16632
+ },
16633
+ render: function (createElement) {
16634
+ return createElement('div', {
16635
+ class: this.slideClass
16636
+ }, this.$slots.default);
16637
+ }
16638
+ });/**
16639
+ * @file vue-awesome-swiper
16640
+ * @module exporter
16641
+ * @author Surmon <https://github.com/surmon-china>
16642
+ */
16643
+ var getInstaller = function (SwiperClass) {
16644
+ var install = function (Vue, globalOptions) {
16645
+ if (install.installed)
16646
+ { return; }
16647
+ var SwiperComponent = getSwiperComponent(SwiperClass);
16648
+ if (globalOptions) {
16649
+ SwiperComponent.options.props.defaultOptions.default = function () { return globalOptions; };
16650
+ }
16651
+ Vue.component(CoreNames.SwiperComponent, SwiperComponent);
16652
+ Vue.component(CoreNames.SwiperSlideComponent, SwiperSlideComponent);
16653
+ Vue.directive(CoreNames.SwiperDirective, getDirective(SwiperClass, globalOptions));
16654
+ install.installed = true;
16655
+ };
16656
+ return install;
16657
+ };
16658
+ function exporter(SwiperClass) {
16659
+ var _a;
16660
+ return _a = {
16661
+ version: '4.1.1',
16662
+ install: getInstaller(SwiperClass),
16663
+ directive: getDirective(SwiperClass)
16664
+ },
16665
+ _a[CoreNames.SwiperComponent] = getSwiperComponent(SwiperClass),
16666
+ _a[CoreNames.SwiperSlideComponent] = SwiperSlideComponent,
16667
+ _a;
16668
+ }/**
16669
+ * @file vue-awesome-swiper
16670
+ * @module default-export
16671
+ * @author Surmon <https://github.com/surmon-china>
16672
+ */
16673
+ var VueAwesomeSwiper = exporter(SwiperClass);
16674
+ var version = VueAwesomeSwiper.version;
16675
+ var install = VueAwesomeSwiper.install;
16676
+ var directive = VueAwesomeSwiper.directive;
16677
+ var Swiper = VueAwesomeSwiper.Swiper;
16678
+ var SwiperSlide = VueAwesomeSwiper.SwiperSlide;exports.Swiper=Swiper;exports.SwiperSlide=SwiperSlide;exports.default=VueAwesomeSwiper;exports.directive=directive;exports.install=install;exports.version=version;Object.defineProperty(exports,'__esModule',{value:true});})));
16679
+
16511
16680
  /***/ }),
16512
16681
 
16513
16682
  /***/ "ef27":
16514
16683
  /***/ (function(module, exports) {
16515
16684
 
16516
- module.exports = "<article class=\"project-card\" @click=\"onDetail\">\r\n <header :title=\"data.name\">{{data.name}}</header>\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"
16685
+ module.exports = "<article class=\"project-card\" @click=\"onDetail\">\r\n <header :title=\"data.name\">{{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"
16517
16686
 
16518
16687
  /***/ }),
16519
16688
 
@@ -16537,7 +16706,7 @@ module.exports = function (bitmap, value) {
16537
16706
  /***/ "f40e":
16538
16707
  /***/ (function(module, exports) {
16539
16708
 
16540
- 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-poptip class=\"url-poptip\" v-if=\"interfaceModel.info.url\" trigger=\"hover\" :content=\"interfaceModel.info.url\" transfer>\r\n <i-input class=\"diy-input url-input\" v-model=\"interfaceModel.info.url\"></i-input>\r\n </i-poptip>\r\n <i-input v-else 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 process-btn\" @click=\"onProcess\" 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 <u-process-drawer v-model=\"showDrawer\" :projectTree=\"projectTree\" :info=\"interfaceModel.info\" @on-save=\"onProcessSave\"></u-process-drawer>\r\n</article>\r\n"
16709
+ 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-poptip class=\"url-poptip\" v-if=\"interfaceModel.info.url\" trigger=\"hover\" :content=\"interfaceModel.info.url\" transfer>\r\n <i-input class=\"diy-input url-input\" v-model=\"interfaceModel.info.url\"></i-input>\r\n </i-poptip>\r\n <i-input v-else class=\"diy-input url-input\" v-model=\"interfaceModel.info.url\"></i-input>\r\n <div class=\"stream-switch\">\r\n <span>流式响应</span>\r\n <i-switch v-model=\"interfaceModel.info.streamResponseFlag\" :true-value=\"1\" :false-value=\"0\"></i-switch>\r\n </div>\r\n\r\n <i-button type=\"primary\" class=\"diy-btn-primary submit-btn\" :loading=\"runLoading\" @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 process-btn\" @click=\"onProcess\" 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 <u-process-drawer v-model=\"showDrawer\" :projectTree=\"projectTree\" :info=\"interfaceModel.info\" @on-save=\"onProcessSave\"></u-process-drawer>\r\n</article>\r\n"
16541
16710
 
16542
16711
  /***/ }),
16543
16712