@egova/egova-api 1.0.222 → 1.0.225

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
@@ -21190,7 +21190,7 @@ exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDes
21190
21190
  /***/ "07ab":
21191
21191
  /***/ (function(module, exports) {
21192
21192
 
21193
- module.exports = "<div class=\"u-tree-node\">\r\n<!-- <i class=\"iconfont\" :class=\"data.expand? 'icon-expand': 'icon-unexpand'\"></i>-->\r\n <i class=\"iconfont icon-mulushu\" @click=\"onClickNode\"></i>\r\n <div class=\"name\" @click=\"onClickNode\">{{data.name}}</div>\r\n <i-dropdown @on-click=\"onClick\" transfer transfer-class-name=\"node-oprate\" v-if=\"data.id !== 'virtual_root_directory'\">\r\n <i-icon type=\"ios-more\" />\r\n <i-dropdown-menu slot=\"list\">\r\n <i-dropdown-item v-for=\"item in actions\" :key=\"item.name\" :name=\"item.name\">\r\n <template v-if=\"item.name === 'import'\">\r\n <i-upload\r\n class=\"action-item\"\r\n :action=\"uploadAction\"\r\n :data=\"uploadParams\"\r\n accept=\".json\"\r\n :headers=\"headers\"\r\n :show-upload-list=\"false\"\r\n :format=\"['json']\"\r\n :on-success=\"onSuccess\"\r\n :before-upload=\"onBeforeUpload\"\r\n :on-format-error=\"onFormatError\"\r\n >\r\n <i title=\"导入\" class=\"iconfont icon-import\"></i>{{item.text}}\r\n </i-upload>\r\n </template>\r\n <template v-else> <i class=\"iconfont\" :class=\"'icon-' + (item.icon || item.name)\"></i>{{item.text}} </template>\r\n </i-dropdown-item>\r\n </i-dropdown-menu>\r\n </i-dropdown>\r\n</div>\r\n"
21193
+ module.exports = "<div class=\"u-tree-node\">\n<!-- <i class=\"iconfont\" :class=\"data.expand? 'icon-expand': 'icon-unexpand'\"></i>-->\n <i class=\"iconfont icon-mulushu\" @click=\"onClickNode\"></i>\n <div class=\"name\" @click=\"onClickNode\">{{data.name}}</div>\n <i-dropdown @on-click=\"onClick\" transfer transfer-class-name=\"node-oprate\" v-if=\"data.id !== 'virtual_root_directory'\">\n <i-icon type=\"ios-more\" />\n <i-dropdown-menu slot=\"list\">\n <i-dropdown-item v-for=\"item in actions\" :key=\"item.name\" :name=\"item.name\">\n <template v-if=\"item.name === 'import'\">\n <i-upload\n class=\"action-item\"\n :action=\"uploadAction\"\n :data=\"uploadParams\"\n accept=\".json\"\n :headers=\"headers\"\n :show-upload-list=\"false\"\n :format=\"['json']\"\n :on-success=\"onSuccess\"\n :before-upload=\"onBeforeUpload\"\n :on-format-error=\"onFormatError\"\n >\n <i title=\"导入\" class=\"iconfont icon-import\"></i>{{item.text}}\n </i-upload>\n </template>\n <template v-else> <i class=\"iconfont\" :class=\"'icon-' + (item.icon || item.name)\"></i>{{item.text}} </template>\n </i-dropdown-item>\n </i-dropdown-menu>\n </i-dropdown>\n</div>\n"
21194
21194
 
21195
21195
  /***/ }),
21196
21196
 
@@ -21228,7 +21228,7 @@ module.exports = "<i-modal draggable sticky transfer reset-drag-position :mask-c
21228
21228
  /***/ "0941":
21229
21229
  /***/ (function(module, exports) {
21230
21230
 
21231
- module.exports = "<i-modal draggable sticky transfer reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1280\" class=\"u-api-project-modal diy-modal\">\r\n <header slot=\"header\">添加API</header>\r\n <main>\r\n <i-split v-model=\"splitHorizontal\">\r\n <section slot=\"left\" class=\"card-panel card-panel-no-right-border\">\r\n <div class=\"card-panel-header\">\r\n <span>选择列表</span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <u-tree :commonTaskCategoryID=\"taskCategoryID\" :initSelectItem=\"initNode\" :prop-data=\"treeData\" :isTreeList=\"true\" @on-select=\"onSelect\" />\r\n </div>\r\n </section>\r\n <section slot=\"right\" class=\"right-content\">\r\n <i-split v-model=\"splitVertical\" mode=\"vertical\" max=\"600\">\r\n <section slot=\"top\" class=\"card-panel card-panel-no-bottom-border\">\r\n <div class=\"card-panel-header\">\r\n <span>选择模型</span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <u-api-project-list\r\n :data=\"tableData\"\r\n :paging.sync=\"paging\"\r\n @on-search=\"onSearch\"\r\n @on-page-index-change=\"onPageIndexChange\"\r\n @on-page-size-change=\"onPageSizeChange\"\r\n @on-selection-change=\"onSelectionChange\"\r\n @on-delete-refresh=\"getTableData\"\r\n @on-row-click=\"onRowClick\"\r\n >\r\n </u-api-project-list>\r\n </div>\r\n </section>\r\n <section slot=\"bottom\" :class=\"['card-panel', collapse ? 'card-panel-no-bottom-border' : '']\">\r\n <div class=\"card-panel-header\">\r\n <span>已选({{checkedLength}})</span>\r\n <span>\r\n <i-poptip confirm title=\"您确定要清空已选中的数据吗?\" transfer placement=\"top-end\" @on-ok=\"onBatchDelete\">\r\n <span class=\"action-text\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n <span>清空</span>\r\n </span>\r\n </i-poptip>\r\n <span class=\"action-text collapse-text\" @click=\"onClickCollapse\">\r\n <span>{{collapse ? \"展开\" : \"收起\"}}</span>\r\n <i class=\"ivu-icon ivu-icon-ios-arrow-forward\" :class=\"{'icon-arrow-collapse':collapse}\"></i>\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <template v-if=\"checkedData?.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"checkedData\">\r\n <template #operates=\"{row,index}\">\r\n <div class=\"row-actions\">\r\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\r\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\r\n </i-poptip>\r\n </div>\r\n </template>\r\n </i-table>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </template>\r\n </div>\r\n </section>\r\n </i-split>\r\n </section>\r\n </i-split>\r\n <i-spin fix v-if=\"isLoading\">\r\n <i class=\"spin-icon-load ivu-icon\"></i>\r\n </i-spin>\r\n </main>\r\n <footer slot=\"footer\">\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">确定</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\r\n </footer>\r\n</i-modal>\r\n"
21231
+ module.exports = "<i-modal draggable sticky transfer reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1280\" class=\"u-api-project-modal diy-modal\">\n <header slot=\"header\">添加API</header>\n <main>\n <i-split v-model=\"splitHorizontal\">\n <section slot=\"left\" class=\"card-panel card-panel-no-right-border\">\n <div class=\"card-panel-header\">\n <span>选择列表</span>\n </div>\n <div class=\"card-panel-main\">\n <u-tree :commonTaskCategoryID=\"taskCategoryID\" :initSelectItem=\"initNode\" :prop-data=\"treeData\" :isTreeList=\"true\" @on-select=\"onSelect\" />\n </div>\n </section>\n <section slot=\"right\" class=\"right-content\">\n <i-split v-model=\"splitVertical\" mode=\"vertical\" max=\"600\">\n <section slot=\"top\" class=\"card-panel card-panel-no-bottom-border\">\n <div class=\"card-panel-header\">\n <span>选择模型</span>\n </div>\n <div class=\"card-panel-main\">\n <u-api-project-list\n :data=\"tableData\"\n :paging.sync=\"paging\"\n @on-search=\"onSearch\"\n @on-page-index-change=\"onPageIndexChange\"\n @on-page-size-change=\"onPageSizeChange\"\n @on-selection-change=\"onSelectionChange\"\n @on-delete-refresh=\"getTableData\"\n @on-row-click=\"onRowClick\"\n >\n </u-api-project-list>\n </div>\n </section>\n <section slot=\"bottom\" :class=\"['card-panel', collapse ? 'card-panel-no-bottom-border' : '']\">\n <div class=\"card-panel-header\">\n <span>已选({{checkedLength}})</span>\n <span>\n <i-poptip confirm title=\"您确定要清空已选中的数据吗?\" transfer placement=\"top-end\" @on-ok=\"onBatchDelete\">\n <span class=\"action-text\">\n <i class=\"iconfont icon-delete\"></i>\n <span>清空</span>\n </span>\n </i-poptip>\n <span class=\"action-text collapse-text\" @click=\"onClickCollapse\">\n <span>{{collapse ? \"展开\" : \"收起\"}}</span>\n <i class=\"ivu-icon ivu-icon-ios-arrow-forward\" :class=\"{'icon-arrow-collapse':collapse}\"></i>\n </span>\n </span>\n </div>\n <div class=\"card-panel-main\">\n <template v-if=\"checkedData?.length\">\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"checkedData\">\n <template #operates=\"{row,index}\">\n <div class=\"row-actions\">\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\n </i-poptip>\n </div>\n </template>\n </i-table>\n </template>\n <template v-else>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </div>\n </section>\n </i-split>\n </section>\n </i-split>\n <i-spin fix v-if=\"isLoading\">\n <i class=\"spin-icon-load ivu-icon\"></i>\n </i-spin>\n </main>\n <footer slot=\"footer\">\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">确定</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\n </footer>\n</i-modal>\n"
21232
21232
 
21233
21233
  /***/ }),
21234
21234
 
@@ -26545,7 +26545,7 @@ module.exports = function (argument) {
26545
26545
  /***/ "3bf8":
26546
26546
  /***/ (function(module, exports) {
26547
26547
 
26548
- module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1000\" class=\"u-security-modal diy-modal\" transfer>\r\n <header slot=\"header\">授权认证</header>\r\n <main class=\"security-content\">\r\n <div class=\"left\">\r\n <div class=\"left-title\">\r\n <div class=\"left-title-text\">授权列表</div>\r\n <i class=\"api-icon icon-add\" @click=\"onAddItem\"></i>\r\n </div>\r\n <div class=\"left-content\">\r\n <i-input class=\"diy-input search-input\" v-model=\"keyword\" placeholder=\"输入关键字查询\" @on-change=\"onFilter\">\r\n <template #prefix>\r\n <i-icon type=\"ios-search\"/>\r\n </template>\r\n </i-input>\r\n <div class=\"security-list\">\r\n <div class=\"security-list-item\"\r\n :class=\"currentSecurityItem.id === item.id ? 'security-list-item-active' : ''\"\r\n v-for=\"(item,index) in securityList\"\r\n :key=\"item.id || index\"\r\n @click=\"onSelectSecurityItem(item)\"\r\n >\r\n <div class=\"security-list-item-name\">\r\n <i class=\"iconfont icon-shouquan1\"></i>\r\n <div class=\"security-list-item-text\" :class=\"currentSecurityItem.id === item.id ? 'security-list-item-text-active' : ''\">{{ item.name || \"新授权\" }}</div>\r\n </div>\r\n <i-poptip confirm title=\"确认删除这条数据吗?\" transfer placement=\"top-end\" @on-ok=\"onDelete(item)\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n </i-poptip>\r\n<!-- <i class=\"iconfont icon-delete\" @click.stop=\"onDelete(item)\"></i>-->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"right-title\">授权内容</div>\r\n <div class=\"right-content\">\r\n <i-form class=\"security-content-form\"label-colon :model=\"currentSecurityItem\">\r\n <template v-if=\"currentSecurityItem.type\">\r\n <i-form-item class=\"security-content-form-item\" :class=\"currentSecurityItem.type === 'OAuth2' ? 'oauth2-form-item' : ''\" label=\"授权名称\" required>\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.name\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item\" :class=\"currentSecurityItem.type === 'OAuth2' ? 'oauth2-form-item' : ''\" label=\"授权类型\" required>\r\n <i-select class=\"diy-select\" v-model=\"currentSecurityItem.type\">\r\n <i-option v-for=\"(item,index) in securityTypeList\" :value=\"item.name\" :key=\"index\">{{ item.text }}</i-option>\r\n </i-select>\r\n </i-form-item>\r\n </template>\r\n <template v-if=\"currentSecurityItem.type && currentSecurityItem.type !== 'GROOVY_SCRIPT'\">\r\n <i-form-item class=\"security-content-form-item\" :class=\"currentSecurityItem.type === 'OAuth2' ? 'oauth2-form-item' : ''\" label=\"存储位置\">\r\n <i-select class=\"diy-select\" v-model=\"currentSecurityItem.location\">\r\n <i-option v-for=\"(item,index) in tokenLocationTypeList\" :value=\"item.name\" :key=\"item.name\">{{ item.text }}</i-option>\r\n </i-select>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item\" :class=\"currentSecurityItem.type === 'OAuth2' ? 'oauth2-form-item' : ''\" label=\"存储键值\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.locationKey\"></i-input>\r\n </i-form-item>\r\n </template>\r\n <template v-if=\"currentSecurityItem.type === 'Api_Key'\">\r\n <i-form-item class=\"security-content-form-item\" label=\"key\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.key\"></i-input>\r\n </i-form-item>\r\n </template>\r\n <template v-if=\"currentSecurityItem.type === 'Base_Auth'\">\r\n <i-form-item class=\"security-content-form-item\" label=\"username\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.username\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item\" label=\"password\">\r\n <i-input class=\"diy-password-input diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.password\" type=\"password\" password></i-input>\r\n </i-form-item>\r\n </template>\r\n <template v-if=\"currentSecurityItem.type === 'OAuth2'\">\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\">\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Header Prefix'\" tips=\"token前缀 例如 Bearer\" label-colon></u-tips-form-label>\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.headerPrefix\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item oauth2-form-item grant-type-item\">\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Grant Type'\" tips=\"认证类型\" label-colon></u-tips-form-label>\r\n <i-select v-model=\"currentSecurityItem.content.grantType\" class=\"diy-select\">\r\n <i-option v-for=\"item in grantTypeList\" :key=\"item.name\" :value=\"item.name\"> {{item.text}} </i-option>\r\n </i-select>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\">\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Access Token Url'\" tips=\"获取token的httpurl\" label-colon></u-tips-form-label>\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.tokenUrl\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\">\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'TokenPath'\" tips=\"获取响应结果的token路径\" label-colon></u-tips-form-label>\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.tokenPath\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\" label=\"Client ID\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.clientId\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\" label=\"Client Secret\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.clientSecret\"></i-input>\r\n </i-form-item>\r\n <template v-if=\"currentSecurityItem.content.grantType === 'password'\">\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\" label=\"username\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.username\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\" label=\"password\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.password\" type=\"password\" password></i-input>\r\n </i-form-item>\r\n </template>\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\">\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Scope'\" tips=\"访问请求的范围,它可能有多个空格分隔的值\" label-colon></u-tips-form-label>\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.scope\"></i-input>\r\n </i-form-item>\r\n </template>\r\n <template v-if=\"currentSecurityItem.type === 'GROOVY_SCRIPT'\">\r\n <i-form-item class=\"security-content-form-item script-area-item\" label=\"授权脚本\">\r\n <div class=\"script-label\" slot=\"label\">\r\n <i-icon class=\"help-icon\" type=\"md-alert\" @click=\"showScriptDoc\" title=\"帮助文档\"> </i-icon>\r\n <span>授权脚本:</span>\r\n </div>\r\n <u-editor\r\n class=\"editor\"\r\n :model.sync=\"currentSecurityItem.scriptContent\"\r\n :diyKeywordList=\"diyKeywordList\"\r\n lang=\"groovy\"\r\n >\r\n </u-editor>\r\n </i-form-item>\r\n </template>\r\n </i-form>\r\n </div>\r\n </div>\r\n </main>\r\n\r\n <footer slot=\"footer\">\r\n <template>\r\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">保存</i-button>\r\n </template>\r\n </footer>\r\n <u-doc-modal class=\"script-doc-modal\" v-model=\"scriptDocShow\" :doc=\"scriptDoc\"></u-doc-modal>\r\n</i-modal>\r\n"
26548
+ module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1000\" class=\"u-security-modal diy-modal\" transfer>\r\n <header slot=\"header\">授权认证</header>\r\n <main class=\"security-content\">\r\n <div class=\"left\">\r\n <div class=\"left-title\">\r\n <div class=\"left-title-text\">授权列表</div>\r\n <i class=\"api-icon icon-add\" @click=\"onAddItem\"></i>\r\n </div>\r\n <div class=\"left-content\">\r\n <i-input class=\"diy-input search-input\" v-model=\"keyword\" placeholder=\"输入关键字查询\" @on-change=\"onFilter\">\r\n <template #prefix>\r\n <i-icon type=\"ios-search\"/>\r\n </template>\r\n </i-input>\r\n <div class=\"security-list\">\r\n <div class=\"security-list-item\"\r\n :class=\"currentSecurityItem.id === item.id ? 'security-list-item-active' : ''\"\r\n v-for=\"(item,index) in securityList\"\r\n :key=\"item.id || index\"\r\n @click=\"onSelectSecurityItem(item)\"\r\n >\r\n <div class=\"security-list-item-name\">\r\n <i class=\"iconfont icon-shouquan1\"></i>\r\n <div class=\"security-list-item-text\" :class=\"currentSecurityItem.id === item.id ? 'security-list-item-text-active' : ''\">{{ item.name || \"新授权\" }}</div>\r\n </div>\r\n <i-poptip confirm title=\"确认删除这条数据吗?\" transfer placement=\"top-end\" @on-ok=\"onDelete(item)\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n </i-poptip>\r\n<!-- <i class=\"iconfont icon-delete\" @click.stop=\"onDelete(item)\"></i>-->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"right-title\">授权内容</div>\r\n <div class=\"right-content\">\r\n <i-form class=\"security-content-form\" label-colon v-if=\"isEmpty\" :model=\"currentSecurityItem\">\r\n <template v-if=\"currentSecurityItem.type\">\r\n <i-form-item class=\"security-content-form-item\" :class=\"currentSecurityItem.type === 'OAuth2' ? 'oauth2-form-item' : ''\" label=\"授权名称\" required>\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.name\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item\" :class=\"currentSecurityItem.type === 'OAuth2' ? 'oauth2-form-item' : ''\" label=\"授权类型\" required>\r\n <i-select class=\"diy-select\" v-model=\"currentSecurityItem.type\">\r\n <i-option v-for=\"(item,index) in securityTypeList\" :value=\"item.name\" :key=\"index\">{{ item.text }}</i-option>\r\n </i-select>\r\n </i-form-item>\r\n </template>\r\n <template v-if=\"currentSecurityItem.type && currentSecurityItem.type !== 'GROOVY_SCRIPT'\">\r\n <i-form-item class=\"security-content-form-item\" :class=\"currentSecurityItem.type === 'OAuth2' ? 'oauth2-form-item' : ''\" label=\"存储位置\">\r\n <i-select class=\"diy-select\" v-model=\"currentSecurityItem.location\">\r\n <i-option v-for=\"(item,index) in tokenLocationTypeList\" :value=\"item.name\" :key=\"item.name\">{{ item.text }}</i-option>\r\n </i-select>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item\" :class=\"currentSecurityItem.type === 'OAuth2' ? 'oauth2-form-item' : ''\" label=\"存储键值\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.locationKey\"></i-input>\r\n </i-form-item>\r\n </template>\r\n <template v-if=\"currentSecurityItem.type === 'Api_Key'\">\r\n <i-form-item class=\"security-content-form-item\" label=\"key\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.key\"></i-input>\r\n </i-form-item>\r\n </template>\r\n <template v-if=\"currentSecurityItem.type === 'Base_Auth'\">\r\n <i-form-item class=\"security-content-form-item\" label=\"username\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.username\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item\" label=\"password\">\r\n <i-input class=\"diy-password-input diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.password\" type=\"password\" password></i-input>\r\n </i-form-item>\r\n </template>\r\n <template v-if=\"currentSecurityItem.type === 'OAuth2'\">\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\">\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Header Prefix'\" tips=\"token前缀 例如 Bearer\" label-colon></u-tips-form-label>\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.headerPrefix\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item oauth2-form-item grant-type-item\">\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Grant Type'\" tips=\"认证类型\" label-colon></u-tips-form-label>\r\n <i-select v-model=\"currentSecurityItem.content.grantType\" class=\"diy-select\">\r\n <i-option v-for=\"item in grantTypeList\" :key=\"item.name\" :value=\"item.name\"> {{item.text}} </i-option>\r\n </i-select>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\">\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Access Token Url'\" tips=\"获取token的httpurl\" label-colon></u-tips-form-label>\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.tokenUrl\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\">\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'TokenPath'\" tips=\"获取响应结果的token路径\" label-colon></u-tips-form-label>\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.tokenPath\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\" label=\"Client ID\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.clientId\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\" label=\"Client Secret\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.clientSecret\"></i-input>\r\n </i-form-item>\r\n <template v-if=\"currentSecurityItem.content.grantType === 'password'\">\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\" label=\"username\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.username\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\" label=\"password\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.password\" type=\"password\" password></i-input>\r\n </i-form-item>\r\n </template>\r\n <i-form-item class=\"security-content-form-item oauth2-form-item\">\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Scope'\" tips=\"访问请求的范围,它可能有多个空格分隔的值\" label-colon></u-tips-form-label>\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"currentSecurityItem.content.scope\"></i-input>\r\n </i-form-item>\r\n </template>\r\n <template v-if=\"currentSecurityItem.type === 'GROOVY_SCRIPT'\">\r\n <i-form-item class=\"security-content-form-item script-area-item\" label=\"授权脚本\">\r\n <div class=\"script-label\" slot=\"label\">\r\n <i-icon class=\"help-icon\" type=\"md-alert\" @click=\"showScriptDoc\" title=\"帮助文档\"> </i-icon>\r\n <span>授权脚本:</span>\r\n </div>\r\n <u-editor\r\n class=\"editor\"\r\n :model.sync=\"currentSecurityItem.scriptContent\"\r\n :diyKeywordList=\"diyKeywordList\"\r\n lang=\"groovy\"\r\n >\r\n </u-editor>\r\n </i-form-item>\r\n </template>\r\n </i-form>\r\n </div>\r\n </div>\r\n </main>\r\n\r\n <footer slot=\"footer\">\r\n <template>\r\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">保存</i-button>\r\n </template>\r\n </footer>\r\n <u-doc-modal class=\"script-doc-modal\" v-model=\"scriptDocShow\" :doc=\"scriptDoc\"></u-doc-modal>\r\n</i-modal>\r\n"
26549
26549
 
26550
26550
  /***/ }),
26551
26551
 
@@ -26864,7 +26864,7 @@ module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
26864
26864
  /***/ "4935":
26865
26865
  /***/ (function(module, exports) {
26866
26866
 
26867
- module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1280\" class=\"u-data-model-modal diy-modal\" transfer>\r\n <header slot=\"header\">添加数据模型</header>\r\n <main>\r\n <i-split v-model=\"splitHorizontal\">\r\n <section slot=\"left\" class=\"card-panel card-panel-no-right-border\">\r\n <div class=\"card-panel-header\">\r\n <span>选择列表</span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <u-tree :commonTaskCategoryID=\"taskCategoryID\" :initSelectItem=\"initNode\" :prop-data=\"treeData\" :isTreeList=\"true\" @on-select=\"onSelect\" />\r\n </div>\r\n </section>\r\n <section slot=\"right\" class=\"right-content\">\r\n <i-split v-model=\"splitVertical\" mode=\"vertical\" max=\"600\">\r\n <section slot=\"top\" class=\"card-panel card-panel-no-bottom-border\">\r\n <div class=\"card-panel-header\">\r\n <span>选择模型</span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <u-data-model-list\r\n :data=\"tableData\"\r\n :paging.sync=\"paging\"\r\n @on-search=\"onSearch\"\r\n @on-page-index-change=\"onPageIndexChange\"\r\n @on-page-size-change=\"onPageSizeChange\"\r\n @on-selection-change=\"onSelectionChange\"\r\n @on-delete-refresh=\"getTableData\"\r\n @on-row-click=\"onRowClick\"\r\n >\r\n </u-data-model-list>\r\n </div>\r\n </section>\r\n <section slot=\"bottom\" :class=\"['card-panel', collapse ? 'card-panel-no-bottom-border' : '']\">\r\n <div class=\"card-panel-header\">\r\n <span>已选({{checkedLength}})</span>\r\n <span>\r\n <i-poptip confirm title=\"确定要清空已选中的数据吗?\" transfer placement=\"top-end\" @on-ok=\"onBatchDelete\">\r\n <span class=\"action-text\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n <span>清空</span>\r\n </span>\r\n </i-poptip>\r\n <span class=\"action-text collapse-text\" @click=\"onClickCollapse\">\r\n <span>{{collapse ? \"展开\" : \"收起\"}}</span>\r\n <i class=\"ivu-icon ivu-icon-ios-arrow-forward\" :class=\"{'icon-arrow-collapse':collapse}\"></i>\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <template v-if=\"checkedData?.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"checkedData\">\r\n <template #operates=\"{row,index}\">\r\n <div class=\"row-actions\">\r\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\r\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\r\n </i-poptip>\r\n </div>\r\n </template>\r\n </i-table>\r\n </template>\r\n <template>\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </template>\r\n </div>\r\n </section>\r\n </i-split>\r\n </section>\r\n </i-split>\r\n <i-spin fix v-if=\"isLoading\">\r\n <i class=\"spin-icon-load ivu-icon\"></i>\r\n </i-spin>\r\n </main>\r\n <footer slot=\"footer\">\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">确定</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\r\n </footer>\r\n</i-modal>\r\n"
26867
+ module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1280\" class=\"u-data-model-modal diy-modal\" transfer>\n <header slot=\"header\">添加数据模型</header>\n <main>\n <i-split v-model=\"splitHorizontal\">\n <section slot=\"left\" class=\"card-panel card-panel-no-right-border\">\n <div class=\"card-panel-header\">\n <span>选择列表</span>\n </div>\n <div class=\"card-panel-main\">\n <u-tree :commonTaskCategoryID=\"taskCategoryID\" :initSelectItem=\"initNode\" :prop-data=\"treeData\" :isTreeList=\"true\" @on-select=\"onSelect\" />\n </div>\n </section>\n <section slot=\"right\" class=\"right-content\">\n <i-split v-model=\"splitVertical\" mode=\"vertical\" max=\"600\">\n <section slot=\"top\" class=\"card-panel card-panel-no-bottom-border\">\n <div class=\"card-panel-header\">\n <span>选择模型</span>\n </div>\n <div class=\"card-panel-main\">\n <u-data-model-list\n :data=\"tableData\"\n :paging.sync=\"paging\"\n @on-search=\"onSearch\"\n @on-page-index-change=\"onPageIndexChange\"\n @on-page-size-change=\"onPageSizeChange\"\n @on-selection-change=\"onSelectionChange\"\n @on-delete-refresh=\"getTableData\"\n @on-row-click=\"onRowClick\"\n >\n </u-data-model-list>\n </div>\n </section>\n <section slot=\"bottom\" :class=\"['card-panel', collapse ? 'card-panel-no-bottom-border' : '']\">\n <div class=\"card-panel-header\">\n <span>已选({{checkedLength}})</span>\n <span>\n <i-poptip confirm title=\"确定要清空已选中的数据吗?\" transfer placement=\"top-end\" @on-ok=\"onBatchDelete\">\n <span class=\"action-text\">\n <i class=\"iconfont icon-delete\"></i>\n <span>清空</span>\n </span>\n </i-poptip>\n <span class=\"action-text collapse-text\" @click=\"onClickCollapse\">\n <span>{{collapse ? \"展开\" : \"收起\"}}</span>\n <i class=\"ivu-icon ivu-icon-ios-arrow-forward\" :class=\"{'icon-arrow-collapse':collapse}\"></i>\n </span>\n </span>\n </div>\n <div class=\"card-panel-main\">\n <template v-if=\"checkedData?.length\">\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"checkedData\">\n <template #operates=\"{row,index}\">\n <div class=\"row-actions\">\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\n </i-poptip>\n </div>\n </template>\n </i-table>\n </template>\n <template>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </div>\n </section>\n </i-split>\n </section>\n </i-split>\n <i-spin fix v-if=\"isLoading\">\n <i class=\"spin-icon-load ivu-icon\"></i>\n </i-spin>\n </main>\n <footer slot=\"footer\">\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">确定</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\n </footer>\n</i-modal>\n"
26868
26868
 
26869
26869
  /***/ }),
26870
26870
 
@@ -40818,7 +40818,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
40818
40818
  /***/ "88af":
40819
40819
  /***/ (function(module, exports) {
40820
40820
 
40821
- module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"value\" width=\"800\" class=\"u-variable-modal diy-modal\" transfer>\r\n <header slot=\"header\">批量修改环境变量与授权</header>\r\n <main class=\"variable-content\">\r\n <div class=\"left\">\r\n <div class=\"left-title\">\r\n <div class=\"left-title-text\">选择API</div>\r\n </div>\r\n <div class=\"left-content\">\r\n <i-input class=\"diy-input search-input\" v-model=\"keyword\" placeholder=\"输入关键字查询\" @on-change=\"onFilter\">\r\n <template #prefix>\r\n <i-icon type=\"ios-search\"/>\r\n </template>\r\n </i-input>\r\n <div class=\"security-list\">\r\n <i-checkbox class=\"security-list-item-checkbox\" v-model=\"allSelect\" @on-change=\"onAllSelect\">全选</i-checkbox>\r\n <div class=\"security-list-item\"\r\n v-for=\"(item,index) in apiList\"\r\n :key=\"item.id || index\"\r\n >\r\n <div class=\"security-list-item-name\">\r\n <i-checkbox v-model=\"item.selected\" @on-change=\"onSelect($event,item)\"></i-checkbox>\r\n <i class=\"iconfont icon-API\"></i>\r\n <div class=\"security-list-item-text\" :title=\"item.name\">{{ item.name }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"right-title\">环境与授权</div>\r\n <div class=\"right-content\">\r\n <i-form ref=\"batch-api-form\" class=\"variable-content-form\" label-colon label-position=\"left\" v-if=\"isEmpty\" :rules=\"rules\" :label-width=\"100\" :model=\"formData\">\r\n <i-form-item class=\"content-form-item un-required-item\" label=\"选择属性\">\r\n <i-select class=\"diy-select\" placeholder=\"请输入\" clearable v-model=\"type\">\r\n <i-option value=\"env\">环境变量</i-option>\r\n <i-option value=\"auth\">授权设置</i-option>\r\n <i-option value=\"both\">环境变量和授权设置</i-option>\r\n </i-select>\r\n </i-form-item>\r\n <i-form-item class=\"content-form-item\" v-if=\"type !== 'auth'\" label=\"环境变量\" prop=\"envId\">\r\n <i-select class=\"diy-select diy-batch-select diy-batch-variable-select\" placeholder=\"请选择\" clearable v-model=\"formData.envId\">\r\n <i-option value=\"empty\">清空所有已设置环境变量</i-option>\r\n <i-option v-for=\"item in variableList\" :key=\"item.name\" :value=\"item.id\" :title=\"item.name + ':' + item.value\">{{item.name + \":\" + item.value}}</i-option>\r\n </i-select>\r\n </i-form-item>\r\n <i-form-item class=\"content-form-item\" label=\"授权设置\" v-if=\"type !== 'env'\" prop=\"authId\">\r\n <i-select class=\"diy-select diy-batch-select\" placeholder=\"请选择\" clearable v-model=\"formData.authId\">\r\n <i-option value=\"empty\">清空所有已设置授权</i-option>\r\n <i-option v-for=\"item in securityList\" :key=\"item.name\" :value=\"item.id\">{{item.name}} </i-option>\r\n </i-select>\r\n </i-form-item>\r\n </i-form>\r\n </div>\r\n </div>\r\n </main>\r\n\r\n <footer slot=\"footer\">\r\n <template>\r\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">保存</i-button>\r\n </template>\r\n </footer>\r\n</i-modal>\r\n"
40821
+ module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"value\" width=\"800\" class=\"u-variable-modal diy-modal\" transfer>\n <header slot=\"header\">批量修改环境变量与授权</header>\n <main class=\"variable-content\">\n <div class=\"left\">\n <div class=\"left-title\">\n <div class=\"left-title-text\">选择API</div>\n </div>\n <div class=\"left-content\">\n <i-input class=\"diy-input search-input\" v-model=\"keyword\" placeholder=\"输入关键字查询\" @on-change=\"onFilter\">\n <template #prefix>\n <i-icon type=\"ios-search\"/>\n </template>\n </i-input>\n <div class=\"security-list\">\n <i-checkbox class=\"security-list-item-checkbox\" v-model=\"allSelect\" @on-change=\"onAllSelect\">全选</i-checkbox>\n <div class=\"security-list-item\"\n v-for=\"(item,index) in apiList\"\n :key=\"item.id || index\"\n >\n <div class=\"security-list-item-name\">\n <i-checkbox v-model=\"item.selected\" @on-change=\"onSelect($event,item)\"></i-checkbox>\n <i class=\"iconfont icon-API\"></i>\n <div class=\"security-list-item-text\" :title=\"item.name\">{{ item.name }}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"right\">\n <div class=\"right-title\">环境与授权</div>\n <div class=\"right-content\">\n <i-form ref=\"batch-api-form\" class=\"variable-content-form\" label-colon label-position=\"left\" v-if=\"isEmpty\" :rules=\"rules\" :label-width=\"100\" :model=\"formData\">\n <i-form-item class=\"content-form-item un-required-item\" label=\"选择属性\">\n <i-select class=\"diy-select\" placeholder=\"请输入\" clearable v-model=\"type\">\n <i-option value=\"env\">环境变量</i-option>\n <i-option value=\"auth\">授权设置</i-option>\n <i-option value=\"both\">环境变量和授权设置</i-option>\n </i-select>\n </i-form-item>\n <i-form-item class=\"content-form-item\" v-if=\"type !== 'auth'\" label=\"环境变量\" prop=\"envId\">\n <i-select class=\"diy-select diy-batch-select diy-batch-variable-select\" placeholder=\"请选择\" clearable v-model=\"formData.envId\">\n <i-option value=\"empty\">清空所有已设置环境变量</i-option>\n <i-option v-for=\"item in variableList\" :key=\"item.name\" :value=\"item.id\" :title=\"item.name + ':' + item.value\">{{item.name + \":\" + item.value}}</i-option>\n </i-select>\n </i-form-item>\n <i-form-item class=\"content-form-item\" label=\"授权设置\" v-if=\"type !== 'env'\" prop=\"authId\">\n <i-select class=\"diy-select diy-batch-select\" placeholder=\"请选择\" clearable v-model=\"formData.authId\">\n <i-option value=\"empty\">清空所有已设置授权</i-option>\n <i-option v-for=\"item in securityList\" :key=\"item.name\" :value=\"item.id\">{{item.name}} </i-option>\n </i-select>\n </i-form-item>\n </i-form>\n </div>\n </div>\n </main>\n\n <footer slot=\"footer\">\n <template>\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">保存</i-button>\n </template>\n </footer>\n</i-modal>\n"
40822
40822
 
40823
40823
  /***/ }),
40824
40824
 
@@ -40846,7 +40846,7 @@ module.exports = store.inspectSource;
40846
40846
  /***/ "8962":
40847
40847
  /***/ (function(module, exports) {
40848
40848
 
40849
- module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"value\" width=\"800\" class=\"u-variable-modal diy-modal\" transfer>\r\n <header slot=\"header\">环境变量</header>\r\n <main class=\"variable-content\">\r\n <div class=\"left\">\r\n <div class=\"left-title\">\r\n <div class=\"left-title-text\">环境列表</div>\r\n <i class=\"api-icon icon-add\" @click=\"onAddItem\"></i>\r\n </div>\r\n <div class=\"left-content\">\r\n <i-input class=\"diy-input search-input\" v-model=\"keyword\" placeholder=\"输入关键字查询\" @on-change=\"onFilter\">\r\n <template #prefix>\r\n <i-icon type=\"ios-search\"/>\r\n </template>\r\n </i-input>\r\n <div class=\"security-list\">\r\n <div class=\"security-list-item\"\r\n :class=\"currentItem.id === item.id ? 'security-list-item-active' : ''\"\r\n v-for=\"(item,index) in varList\"\r\n :key=\"item.id || index\"\r\n @click=\"onSelectItem(item)\"\r\n >\r\n <div class=\"security-list-item-name\">\r\n <i class=\"iconfont icon-huanjing\"></i>\r\n <div class=\"security-list-item-text\" :class=\"currentItem.id === item.id ? 'security-list-item-text-active' : ''\">{{ item.name || \"新环境\" }}</div>\r\n </div>\r\n <i-poptip confirm title=\"确认删除这条数据吗?\" transfer placement=\"top-end\" @on-ok=\"onDelete(item)\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n </i-poptip>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"right-title\">环境内容</div>\r\n <div class=\"right-content\">\r\n <i-form class=\"variable-content-form\" label-colon label-position=\"left\" v-if=\"isEmpty\" :rules=\"rules\" :label-width=\"100\" :model=\"formData\">\r\n <i-form-item class=\"content-form-item\" label=\"环境名称\" prop=\"name\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"formData.name\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"content-form-item\" label=\"域名\" prop=\"address\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"formData.address\">\r\n <i-select class=\"diy-select\" v-model=\"formData.type\" slot=\"prepend\" style=\"width: 100px\">\r\n <i-option value=\"http\">http://</i-option>\r\n <i-option value=\"https\">https://</i-option>\r\n </i-select>\r\n </i-input>\r\n </i-form-item>\r\n <i-form-item label=\"描述\" class=\"content-form-item item-remark\" prop=\"remark\">\r\n <i-input class=\"diy-input remark-textarea\" placeholder=\"请输入\" type=\"textarea\" v-model=\"formData.remark\"></i-input>\r\n </i-form-item>\r\n </i-form>\r\n </div>\r\n </div>\r\n </main>\r\n\r\n <footer slot=\"footer\">\r\n <template>\r\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">保存</i-button>\r\n </template>\r\n </footer>\r\n</i-modal>\r\n"
40849
+ module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"value\" width=\"800\" class=\"u-variable-modal diy-modal\" transfer>\r\n <header slot=\"header\">环境变量</header>\r\n <main class=\"variable-content\">\r\n <div class=\"left\">\r\n <div class=\"left-title\">\r\n <div class=\"left-title-text\">环境列表</div>\r\n <i class=\"api-icon icon-add\" @click=\"onAddItem\"></i>\r\n </div>\r\n <div class=\"left-content\">\r\n <i-input class=\"diy-input search-input\" v-model=\"keyword\" placeholder=\"输入关键字查询\" @on-change=\"onFilter\">\r\n <template #prefix>\r\n <i-icon type=\"ios-search\"/>\r\n </template>\r\n </i-input>\r\n <div class=\"security-list\">\r\n <div class=\"security-list-item\"\r\n :class=\"currentItem.id === item.id ? 'security-list-item-active' : ''\"\r\n v-for=\"(item,index) in varList\"\r\n :key=\"item.id || index\"\r\n @click=\"onSelectItem(item)\"\r\n >\r\n <div class=\"security-list-item-name\">\r\n <i class=\"iconfont icon-huanjing\"></i>\r\n <div class=\"security-list-item-text\" :class=\"currentItem.id === item.id ? 'security-list-item-text-active' : ''\">{{ item.name || \"新环境\" }}</div>\r\n </div>\r\n <i-poptip confirm title=\"确认删除这条数据吗?\" transfer placement=\"top-end\" @on-ok=\"onDelete(item)\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n </i-poptip>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"right-title\">环境内容</div>\r\n <div class=\"right-content\">\r\n <i-form class=\"variable-content-form\" ref=\"variable-content-form\" label-colon label-position=\"left\" v-if=\"isEmpty\" :rules=\"rules\" :label-width=\"100\" :model=\"formData\">\r\n <i-form-item class=\"content-form-item\" label=\"环境名称\" prop=\"name\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"formData.name\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"content-form-item\" label=\"域名\" prop=\"address\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"formData.address\">\r\n <i-select class=\"diy-select\" v-model=\"formData.type\" slot=\"prepend\" style=\"width: 100px\">\r\n <i-option value=\"http\">http://</i-option>\r\n <i-option value=\"https\">https://</i-option>\r\n </i-select>\r\n </i-input>\r\n </i-form-item>\r\n <i-form-item label=\"描述\" class=\"content-form-item item-remark\" prop=\"remark\">\r\n <i-input class=\"diy-input remark-textarea\" placeholder=\"请输入\" type=\"textarea\" v-model=\"formData.remark\"></i-input>\r\n </i-form-item>\r\n </i-form>\r\n </div>\r\n </div>\r\n </main>\r\n\r\n <footer slot=\"footer\">\r\n <template>\r\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">保存</i-button>\r\n </template>\r\n </footer>\r\n</i-modal>\r\n"
40850
40850
 
40851
40851
  /***/ }),
40852
40852
 
@@ -47250,7 +47250,7 @@ $({ target: 'Object', stat: true, forced: Object.assign !== assign }, {
47250
47250
  /***/ "ccf6":
47251
47251
  /***/ (function(module, exports) {
47252
47252
 
47253
- 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\"> </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 ? '' : '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?.length\">\r\n <i-table class=\"diy-table\" :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=\"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.stop=\"onDetail(row)\" title=\"查看\" class=\"iconfont icon-a-xinzengzhibiaobeifen9\"></i>\r\n <i @click.stop=\"onCopy(row)\" title=\"复制\" class=\"iconfont icon-fuzhi1\"> </i>\r\n <template v-if=\"row.status!=='PUBLISHED'\">\r\n <i @click.stop=\"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"
47253
+ module.exports = "<!DOCTYPE html>\n<article class=\"v-api-combine-wrapper\">\n <i-split v-model=\"split\" min=\"200px\" max=\"1100px\">\n <!-- 左侧内容 -->\n <section slot=\"left\" class=\"left-split-pane\">\n <u-type-tree :taskCategoryID=\"taskCategoryID\" :initSelectItem=\"initNode\" @on-import-success=\"onQuery\" @on-select=\"onNodeSelect\" @on-tree-data=\"onTreeData\"> </u-type-tree>\n </section>\n <!-- 分割线 -->\n <section class=\"trigger\" slot=\"trigger\"></section>\n <!-- 右侧内容 -->\n <section slot=\"right\" class=\"right-split-pane\">\n <section class=\"search-wrapper\">\n <i-form class=\"diy-search-form\" ref=\"searchForm\" :model=\"formData\" label-position=\"left\" label-colon>\n <i-form-item label=\"名称\" prop=\"name\">\n <i-input class=\"diy-input\" v-model=\"formData.name\"></i-input>\n </i-form-item>\n <i-form-item label=\"编码\" prop=\"code\">\n <i-input class=\"diy-input\" v-model=\"formData.code\"></i-input>\n </i-form-item>\n </i-form>\n <div class=\"btns\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onQuery\">查询</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onReset\">重置</i-button>\n </div>\n </section>\n <section class=\"actions-wrapper\">\n <div class=\"action-item action-text\" @click=\"onAdd()\" :class=\"currentNode.id === 'virtual_root_directory' ? 'icon-button-disabled' : ''\">\n <i class=\"iconfont icon-add\"></i>\n <div>新增</div>\n </div>\n <div class=\"action-item action-text\" :class=\"selection.length ? '' : 'icon-button-disabled'\" @click=\"onBatchDelete\">\n <i class=\"iconfont icon-delete\"></i>\n <span>批量删除</span>\n </div>\n </section>\n <section class=\"main-wrapper\">\n <template v-if=\"list?.length\">\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"list\" @on-selection-change=\"onSelectChange\" @on-row-click=\"onRowClick\">\n <template slot=\"status\" slot-scope=\"{row,index}\">\n <i-switch class=\"diy-switch\" :value=\"row.status==='PUBLISHED'\" @on-change=\"onStatusChange($event, row, index)\"></i-switch>\n <span>{{row.status===\"PUBLISHED\" ? \"已发布\" : \"未发布\"}}</span>\n </template>\n <template slot=\"doc\" slot-scope=\"{row}\">\n <a @click=\"onOpenDoc(row)\">查看</a>\n </template>\n <template #operates=\"{row,index}\">\n <div class=\"row-actions\">\n <i @click.stop=\"onDetail(row)\" title=\"查看\" class=\"iconfont icon-a-xinzengzhibiaobeifen9\"></i>\n <i @click.stop=\"onCopy(row)\" title=\"复制\" class=\"iconfont icon-fuzhi1\"> </i>\n <template v-if=\"row.status!=='PUBLISHED'\">\n <i @click.stop=\"onEdit(row)\" title=\"编辑\" class=\"iconfont icon-Edit\"></i>\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\n </i-poptip>\n </template>\n </div>\n </template>\n </i-table>\n <i-page\n class=\"diy-page\"\n show-total\n show-sizer\n show-elevator\n :total=\"paging.totalCount\"\n :current=\"paging.pageIndex\"\n :page-size=\"paging.pageSize\"\n @on-change=\"onPageIndexChange\"\n @on-page-size-change=\"onPageSizeChange\"\n ></i-page>\n </template>\n <template v-else>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </section>\n </section>\n </i-split>\n <i-spin fix v-show=\"loading\">\n <i class=\"spin-icon-load ivu-icon\"></i>\n </i-spin>\n <u-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\n <i-modal draggable sticky reset-drag-position v-model=\"showCopyModal\" class=\"diy-modal combine-copy-modal\" :mask-closable=\"false\" title=\"复制接口\">\n <i-form :label-width=\"100\" class=\"diy-form\" v-model=\"copyData\" label-colon>\n <i-form-item label=\"接口名称\" required>\n <i-input class=\"diy-input\" v-model=\"copyData.name\"></i-input>\n </i-form-item>\n <i-form-item label=\"接口编码\" required>\n <i-input class=\"diy-input\" v-model=\"copyData.code\"></i-input>\n </i-form-item>\n <i-form-item label=\"选择分组\" required>\n <u-tree-selector :treeData=\"treeData\" leaf-name=\"copy\" :canChooseFolder=\"true\" v-model=\"categoryData.id\" @on-select=\"selectCategory\"> </u-tree-selector>\n </i-form-item>\n </i-form>\n <footer slot=\"footer\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onCopyConfirm\">确定</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onCopyCancel\">取消</i-button>\n </footer>\n </i-modal>\n</article>\n"
47254
47254
 
47255
47255
  /***/ }),
47256
47256
 
@@ -47302,7 +47302,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE_cebe__;
47302
47302
  /***/ "cfb3":
47303
47303
  /***/ (function(module, exports) {
47304
47304
 
47305
- 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"
47305
+ module.exports = "<article class=\"project-list\">\n <header>\n <i-input\n class=\"diy-input\"\n v-model=\"condition.name\"\n search\n @on-search=\"onQuery\"\n placeholder=\"输入关键字检索\"\n ></i-input>\n </header>\n <main>\n <header class=\"tool-bar\">\n <span>项目列表</span>\n <div class=\"right-tool\">\n <div class=\"action-btn\">\n <i-upload\n class=\"action-item\"\n :action=\"uploadAction\"\n accept=\".json\"\n :headers=\"headers\"\n :show-upload-list=\"false\"\n :format=\"['json']\"\n :on-success=\"onSuccess\"\n :before-upload=\"onBeforeUpload\"\n :on-format-error=\"onFormatError\"\n >\n <i class=\"api-icon icon-import\"></i>\n <div>导入项目</div>\n </i-upload>\n </div>\n <div class=\"action-btn\" @click=\"onComment\">\n <i\n class=\"api-icon icon-star\"\n @click=\"onCheckType('list')\"\n ></i>\n <div>查看项目动态</div>\n </div>\n <i\n class=\"api-icon icon-list\"\n :class=\"{'active': type === 'list'}\"\n title=\"列表展示\"\n @click=\"onCheckType('list')\"\n ></i>\n <i\n class=\"api-icon icon-card\"\n :class=\"{'active': type === 'card'}\"\n title=\"卡片展示\"\n @click=\"onCheckType('card')\"\n ></i>\n </div>\n </header>\n <main>\n <section class=\"projects\" v-if=\"type==='card'\">\n <div class=\"project-card\" @click=\"onAdd\">\n <div class=\"add-card\">\n <i-icon type=\"md-add\" />\n <p>新建项目</p>\n </div>\n </div>\n <u-card\n v-for=\"item in dataList\"\n :data=\"item\"\n :key=\"item.id\"\n @on-delete=\"onDelete\"\n @on-detail=\"onDetail\"\n @on-edit=\"onEdit\"\n @on-export=\"onExport\"\n ></u-card>\n </section>\n <section class=\"projects\" v-else>\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"dataList\">\n <template slot-scope=\"{ row,index }\" slot=\"action\">\n <span @click=\"onExport(row)\" class=\"action-btn export\"\n ><i class=\"api-icon icon-export projects-icon-export\" title=\"导出此项目\"></i\n ></span>\n <span @click=\"onDetail(row)\" class=\"action-btn detail\"\n ><i class=\"api-icon icon-detail\" title=\"详情\"></i\n ></span>\n <span @click=\"onEdit(row)\" class=\"action-btn detail\"\n ><i class=\"api-icon icon-edit\" title=\"修改\"></i\n ></span>\n <u-confirm\n title=\"删除项目\"\n @on-ok=\"onDelete(row)\"\n message=\"项目内所有接口将被一并删除, 是否确认执行?\"\n >\n <span class=\"action-btn delete\"\n ><i\n class=\"api-icon icon-delete\"\n title=\"删除\"\n ></i\n ></span>\n </u-confirm>\n </template>\n </i-table>\n </section>\n </main>\n </main>\n <u-add-modal :visiable.sync=\"showAddModal\" :data=\"current\">\n <footer slot=\"footer\">\n <i-button @click=\"showAddModal = false\">取消</i-button>\n <i-button type=\"primary\" class=\"diy-btn-primary \" @click=\"onSave\"\n >确定</i-button\n >\n </footer>\n </u-add-modal>\n <i-spin fix v-show=\"loading\">\n <i class=\"spin-icon-load ivu-icon\"></i>\n </i-spin>\n</article>\n"
47306
47306
 
47307
47307
  /***/ }),
47308
47308
 
@@ -47423,7 +47423,7 @@ module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
47423
47423
  /***/ "d30a":
47424
47424
  /***/ (function(module, exports) {
47425
47425
 
47426
- 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"
47426
+ module.exports = "<div class=\"u-selector-tree-node\" @click=\"onClickNode\">\n <i-icon v-if=\"!data.children\" type=\"ios-bookmark-outline\" />\n <template v-else>\n<!-- <i-->\n<!-- class=\"iconfont\"-->\n<!-- :class=\"data.expand? 'icon-expand': 'icon-unexpand'\"-->\n<!-- ></i>-->\n <i class=\"iconfont icon-bumenkaohe\"></i>\n </template>\n <span>{{data.title}}</span>\n</div>\n"
47427
47427
 
47428
47428
  /***/ }),
47429
47429
 
@@ -47476,7 +47476,7 @@ module.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefi
47476
47476
  /***/ "d63e":
47477
47477
  /***/ (function(module, exports) {
47478
47478
 
47479
- module.exports = "<article class=\"project-detail\">\r\n <header>\r\n <div class=\"environment\">\r\n <i class=\"iconfont icon-zhankai\" @click=\"onBack\"></i>\r\n <p>{{projectName}}</p>\r\n <!-- <span>环境变量:</span> -->\r\n <!-- <i-select class=\"diy-select\"></i-select> -->\r\n </div>\r\n <div class=\"btns\">\r\n <!-- <i-button type=\"primary\" ghost class=\"diy-btn-primary\" @click=\"onOpenGlobalModal\"> <i class=\"api-icon icon-setting\"></i>全局参数设置</i-button> -->\r\n <!-- <i-button type=\"success\" ghost class=\"diy-btn-success\" @click=\"onOpenCurrentModal\"><i class=\"api-icon icon-view\"></i>查看当前变量</i-button> -->\r\n <i-button v-if=\"projectId && projectName\" type=\"primary\" class=\"diy-btn-primary security-btn\" ghost @click=\"onSecurity\"><i class=\"iconfont icon-xinzengzhibiao\"></i>授权认证</i-button>\r\n <i-button v-if=\"projectId && projectName\" type=\"primary\" class=\"diy-btn-primary\" ghost @click=\"onOpenEnvModal\"><i class=\"iconfont icon-bianliang\"></i>环境变量</i-button>\r\n <i-button v-show=\"active.id\" type=\"primary\" class=\"diy-btn-primary\" ghost @click=\"onToggleLayout\"><i class=\"api-icon icon-switch\"></i>切换布局</i-button>\r\n </div>\r\n </header>\r\n <!-- <main> -->\r\n <i-split v-model=\"split\" min=\"200px\" max=\"900px\">\r\n <u-tree slot=\"left\" @on-check-interface=\"onCheckInterface\" @on-edit-interface-success=\"onEditInterfaceSuccess\" :project-id=\"projectId\" @on-success=\"onBatchSuccess\"></u-tree>\r\n <section slot=\"right\" class=\"interface-box\">\r\n <header class=\"interface-bar\">\r\n <swiper class=\"swiper\" :options=\"swiperOption\" @click-slide=\"onClickSlide\" @ready=\"onSwiperReadied\">\r\n <swiper-slide class=\"tag\" @click=\"onClickTag(item)\" :class=\"{'active': item.id === active.id}\" v-for=\"(item,index) in openInterfaceList\" :key=\"item.id\"\r\n ><span>{{item.name}}</span> <i-icon type=\"md-close\" @click.stop=\"onClose(index)\"></i-icon\r\n ></swiper-slide>\r\n </swiper>\r\n <!-- <div class=\"tag\" @click=\"onClickTag(item)\" :class=\"{'active': item.id === active.id}\" v-for=\"(item,index) in openInterfaceList\" :key=\"item.id\">\r\n <span>{{item.name}}</span>\r\n <i-icon type=\"md-close\" @click.stop=\"onClose(index)\"></i-icon>\r\n </div> -->\r\n </header>\r\n <u-settings ref=\"interface-settings\" :interface-model.sync=\"active\" :project-id=\"projectId\" v-if=\"active.id\" :lengthwise=\"lengthwise\"></u-settings>\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 <!-- </main> -->\r\n <u-global-modal :visiable.sync=\"showGlobalModal\">\r\n <footer slot=\"footer\">\r\n <i-button @click=\"showGlobalModal = false\">取消</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary\">确定</i-button>\r\n </footer>\r\n </u-global-modal>\r\n <u-current-modal :visiable.sync=\"showCurrentModal\"> </u-current-modal>\r\n <u-security-modal v-model=\"showSecurity\" :projectID=\"projectId\"></u-security-modal>\r\n <u-environment-modal :visiable.sync=\"showEnvironmentModal\" :projectId=\"projectId\" @on-refresh=\"onEnvironmentRefresh\"></u-environment-modal>\r\n</article>\r\n"
47479
+ module.exports = "<article class=\"project-detail\">\n <header>\n <div class=\"environment\">\n <i class=\"iconfont icon-zhankai\" @click=\"onBack\"></i>\n <p>{{projectName}}</p>\n <!-- <span>环境变量:</span> -->\n <!-- <i-select class=\"diy-select\"></i-select> -->\n </div>\n <div class=\"btns\">\n <!-- <i-button type=\"primary\" ghost class=\"diy-btn-primary\" @click=\"onOpenGlobalModal\"> <i class=\"api-icon icon-setting\"></i>全局参数设置</i-button> -->\n <!-- <i-button type=\"success\" ghost class=\"diy-btn-success\" @click=\"onOpenCurrentModal\"><i class=\"api-icon icon-view\"></i>查看当前变量</i-button> -->\n <i-button v-if=\"projectId && projectName\" type=\"primary\" class=\"diy-btn-primary security-btn\" ghost @click=\"onSecurity\"><i class=\"iconfont icon-xinzengzhibiao\"></i>授权认证</i-button>\n <i-button v-if=\"projectId && projectName\" type=\"primary\" class=\"diy-btn-primary\" ghost @click=\"onOpenEnvModal\"><i class=\"iconfont icon-bianliang\"></i>环境变量</i-button>\n <i-button v-show=\"active.id\" type=\"primary\" class=\"diy-btn-primary\" ghost @click=\"onToggleLayout\"><i class=\"api-icon icon-switch\"></i>切换布局</i-button>\n </div>\n </header>\n <!-- <main> -->\n <i-split v-model=\"split\" min=\"200px\" max=\"900px\">\n <u-tree slot=\"left\" @on-check-interface=\"onCheckInterface\" @on-edit-interface-success=\"onEditInterfaceSuccess\" :project-id=\"projectId\" @on-success=\"onBatchSuccess\"></u-tree>\n <section slot=\"right\" class=\"interface-box\">\n <header class=\"interface-bar\">\n <swiper class=\"swiper\" :options=\"swiperOption\" @click-slide=\"onClickSlide\" @ready=\"onSwiperReadied\">\n <swiper-slide class=\"tag\" @click=\"onClickTag(item)\" :class=\"{'active': item.id === active.id}\" v-for=\"(item,index) in openInterfaceList\" :key=\"item.id\"\n ><span>{{item.name}}</span> <i-icon type=\"md-close\" @click.stop=\"onClose(index)\"></i-icon\n ></swiper-slide>\n </swiper>\n <!-- <div class=\"tag\" @click=\"onClickTag(item)\" :class=\"{'active': item.id === active.id}\" v-for=\"(item,index) in openInterfaceList\" :key=\"item.id\">\n <span>{{item.name}}</span>\n <i-icon type=\"md-close\" @click.stop=\"onClose(index)\"></i-icon>\n </div> -->\n </header>\n <u-settings ref=\"interface-settings\" :interface-model.sync=\"active\" :project-id=\"projectId\" v-if=\"active.id\" :lengthwise=\"lengthwise\"></u-settings>\n </section>\n </i-split>\n <i-spin fix v-show=\"loading\">\n <i class=\"spin-icon-load ivu-icon\"></i>\n </i-spin>\n <!-- </main> -->\n <u-global-modal :visiable.sync=\"showGlobalModal\">\n <footer slot=\"footer\">\n <i-button @click=\"showGlobalModal = false\">取消</i-button>\n <i-button type=\"primary\" class=\"diy-btn-primary\">确定</i-button>\n </footer>\n </u-global-modal>\n <u-current-modal :visiable.sync=\"showCurrentModal\"> </u-current-modal>\n <u-security-modal v-model=\"showSecurity\" :projectID=\"projectId\"></u-security-modal>\n <u-environment-modal :visiable.sync=\"showEnvironmentModal\" :projectId=\"projectId\" @on-refresh=\"onEnvironmentRefresh\"></u-environment-modal>\n</article>\n"
47480
47480
 
47481
47481
  /***/ }),
47482
47482
 
@@ -47605,14 +47605,14 @@ module.exports = fails(function () {
47605
47605
  /***/ "d8b4":
47606
47606
  /***/ (function(module, exports) {
47607
47607
 
47608
- module.exports = "<div class=\"v-parameter-list-container\">\r\n <main>\r\n <div class=\"parameter-table-btns\" v-if=\"isEdit\">\r\n <span class=\"table-btns table-btns-add\" @click=\"onAdd\">\r\n <i class=\"iconfont icon-add\"></i>\r\n <span class=\"table-btns-text\">新增</span>\r\n </span>\r\n <span class=\"table-btns table-btns-delete\" :class=\"selections.length ? '' : 'icon-button-disabled'\" @click=\"onBatchDelete\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n <span class=\"table-btns-text\">批量删除</span>\r\n </span>\r\n </div>\r\n <template v-if=\"data?.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"data\" @on-selection-change=\"onSelectionChange\">\r\n <div slot=\"name\" slot-scope=\"{row}\">\r\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.name\">{{row.name}}</i-input>\r\n <span v-else>{{row.name}}</span>\r\n </div>\r\n <div slot=\"type\" slot-scope=\"{row}\">\r\n <i-select class=\"diy-select\" v-if=\"row.isEdit\" v-model=\"row.type\" transfer>\r\n <i-option v-for=\"item in typeList\" :value=\"item.name\" :key=\"item.name\">{{item.text}}</i-option>\r\n </i-select>\r\n <span v-else>{{getTypeText(row.type)}}</span>\r\n </div>\r\n <div slot=\"required\" slot-scope=\"{row}\">\r\n <i-select class=\"diy-select\" v-if=\"row.isEdit\" :value=\"booleanObj[row.required]\" @on-change=\"onChangeRequired($event, row)\" transfer>\r\n <i-option :value=\"0\" key=\"0\">否</i-option>\r\n <i-option :value=\"1\" key=\"1\">是</i-option>\r\n </i-select>\r\n <span v-else>{{row.required ? \"是\" : \"否\"}}</span>\r\n </div>\r\n <div slot=\"defaultValue\" slot-scope=\"{row}\">\r\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.defaultValue\"></i-input>\r\n <span v-else>{{row.defaultValue}}</span>\r\n </div>\r\n <div slot=\"description\" slot-scope=\"{row}\">\r\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.description\"></i-input>\r\n <span v-else>{{row.description}}</span>\r\n </div>\r\n <div v-if=\"isEdit\" class=\"row-actions\" slot=\"actions\" slot-scope=\"{row,index}\">\r\n <div v-if=\"row.isEdit\" class=\"edit-status\">\r\n <i class=\"iconfont icon-ok\" title=\"确认\" @click=\"onConfirm(row, index)\"></i>\r\n <i class=\"iconfont icon-cancel\" title=\"取消\" @click=\"onCancel(index)\"></i>\r\n </div>\r\n <div v-else class=\"read-status\">\r\n <i class=\"iconfont icon-edit\" title=\"编辑\" @click=\"onEdit(row)\"></i>\r\n <i-poptip confirm transfer title=\"确认删除这条数据吗?\" @on-ok=\"onDelete(row, index)\">\r\n <i class=\"iconfont icon-delete\" title=\"删除\"> </i>\r\n </i-poptip>\r\n </div>\r\n </div>\r\n </i-table>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data-wrap\">\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </div>\r\n </template>\r\n </main>\r\n</div>\r\n"
47608
+ module.exports = "<div class=\"v-parameter-list-container\">\n <main>\n <div class=\"parameter-table-btns\" v-if=\"isEdit\">\n <span class=\"table-btns table-btns-add\" @click=\"onAdd\">\n <i class=\"iconfont icon-add\"></i>\n <span class=\"table-btns-text\">新增</span>\n </span>\n <span class=\"table-btns table-btns-delete\" :class=\"selections.length ? '' : 'icon-button-disabled'\" @click=\"onBatchDelete\">\n <i class=\"iconfont icon-delete\"></i>\n <span class=\"table-btns-text\">批量删除</span>\n </span>\n </div>\n <template v-if=\"data?.length\">\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"data\" @on-selection-change=\"onSelectionChange\">\n <div slot=\"name\" slot-scope=\"{row}\">\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.name\">{{row.name}}</i-input>\n <span v-else>{{row.name}}</span>\n </div>\n <div slot=\"type\" slot-scope=\"{row}\">\n <i-select class=\"diy-select\" v-if=\"row.isEdit\" v-model=\"row.type\" transfer>\n <i-option v-for=\"item in typeList\" :value=\"item.name\" :key=\"item.name\">{{item.text}}</i-option>\n </i-select>\n <span v-else>{{getTypeText(row.type)}}</span>\n </div>\n <div slot=\"required\" slot-scope=\"{row}\">\n <i-select class=\"diy-select\" v-if=\"row.isEdit\" :value=\"booleanObj[row.required]\" @on-change=\"onChangeRequired($event, row)\" transfer>\n <i-option :value=\"0\" key=\"0\">否</i-option>\n <i-option :value=\"1\" key=\"1\">是</i-option>\n </i-select>\n <span v-else>{{row.required ? \"是\" : \"否\"}}</span>\n </div>\n <div slot=\"defaultValue\" slot-scope=\"{row}\">\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.defaultValue\"></i-input>\n <span v-else>{{row.defaultValue}}</span>\n </div>\n <div slot=\"description\" slot-scope=\"{row}\">\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.description\"></i-input>\n <span v-else>{{row.description}}</span>\n </div>\n <div v-if=\"isEdit\" class=\"row-actions\" slot=\"actions\" slot-scope=\"{row,index}\">\n <div v-if=\"row.isEdit\" class=\"edit-status\">\n <i class=\"iconfont icon-ok\" title=\"确认\" @click=\"onConfirm(row, index)\"></i>\n <i class=\"iconfont icon-cancel\" title=\"取消\" @click=\"onCancel(index)\"></i>\n </div>\n <div v-else class=\"read-status\">\n <i class=\"iconfont icon-edit\" title=\"编辑\" @click=\"onEdit(row)\"></i>\n <i-poptip confirm transfer title=\"确认删除这条数据吗?\" @on-ok=\"onDelete(row, index)\">\n <i class=\"iconfont icon-delete\" title=\"删除\"> </i>\n </i-poptip>\n </div>\n </div>\n </i-table>\n </template>\n <template v-else>\n <div class=\"table-no-data-wrap\">\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </div>\n </template>\n </main>\n</div>\n"
47609
47609
 
47610
47610
  /***/ }),
47611
47611
 
47612
47612
  /***/ "d8e7":
47613
47613
  /***/ (function(module, exports) {
47614
47614
 
47615
- module.exports = "<!DOCTYPE html>\r\n<article class=\"v-api-combine-info-wrapper\">\r\n <header class=\"header\">\r\n {{title}}\r\n </header>\r\n <main>\r\n <i-form ref=\"form\" class=\"info-form\" :model=\"model\" :rules=\"rules\">\r\n <i-row>\r\n <section class=\"title-g\">基本信息</section>\r\n <i-form-item label=\"名称:\" prop=\"name\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入名称\" v-model=\"model.name\" :disabled=\"!isEdit\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"编码:\" prop=\"code\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入编码\" v-model=\"model.code\" :disabled=\"!isEdit\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"full-width\" label=\"描述:\">\r\n <i-input type=\"textarea\" class=\"diy-input-textarea\" :rows=\"1\" placeholder=\"请输入描述\" v-model=\"model.description\" :disabled=\"!isEdit\"></i-input>\r\n </i-form-item>\r\n </i-row>\r\n <i-row>\r\n <section class=\"title-g\">待合并列表</section>\r\n <section class=\"to-combine-list\">\r\n <template v-if=\"isEdit\">\r\n <i-button class=\"diy-btn-default\" @click=\"onAddDataModel\">添加数据模型</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onAddApiProject\">添加 API</i-button>\r\n </template>\r\n <template v-if=\"model.relations?.length\">\r\n <i-table class=\"diy-table\" :columns=\"relationColumns\" :data=\"model.relations\">\r\n <template #type=\"{row}\">\r\n <span>{{row.type==='MODEL'?'数据模型':row.type==='API'?'API':''}}</span>\r\n </template>\r\n <template #operates=\"{row,index}\">\r\n <div class=\"row-actions\">\r\n <i title=\"查看\" class=\"iconfont icon-rizhichakan\" @click=\"onDetail(row)\"></i>\r\n <i-poptip v-if=\"isEdit\" confirm transfer title=\"确认删除这条数据吗?\" @on-ok=\"onRelationDelete(row)\">\r\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\r\n </i-poptip>\r\n </div>\r\n </template>\r\n </i-table>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </template>\r\n </section>\r\n </i-row>\r\n <i-row>\r\n <section class=\"title-g\">参数详情</section>\r\n <section class=\"parameter-detail\">\r\n <section class=\"card-panel card-panel-no-right-border\">\r\n <i-tabs>\r\n <i-tab-pane label=\"请求参数\" name=\"request\">\r\n <u-request-parameter-list :data=\"model.reqParams\" :isEdit=\"isEdit\"></u-request-parameter-list>\r\n </i-tab-pane>\r\n <i-tab-pane label=\"响应参数\" name=\"response\">\r\n <u-response-parameter-list :data=\"model.respParams\" :isEdit=\"isEdit\"></u-response-parameter-list>\r\n </i-tab-pane>\r\n </i-tabs>\r\n </section>\r\n <section class=\"card-panel\">\r\n <div class=\"card-panel-header\">\r\n <div>\r\n <span>执行脚本</span>\r\n <i-icon class=\"help-icon\" type=\"md-alert\" @click=\"onOpenDoc\" title=\"帮助文档\"> </i-icon>\r\n </div>\r\n <span class=\"action-text\" @click.stop=\"onOpenTest\">\r\n <i class=\"iconfont icon-run\"></i>\r\n <span>试运行</span>\r\n </span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <u-base-editor class=\"editor\" :data.sync=\"model.content\" :readOnly=\"!isEdit\"></u-base-editor>\r\n </div>\r\n </section>\r\n </section>\r\n </i-row>\r\n </i-form>\r\n </main>\r\n <footer>\r\n <template v-if=\"isEdit\">\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click.stop=\"onSave\">确定</i-button>\r\n <i-button type=\"text\" class=\"diy-btn-text\" @click.stop=\"onBack\">取消</i-button>\r\n </template>\r\n <template v-else>\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click.stop=\"onBack\">关闭</i-button>\r\n </template>\r\n </footer>\r\n <u-data-model-modal v-model=\"dataModelShow\" :data=\"dataModelRelations\" @save=\"onRelationsSave\"></u-data-model-modal>\r\n <u-api-project-modal v-model=\"apiProjectShow\" :data=\"apiProjectRelations\" @save=\"onRelationsSave\"></u-api-project-modal>\r\n <u-data-model-doc-modal v-model=\"dataModelDocShow\" :doc=\"dataModelDoc\"></u-data-model-doc-modal>\r\n <u-api-project-detail-modal :visiable.sync=\"apiProjectDetailShow\" :model=\"apiProjectDetail\"></u-api-project-detail-modal>\r\n <u-test-run-modal :visible.sync=\"testShow\" :params=\"model.reqParams\" :data=\"testResult\" @on-run=\"onTestRun\"></u-test-run-modal>\r\n <u-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\r\n</article>\r\n"
47615
+ module.exports = "<!DOCTYPE html>\n<article class=\"v-api-combine-info-wrapper\">\n <header class=\"header\">\n {{title}}\n </header>\n <main>\n <i-form ref=\"form\" class=\"info-form\" :model=\"model\" :rules=\"rules\">\n <i-row>\n <section class=\"title-g\">基本信息</section>\n <i-form-item label=\"名称:\" prop=\"name\">\n <i-input class=\"diy-input\" placeholder=\"请输入名称\" v-model=\"model.name\" :disabled=\"!isEdit\"></i-input>\n </i-form-item>\n <i-form-item label=\"编码:\" prop=\"code\">\n <i-input class=\"diy-input\" placeholder=\"请输入编码\" v-model=\"model.code\" :disabled=\"!isEdit\"></i-input>\n </i-form-item>\n <i-form-item class=\"full-width\" label=\"描述:\">\n <i-input type=\"textarea\" class=\"diy-input-textarea\" :rows=\"1\" placeholder=\"请输入描述\" v-model=\"model.description\" :disabled=\"!isEdit\"></i-input>\n </i-form-item>\n </i-row>\n <i-row>\n <section class=\"title-g\">待合并列表</section>\n <section class=\"to-combine-list\">\n <template v-if=\"isEdit\">\n <i-button class=\"diy-btn-default\" @click=\"onAddDataModel\">添加数据模型</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onAddApiProject\">添加 API</i-button>\n </template>\n <template v-if=\"model.relations?.length\">\n <i-table class=\"diy-table\" :columns=\"relationColumns\" :data=\"model.relations\">\n <template #type=\"{row}\">\n <span>{{row.type==='MODEL'?'数据模型':row.type==='API'?'API':''}}</span>\n </template>\n <template #operates=\"{row,index}\">\n <div class=\"row-actions\">\n <i title=\"查看\" class=\"iconfont icon-rizhichakan\" @click=\"onDetail(row)\"></i>\n <i-poptip v-if=\"isEdit\" confirm transfer title=\"确认删除这条数据吗?\" @on-ok=\"onRelationDelete(row)\">\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\n </i-poptip>\n </div>\n </template>\n </i-table>\n </template>\n <template v-else>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </section>\n </i-row>\n <i-row>\n <section class=\"title-g\">参数详情</section>\n <section class=\"parameter-detail\">\n <section class=\"card-panel card-panel-no-right-border\">\n <i-tabs>\n <i-tab-pane label=\"请求参数\" name=\"request\">\n <u-request-parameter-list :data=\"model.reqParams\" :isEdit=\"isEdit\"></u-request-parameter-list>\n </i-tab-pane>\n <i-tab-pane label=\"响应参数\" name=\"response\">\n <u-response-parameter-list :data=\"model.respParams\" :isEdit=\"isEdit\"></u-response-parameter-list>\n </i-tab-pane>\n </i-tabs>\n </section>\n <section class=\"card-panel\">\n <div class=\"card-panel-header\">\n <div>\n <span>执行脚本</span>\n <i-icon class=\"help-icon\" type=\"md-alert\" @click=\"onOpenDoc\" title=\"帮助文档\"> </i-icon>\n </div>\n <span class=\"action-text\" @click.stop=\"onOpenTest\">\n <i class=\"iconfont icon-run\"></i>\n <span>试运行</span>\n </span>\n </div>\n <div class=\"card-panel-main\">\n <u-base-editor class=\"editor\" :data.sync=\"model.content\" :readOnly=\"!isEdit\"></u-base-editor>\n </div>\n </section>\n </section>\n </i-row>\n </i-form>\n </main>\n <footer>\n <template v-if=\"isEdit\">\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click.stop=\"onSave\">确定</i-button>\n <i-button type=\"text\" class=\"diy-btn-text\" @click.stop=\"onBack\">取消</i-button>\n </template>\n <template v-else>\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click.stop=\"onBack\">关闭</i-button>\n </template>\n </footer>\n <u-data-model-modal v-model=\"dataModelShow\" :data=\"dataModelRelations\" @save=\"onRelationsSave\"></u-data-model-modal>\n <u-api-project-modal v-model=\"apiProjectShow\" :data=\"apiProjectRelations\" @save=\"onRelationsSave\"></u-api-project-modal>\n <u-data-model-doc-modal v-model=\"dataModelDocShow\" :doc=\"dataModelDoc\"></u-data-model-doc-modal>\n <u-api-project-detail-modal :visiable.sync=\"apiProjectDetailShow\" :model=\"apiProjectDetail\"></u-api-project-detail-modal>\n <u-test-run-modal :visible.sync=\"testShow\" :params=\"model.reqParams\" :data=\"testResult\" @on-run=\"onTestRun\"></u-test-run-modal>\n <u-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\n</article>\n"
47616
47616
 
47617
47617
  /***/ }),
47618
47618
 
@@ -47626,7 +47626,7 @@ module.exports = "<!DOCTYPE html>\r\n<article class=\"v-api-combine-info-wrapper
47626
47626
  /***/ "d953":
47627
47627
  /***/ (function(module, exports) {
47628
47628
 
47629
- module.exports = "<div class=\"interface-tree-node\">\r\n <span v-if=\"isLeaf && data.method\" class=\"method\" :class=\"data.method.toLowerCase() \" @click=\"onClick\"\r\n >{{data.method}}</span\r\n >\r\n <i :class=\"isLeaf ? 'iconfont icon-API' : 'iconfont icon-APIfenzu2'\" @click=\"onClick\"></i>\r\n <span class=\"interface-tree-node-name\" :title=\"data.title\" @click=\"onClick\">{{data.title}}</span>\r\n <i-dropdown\r\n transfer\r\n stop-propagation\r\n class=\"diy-dropdown\"\r\n transfer-class-name=\"diy-transfer-dropdown\"\r\n @on-click=\"onClickAction\"\r\n >\r\n <i class=\"api-icon icon-more\"></i>\r\n <i-dropdown-menu slot=\"list\">\r\n <template v-if=\"isLeaf\">\r\n <i-dropdown-item name=\"edit-interface\">修改</i-dropdown-item>\r\n <i-dropdown-item name=\"delete-interface\">删除</i-dropdown-item>\r\n <i-dropdown-item name=\"copy-interface\">复制</i-dropdown-item>\r\n </template>\r\n <template v-else>\r\n <i-dropdown-item name=\"edit-group\">修改</i-dropdown-item>\r\n <i-dropdown-item name=\"add-interface\">新增接口</i-dropdown-item>\r\n <i-dropdown-item name=\"edit-attribute\">批量修改属性</i-dropdown-item>\r\n <u-confirm\r\n title=\"删除接口\"\r\n @on-ok=\"onDelete('delete-group')\"\r\n message=\"分组内的接口一并删除, 是否确认执行?\"\r\n >\r\n <i-dropdown-item>删除</i-dropdown-item>\r\n </u-confirm>\r\n </template>\r\n </i-dropdown-menu>\r\n </i-dropdown>\r\n</div>\r\n"
47629
+ module.exports = "<div class=\"interface-tree-node\">\n <span v-if=\"isLeaf && data.method\" class=\"method\" :class=\"data.method.toLowerCase() \" @click=\"onClick\"\n >{{data.method}}</span\n >\n <i :class=\"isLeaf ? 'iconfont icon-API' : 'iconfont icon-APIfenzu2'\" @click=\"onClick\"></i>\n <span class=\"interface-tree-node-name\" :title=\"data.title\" @click=\"onClick\">{{data.title}}</span>\n <i-dropdown\n transfer\n stop-propagation\n class=\"diy-dropdown\"\n transfer-class-name=\"diy-transfer-dropdown\"\n @on-click=\"onClickAction\"\n >\n <i class=\"api-icon icon-more\"></i>\n <i-dropdown-menu slot=\"list\">\n <template v-if=\"isLeaf\">\n <i-dropdown-item name=\"edit-interface\">修改</i-dropdown-item>\n <i-dropdown-item name=\"delete-interface\">删除</i-dropdown-item>\n <i-dropdown-item name=\"copy-interface\">复制</i-dropdown-item>\n </template>\n <template v-else>\n <i-dropdown-item name=\"edit-group\">修改</i-dropdown-item>\n <i-dropdown-item name=\"add-interface\">新增接口</i-dropdown-item>\n <i-dropdown-item name=\"edit-attribute\">批量修改属性</i-dropdown-item>\n <u-confirm\n title=\"删除接口\"\n @on-ok=\"onDelete('delete-group')\"\n message=\"分组内的接口一并删除, 是否确认执行?\"\n >\n <i-dropdown-item>删除</i-dropdown-item>\n </u-confirm>\n </template>\n </i-dropdown-menu>\n </i-dropdown>\n</div>\n"
47630
47630
 
47631
47631
  /***/ }),
47632
47632
 
@@ -48712,7 +48712,7 @@ if ($stringify) {
48712
48712
  /***/ "ef27":
48713
48713
  /***/ (function(module, exports) {
48714
48714
 
48715
- module.exports = "<article class=\"project-card\" @click=\"onDetail\">\r\n <header>{{data.name}}</header>\r\n <i-dropdown transfer transfer-class-name=\"api-project-oprate\" class=\"project-card-i-dropdown\" @on-click=\"onClick\">\r\n <i-icon type=\"ios-more\" />\r\n <i-dropdown-menu slot=\"list\">\r\n <i-dropdown-item :name=\"'export'\">\r\n <i\r\n class=\"api-icon icon-export project-card-i-dropdown-item-icon\"\r\n title=\"导出此项目\"\r\n @click.stop=\"onExport\"\r\n ></i>\r\n 导出此项目\r\n </i-dropdown-item>\r\n </i-dropdown-menu>\r\n </i-dropdown>\r\n <main></main>\r\n <footer>\r\n <div @click.stop=\"onEdit\">修改</div>\r\n <u-confirm\r\n class=\"delete\"\r\n title=\"删除项目\"\r\n message=\"项目内所有接口将被一并删除, 是否确认执行?\"\r\n @on-ok=\"onDelete\"\r\n >\r\n <span>删除</span>\r\n </u-confirm>\r\n </footer>\r\n</article>\r\n"
48715
+ module.exports = "<article class=\"project-card\" @click=\"onDetail\">\n <header>{{data.name}}</header>\n <i-dropdown transfer transfer-class-name=\"api-project-oprate\" class=\"project-card-i-dropdown\" @on-click=\"onClick\">\n <i-icon type=\"ios-more\" />\n <i-dropdown-menu slot=\"list\">\n <i-dropdown-item :name=\"'export'\">\n <i\n class=\"api-icon icon-export project-card-i-dropdown-item-icon\"\n title=\"导出此项目\"\n @click.stop=\"onExport\"\n ></i>\n 导出此项目\n </i-dropdown-item>\n </i-dropdown-menu>\n </i-dropdown>\n <main></main>\n <footer>\n <div @click.stop=\"onEdit\">修改</div>\n <u-confirm\n class=\"delete\"\n title=\"删除项目\"\n message=\"项目内所有接口将被一并删除, 是否确认执行?\"\n @on-ok=\"onDelete\"\n >\n <span>删除</span>\n </u-confirm>\n </footer>\n</article>\n"
48716
48716
 
48717
48717
  /***/ }),
48718
48718
 
@@ -53035,7 +53035,7 @@ function (_super) {
53035
53035
  title: "接口文档",
53036
53036
  align: "left",
53037
53037
  slot: "doc",
53038
- width: 100
53038
+ width: 110
53039
53039
  }, {
53040
53040
  title: "操作",
53041
53041
  align: "left",
@@ -54044,32 +54044,38 @@ function (_super) {
54044
54044
  }, {
54045
54045
  title: "名称",
54046
54046
  align: "left",
54047
- key: "name"
54047
+ key: "name",
54048
+ tooltip: true
54048
54049
  }, {
54049
54050
  title: "编码",
54050
54051
  align: "left",
54051
- key: "code"
54052
+ key: "code",
54053
+ tooltip: true
54052
54054
  }, {
54053
54055
  title: "数据源",
54054
54056
  align: "left",
54055
- key: "sourceName"
54057
+ key: "sourceName",
54058
+ tooltip: true
54056
54059
  }, {
54057
54060
  title: "是否开启缓存",
54058
54061
  align: "left",
54059
- slot: "enableCache"
54062
+ slot: "enableCache",
54063
+ width: 135
54060
54064
  }, {
54061
54065
  title: "过期时间(s)",
54062
54066
  align: "left",
54063
- key: "expireSeconds"
54067
+ key: "expireSeconds",
54068
+ width: 135
54064
54069
  }, {
54065
54070
  title: "描述",
54066
54071
  align: "left",
54067
- key: "description"
54072
+ key: "description",
54073
+ tooltip: true
54068
54074
  }, {
54069
54075
  title: "接口文档",
54070
54076
  align: "left",
54071
54077
  slot: "doc",
54072
- width: 100
54078
+ width: 110
54073
54079
  }]; // 查看文档
54074
54080
 
54075
54081
  _this.doc = "";
@@ -58990,6 +58996,10 @@ function (_super) {
58990
58996
  return this._get("/api-help/authScript.md");
58991
58997
  };
58992
58998
 
58999
+ ApiService.prototype.onImportAvr = function (data) {
59000
+ return this._post("/unity/api/info/import-var", data);
59001
+ };
59002
+
58993
59003
  var _a, _b;
58994
59004
 
58995
59005
  project_detail_service_decorate([serviceHandler("query", {
@@ -59103,6 +59113,11 @@ function (_super) {
59103
59113
  showErrorMsg: true
59104
59114
  }), project_detail_service_metadata("design:type", Function), project_detail_service_metadata("design:paramtypes", [Object]), project_detail_service_metadata("design:returntype", void 0)], ApiService.prototype, "onBatchAuth", null);
59105
59115
 
59116
+ project_detail_service_decorate([serviceHandler("query", {
59117
+ title: "单接口详情导入",
59118
+ showErrorMsg: true
59119
+ }), project_detail_service_metadata("design:type", Function), project_detail_service_metadata("design:paramtypes", [Object]), project_detail_service_metadata("design:returntype", void 0)], ApiService.prototype, "onImportAvr", null);
59120
+
59106
59121
  return ApiService;
59107
59122
  }(common_service);
59108
59123
 
@@ -60455,10 +60470,23 @@ function (_super) {
60455
60470
  var _a, _b;
60456
60471
 
60457
60472
  return environment_variable_modal_awaiter(this, void 0, void 0, function () {
60458
- var data, res;
60473
+ var valid, data, res;
60459
60474
  return environment_variable_modal_generator(this, function (_c) {
60460
60475
  switch (_c.label) {
60461
60476
  case 0:
60477
+ return [4
60478
+ /*yield*/
60479
+ , this.$refs["variable-content-form"].validate()];
60480
+
60481
+ case 1:
60482
+ valid = _c.sent();
60483
+
60484
+ if (!valid) {
60485
+ return [2
60486
+ /*return*/
60487
+ ];
60488
+ }
60489
+
60462
60490
  data = {
60463
60491
  name: this.formData.name,
60464
60492
  value: "".concat(this.formData.type, "://").concat(this.formData.address),
@@ -60475,7 +60503,7 @@ function (_super) {
60475
60503
  /*yield*/
60476
60504
  , this.service.saveVariable(data)];
60477
60505
 
60478
- case 1:
60506
+ case 2:
60479
60507
  res = _c.sent();
60480
60508
 
60481
60509
  if (res && !res.hasError) {
@@ -63100,6 +63128,7 @@ function (_super) {
63100
63128
  _this.scriptDocShow = false;
63101
63129
  _this.scriptDoc = "";
63102
63130
  _this.diyKeywordList = [];
63131
+ _this.isEmpty = true;
63103
63132
  _this.onFilter = lodash_debounce_default()(function () {
63104
63133
  _this.getSecurityList();
63105
63134
  }, 300);
@@ -63299,6 +63328,14 @@ function (_super) {
63299
63328
  this.currentSecurityItem = item.$clone();
63300
63329
  };
63301
63330
 
63331
+ SecurityModalComponent.prototype.onEmpty = function (value) {
63332
+ if (value) {
63333
+ this.isEmpty = true;
63334
+ } else {
63335
+ this.isEmpty = false;
63336
+ }
63337
+ };
63338
+
63302
63339
  SecurityModalComponent.prototype.onDelete = function (item) {
63303
63340
  return security_modal_awaiter(this, void 0, void 0, function () {
63304
63341
  var res;
@@ -63502,6 +63539,10 @@ function (_super) {
63502
63539
 
63503
63540
  security_modal_decorate([Object(flagwind_web_["watch"])("show"), security_modal_metadata("design:type", Function), security_modal_metadata("design:paramtypes", [Boolean]), security_modal_metadata("design:returntype", Promise)], SecurityModalComponent.prototype, "onShowChange", null);
63504
63541
 
63542
+ security_modal_decorate([Object(flagwind_web_["watch"])("securityList.length", {
63543
+ immediate: true
63544
+ }), security_modal_metadata("design:type", Function), security_modal_metadata("design:paramtypes", [Object]), security_modal_metadata("design:returntype", void 0)], SecurityModalComponent.prototype, "onEmpty", null);
63545
+
63505
63546
  SecurityModalComponent = security_modal_decorate([Object(flagwind_web_["component"])({
63506
63547
  template: __webpack_require__("3bf8"),
63507
63548
  components: {
@@ -64362,52 +64403,89 @@ function (_super) {
64362
64403
  };
64363
64404
 
64364
64405
  InterfaceSettings.prototype.onImport = function (file) {
64365
- var _this = this;
64406
+ return interface_settings_awaiter(this, void 0, void 0, function () {
64407
+ var reader;
64366
64408
 
64367
- var reader = new FileReader();
64368
- reader.readAsText(file, "UTF-8");
64409
+ var _this = this;
64369
64410
 
64370
- reader.onload = function (evt) {
64371
- return interface_settings_awaiter(_this, void 0, void 0, function () {
64372
- var fileString, obj, apiId;
64373
- return interface_settings_generator(this, function (_a) {
64374
- fileString = evt.target.result;
64375
- obj = null;
64411
+ return interface_settings_generator(this, function (_a) {
64412
+ reader = new FileReader();
64413
+ reader.readAsText(file, "UTF-8");
64414
+
64415
+ reader.onload = function (evt) {
64416
+ return interface_settings_awaiter(_this, void 0, void 0, function () {
64417
+ var fileString, obj, params, res, apiId;
64418
+
64419
+ var _a, _b, _c, _d, _e, _f;
64420
+
64421
+ return interface_settings_generator(this, function (_g) {
64422
+ switch (_g.label) {
64423
+ case 0:
64424
+ fileString = evt.target.result;
64425
+ obj = null;
64426
+
64427
+ try {
64428
+ obj = JSON.parse(fileString);
64429
+ } catch (error) {
64430
+ this.$message.error("JSON格式有误");
64431
+ return [2
64432
+ /*return*/
64433
+ , false];
64434
+ }
64376
64435
 
64377
- try {
64378
- obj = JSON.parse(fileString);
64379
- } catch (error) {
64380
- this.$message.error("JSON格式有误");
64381
- return [2
64382
- /*return*/
64383
- , false];
64384
- }
64436
+ params = {
64437
+ projectId: this.projectId,
64438
+ authentication: (obj === null || obj === void 0 ? void 0 : obj.authentication) || null,
64439
+ environmentParam: (obj === null || obj === void 0 ? void 0 : obj.environmentParam) || null
64440
+ };
64441
+ return [4
64442
+ /*yield*/
64443
+ , this.service.onImportAvr(params)];
64444
+
64445
+ case 1:
64446
+ res = _g.sent();
64447
+
64448
+ if (!(res === null || res === void 0 ? void 0 : res.hasError)) {
64449
+ this.getEnvironmentParamList();
64450
+ obj.environmentParam = ((_a = res === null || res === void 0 ? void 0 : res.result) === null || _a === void 0 ? void 0 : _a.environmentParam) || null;
64451
+ obj.authentication = ((_b = res === null || res === void 0 ? void 0 : res.result) === null || _b === void 0 ? void 0 : _b.authentication) || null;
64452
+ obj.info.envId = ((_d = (_c = res === null || res === void 0 ? void 0 : res.result) === null || _c === void 0 ? void 0 : _c.environmentParam) === null || _d === void 0 ? void 0 : _d.id) || null;
64453
+ obj.info.authId = ((_f = (_e = res === null || res === void 0 ? void 0 : res.result) === null || _e === void 0 ? void 0 : _e.authentication) === null || _f === void 0 ? void 0 : _f.id) || null;
64454
+ } else {
64455
+ return [2
64456
+ /*return*/
64457
+ ];
64458
+ }
64385
64459
 
64386
- apiId = this.interfaceModel.info.id;
64387
- obj.id = apiId;
64388
- obj.info.id = apiId;
64389
- obj.info.name = this.interfaceModel.info.name;
64390
- obj.info.projectId = this.projectId;
64391
- obj.info.categoryId = this.interfaceModel.info.categoryId;
64392
- obj.authentication && (obj.authentication.projectId = this.projectId);
64393
- obj.convertConfig && (obj.convertConfig.apiId = apiId);
64394
- ["fieldMappings", "postScripts", "preScripts", "queryParams", "formParams"].forEach(function (key) {
64395
- obj === null || obj === void 0 ? void 0 : obj[key].forEach(function (f) {
64396
- f.apiId = apiId;
64460
+ apiId = this.interfaceModel.info.id;
64461
+ obj.id = apiId;
64462
+ obj.info.id = apiId;
64463
+ obj.info.name = this.interfaceModel.info.name;
64464
+ obj.info.projectId = this.projectId;
64465
+ obj.info.categoryId = this.interfaceModel.info.categoryId;
64466
+ obj.convertConfig && (obj.convertConfig.apiId = apiId);
64467
+ ["fieldMappings", "postScripts", "preScripts", "queryParams", "formParams"].forEach(function (key) {
64468
+ obj === null || obj === void 0 ? void 0 : obj[key].forEach(function (f) {
64469
+ f.apiId = apiId;
64470
+ });
64471
+ });
64472
+ obj === null || obj === void 0 ? void 0 : obj.requestHeaders.forEach(function (f) {
64473
+ f.belongId = apiId;
64474
+ });
64475
+ this.$emit("update:interfaceModel", obj);
64476
+ return [2
64477
+ /*return*/
64478
+ ];
64479
+ }
64397
64480
  });
64398
64481
  });
64399
- obj === null || obj === void 0 ? void 0 : obj.requestHeaders.forEach(function (f) {
64400
- f.belongId = apiId;
64401
- });
64402
- this.$emit("update:interfaceModel", obj);
64403
- return [2
64404
- /*return*/
64405
- ];
64406
- });
64407
- });
64408
- };
64482
+ };
64409
64483
 
64410
- return false;
64484
+ return [2
64485
+ /*return*/
64486
+ , false];
64487
+ });
64488
+ });
64411
64489
  };
64412
64490
 
64413
64491
  InterfaceSettings.prototype.onExport = function () {
@@ -66516,6 +66594,30 @@ function (_super) {
66516
66594
  }, resume === "true");
66517
66595
  }
66518
66596
 
66597
+ this.$subscribe("api://project-detail-save", function () {
66598
+ return project_detail_awaiter(_this, void 0, void 0, function () {
66599
+ var res, result;
66600
+ return project_detail_generator(this, function (_a) {
66601
+ switch (_a.label) {
66602
+ case 0:
66603
+ return [4
66604
+ /*yield*/
66605
+ , this.service.apiInfo(this.current.id)];
66606
+
66607
+ case 1:
66608
+ res = _a.sent();
66609
+ result = project_detail_assign(project_detail_assign({}, res.result || {}), {
66610
+ name: this.current.name,
66611
+ id: this.current.id
66612
+ });
66613
+ this.active = result;
66614
+ return [2
66615
+ /*return*/
66616
+ ];
66617
+ }
66618
+ });
66619
+ });
66620
+ });
66519
66621
  this.$subscribe("api://batch-api-refresh", function (data) {
66520
66622
  return project_detail_awaiter(_this, void 0, void 0, function () {
66521
66623
  var ids, isEnvAndAuth, cross, _loop_1, this_1, _i, cross_1, value;