@egova/egova-api 1.0.170 → 1.0.173

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.
@@ -26193,7 +26193,7 @@ module.exports = typeof Reflect == 'object' && Reflect.apply || (bind ? call.bin
26193
26193
  /***/ "2c48":
26194
26194
  /***/ (function(module, exports) {
26195
26195
 
26196
- module.exports = "<article class=\"response\">\r\n <header :class=\"{'status-success': response.code === 200, 'status-fail': response.code && response.code!==200}\">\r\n <span class=\"title\">响应</span>\r\n <div class=\"items-div\">\r\n <span class=\"item-name\">响应码:</span>\r\n <span class=\"item-value\">{{response.code}}</span>\r\n <span class=\"item-name\">时间:</span>\r\n <span class=\"item-value\">{{response.time}}ms</span>\r\n <span class=\"item-name\">大小:</span>\r\n <span class=\"item-value\">{{response.size}}B</span>\r\n </div>\r\n </header>\r\n <main>\r\n <div class=\"response-bar\">\r\n <div\r\n class=\"tag\"\r\n @click=\"onClickResponseSettingTpye(item)\"\r\n :class=\"{'active': item.name === active.name}\"\r\n v-for=\"(item,index) in responseSettingTypeList\"\r\n :key=\"item.name\"\r\n >\r\n <span>{{item.title + (item.num > 0 ? '(' + item.num + ')': \"\")}}</span>\r\n </div>\r\n </div>\r\n <div class=\"response-content\">\r\n <template v-if=\"active.name === 'content'\">\r\n <header>\r\n <i-radio-group type=\"button\" class=\"diy-radio-group-button\" v-model=\"contentType\">\r\n <i-radio label=\"originalContent\">转换前</i-radio>\r\n <i-radio label=\"content\">转换后</i-radio>\r\n </i-radio-group>\r\n <i-dropdown class=\"diy-dropdown\" @on-click=\"onChangeLang\">\r\n <i-button ghost type=\"primary\" class=\"diy-btn-primary\">\r\n <span class=\"lang\">{{lang.toUpperCase()}}</span>\r\n <i class=\"api-icon icon-select\"></i>\r\n </i-button>\r\n <i-dropdown-menu slot=\"list\">\r\n <i-dropdown-item name=\"json\">JSON</i-dropdown-item>\r\n <i-dropdown-item name=\"xml\">XML</i-dropdown-item>\r\n </i-dropdown-menu>\r\n </i-dropdown>\r\n </header>\r\n <u-editor :value=\"content\" :lang=\"lang\" @inited=\"onEditorInited\"></u-editor>\r\n </template>\r\n <div v-if=\"active.name === 'responseHeaders'\">\r\n <i-table :columns=\"headerColumns\" :data=\"responseHeaders\" class=\"diy-table\"> </i-table>\r\n </div>\r\n <template v-if=\"active.name === 'requestHeaders'\">\r\n <i-table :columns=\"headerColumns\" :data=\"requestHeaders\" class=\"diy-table\"> </i-table>\r\n </template>\r\n <template v-if=\"active.name === 'cookies'\">\r\n <i-table :columns=\"headerColumns\" :data=\"cookies\" class=\"diy-table\"> </i-table>\r\n </template>\r\n <template v-if=\"active.name==='output'\">\r\n <span class=\"output\">{{output}}</span>\r\n </template>\r\n </div>\r\n </main>\r\n</article>\r\n"
26196
+ module.exports = "<article class=\"response\">\r\n <header :class=\"{'status-success': response.code === 200, 'status-fail': response.code && response.code!==200}\">\r\n <span class=\"title\">响应</span>\r\n <div class=\"items-div\">\r\n <span class=\"item-name\">响应码:</span>\r\n <span class=\"item-value\">{{response.code}}</span>\r\n <span class=\"item-name\">时间:</span>\r\n <span class=\"item-value\">{{response.time}}ms</span>\r\n <span class=\"item-name\">大小:</span>\r\n <span class=\"item-value\">{{response.size}}B</span>\r\n </div>\r\n </header>\r\n <main>\r\n <div class=\"response-bar\">\r\n <div\r\n class=\"tag\"\r\n @click=\"onClickResponseSettingTpye(item)\"\r\n :class=\"{'active': item.name === active.name}\"\r\n v-for=\"(item,index) in responseSettingTypeList\"\r\n :key=\"item.name\"\r\n >\r\n <span>{{item.title + (item.num > 0 ? '(' + item.num + ')': \"\")}}</span>\r\n </div>\r\n </div>\r\n <div class=\"response-content\">\r\n <template v-if=\"active.name === 'content'\">\r\n <header>\r\n <i-radio-group type=\"button\" class=\"diy-radio-group-button response-content-radio-group\" v-model=\"contentType\">\r\n <i-radio label=\"originalContent\">转换前</i-radio>\r\n <i-radio label=\"content\">转换后</i-radio>\r\n </i-radio-group>\r\n <i-dropdown class=\"diy-dropdown response-content-dropdown\" @on-click=\"onChangeLang\">\r\n <i-button ghost type=\"primary\" class=\"diy-btn-primary\">\r\n <span class=\"lang\">{{lang.toUpperCase()}}</span>\r\n <i class=\"api-icon icon-select\"></i>\r\n </i-button>\r\n <i-dropdown-menu slot=\"list\">\r\n <i-dropdown-item name=\"json\">JSON</i-dropdown-item>\r\n <i-dropdown-item name=\"xml\">XML</i-dropdown-item>\r\n </i-dropdown-menu>\r\n </i-dropdown>\r\n </header>\r\n <u-editor :value=\"content\" :lang=\"lang\" @inited=\"onEditorInited\"></u-editor>\r\n </template>\r\n <div v-if=\"active.name === 'responseHeaders'\">\r\n <i-table :columns=\"headerColumns\" :data=\"responseHeaders\" class=\"diy-table\"> </i-table>\r\n </div>\r\n <template v-if=\"active.name === 'requestHeaders'\">\r\n <i-table :columns=\"headerColumns\" :data=\"requestHeaders\" class=\"diy-table\"> </i-table>\r\n </template>\r\n <template v-if=\"active.name === 'cookies'\">\r\n <i-table :columns=\"headerColumns\" :data=\"cookies\" class=\"diy-table\"> </i-table>\r\n </template>\r\n <template v-if=\"active.name==='output'\">\r\n <span class=\"output\">{{output}}</span>\r\n </template>\r\n </div>\r\n </main>\r\n</article>\r\n"
26197
26197
 
26198
26198
  /***/ }),
26199
26199
 
@@ -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 <div class=\"script-label\" slot=\"label\">\r\n <i-icon class=\"help-icon\" type=\"md-alert\" @click=\"showScriptDoc\" title=\"帮助文档\"> </i-icon>\r\n <span>授权脚本:</span>\r\n </div>\r\n <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 <u-doc-modal class=\"script-doc-modal\" v-model=\"scriptDocShow\" :doc=\"scriptDoc\"></u-doc-modal>\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
 
@@ -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>\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"
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=\"请输入\" clearable v-model=\"type\">\r\n <i-option value=\"env\">环境变量</i-option>\r\n <i-option value=\"auth\">授权设置</i-option>\r\n <i-option value=\"both\">环境变量和授权设置</i-option>\r\n </i-select>\r\n </i-form-item>\r\n <i-form-item class=\"content-form-item\" v-if=\"type !== 'auth'\" label=\"环境变量\" prop=\"envId\">\r\n <i-select class=\"diy-select diy-batch-select\" placeholder=\"请选择\" clearable v-model=\"formData.envId\">\r\n <i-option value=\"empty\">清空所有已设置环境变量</i-option>\r\n <i-option v-for=\"item in variableList\" :key=\"item.name\" :value=\"item.id\">{{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 diy-batch-select\" placeholder=\"请选择\" clearable v-model=\"formData.authId\">\r\n <i-option value=\"empty\">清空所有已设置授权</i-option>\r\n <i-option v-for=\"item in securityList\" :key=\"item.name\" :value=\"item.id\">{{item.name}} </i-option>\r\n </i-select>\r\n </i-form-item>\r\n </i-form>\r\n </div>\r\n </div>\r\n </main>\r\n\r\n <footer slot=\"footer\">\r\n <template>\r\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">保存</i-button>\r\n </template>\r\n </footer>\r\n</i-modal>\r\n"
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>\n <header slot=\"header\">环境变量</header>\n <main class=\"variable-content\">\n <div class=\"left\">\n <div class=\"left-title\">\n <div class=\"left-title-text\">环境列表</div>\n <i class=\"api-icon icon-add\" @click=\"onAddItem\"></i>\n </div>\n <div class=\"left-content\">\n <i-input class=\"diy-input search-input\" v-model=\"keyword\" placeholder=\"输入关键字查询\" @on-change=\"onFilter\">\n <template #prefix>\n <i-icon type=\"ios-search\"/>\n </template>\n </i-input>\n <div class=\"security-list\">\n <div class=\"security-list-item\"\n :class=\"currentItem.id === item.id ? 'security-list-item-active' : ''\"\n v-for=\"(item,index) in varList\"\n :key=\"item.id || index\"\n @click=\"onSelectItem(item)\"\n >\n <div class=\"security-list-item-name\">\n <i class=\"iconfont icon-huanjing\"></i>\n <div class=\"security-list-item-text\">{{ item.name || \"新环境\" }}</div>\n </div>\n <i-poptip confirm title=\"确认删除这条数据吗?\" transfer placement=\"top-end\" @on-ok=\"onDelete(item)\">\n <i class=\"iconfont icon-delete\"></i>\n </i-poptip>\n </div>\n </div>\n </div>\n </div>\n <div class=\"right\">\n <div class=\"right-title\">环境内容</div>\n <div class=\"right-content\">\n <i-form class=\"variable-content-form\" label-colon label-position=\"left\" v-if=\"isEmpty\" :rules=\"rules\" :label-width=\"100\" :model=\"formData\">\n <i-form-item class=\"content-form-item\" label=\"环境名称\" prop=\"name\">\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"formData.name\"></i-input>\n </i-form-item>\n <i-form-item class=\"content-form-item\" label=\"域名\" prop=\"address\">\n <i-input class=\"diy-input\" placeholder=\"请输入\" v-model=\"formData.address\">\n <i-select class=\"diy-select\" v-model=\"formData.type\" slot=\"prepend\" style=\"width: 100px\">\n <i-option value=\"http\">http://</i-option>\n <i-option value=\"https\">https://</i-option>\n </i-select>\n </i-input>\n </i-form-item>\n <i-form-item label=\"描述\" class=\"content-form-item item-remark\" prop=\"remark\">\n <i-input class=\"diy-input remark-textarea\" placeholder=\"请输入\" type=\"textarea\" v-model=\"formData.remark\"></i-input>\n </i-form-item>\n </i-form>\n </div>\n </div>\n </main>\n\n <footer slot=\"footer\">\n <template>\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">保存</i-button>\n </template>\n </footer>\n</i-modal>\n"
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\">\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"
47282
+ 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"
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
 
@@ -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\">\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"
48692
+ 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"
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\">\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\">\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"
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
 
@@ -58763,6 +58742,10 @@ function (_super) {
58763
58742
  return this._post("/unity/api/info/auth", data);
58764
58743
  };
58765
58744
 
58745
+ ApiService.prototype.getScriptDoc = function () {
58746
+ return this._get("/api-help/authScript.md");
58747
+ };
58748
+
58766
58749
  var _a, _b;
58767
58750
 
58768
58751
  project_detail_service_decorate([serviceHandler("query", {
@@ -62139,7 +62122,16 @@ function (_super) {
62139
62122
  }(base_editor_setting);
62140
62123
 
62141
62124
  /* harmony default export */ var project_detail_params_setting = (params_setting_ParamsSetting);
62142
- // CONCATENATED MODULE: ./src/components/tips-form-label/index.ts
62125
+ // EXTERNAL MODULE: ./src/views/project-detail/interface-settings/index.scss
62126
+ var interface_settings = __webpack_require__("2a79");
62127
+
62128
+ // EXTERNAL MODULE: ./src/views/project-detail/security-setting-v2/index.scss
62129
+ var security_setting_v2 = __webpack_require__("b156");
62130
+
62131
+ // EXTERNAL MODULE: ./src/views/project-detail/security-setting-v2/tips-form-label/index.scss
62132
+ var tips_form_label = __webpack_require__("61ef");
62133
+
62134
+ // CONCATENATED MODULE: ./src/views/project-detail/security-setting-v2/tips-form-label/index.ts
62143
62135
 
62144
62136
 
62145
62137
 
@@ -62190,6 +62182,7 @@ var tips_form_label_metadata = undefined && undefined.__metadata || function (k,
62190
62182
 
62191
62183
 
62192
62184
 
62185
+
62193
62186
  var tips_form_label_TipsFormLabel =
62194
62187
  /** @class */
62195
62188
  function (_super) {
@@ -62213,432 +62206,12 @@ function (_super) {
62213
62206
  }), tips_form_label_metadata("design:type", Boolean)], TipsFormLabel.prototype, "labelColon", void 0);
62214
62207
 
62215
62208
  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
62209
  template: __webpack_require__("2f53")
62637
62210
  })], TipsFormLabel);
62638
62211
  return TipsFormLabel;
62639
62212
  }(flagwind_web_["Component"]);
62640
62213
 
62641
- /* harmony default export */ var project_detail_security_setting_v2_tips_form_label = (security_setting_v2_tips_form_label_TipsFormLabel);
62214
+ /* harmony default export */ var security_setting_v2_tips_form_label = (tips_form_label_TipsFormLabel);
62642
62215
  // EXTERNAL MODULE: ./src/views/project-detail/security-modal/index.scss
62643
62216
  var security_modal = __webpack_require__("1a93");
62644
62217
 
@@ -62870,6 +62443,7 @@ var security_modal_generator = undefined && undefined.__generator || function (t
62870
62443
 
62871
62444
 
62872
62445
 
62446
+
62873
62447
  var security_modal_SecurityModalComponent =
62874
62448
  /** @class */
62875
62449
  function (_super) {
@@ -62886,6 +62460,8 @@ function (_super) {
62886
62460
  _this.tokenLocationTypeList = [];
62887
62461
  _this.isAddOnce = false;
62888
62462
  _this.exitAddItem = false;
62463
+ _this.scriptDocShow = false;
62464
+ _this.scriptDoc = "";
62889
62465
  _this.onFilter = lodash_debounce_default()(function () {
62890
62466
  _this.getSecurityList();
62891
62467
  }, 300);
@@ -63024,6 +62600,8 @@ function (_super) {
63024
62600
  this.isAddOnce = false;
63025
62601
  this.exitAddItem = false;
63026
62602
  }
62603
+
62604
+ this.securityList.length && this.onSelectSecurityItem(this.securityList[0]);
63027
62605
  }
63028
62606
 
63029
62607
  return [2
@@ -63074,7 +62652,8 @@ function (_super) {
63074
62652
  _a.label = 3;
63075
62653
 
63076
62654
  case 3:
63077
- this.currentSecurityItem = {};
62655
+ this.securityList.length && this.onSelectSecurityItem(this.securityList[0]);
62656
+ this.$publish("api://security-list-refresh");
63078
62657
  return [2
63079
62658
  /*return*/
63080
62659
  ];
@@ -63190,6 +62769,34 @@ function (_super) {
63190
62769
  });
63191
62770
  };
63192
62771
 
62772
+ SecurityModalComponent.prototype.showScriptDoc = function () {
62773
+ return security_modal_awaiter(this, void 0, void 0, function () {
62774
+ var res;
62775
+ return security_modal_generator(this, function (_a) {
62776
+ switch (_a.label) {
62777
+ case 0:
62778
+ return [4
62779
+ /*yield*/
62780
+ , this.service.getScriptDoc()];
62781
+
62782
+ case 1:
62783
+ res = _a.sent();
62784
+
62785
+ if (res) {
62786
+ this.scriptDoc = res;
62787
+ this.scriptDocShow = true;
62788
+ } else {
62789
+ this.$message.error("获取帮助文档失败");
62790
+ }
62791
+
62792
+ return [2
62793
+ /*return*/
62794
+ ];
62795
+ }
62796
+ });
62797
+ });
62798
+ };
62799
+
63193
62800
  var _a;
63194
62801
 
63195
62802
  security_modal_decorate([autowired(project_detail_service), security_modal_metadata("design:type", typeof (_a = typeof project_detail_service !== "undefined" && project_detail_service) === "function" ? _a : Object)], SecurityModalComponent.prototype, "service", void 0);
@@ -63214,7 +62821,8 @@ function (_super) {
63214
62821
  SecurityModalComponent = security_modal_decorate([Object(flagwind_web_["component"])({
63215
62822
  template: __webpack_require__("3bf8"),
63216
62823
  components: {
63217
- "u-tips-form-label": project_detail_security_setting_v2_tips_form_label
62824
+ "u-tips-form-label": security_setting_v2_tips_form_label,
62825
+ "u-doc-modal": data_model_data_model_doc
63218
62826
  }
63219
62827
  })], SecurityModalComponent);
63220
62828
  return SecurityModalComponent;
@@ -63646,7 +63254,7 @@ function (_super) {
63646
63254
  SecuritySettingV2 = security_setting_v2_decorate([Object(flagwind_web_["component"])({
63647
63255
  template: __webpack_require__("3de4"),
63648
63256
  components: {
63649
- "u-tips-form-label": project_detail_security_setting_v2_tips_form_label,
63257
+ "u-tips-form-label": security_setting_v2_tips_form_label,
63650
63258
  "u-security-modal": project_detail_security_modal
63651
63259
  }
63652
63260
  })], SecuritySettingV2);
@@ -63886,7 +63494,7 @@ var interface_settings_generator = undefined && undefined.__generator || functio
63886
63494
 
63887
63495
 
63888
63496
 
63889
-
63497
+ // import SecuritySetting from "../security-setting";
63890
63498
 
63891
63499
 
63892
63500
 
@@ -64182,7 +63790,7 @@ function (_super) {
64182
63790
  response: project_detail_response,
64183
63791
  params: project_detail_params_setting,
64184
63792
  headers: project_detail_headers_setting,
64185
- security: project_detail_security_setting,
63793
+ // security: SecuritySetting,
64186
63794
  "pre-execution": project_detail_pre_execution_setting,
64187
63795
  "after-execution-transfer": project_detail_after_execution_transfer,
64188
63796
  "after-execution-script": after_execution_script,
@@ -65280,19 +64888,40 @@ function (_super) {
65280
64888
  this.showInterfaceModal = true;
65281
64889
  };
65282
64890
 
65283
- ProjectTree.prototype.onBatchEdit = function (data) {
65284
- var list = [];
65285
- this.data.forEach(function (item) {
65286
- if (item.id === data.id) {
65287
- list = data.apis;
65288
- return;
65289
- }
65290
- });
65291
- this.categoryApiList = list.map(function (h) {
65292
- h.selected = false;
65293
- return h;
64891
+ ProjectTree.prototype.getApis = function (data) {
64892
+ var _this = this;
64893
+
64894
+ var _a;
64895
+
64896
+ (_a = data === null || data === void 0 ? void 0 : data.apis) === null || _a === void 0 ? void 0 : _a.forEach(function (item) {
64897
+ _this.categoryApiList.push(item);
65294
64898
  });
65295
- this.showBatchModal = true;
64899
+
64900
+ if (data === null || data === void 0 ? void 0 : data.children) {
64901
+ for (var _i = 0, _b = data === null || data === void 0 ? void 0 : data.children; _i < _b.length; _i++) {
64902
+ var i = _b[_i];
64903
+ this.getApis(i);
64904
+ }
64905
+ }
64906
+
64907
+ return;
64908
+ };
64909
+
64910
+ ProjectTree.prototype.onBatchEdit = function (data) {
64911
+ var _a, _b;
64912
+
64913
+ this.categoryApiList = [];
64914
+ this.getApis(data.$clone());
64915
+
64916
+ if (!((_a = this.categoryApiList) === null || _a === void 0 ? void 0 : _a.length)) {
64917
+ return this.$Message.warning("该文件夹下无接口信息,无法批量修改!");
64918
+ } else {
64919
+ (_b = this.categoryApiList) === null || _b === void 0 ? void 0 : _b.map(function (h) {
64920
+ h.selected = false;
64921
+ return h;
64922
+ });
64923
+ this.showBatchModal = true;
64924
+ }
65296
64925
  };
65297
64926
 
65298
64927
  ProjectTree.prototype.onDeleteInterface = function (data) {