@egova/egova-api 1.0.169 → 1.0.172

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.
@@ -26405,7 +26405,7 @@ module.exports = version;
26405
26405
  /***/ "2f53":
26406
26406
  /***/ (function(module, exports) {
26407
26407
 
26408
- module.exports = "<span class=\"wrap\">\n <i-poptip trigger=\"hover\" :content=\"tips\">\n<!-- <div class=\"diy-info-icon\">i</div>-->\n <i-icon type=\"ios-information-circle-outline\"></i-icon>\n </i-poptip>\n <span class=\"title\">{{labelTitle}}</span>\n <span v-if=\"labelColon\">:</span>\n</span>\n"
26408
+ module.exports = "<span class=\"wrap\">\r\n <i-poptip trigger=\"hover\" :content=\"tips\">\r\n<!-- <div class=\"diy-info-icon\">i</div>-->\r\n <i-icon type=\"ios-information-circle-outline\"></i-icon>\r\n </i-poptip>\r\n <span class=\"title\">{{labelTitle}}</span>\r\n <span v-if=\"labelColon\">:</span>\r\n</span>\r\n"
26409
26409
 
26410
26410
  /***/ }),
26411
26411
 
@@ -26529,7 +26529,7 @@ module.exports = function (argument) {
26529
26529
  /***/ "3bf8":
26530
26530
  /***/ (function(module, exports) {
26531
26531
 
26532
- 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\">{{ 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=\"授权名称\">\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=\"授权类型\">\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\">\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 <i-input class=\"diy-input script-area\" type=\"textarea\" placeholder=\"请输入\" v-model=\"currentSecurityItem.scriptContent\"></i-input>\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</i-modal>\r\n"
26532
+ 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 <i-input class=\"diy-input script-area\" type=\"textarea\" placeholder=\"请输入\" v-model=\"currentSecurityItem.scriptContent\"></i-input>\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</i-modal>\r\n"
26533
26533
 
26534
26534
  /***/ }),
26535
26535
 
@@ -26574,7 +26574,7 @@ defineIterator(String, 'String', function (iterated) {
26574
26574
  /***/ "3de4":
26575
26575
  /***/ (function(module, exports) {
26576
26576
 
26577
- module.exports = "<article class=\"security-setting-v2\">\r\n <div class=\"left\">\r\n <i-form class=\"type-form diy-form\" label-colon>\r\n <i-form-item label=\"选择授权\">\r\n <i-select ref=\"addSecuritySelect\" class=\"diy-select add-security-select\" v-model=\"currentSecurityItemId\" @on-change=\"onChangeSecurityItem($event)\" @on-clear=\"onClear\" clearable>\r\n <i-option v-for=\"item in securityList\" :key=\"item.id\" :value=\"item.id\">{{ item.name }}</i-option>\r\n <i-option class=\"add-security-item\" value=\"''\">\r\n <div class=\"add-security-item-content\" @click.stop=\"onAddSecurityItem\">\r\n <i class=\"api-icon icon-add\"></i>\r\n <span>新建授权</span>\r\n </div>\r\n </i-option>\r\n </i-select>\r\n </i-form-item>\r\n <i-form-item label=\"授权类型\">\r\n <span class=\"security-type\">{{ currentSecurityItem._type?.text ? currentSecurityItem._type.text : \"暂无\" }}</span>\r\n </i-form-item>\r\n </i-form>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"right-title\">授权详情</div>\r\n <div class=\"right-content\">\r\n <div class=\"no-data\" v-if=\"!currentSecurityItem.type\">\r\n <div class=\"no-data-bg\"></div>\r\n <div class=\"no-data-text\">请在左侧下拉框中选择已建立授权</div>\r\n </div>\r\n <div class=\"script\" v-if=\"currentSecurityItem.type === 'GROOVY_SCRIPT'\">\r\n <i-input class=\"diy-input script-area\" type=\"textarea\" v-model=\"currentSecurityItem.scriptContent\" :readonly=\"true\"></i-input>\r\n </div>\r\n <div class=\"api-key\" v-if=\"currentSecurityItem.type === 'Api_Key'\">\r\n <i-form class=\"oauth-2-form diy-form\" label-colon>\r\n <i-form-item label=\"存储位置\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem._location?.text ? currentSecurityItem._location.text : \"\"}}</span>\r\n </i-form-item>\r\n <i-form-item label=\"存储键值\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.locationKey }}</span>\r\n </i-form-item>\r\n <i-form-item label=\"key\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.key }}</span>\r\n </i-form-item>\r\n </i-form>\r\n </div>\r\n <div class=\"base-auth\" v-if=\"currentSecurityItem.type === 'Base_Auth'\">\r\n <i-form class=\"oauth-2-form diy-form\" label-colon>\r\n <i-form-item label=\"存储位置\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem._location?.text ? currentSecurityItem._location.text : \"\" }}</span>\r\n </i-form-item>\r\n <i-form-item label=\"存储键值\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.locationKey }}</span>\r\n </i-form-item>\r\n <i-form-item label=\"username\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.username }}</span>\r\n </i-form-item>\r\n <i-form-item label=\"password\">\r\n <!-- <span class=\"form-item-text\">{{ \"·\" }}</span>-->\r\n <!-- <i-input class=\"diy-input\" v-model=\"model.password\" type=\"password\" password placeholder=\"请输入\"> </i-input>-->\r\n <i-input class=\"diy-password-input diy-input\" :value=\"currentSecurityItem.content.password\" type=\"password\"></i-input>\r\n </i-form-item>\r\n </i-form>\r\n </div>\r\n <div class=\"oauth-2\" v-if=\"currentSecurityItem.type === 'OAuth2'\">\r\n <i-form class=\"oauth-2-form diy-form\" label-colon>\r\n <i-form-item label=\"存储位置\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem._location?.text ? currentSecurityItem._location.text : \"\" }}</span>\r\n </i-form-item>\r\n <i-form-item label=\"存储键值\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.locationKey }}</span>\r\n </i-form-item>\r\n <i-form-item>\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Header Prefix'\" tips=\"token前缀 例如 Bearer\" label-colon></u-tips-form-label>\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.headerPrefix }}</span>\r\n </i-form-item>\r\n <i-form-item>\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Grant Type'\" tips=\"认证类型\" label-colon></u-tips-form-label>\r\n <span class=\"form-item-text\">{{ findGrantTypeText(currentSecurityItem.content.grantType) }}</span>\r\n </i-form-item>\r\n <i-form-item>\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Access Token Url'\" tips=\"获取token的httpUrl\" label-colon></u-tips-form-label>\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.tokenUrl }}</span>\r\n </i-form-item>\r\n <i-form-item>\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'TokenPath'\" tips=\"获取响应结果的token路径\" label-colon></u-tips-form-label>\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.tokenPath }}</span>\r\n </i-form-item>\r\n <i-form-item label=\"Client ID\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.clientId }}</span>\r\n </i-form-item>\r\n <i-form-item label=\"Client Secret\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.clientSecret }}</span>\r\n </i-form-item>\r\n <template v-if=\"currentSecurityItem.content.grantType === 'password'\">\r\n <i-form-item class=\"security-content-form-item\" label=\"username\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.username }}</span>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item\" label=\"password\">\r\n <i-input class=\"diy-password-input diy-input\" :value=\"currentSecurityItem.content.password\" type=\"password\"></i-input>\r\n </i-form-item>\r\n </template>\r\n <i-form-item label=\"Scope\">\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Scope'\" tips=\"访问请求的范围,它可能有多个空格分隔的值\" label-colon></u-tips-form-label>\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.scope }}</span>\r\n </i-form-item>\r\n </i-form>\r\n </div>\r\n </div>\r\n </div>\r\n <u-security-modal v-model=\"showSecurity\" :projectID=\"projectID\" :isAdd=\"isAdd\"></u-security-modal>\r\n</article>\r\n"
26577
+ module.exports = "<article class=\"security-setting-v2\">\r\n <div class=\"left\">\r\n <i-form class=\"type-form diy-form\" label-colon>\r\n <i-form-item label=\"选择授权\">\r\n <i-select ref=\"addSecuritySelect\" class=\"diy-select add-security-select\" v-model=\"currentSecurityItemId\" @on-change=\"onChangeSecurityItem($event)\" @on-clear=\"onClear\" clearable>\r\n <i-option v-for=\"item in securityList\" :key=\"item.id\" :value=\"item.id\">{{ item.name }}</i-option>\r\n <i-option class=\"add-security-item\" value=\"''\">\r\n <div class=\"add-security-item-content\" @click.stop=\"onAddSecurityItem\">\r\n <i class=\"api-icon icon-add\"></i>\r\n <span>新建授权</span>\r\n </div>\r\n </i-option>\r\n </i-select>\r\n </i-form-item>\r\n <i-form-item label=\"授权类型\">\r\n <span class=\"security-type\">{{ currentSecurityItem._type?.text ? currentSecurityItem._type.text : \"暂无\" }}</span>\r\n </i-form-item>\r\n </i-form>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"right-title\">授权详情</div>\r\n <div class=\"right-content\">\r\n <div class=\"no-data\" v-if=\"!currentSecurityItem.type\">\r\n <div class=\"no-data-bg\"></div>\r\n <div class=\"no-data-text\">请在左侧下拉框中选择已建立授权</div>\r\n </div>\r\n <div class=\"script\" v-if=\"currentSecurityItem.type === 'GROOVY_SCRIPT'\">\r\n <i-input class=\"diy-input script-area\" type=\"textarea\" v-model=\"currentSecurityItem.scriptContent\" :readonly=\"true\"></i-input>\r\n </div>\r\n <div class=\"api-key\" v-if=\"currentSecurityItem.type === 'Api_Key'\">\r\n <i-form class=\"oauth-2-form diy-form\" label-colon>\r\n <i-form-item label=\"存储位置\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem._location?.text ? currentSecurityItem._location.text : \"\"}}</span>\r\n </i-form-item>\r\n <i-form-item label=\"存储键值\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.locationKey }}</span>\r\n </i-form-item>\r\n <i-form-item label=\"key\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.key }}</span>\r\n </i-form-item>\r\n </i-form>\r\n </div>\r\n <div class=\"base-auth\" v-if=\"currentSecurityItem.type === 'Base_Auth'\">\r\n <i-form class=\"oauth-2-form diy-form\" label-colon>\r\n <i-form-item label=\"存储位置\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem._location?.text ? currentSecurityItem._location.text : \"\" }}</span>\r\n </i-form-item>\r\n <i-form-item label=\"存储键值\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.locationKey }}</span>\r\n </i-form-item>\r\n <i-form-item label=\"username\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.username }}</span>\r\n </i-form-item>\r\n <i-form-item label=\"password\">\r\n <!-- <span class=\"form-item-text\">{{ \"·\" }}</span>-->\r\n <!-- <i-input class=\"diy-input\" v-model=\"model.password\" type=\"password\" password placeholder=\"请输入\"> </i-input>-->\r\n <i-input class=\"diy-password-input diy-input\" :value=\"currentSecurityItem.content.password\" type=\"password\"></i-input>\r\n </i-form-item>\r\n </i-form>\r\n </div>\r\n <div class=\"oauth-2\" v-if=\"currentSecurityItem.type === 'OAuth2'\">\r\n <i-form class=\"oauth-2-form diy-form\" label-colon>\r\n <i-form-item label=\"存储位置\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem._location?.text ? currentSecurityItem._location.text : \"\" }}</span>\r\n </i-form-item>\r\n <i-form-item label=\"存储键值\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.locationKey }}</span>\r\n </i-form-item>\r\n <i-form-item>\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Header Prefix'\" tips=\"token前缀 例如 Bearer\" label-colon></u-tips-form-label>\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.headerPrefix }}</span>\r\n </i-form-item>\r\n <i-form-item class=\"grant-type-item\">\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Grant Type'\" tips=\"认证类型\" label-colon></u-tips-form-label>\r\n <span class=\"form-item-text\">{{ findGrantTypeText(currentSecurityItem.content.grantType) }}</span>\r\n </i-form-item>\r\n <i-form-item>\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Access Token Url'\" tips=\"获取token的httpUrl\" label-colon></u-tips-form-label>\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.tokenUrl }}</span>\r\n </i-form-item>\r\n <i-form-item>\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'TokenPath'\" tips=\"获取响应结果的token路径\" label-colon></u-tips-form-label>\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.tokenPath }}</span>\r\n </i-form-item>\r\n <i-form-item label=\"Client ID\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.clientId }}</span>\r\n </i-form-item>\r\n <i-form-item label=\"Client Secret\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.clientSecret }}</span>\r\n </i-form-item>\r\n <template v-if=\"currentSecurityItem.content.grantType === 'password'\">\r\n <i-form-item class=\"security-content-form-item\" label=\"username\">\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.username }}</span>\r\n </i-form-item>\r\n <i-form-item class=\"security-content-form-item\" label=\"password\">\r\n <i-input class=\"diy-password-input diy-input\" :value=\"currentSecurityItem.content.password\" type=\"password\"></i-input>\r\n </i-form-item>\r\n </template>\r\n <i-form-item label=\"Scope\">\r\n <u-tips-form-label slot=\"label\" :labelTitle=\"'Scope'\" tips=\"访问请求的范围,它可能有多个空格分隔的值\" label-colon></u-tips-form-label>\r\n <span class=\"form-item-text\">{{ currentSecurityItem.content.scope }}</span>\r\n </i-form-item>\r\n </i-form>\r\n </div>\r\n </div>\r\n </div>\r\n <u-security-modal v-model=\"showSecurity\" :projectID=\"projectID\" :isAdd=\"isAdd\"></u-security-modal>\r\n</article>\r\n"
26578
26578
 
26579
26579
  /***/ }),
26580
26580
 
@@ -26771,7 +26771,7 @@ fixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNa
26771
26771
  /***/ "46d3":
26772
26772
  /***/ (function(module, exports) {
26773
26773
 
26774
- module.exports = "<article class=\"u-common-tree u-type-tree\">\n <slot name=\"header\">\n <header slot=\"header\" class=\"tree-header\">\n <span>合并模型列表</span>\n <i-upload\n class=\"action-item\"\n :action=\"uploadAction\"\n accept=\".json\"\n :headers=\"headers\"\n :show-upload-list=\"false\"\n :format=\"['json']\"\n :on-success=\"onSuccess\"\n :before-upload=\"onBeforeUpload\"\n :on-format-error=\"onFormatError\"\n >\n <i title=\"导入\" class=\"iconfont icon-import\"></i>\n </i-upload>\n <i\n @click=\"onModelExport(null)\"\n :class=\"{'disabled': !data.length}\"\n class=\"iconfont icon-export\"\n title=\"导出\"\n ></i>\n <i @click.stop=\"onAddTreeNode\" title=\"新增合并模型\" class=\"iconfont icon-add-folder\"></i>\n </header>\n </slot>\n <section class=\"content\">\n <i-input class=\"search-input diy-input\" suffix=\"ios-search\" :placeholder=\"placeholder\" @on-change=\"onFilter\" v-model=\"keyword\" />\n <i-tree :data=\"renderData\" :render=\"renderContent\" @on-toggle-expand=\"onToggleExpand\"></i-tree>\n </section>\n <u-add-node :data=\"tempNode\" :categories=\"data\" v-model=\"showAddTreeNodeModal\" @on-refresh=\"queryTreeData\"></u-add-node>\n\n <i-modal draggable sticky reset-drag-position v-model=\"showImportModal\" class=\"diy-modal duplicate-import-modal\" width=\"800\" :mask-closable=\"false\" title=\"导入已合并接口\">\n <div class=\"import-title\">上传成功</div>\n <div class=\"import-label\">{{ `上传共${importResult.total}条合并接口数据,其中${importResult.total - importResult.duplicateNum}条可成功导入。` }}</div>\n <div class=\"import-label\">{{ `发现以下${importResult.duplicateNum}条接口数据存在编码重复(编码已存在),将不会被导入。` }}</div>\n <i-table class=\"diy-table import-modal-table\" :columns=\"columns\" :data=\"importResult.items\">\n </i-table>\n <footer slot=\"footer\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onImportConfirm\">确定</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onImportCancel\">取消</i-button>\n </footer>\n </i-modal>\n</article>\n"
26774
+ module.exports = "<article class=\"u-common-tree u-type-tree\">\r\n <slot name=\"header\">\r\n <header slot=\"header\" class=\"tree-header\">\r\n <span>合并模型列表</span>\r\n <i-upload\r\n class=\"action-item\"\r\n :action=\"uploadAction\"\r\n accept=\".json\"\r\n :headers=\"headers\"\r\n :show-upload-list=\"false\"\r\n :format=\"['json']\"\r\n :on-success=\"onSuccess\"\r\n :before-upload=\"onBeforeUpload\"\r\n :on-format-error=\"onFormatError\"\r\n >\r\n <i title=\"导入\" class=\"iconfont icon-import\"></i>\r\n </i-upload>\r\n <i\r\n @click=\"onModelExport(null)\"\r\n :class=\"{'disabled': !data.length}\"\r\n class=\"iconfont icon-export\"\r\n title=\"导出\"\r\n ></i>\r\n <i @click.stop=\"onAddTreeNode\" title=\"新增合并模型\" class=\"iconfont icon-add-folder\"></i>\r\n </header>\r\n </slot>\r\n <section class=\"content\">\r\n <i-input class=\"search-input diy-input\" suffix=\"ios-search\" :placeholder=\"placeholder\" @on-change=\"onFilter\" v-model=\"keyword\" />\r\n <i-tree :data=\"renderData\" :render=\"renderContent\" @on-toggle-expand=\"onToggleExpand\"></i-tree>\r\n </section>\r\n <u-add-node :data=\"tempNode\" :categories=\"data\" v-model=\"showAddTreeNodeModal\" @on-refresh=\"queryTreeData\"></u-add-node>\r\n\r\n <i-modal draggable sticky reset-drag-position v-model=\"showImportModal\" class=\"diy-modal duplicate-import-modal\" width=\"800\" :mask-closable=\"false\" title=\"导入已合并接口\">\r\n <div class=\"import-title\">上传成功</div>\r\n <div class=\"import-label\">{{ `上传共${importResult.total}条合并接口数据,其中${importResult.total - importResult.duplicateNum}条可成功导入。` }}</div>\r\n <div class=\"import-label\">{{ `发现以下${importResult.duplicateNum}条接口数据存在编码重复(编码已存在),将不会被导入。` }}</div>\r\n <i-table class=\"diy-table import-modal-table\" :columns=\"columns\" :data=\"importResult.items\">\r\n </i-table>\r\n <footer slot=\"footer\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onImportConfirm\">确定</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onImportCancel\">取消</i-button>\r\n </footer>\r\n </i-modal>\r\n</article>\r\n"
26775
26775
 
26776
26776
  /***/ }),
26777
26777
 
@@ -40802,7 +40802,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
40802
40802
  /***/ "88af":
40803
40803
  /***/ (function(module, exports) {
40804
40804
 
40805
- 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\" label=\"选择属性\">\r\n <i-select class=\"diy-select\" placeholder=\"请输入\" 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\" placeholder=\"请选择\" 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\">{{item.name}} </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\" placeholder=\"请选择\" 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"
40805
+ 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\" 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\" 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\">{{item.name}} </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"
40806
40806
 
40807
40807
  /***/ }),
40808
40808
 
@@ -40830,7 +40830,7 @@ module.exports = store.inspectSource;
40830
40830
  /***/ "8962":
40831
40831
  /***/ (function(module, exports) {
40832
40832
 
40833
- 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\">{{ 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"
40833
+ 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"
40834
40834
 
40835
40835
  /***/ }),
40836
40836
 
@@ -42284,13 +42284,6 @@ dom.importCssString(exports.cssText, exports.cssClass);
42284
42284
  });
42285
42285
 
42286
42286
 
42287
- /***/ }),
42288
-
42289
- /***/ "9721":
42290
- /***/ (function(module, exports, __webpack_require__) {
42291
-
42292
- // extracted by mini-css-extract-plugin
42293
-
42294
42287
  /***/ }),
42295
42288
 
42296
42289
  /***/ "981a":
@@ -42974,13 +42967,6 @@ module.exports = "<i-poptip\r\n transfer\r\n class=\"u-tree-selector\"\r\n
42974
42967
 
42975
42968
  /***/ }),
42976
42969
 
42977
- /***/ "a406":
42978
- /***/ (function(module, exports) {
42979
-
42980
- module.exports = "<span>\r\n <span>{{labelTitle}}</span>\r\n <i-poptip trigger=\"hover\" :content=\"tips\">\r\n <i class=\"api-icon icon-warning\" />\r\n </i-poptip>\r\n <span v-if=\"labelColon\">:</span>\r\n</span>\r\n"
42981
-
42982
- /***/ }),
42983
-
42984
42970
  /***/ "a434":
42985
42971
  /***/ (function(module, exports, __webpack_require__) {
42986
42972
 
@@ -46051,13 +46037,6 @@ $({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
46051
46037
  });
46052
46038
 
46053
46039
 
46054
- /***/ }),
46055
-
46056
- /***/ "b676":
46057
- /***/ (function(module, exports) {
46058
-
46059
- module.exports = "<article class=\"security-setting\">\r\n <i-form class=\"type-form diy-form\" label-colon>\r\n <i-form-item label=\"类型\">\r\n <i-select transfer v-model=\"interfaceModel.authentication && interfaceModel.authentication.type\" class=\"diy-select\">\r\n <i-option v-for=\"item in securityTypeList\" :key=\"item.name\" :value=\"item.name\">{{item.text}} </i-option>\r\n </i-select>\r\n <div class=\"tips\">\r\n <i class=\"api-icon icon-warning\"></i>\r\n <span>认证类型</span>\r\n </div>\r\n </i-form-item>\r\n <i-form-item label=\"存储位置\">\r\n <i-select transfer v-model=\"interfaceModel.authentication && interfaceModel.authentication.location\" class=\"diy-select\">\r\n <i-option v-for=\"item in tokenLocationTypeList\" :key=\"item.name\" :value=\"item.name\"> {{item.text}} </i-option>\r\n </i-select>\r\n <div class=\"tips\">\r\n <i class=\"api-icon icon-warning\"></i>\r\n <span>认证信息存储位置</span>\r\n </div>\r\n </i-form-item>\r\n <i-form-item label=\"存储键值\">\r\n <i-input class=\"diy-input\" v-model=\"interfaceModel.authentication && interfaceModel.authentication.locationKey\"> </i-input>\r\n <div class=\"tips\">\r\n <i class=\"api-icon icon-warning\"></i>\r\n <span>认证信息存储键值</span>\r\n </div>\r\n </i-form-item>\r\n </i-form>\r\n <section>\r\n <i-form label-colon :label-width=\"200\" class=\"diy-form content-form\" label-position=\"left\">\r\n <template v-if=\"interfaceModel.authentication && interfaceModel.authentication.type === 'Base_Auth'\">\r\n <i-form-item label=\"username\">\r\n <i-input class=\"diy-input\" v-model=\"model.username\" placeholder=\"请输入\"> </i-input>\r\n </i-form-item>\r\n <i-form-item label=\"password\">\r\n <i-input class=\"diy-input\" v-model=\"model.password\" placeholder=\"请输入\" type=\"password\"> </i-input>\r\n </i-form-item>\r\n </template>\r\n <template v-if=\"interfaceModel.authentication && interfaceModel.authentication.type === 'OAuth2'\">\r\n <i-form-item>\r\n <u-tips-form-label slot=\"label\" label-colon labelTitle=\"Header Prefix\" tips=\"token前缀 例如 Bearer \"> </u-tips-form-label>\r\n <i-input class=\"diy-input\" v-model=\"model.headerPrefix\" placeholder=\"请输入\"> </i-input>\r\n </i-form-item>\r\n <i-form-item>\r\n <u-tips-form-label slot=\"label\" label-colon labelTitle=\"Grant Type\" tips=\"认证类型\"> </u-tips-form-label>\r\n <i-select transfer v-model=\"model.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>\r\n <u-tips-form-label label-colon slot=\"label\" labelTitle=\"Access Token Url\" tips=\"获取token的httpUrl\"> </u-tips-form-label>\r\n <i-input class=\"diy-input\" v-model=\"model.tokenUrl\" placeholder=\"请输入\"> </i-input>\r\n </i-form-item>\r\n <i-form-item>\r\n <u-tips-form-label label-colon slot=\"label\" labelTitle=\"TokenPath\" tips=\"获取响应结果的token路径\"> </u-tips-form-label>\r\n <i-input class=\"diy-input\" v-model=\"model.tokenPath\" placeholder=\"请输入\"> </i-input>\r\n </i-form-item>\r\n <i-form-item label=\"Client ID\">\r\n <i-input class=\"diy-input\" v-model=\"model.clientId\" placeholder=\"请输入\"> </i-input>\r\n </i-form-item>\r\n <i-form-item label=\"Client Secret\">\r\n <i-input class=\"diy-input\" v-model=\"model.clientSecret\" placeholder=\"请输入\"> </i-input>\r\n </i-form-item>\r\n <template v-if=\"model.grantType === 'password'\">\r\n <i-form-item label=\"username\">\r\n <i-input class=\"diy-input\" v-model=\"model.username\" placeholder=\"请输入\"> </i-input>\r\n </i-form-item>\r\n <i-form-item label=\"password\">\r\n <i-input class=\"diy-input\" v-model=\"model.password\" type=\"password\" password placeholder=\"请输入\"> </i-input>\r\n </i-form-item>\r\n </template>\r\n <i-form-item label=\"Scope\">\r\n <i-input class=\"diy-input\" v-model=\"model.scope\" placeholder=\"请输入\"> </i-input>\r\n </i-form-item>\r\n </template>\r\n <template v-if=\"interfaceModel.authentication && interfaceModel.authentication.type === 'Api_Key'\">\r\n <i-form-item label=\"key\">\r\n <i-input class=\"diy-input\" v-model=\"model.key\" placeholder=\"请输入\"> </i-input>\r\n </i-form-item>\r\n </template>\r\n <i-button type=\"primary\" class=\"clear-btn diy-btn-primary\" @click=\"onClear\">清空</i-button>\r\n </i-form>\r\n </section>\r\n</article>\r\n"
46060
-
46061
46040
  /***/ }),
46062
46041
 
46063
46042
  /***/ "b727":
@@ -47300,7 +47279,7 @@ module.exports = require("axios");
47300
47279
  /***/ "cfb3":
47301
47280
  /***/ (function(module, exports) {
47302
47281
 
47303
- 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"
47282
+ 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"
47304
47283
 
47305
47284
  /***/ }),
47306
47285
 
@@ -47474,7 +47453,7 @@ module.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefi
47474
47453
  /***/ "d63e":
47475
47454
  /***/ (function(module, exports) {
47476
47455
 
47477
- 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-show=\"active.id\" 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 :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\"></u-environment-modal>\r\n</article>\r\n"
47456
+ 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 :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\"></u-environment-modal>\r\n</article>\r\n"
47478
47457
 
47479
47458
  /***/ }),
47480
47459
 
@@ -47610,7 +47589,7 @@ module.exports = "<div class=\"v-parameter-list-container\">\r\n <main>\r\n
47610
47589
  /***/ "d8e7":
47611
47590
  /***/ (function(module, exports) {
47612
47591
 
47613
- 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 <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-detail\" @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 </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"
47592
+ 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 <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-detail\" @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 </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"
47614
47593
 
47615
47594
  /***/ }),
47616
47595
 
@@ -48710,7 +48689,7 @@ if ($stringify) {
48710
48689
  /***/ "ef27":
48711
48690
  /***/ (function(module, exports) {
48712
48691
 
48713
- 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"
48692
+ 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"
48714
48693
 
48715
48694
  /***/ }),
48716
48695
 
@@ -48850,7 +48829,7 @@ module.exports = uncurryThis([].slice);
48850
48829
  /***/ "f40e":
48851
48830
  /***/ (function(module, exports) {
48852
48831
 
48853
- module.exports = "<article class=\"interface-settings\">\n <header>\n<!-- <i-input class=\"diy-input\" v-model=\"interfaceModel.info.url\">-->\n<!-- <i-select transfer slot=\"prepend\" class=\"diy-select\" v-model=\"interfaceModel.info.method\">-->\n<!-- <i-option v-for=\"item in typeList\" :key=\"item.value\" :value=\"item.value\">{{item.text}}</i-option>-->\n<!-- </i-select>-->\n<!-- </i-input>-->\n <i-select class=\"diy-select method-select\" v-model=\"interfaceModel.info.method\">\n <i-option v-for=\"item in typeList\" :key=\"item.value\" :value=\"item.value\">{{item.text}}</i-option>\n </i-select>\n <i-select class=\"diy-select env-select\" v-model=\"interfaceModel.info.envId\">\n <i-option v-for=\"item in paramList\" :key=\"item.id\" :value=\"item.id\">{{item.name + \":\" + item.value}}</i-option>\n </i-select>\n <i-input class=\"diy-input url-input\" v-model=\"interfaceModel.info.url\"></i-input>\n\n <i-button type=\"primary\" class=\"diy-btn-primary submit-btn\" @click=\"onRun\">发送</i-button>\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\" ghost>保存</i-button>\n <i-button type=\"primary\" class=\"diy-btn-primary his-btn\" @click=\"onVersion\" ghost>查看历史版本</i-button>\n <i class=\"export iconfont icon-xiazai\" title=\"导出\" type=\"md-download\" @click=\"onExport\"></i>\n <i-upload action=\"\" :before-upload=\"onImport\" :show-upload-list=\"false\">\n <i class=\"import iconfont icon-shangchuan\" title=\"导入\" type=\"md-cloud-upload\"></i>\n </i-upload>\n\n </header>\n <main :class=\"{'transverse': !lengthwise}\">\n <section class=\"request\">\n <div class=\"request-bar\">\n <div\n class=\"tag\"\n :class=\"{'active': currentRequestSettingType.name.indexOf(item.name) === 0}\"\n v-for=\"(item,index) in requertSettingTypeList\"\n :key=\"item.name\"\n @click=\"onClickRequertSettingTpye(item)\"\n >\n <span>{{item.title}}</span>\n </div>\n </div>\n <div class=\"request-content\">\n <component\n :is=\"currentRequestSettingType.name\"\n :lengthwise=\"lengthwise\"\n :interface-model=\"interfaceModel\"\n :response=\"response\"\n :key=\"interfaceModel.info.id + currentRequestSettingType.name\"\n :projectID=\"projectId\"\n :currentSecurityID=\"currentId\"\n @on-current-id=\"onCurrentId\"\n ></component>\n </div>\n </section>\n <response :key=\"interfaceModel.info.id + 'response'\" :lengthwise=\"lengthwise\" :response=\"response\"></response>\n </main>\n <i-spin fix v-show=\"loading\">\n <i class=\"spin-icon-load ivu-icon\"></i>\n </i-spin>\n</article>\n"
48832
+ module.exports = "<article class=\"interface-settings\">\r\n <header>\r\n<!-- <i-input class=\"diy-input\" v-model=\"interfaceModel.info.url\">-->\r\n<!-- <i-select transfer slot=\"prepend\" class=\"diy-select\" v-model=\"interfaceModel.info.method\">-->\r\n<!-- <i-option v-for=\"item in typeList\" :key=\"item.value\" :value=\"item.value\">{{item.text}}</i-option>-->\r\n<!-- </i-select>-->\r\n<!-- </i-input>-->\r\n <i-select class=\"diy-select method-select\" v-model=\"interfaceModel.info.method\">\r\n <i-option v-for=\"item in typeList\" :key=\"item.value\" :value=\"item.value\">{{item.text}}</i-option>\r\n </i-select>\r\n <i-select class=\"diy-select env-select\" v-model=\"interfaceModel.info.envId\" clearable>\r\n <i-option v-for=\"item in paramList\" :key=\"item.id\" :value=\"item.id\">{{item.name + \":\" + item.value}}</i-option>\r\n </i-select>\r\n <i-input class=\"diy-input url-input\" v-model=\"interfaceModel.info.url\"></i-input>\r\n\r\n <i-button type=\"primary\" class=\"diy-btn-primary submit-btn\" @click=\"onRun\">发送</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\" ghost>保存</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary his-btn\" @click=\"onVersion\" ghost>查看历史版本</i-button>\r\n <i class=\"export iconfont icon-xiazai\" title=\"导出\" type=\"md-download\" @click=\"onExport\"></i>\r\n <i-upload action=\"\" :before-upload=\"onImport\" :show-upload-list=\"false\">\r\n <i class=\"import iconfont icon-shangchuan\" title=\"导入\" type=\"md-cloud-upload\"></i>\r\n </i-upload>\r\n\r\n </header>\r\n <main :class=\"{'transverse': !lengthwise}\">\r\n <section class=\"request\">\r\n <div class=\"request-bar\">\r\n <div\r\n class=\"tag\"\r\n :class=\"{'active': currentRequestSettingType.name.indexOf(item.name) === 0}\"\r\n v-for=\"(item,index) in requertSettingTypeList\"\r\n :key=\"item.name\"\r\n @click=\"onClickRequertSettingTpye(item)\"\r\n >\r\n <span>{{item.title}}</span>\r\n </div>\r\n </div>\r\n <div class=\"request-content\">\r\n <component\r\n :is=\"currentRequestSettingType.name\"\r\n :lengthwise=\"lengthwise\"\r\n :interface-model=\"interfaceModel\"\r\n :response=\"response\"\r\n :key=\"interfaceModel.info.id + currentRequestSettingType.name\"\r\n :projectID=\"projectId\"\r\n :currentSecurityID=\"currentId\"\r\n @on-current-id=\"onCurrentId\"\r\n ></component>\r\n </div>\r\n </section>\r\n <response :key=\"interfaceModel.info.id + 'response'\" :lengthwise=\"lengthwise\" :response=\"response\"></response>\r\n </main>\r\n <i-spin fix v-show=\"loading\">\r\n <i class=\"spin-icon-load ivu-icon\"></i>\r\n </i-spin>\r\n</article>\r\n"
48854
48833
 
48855
48834
  /***/ }),
48856
48835
 
@@ -62139,7 +62118,16 @@ function (_super) {
62139
62118
  }(base_editor_setting);
62140
62119
 
62141
62120
  /* harmony default export */ var project_detail_params_setting = (params_setting_ParamsSetting);
62142
- // CONCATENATED MODULE: ./src/components/tips-form-label/index.ts
62121
+ // EXTERNAL MODULE: ./src/views/project-detail/interface-settings/index.scss
62122
+ var interface_settings = __webpack_require__("2a79");
62123
+
62124
+ // EXTERNAL MODULE: ./src/views/project-detail/security-setting-v2/index.scss
62125
+ var security_setting_v2 = __webpack_require__("b156");
62126
+
62127
+ // EXTERNAL MODULE: ./src/views/project-detail/security-setting-v2/tips-form-label/index.scss
62128
+ var tips_form_label = __webpack_require__("61ef");
62129
+
62130
+ // CONCATENATED MODULE: ./src/views/project-detail/security-setting-v2/tips-form-label/index.ts
62143
62131
 
62144
62132
 
62145
62133
 
@@ -62190,6 +62178,7 @@ var tips_form_label_metadata = undefined && undefined.__metadata || function (k,
62190
62178
 
62191
62179
 
62192
62180
 
62181
+
62193
62182
  var tips_form_label_TipsFormLabel =
62194
62183
  /** @class */
62195
62184
  function (_super) {
@@ -62213,432 +62202,12 @@ function (_super) {
62213
62202
  }), tips_form_label_metadata("design:type", Boolean)], TipsFormLabel.prototype, "labelColon", void 0);
62214
62203
 
62215
62204
  TipsFormLabel = tips_form_label_decorate([Object(flagwind_web_["component"])({
62216
- template: __webpack_require__("a406")
62217
- })], TipsFormLabel);
62218
- return TipsFormLabel;
62219
- }(flagwind_web_["Component"]);
62220
-
62221
- /* harmony default export */ var tips_form_label = (tips_form_label_TipsFormLabel);
62222
- // EXTERNAL MODULE: ./src/views/project-detail/security-setting/index.scss
62223
- var security_setting = __webpack_require__("9721");
62224
-
62225
- // CONCATENATED MODULE: ./src/views/project-detail/security-setting/index.ts
62226
-
62227
-
62228
-
62229
-
62230
-
62231
-
62232
-
62233
-
62234
-
62235
-
62236
-
62237
-
62238
-
62239
-
62240
- var security_setting_extends = undefined && undefined.__extends || function () {
62241
- var _extendStatics = function extendStatics(d, b) {
62242
- _extendStatics = Object.setPrototypeOf || {
62243
- __proto__: []
62244
- } instanceof Array && function (d, b) {
62245
- d.__proto__ = b;
62246
- } || function (d, b) {
62247
- for (var p in b) {
62248
- if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
62249
- }
62250
- };
62251
-
62252
- return _extendStatics(d, b);
62253
- };
62254
-
62255
- return function (d, b) {
62256
- if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
62257
-
62258
- _extendStatics(d, b);
62259
-
62260
- function __() {
62261
- this.constructor = d;
62262
- }
62263
-
62264
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
62265
- };
62266
- }();
62267
-
62268
- var security_setting_decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) {
62269
- var c = arguments.length,
62270
- r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
62271
- d;
62272
- if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {
62273
- if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
62274
- }
62275
- return c > 3 && r && Object.defineProperty(target, key, r), r;
62276
- };
62277
-
62278
- var security_setting_metadata = undefined && undefined.__metadata || function (k, v) {
62279
- if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
62280
- };
62281
-
62282
- var security_setting_awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
62283
- function adopt(value) {
62284
- return value instanceof P ? value : new P(function (resolve) {
62285
- resolve(value);
62286
- });
62287
- }
62288
-
62289
- return new (P || (P = Promise))(function (resolve, reject) {
62290
- function fulfilled(value) {
62291
- try {
62292
- step(generator.next(value));
62293
- } catch (e) {
62294
- reject(e);
62295
- }
62296
- }
62297
-
62298
- function rejected(value) {
62299
- try {
62300
- step(generator["throw"](value));
62301
- } catch (e) {
62302
- reject(e);
62303
- }
62304
- }
62305
-
62306
- function step(result) {
62307
- result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
62308
- }
62309
-
62310
- step((generator = generator.apply(thisArg, _arguments || [])).next());
62311
- });
62312
- };
62313
-
62314
- var security_setting_generator = undefined && undefined.__generator || function (thisArg, body) {
62315
- var _ = {
62316
- label: 0,
62317
- sent: function sent() {
62318
- if (t[0] & 1) throw t[1];
62319
- return t[1];
62320
- },
62321
- trys: [],
62322
- ops: []
62323
- },
62324
- f,
62325
- y,
62326
- t,
62327
- g;
62328
- return g = {
62329
- next: verb(0),
62330
- "throw": verb(1),
62331
- "return": verb(2)
62332
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
62333
- return this;
62334
- }), g;
62335
-
62336
- function verb(n) {
62337
- return function (v) {
62338
- return step([n, v]);
62339
- };
62340
- }
62341
-
62342
- function step(op) {
62343
- if (f) throw new TypeError("Generator is already executing.");
62344
-
62345
- while (_) {
62346
- try {
62347
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
62348
- if (y = 0, t) op = [op[0] & 2, t.value];
62349
-
62350
- switch (op[0]) {
62351
- case 0:
62352
- case 1:
62353
- t = op;
62354
- break;
62355
-
62356
- case 4:
62357
- _.label++;
62358
- return {
62359
- value: op[1],
62360
- done: false
62361
- };
62362
-
62363
- case 5:
62364
- _.label++;
62365
- y = op[1];
62366
- op = [0];
62367
- continue;
62368
-
62369
- case 7:
62370
- op = _.ops.pop();
62371
-
62372
- _.trys.pop();
62373
-
62374
- continue;
62375
-
62376
- default:
62377
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
62378
- _ = 0;
62379
- continue;
62380
- }
62381
-
62382
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
62383
- _.label = op[1];
62384
- break;
62385
- }
62386
-
62387
- if (op[0] === 6 && _.label < t[1]) {
62388
- _.label = t[1];
62389
- t = op;
62390
- break;
62391
- }
62392
-
62393
- if (t && _.label < t[2]) {
62394
- _.label = t[2];
62395
-
62396
- _.ops.push(op);
62397
-
62398
- break;
62399
- }
62400
-
62401
- if (t[2]) _.ops.pop();
62402
-
62403
- _.trys.pop();
62404
-
62405
- continue;
62406
- }
62407
-
62408
- op = body.call(thisArg, _);
62409
- } catch (e) {
62410
- op = [6, e];
62411
- y = 0;
62412
- } finally {
62413
- f = t = 0;
62414
- }
62415
- }
62416
-
62417
- if (op[0] & 5) throw op[1];
62418
- return {
62419
- value: op[0] ? op[1] : void 0,
62420
- done: true
62421
- };
62422
- }
62423
- };
62424
-
62425
-
62426
-
62427
-
62428
-
62429
-
62430
-
62431
-
62432
- var security_setting_SecuritySetting =
62433
- /** @class */
62434
- function (_super) {
62435
- security_setting_extends(SecuritySetting, _super);
62436
-
62437
- function SecuritySetting() {
62438
- var _this = _super !== null && _super.apply(this, arguments) || this;
62439
-
62440
- _this.securityTypeList = [];
62441
- _this.tokenLocationTypeList = [];
62442
- _this.grantTypeList = [];
62443
- _this.model = {};
62444
- return _this;
62445
- }
62446
-
62447
- SecuritySetting.prototype.mounted = function () {
62448
- var _a, _b;
62449
-
62450
- this.getSecurityTypeList();
62451
- this.getTokenLocationTypeList();
62452
- this.getGrantTypeList();
62453
- this.model = ((_a = this.interfaceModel.authentication) === null || _a === void 0 ? void 0 : _a.content) ? JSON.parse((_b = this.interfaceModel.authentication) === null || _b === void 0 ? void 0 : _b.content) : {};
62454
- };
62455
-
62456
- SecuritySetting.prototype.getSecurityTypeList = function () {
62457
- return security_setting_awaiter(this, void 0, void 0, function () {
62458
- var result;
62459
- return security_setting_generator(this, function (_a) {
62460
- switch (_a.label) {
62461
- case 0:
62462
- return [4
62463
- /*yield*/
62464
- , this.service.getEnumByType("authenticationType")];
62465
-
62466
- case 1:
62467
- result = _a.sent();
62468
- this.securityTypeList = (result === null || result === void 0 ? void 0 : result.result) || [];
62469
- return [2
62470
- /*return*/
62471
- ];
62472
- }
62473
- });
62474
- });
62475
- };
62476
-
62477
- SecuritySetting.prototype.getTokenLocationTypeList = function () {
62478
- return security_setting_awaiter(this, void 0, void 0, function () {
62479
- var result;
62480
- return security_setting_generator(this, function (_a) {
62481
- switch (_a.label) {
62482
- case 0:
62483
- return [4
62484
- /*yield*/
62485
- , this.service.getEnumByType("tokenLocationType")];
62486
-
62487
- case 1:
62488
- result = _a.sent();
62489
- this.tokenLocationTypeList = (result === null || result === void 0 ? void 0 : result.result) || [];
62490
- return [2
62491
- /*return*/
62492
- ];
62493
- }
62494
- });
62495
- });
62496
- };
62497
-
62498
- SecuritySetting.prototype.getGrantTypeList = function () {
62499
- return security_setting_awaiter(this, void 0, void 0, function () {
62500
- var result;
62501
- return security_setting_generator(this, function (_a) {
62502
- switch (_a.label) {
62503
- case 0:
62504
- return [4
62505
- /*yield*/
62506
- , this.service.getEnumByType("grantType")];
62507
-
62508
- case 1:
62509
- result = _a.sent();
62510
- this.grantTypeList = (result === null || result === void 0 ? void 0 : result.result) || [];
62511
- return [2
62512
- /*return*/
62513
- ];
62514
- }
62515
- });
62516
- });
62517
- };
62518
-
62519
- SecuritySetting.prototype.modelChange = function () {
62520
- this.interfaceModel.authentication = this.interfaceModel.authentication || new Authentication();
62521
- this.interfaceModel.authentication.content = JSON.stringify(this.model);
62522
- };
62523
-
62524
- SecuritySetting.prototype.onClear = function () {
62525
- this.model = {};
62526
- };
62527
-
62528
- var _a, _b;
62529
-
62530
- security_setting_decorate([Object(flagwind_web_["config"])({
62531
- default: function _default() {
62532
- return new InterfaceModel();
62533
- }
62534
- }), security_setting_metadata("design:type", typeof (_a = typeof InterfaceModel !== "undefined" && InterfaceModel) === "function" ? _a : Object)], SecuritySetting.prototype, "interfaceModel", void 0);
62535
-
62536
- security_setting_decorate([autowired(project_detail_service), security_setting_metadata("design:type", typeof (_b = typeof project_detail_service !== "undefined" && project_detail_service) === "function" ? _b : Object)], SecuritySetting.prototype, "service", void 0);
62537
-
62538
- security_setting_decorate([Object(flagwind_web_["watch"])("model", {
62539
- deep: true
62540
- }), security_setting_metadata("design:type", Function), security_setting_metadata("design:paramtypes", []), security_setting_metadata("design:returntype", void 0)], SecuritySetting.prototype, "modelChange", null);
62541
-
62542
- SecuritySetting = security_setting_decorate([Object(flagwind_web_["component"])({
62543
- template: __webpack_require__("b676"),
62544
- components: {
62545
- "u-tips-form-label": tips_form_label
62546
- }
62547
- })], SecuritySetting);
62548
- return SecuritySetting;
62549
- }(flagwind_web_["Component"]);
62550
-
62551
- /* harmony default export */ var project_detail_security_setting = (security_setting_SecuritySetting);
62552
- // EXTERNAL MODULE: ./src/views/project-detail/interface-settings/index.scss
62553
- var interface_settings = __webpack_require__("2a79");
62554
-
62555
- // EXTERNAL MODULE: ./src/views/project-detail/security-setting-v2/index.scss
62556
- var security_setting_v2 = __webpack_require__("b156");
62557
-
62558
- // EXTERNAL MODULE: ./src/views/project-detail/security-setting-v2/tips-form-label/index.scss
62559
- var security_setting_v2_tips_form_label = __webpack_require__("61ef");
62560
-
62561
- // CONCATENATED MODULE: ./src/views/project-detail/security-setting-v2/tips-form-label/index.ts
62562
-
62563
-
62564
-
62565
-
62566
-
62567
-
62568
- var security_setting_v2_tips_form_label_extends = undefined && undefined.__extends || function () {
62569
- var _extendStatics = function extendStatics(d, b) {
62570
- _extendStatics = Object.setPrototypeOf || {
62571
- __proto__: []
62572
- } instanceof Array && function (d, b) {
62573
- d.__proto__ = b;
62574
- } || function (d, b) {
62575
- for (var p in b) {
62576
- if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
62577
- }
62578
- };
62579
-
62580
- return _extendStatics(d, b);
62581
- };
62582
-
62583
- return function (d, b) {
62584
- if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
62585
-
62586
- _extendStatics(d, b);
62587
-
62588
- function __() {
62589
- this.constructor = d;
62590
- }
62591
-
62592
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
62593
- };
62594
- }();
62595
-
62596
- var security_setting_v2_tips_form_label_decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) {
62597
- var c = arguments.length,
62598
- r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
62599
- d;
62600
- if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {
62601
- if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
62602
- }
62603
- return c > 3 && r && Object.defineProperty(target, key, r), r;
62604
- };
62605
-
62606
- var security_setting_v2_tips_form_label_metadata = undefined && undefined.__metadata || function (k, v) {
62607
- if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
62608
- };
62609
-
62610
-
62611
-
62612
-
62613
- var security_setting_v2_tips_form_label_TipsFormLabel =
62614
- /** @class */
62615
- function (_super) {
62616
- security_setting_v2_tips_form_label_extends(TipsFormLabel, _super);
62617
-
62618
- function TipsFormLabel() {
62619
- return _super !== null && _super.apply(this, arguments) || this;
62620
- }
62621
-
62622
- security_setting_v2_tips_form_label_decorate([Object(flagwind_web_["config"])({
62623
- default: ""
62624
- }), security_setting_v2_tips_form_label_metadata("design:type", String)], TipsFormLabel.prototype, "tips", void 0);
62625
-
62626
- security_setting_v2_tips_form_label_decorate([Object(flagwind_web_["config"])({
62627
- default: ""
62628
- }), security_setting_v2_tips_form_label_metadata("design:type", String)], TipsFormLabel.prototype, "labelTitle", void 0);
62629
-
62630
- security_setting_v2_tips_form_label_decorate([Object(flagwind_web_["config"])({
62631
- type: Boolean,
62632
- default: false
62633
- }), security_setting_v2_tips_form_label_metadata("design:type", Boolean)], TipsFormLabel.prototype, "labelColon", void 0);
62634
-
62635
- TipsFormLabel = security_setting_v2_tips_form_label_decorate([Object(flagwind_web_["component"])({
62636
62205
  template: __webpack_require__("2f53")
62637
62206
  })], TipsFormLabel);
62638
62207
  return TipsFormLabel;
62639
62208
  }(flagwind_web_["Component"]);
62640
62209
 
62641
- /* harmony default export */ var project_detail_security_setting_v2_tips_form_label = (security_setting_v2_tips_form_label_TipsFormLabel);
62210
+ /* harmony default export */ var security_setting_v2_tips_form_label = (tips_form_label_TipsFormLabel);
62642
62211
  // EXTERNAL MODULE: ./src/views/project-detail/security-modal/index.scss
62643
62212
  var security_modal = __webpack_require__("1a93");
62644
62213
 
@@ -63024,6 +62593,8 @@ function (_super) {
63024
62593
  this.isAddOnce = false;
63025
62594
  this.exitAddItem = false;
63026
62595
  }
62596
+
62597
+ this.securityList.length && this.onSelectSecurityItem(this.securityList[0]);
63027
62598
  }
63028
62599
 
63029
62600
  return [2
@@ -63074,7 +62645,8 @@ function (_super) {
63074
62645
  _a.label = 3;
63075
62646
 
63076
62647
  case 3:
63077
- this.currentSecurityItem = {};
62648
+ this.securityList.length && this.onSelectSecurityItem(this.securityList[0]);
62649
+ this.$publish("api://security-list-refresh");
63078
62650
  return [2
63079
62651
  /*return*/
63080
62652
  ];
@@ -63214,7 +62786,7 @@ function (_super) {
63214
62786
  SecurityModalComponent = security_modal_decorate([Object(flagwind_web_["component"])({
63215
62787
  template: __webpack_require__("3bf8"),
63216
62788
  components: {
63217
- "u-tips-form-label": project_detail_security_setting_v2_tips_form_label
62789
+ "u-tips-form-label": security_setting_v2_tips_form_label
63218
62790
  }
63219
62791
  })], SecurityModalComponent);
63220
62792
  return SecurityModalComponent;
@@ -63646,7 +63218,7 @@ function (_super) {
63646
63218
  SecuritySettingV2 = security_setting_v2_decorate([Object(flagwind_web_["component"])({
63647
63219
  template: __webpack_require__("3de4"),
63648
63220
  components: {
63649
- "u-tips-form-label": project_detail_security_setting_v2_tips_form_label,
63221
+ "u-tips-form-label": security_setting_v2_tips_form_label,
63650
63222
  "u-security-modal": project_detail_security_modal
63651
63223
  }
63652
63224
  })], SecuritySettingV2);
@@ -63675,6 +63247,7 @@ function (_super) {
63675
63247
 
63676
63248
 
63677
63249
 
63250
+
63678
63251
 
63679
63252
 
63680
63253
  var interface_settings_extends = undefined && undefined.__extends || function () {
@@ -63885,7 +63458,7 @@ var interface_settings_generator = undefined && undefined.__generator || functio
63885
63458
 
63886
63459
 
63887
63460
 
63888
-
63461
+ // import SecuritySetting from "../security-setting";
63889
63462
 
63890
63463
 
63891
63464
 
@@ -63960,12 +63533,15 @@ function (_super) {
63960
63533
  };
63961
63534
 
63962
63535
  InterfaceSettings.prototype.onRun = function () {
63963
- var _a, _b;
63536
+ var _a, _b, _c;
63964
63537
 
63965
63538
  return interface_settings_awaiter(this, void 0, void 0, function () {
63966
- var formParams, requestHeaders, result;
63967
- return interface_settings_generator(this, function (_c) {
63968
- switch (_c.label) {
63539
+ var formParams, requestHeaders, index, result;
63540
+
63541
+ var _this = this;
63542
+
63543
+ return interface_settings_generator(this, function (_d) {
63544
+ switch (_d.label) {
63969
63545
  case 0:
63970
63546
  this.loading = true;
63971
63547
  formParams = [];
@@ -63983,6 +63559,13 @@ function (_super) {
63983
63559
  });
63984
63560
  }
63985
63561
 
63562
+ if (!((_c = this.interfaceModel.environmentParam) === null || _c === void 0 ? void 0 : _c.length)) {
63563
+ index = this.paramList.findIndex(function (v) {
63564
+ return v.id === _this.interfaceModel.info.envId;
63565
+ });
63566
+ this.interfaceModel.environmentParam = index > -1 ? this.paramList[index] : null;
63567
+ }
63568
+
63986
63569
  return [4
63987
63570
  /*yield*/
63988
63571
  , this.service.run(this.interfaceModel.info.id, interface_settings_assign(interface_settings_assign({}, this.interfaceModel), {
@@ -63991,7 +63574,7 @@ function (_super) {
63991
63574
  }))];
63992
63575
 
63993
63576
  case 1:
63994
- result = _c.sent();
63577
+ result = _d.sent();
63995
63578
  this.loading = false;
63996
63579
  this.response = (result === null || result === void 0 ? void 0 : result.result) || new Response();
63997
63580
 
@@ -64171,7 +63754,7 @@ function (_super) {
64171
63754
  response: project_detail_response,
64172
63755
  params: project_detail_params_setting,
64173
63756
  headers: project_detail_headers_setting,
64174
- security: project_detail_security_setting,
63757
+ // security: SecuritySetting,
64175
63758
  "pre-execution": project_detail_pre_execution_setting,
64176
63759
  "after-execution-transfer": project_detail_after_execution_transfer,
64177
63760
  "after-execution-script": after_execution_script,
@@ -64565,7 +64148,7 @@ function (_super) {
64565
64148
  return {
64566
64149
  envId: [{
64567
64150
  required: true,
64568
- message: "请选择环境变量",
64151
+ message: "请选择",
64569
64152
  trigger: "change"
64570
64153
  }]
64571
64154
  };
@@ -64573,7 +64156,7 @@ function (_super) {
64573
64156
  return {
64574
64157
  authId: [{
64575
64158
  required: true,
64576
- message: "请选择授权设置",
64159
+ message: "请选择",
64577
64160
  trigger: "change"
64578
64161
  }]
64579
64162
  };
@@ -64581,12 +64164,12 @@ function (_super) {
64581
64164
  return {
64582
64165
  envId: [{
64583
64166
  required: true,
64584
- message: "请选择环境变量",
64167
+ message: "请选择",
64585
64168
  trigger: "change"
64586
64169
  }],
64587
64170
  authId: [{
64588
64171
  required: true,
64589
- message: "请选择环境变量",
64172
+ message: "请选择",
64590
64173
  trigger: "change"
64591
64174
  }]
64592
64175
  };
@@ -64621,11 +64204,8 @@ function (_super) {
64621
64204
  this.getVariableList();
64622
64205
  this.apiList = this.data.$clone();
64623
64206
  } else {
64624
- // this.type = "env";
64625
- // this.formData = {
64626
- // envId: "",
64627
- // authId: ""
64628
- // };
64207
+ this.allSelect = false;
64208
+ this.set.clear();
64629
64209
  this.$refs["batch-api-form"].resetFields();
64630
64210
  }
64631
64211
 
@@ -65272,19 +64852,40 @@ function (_super) {
65272
64852
  this.showInterfaceModal = true;
65273
64853
  };
65274
64854
 
65275
- ProjectTree.prototype.onBatchEdit = function (data) {
65276
- var list = [];
65277
- this.data.forEach(function (item) {
65278
- if (item.id === data.id) {
65279
- list = data.apis;
65280
- return;
65281
- }
65282
- });
65283
- this.categoryApiList = list.map(function (h) {
65284
- h.selected = false;
65285
- return h;
64855
+ ProjectTree.prototype.getApis = function (data) {
64856
+ var _this = this;
64857
+
64858
+ var _a;
64859
+
64860
+ (_a = data === null || data === void 0 ? void 0 : data.apis) === null || _a === void 0 ? void 0 : _a.forEach(function (item) {
64861
+ _this.categoryApiList.push(item);
65286
64862
  });
65287
- this.showBatchModal = true;
64863
+
64864
+ if (data === null || data === void 0 ? void 0 : data.children) {
64865
+ for (var _i = 0, _b = data === null || data === void 0 ? void 0 : data.children; _i < _b.length; _i++) {
64866
+ var i = _b[_i];
64867
+ this.getApis(i);
64868
+ }
64869
+ }
64870
+
64871
+ return;
64872
+ };
64873
+
64874
+ ProjectTree.prototype.onBatchEdit = function (data) {
64875
+ var _a, _b;
64876
+
64877
+ this.categoryApiList = [];
64878
+ this.getApis(data.$clone());
64879
+
64880
+ if (!((_a = this.categoryApiList) === null || _a === void 0 ? void 0 : _a.length)) {
64881
+ return this.$Message.warning("该文件夹下无接口信息,无法批量修改!");
64882
+ } else {
64883
+ (_b = this.categoryApiList) === null || _b === void 0 ? void 0 : _b.map(function (h) {
64884
+ h.selected = false;
64885
+ return h;
64886
+ });
64887
+ this.showBatchModal = true;
64888
+ }
65288
64889
  };
65289
64890
 
65290
64891
  ProjectTree.prototype.onDeleteInterface = function (data) {