@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.
package/dist/index.umd.js CHANGED
@@ -26202,7 +26202,7 @@ module.exports = typeof Reflect == 'object' && Reflect.apply || (bind ? call.bin
26202
26202
  /***/ "2c48":
26203
26203
  /***/ (function(module, exports) {
26204
26204
 
26205
- 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"
26205
+ 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"
26206
26206
 
26207
26207
  /***/ }),
26208
26208
 
@@ -26538,7 +26538,7 @@ module.exports = function (argument) {
26538
26538
  /***/ "3bf8":
26539
26539
  /***/ (function(module, exports) {
26540
26540
 
26541
- 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"
26541
+ 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"
26542
26542
 
26543
26543
  /***/ }),
26544
26544
 
@@ -26583,7 +26583,7 @@ defineIterator(String, 'String', function (iterated) {
26583
26583
  /***/ "3de4":
26584
26584
  /***/ (function(module, exports) {
26585
26585
 
26586
- 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"
26586
+ 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"
26587
26587
 
26588
26588
  /***/ }),
26589
26589
 
@@ -40811,7 +40811,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
40811
40811
  /***/ "88af":
40812
40812
  /***/ (function(module, exports) {
40813
40813
 
40814
- 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"
40814
+ 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"
40815
40815
 
40816
40816
  /***/ }),
40817
40817
 
@@ -40839,7 +40839,7 @@ module.exports = store.inspectSource;
40839
40839
  /***/ "8962":
40840
40840
  /***/ (function(module, exports) {
40841
40841
 
40842
- 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"
40842
+ 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"
40843
40843
 
40844
40844
  /***/ }),
40845
40845
 
@@ -42293,13 +42293,6 @@ dom.importCssString(exports.cssText, exports.cssClass);
42293
42293
  });
42294
42294
 
42295
42295
 
42296
- /***/ }),
42297
-
42298
- /***/ "9721":
42299
- /***/ (function(module, exports, __webpack_require__) {
42300
-
42301
- // extracted by mini-css-extract-plugin
42302
-
42303
42296
  /***/ }),
42304
42297
 
42305
42298
  /***/ "981a":
@@ -42983,13 +42976,6 @@ module.exports = "<i-poptip\r\n transfer\r\n class=\"u-tree-selector\"\r\n
42983
42976
 
42984
42977
  /***/ }),
42985
42978
 
42986
- /***/ "a406":
42987
- /***/ (function(module, exports) {
42988
-
42989
- 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"
42990
-
42991
- /***/ }),
42992
-
42993
42979
  /***/ "a434":
42994
42980
  /***/ (function(module, exports, __webpack_require__) {
42995
42981
 
@@ -46060,13 +46046,6 @@ $({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
46060
46046
  });
46061
46047
 
46062
46048
 
46063
- /***/ }),
46064
-
46065
- /***/ "b676":
46066
- /***/ (function(module, exports) {
46067
-
46068
- 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"
46069
-
46070
46049
  /***/ }),
46071
46050
 
46072
46051
  /***/ "b727":
@@ -47309,7 +47288,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE_cebe__;
47309
47288
  /***/ "cfb3":
47310
47289
  /***/ (function(module, exports) {
47311
47290
 
47312
- 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"
47291
+ 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"
47313
47292
 
47314
47293
  /***/ }),
47315
47294
 
@@ -47483,7 +47462,7 @@ module.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefi
47483
47462
  /***/ "d63e":
47484
47463
  /***/ (function(module, exports) {
47485
47464
 
47486
- 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"
47465
+ 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"
47487
47466
 
47488
47467
  /***/ }),
47489
47468
 
@@ -48719,7 +48698,7 @@ if ($stringify) {
48719
48698
  /***/ "ef27":
48720
48699
  /***/ (function(module, exports) {
48721
48700
 
48722
- 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"
48701
+ 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"
48723
48702
 
48724
48703
  /***/ }),
48725
48704
 
@@ -48859,7 +48838,7 @@ module.exports = uncurryThis([].slice);
48859
48838
  /***/ "f40e":
48860
48839
  /***/ (function(module, exports) {
48861
48840
 
48862
- 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"
48841
+ 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"
48863
48842
 
48864
48843
  /***/ }),
48865
48844
 
@@ -58772,6 +58751,10 @@ function (_super) {
58772
58751
  return this._post("/unity/api/info/auth", data);
58773
58752
  };
58774
58753
 
58754
+ ApiService.prototype.getScriptDoc = function () {
58755
+ return this._get("/api-help/authScript.md");
58756
+ };
58757
+
58775
58758
  var _a, _b;
58776
58759
 
58777
58760
  project_detail_service_decorate([serviceHandler("query", {
@@ -62148,7 +62131,16 @@ function (_super) {
62148
62131
  }(base_editor_setting);
62149
62132
 
62150
62133
  /* harmony default export */ var project_detail_params_setting = (params_setting_ParamsSetting);
62151
- // CONCATENATED MODULE: ./src/components/tips-form-label/index.ts
62134
+ // EXTERNAL MODULE: ./src/views/project-detail/interface-settings/index.scss
62135
+ var interface_settings = __webpack_require__("2a79");
62136
+
62137
+ // EXTERNAL MODULE: ./src/views/project-detail/security-setting-v2/index.scss
62138
+ var security_setting_v2 = __webpack_require__("b156");
62139
+
62140
+ // EXTERNAL MODULE: ./src/views/project-detail/security-setting-v2/tips-form-label/index.scss
62141
+ var tips_form_label = __webpack_require__("61ef");
62142
+
62143
+ // CONCATENATED MODULE: ./src/views/project-detail/security-setting-v2/tips-form-label/index.ts
62152
62144
 
62153
62145
 
62154
62146
 
@@ -62199,6 +62191,7 @@ var tips_form_label_metadata = undefined && undefined.__metadata || function (k,
62199
62191
 
62200
62192
 
62201
62193
 
62194
+
62202
62195
  var tips_form_label_TipsFormLabel =
62203
62196
  /** @class */
62204
62197
  function (_super) {
@@ -62222,432 +62215,12 @@ function (_super) {
62222
62215
  }), tips_form_label_metadata("design:type", Boolean)], TipsFormLabel.prototype, "labelColon", void 0);
62223
62216
 
62224
62217
  TipsFormLabel = tips_form_label_decorate([Object(flagwind_web_["component"])({
62225
- template: __webpack_require__("a406")
62226
- })], TipsFormLabel);
62227
- return TipsFormLabel;
62228
- }(flagwind_web_["Component"]);
62229
-
62230
- /* harmony default export */ var tips_form_label = (tips_form_label_TipsFormLabel);
62231
- // EXTERNAL MODULE: ./src/views/project-detail/security-setting/index.scss
62232
- var security_setting = __webpack_require__("9721");
62233
-
62234
- // CONCATENATED MODULE: ./src/views/project-detail/security-setting/index.ts
62235
-
62236
-
62237
-
62238
-
62239
-
62240
-
62241
-
62242
-
62243
-
62244
-
62245
-
62246
-
62247
-
62248
-
62249
- var security_setting_extends = undefined && undefined.__extends || function () {
62250
- var _extendStatics = function extendStatics(d, b) {
62251
- _extendStatics = Object.setPrototypeOf || {
62252
- __proto__: []
62253
- } instanceof Array && function (d, b) {
62254
- d.__proto__ = b;
62255
- } || function (d, b) {
62256
- for (var p in b) {
62257
- if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
62258
- }
62259
- };
62260
-
62261
- return _extendStatics(d, b);
62262
- };
62263
-
62264
- return function (d, b) {
62265
- if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
62266
-
62267
- _extendStatics(d, b);
62268
-
62269
- function __() {
62270
- this.constructor = d;
62271
- }
62272
-
62273
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
62274
- };
62275
- }();
62276
-
62277
- var security_setting_decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) {
62278
- var c = arguments.length,
62279
- r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
62280
- d;
62281
- 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--) {
62282
- if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
62283
- }
62284
- return c > 3 && r && Object.defineProperty(target, key, r), r;
62285
- };
62286
-
62287
- var security_setting_metadata = undefined && undefined.__metadata || function (k, v) {
62288
- if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
62289
- };
62290
-
62291
- var security_setting_awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
62292
- function adopt(value) {
62293
- return value instanceof P ? value : new P(function (resolve) {
62294
- resolve(value);
62295
- });
62296
- }
62297
-
62298
- return new (P || (P = Promise))(function (resolve, reject) {
62299
- function fulfilled(value) {
62300
- try {
62301
- step(generator.next(value));
62302
- } catch (e) {
62303
- reject(e);
62304
- }
62305
- }
62306
-
62307
- function rejected(value) {
62308
- try {
62309
- step(generator["throw"](value));
62310
- } catch (e) {
62311
- reject(e);
62312
- }
62313
- }
62314
-
62315
- function step(result) {
62316
- result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
62317
- }
62318
-
62319
- step((generator = generator.apply(thisArg, _arguments || [])).next());
62320
- });
62321
- };
62322
-
62323
- var security_setting_generator = undefined && undefined.__generator || function (thisArg, body) {
62324
- var _ = {
62325
- label: 0,
62326
- sent: function sent() {
62327
- if (t[0] & 1) throw t[1];
62328
- return t[1];
62329
- },
62330
- trys: [],
62331
- ops: []
62332
- },
62333
- f,
62334
- y,
62335
- t,
62336
- g;
62337
- return g = {
62338
- next: verb(0),
62339
- "throw": verb(1),
62340
- "return": verb(2)
62341
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
62342
- return this;
62343
- }), g;
62344
-
62345
- function verb(n) {
62346
- return function (v) {
62347
- return step([n, v]);
62348
- };
62349
- }
62350
-
62351
- function step(op) {
62352
- if (f) throw new TypeError("Generator is already executing.");
62353
-
62354
- while (_) {
62355
- try {
62356
- 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;
62357
- if (y = 0, t) op = [op[0] & 2, t.value];
62358
-
62359
- switch (op[0]) {
62360
- case 0:
62361
- case 1:
62362
- t = op;
62363
- break;
62364
-
62365
- case 4:
62366
- _.label++;
62367
- return {
62368
- value: op[1],
62369
- done: false
62370
- };
62371
-
62372
- case 5:
62373
- _.label++;
62374
- y = op[1];
62375
- op = [0];
62376
- continue;
62377
-
62378
- case 7:
62379
- op = _.ops.pop();
62380
-
62381
- _.trys.pop();
62382
-
62383
- continue;
62384
-
62385
- default:
62386
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
62387
- _ = 0;
62388
- continue;
62389
- }
62390
-
62391
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
62392
- _.label = op[1];
62393
- break;
62394
- }
62395
-
62396
- if (op[0] === 6 && _.label < t[1]) {
62397
- _.label = t[1];
62398
- t = op;
62399
- break;
62400
- }
62401
-
62402
- if (t && _.label < t[2]) {
62403
- _.label = t[2];
62404
-
62405
- _.ops.push(op);
62406
-
62407
- break;
62408
- }
62409
-
62410
- if (t[2]) _.ops.pop();
62411
-
62412
- _.trys.pop();
62413
-
62414
- continue;
62415
- }
62416
-
62417
- op = body.call(thisArg, _);
62418
- } catch (e) {
62419
- op = [6, e];
62420
- y = 0;
62421
- } finally {
62422
- f = t = 0;
62423
- }
62424
- }
62425
-
62426
- if (op[0] & 5) throw op[1];
62427
- return {
62428
- value: op[0] ? op[1] : void 0,
62429
- done: true
62430
- };
62431
- }
62432
- };
62433
-
62434
-
62435
-
62436
-
62437
-
62438
-
62439
-
62440
-
62441
- var security_setting_SecuritySetting =
62442
- /** @class */
62443
- function (_super) {
62444
- security_setting_extends(SecuritySetting, _super);
62445
-
62446
- function SecuritySetting() {
62447
- var _this = _super !== null && _super.apply(this, arguments) || this;
62448
-
62449
- _this.securityTypeList = [];
62450
- _this.tokenLocationTypeList = [];
62451
- _this.grantTypeList = [];
62452
- _this.model = {};
62453
- return _this;
62454
- }
62455
-
62456
- SecuritySetting.prototype.mounted = function () {
62457
- var _a, _b;
62458
-
62459
- this.getSecurityTypeList();
62460
- this.getTokenLocationTypeList();
62461
- this.getGrantTypeList();
62462
- 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) : {};
62463
- };
62464
-
62465
- SecuritySetting.prototype.getSecurityTypeList = function () {
62466
- return security_setting_awaiter(this, void 0, void 0, function () {
62467
- var result;
62468
- return security_setting_generator(this, function (_a) {
62469
- switch (_a.label) {
62470
- case 0:
62471
- return [4
62472
- /*yield*/
62473
- , this.service.getEnumByType("authenticationType")];
62474
-
62475
- case 1:
62476
- result = _a.sent();
62477
- this.securityTypeList = (result === null || result === void 0 ? void 0 : result.result) || [];
62478
- return [2
62479
- /*return*/
62480
- ];
62481
- }
62482
- });
62483
- });
62484
- };
62485
-
62486
- SecuritySetting.prototype.getTokenLocationTypeList = function () {
62487
- return security_setting_awaiter(this, void 0, void 0, function () {
62488
- var result;
62489
- return security_setting_generator(this, function (_a) {
62490
- switch (_a.label) {
62491
- case 0:
62492
- return [4
62493
- /*yield*/
62494
- , this.service.getEnumByType("tokenLocationType")];
62495
-
62496
- case 1:
62497
- result = _a.sent();
62498
- this.tokenLocationTypeList = (result === null || result === void 0 ? void 0 : result.result) || [];
62499
- return [2
62500
- /*return*/
62501
- ];
62502
- }
62503
- });
62504
- });
62505
- };
62506
-
62507
- SecuritySetting.prototype.getGrantTypeList = function () {
62508
- return security_setting_awaiter(this, void 0, void 0, function () {
62509
- var result;
62510
- return security_setting_generator(this, function (_a) {
62511
- switch (_a.label) {
62512
- case 0:
62513
- return [4
62514
- /*yield*/
62515
- , this.service.getEnumByType("grantType")];
62516
-
62517
- case 1:
62518
- result = _a.sent();
62519
- this.grantTypeList = (result === null || result === void 0 ? void 0 : result.result) || [];
62520
- return [2
62521
- /*return*/
62522
- ];
62523
- }
62524
- });
62525
- });
62526
- };
62527
-
62528
- SecuritySetting.prototype.modelChange = function () {
62529
- this.interfaceModel.authentication = this.interfaceModel.authentication || new Authentication();
62530
- this.interfaceModel.authentication.content = JSON.stringify(this.model);
62531
- };
62532
-
62533
- SecuritySetting.prototype.onClear = function () {
62534
- this.model = {};
62535
- };
62536
-
62537
- var _a, _b;
62538
-
62539
- security_setting_decorate([Object(flagwind_web_["config"])({
62540
- default: function _default() {
62541
- return new InterfaceModel();
62542
- }
62543
- }), security_setting_metadata("design:type", typeof (_a = typeof InterfaceModel !== "undefined" && InterfaceModel) === "function" ? _a : Object)], SecuritySetting.prototype, "interfaceModel", void 0);
62544
-
62545
- 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);
62546
-
62547
- security_setting_decorate([Object(flagwind_web_["watch"])("model", {
62548
- deep: true
62549
- }), security_setting_metadata("design:type", Function), security_setting_metadata("design:paramtypes", []), security_setting_metadata("design:returntype", void 0)], SecuritySetting.prototype, "modelChange", null);
62550
-
62551
- SecuritySetting = security_setting_decorate([Object(flagwind_web_["component"])({
62552
- template: __webpack_require__("b676"),
62553
- components: {
62554
- "u-tips-form-label": tips_form_label
62555
- }
62556
- })], SecuritySetting);
62557
- return SecuritySetting;
62558
- }(flagwind_web_["Component"]);
62559
-
62560
- /* harmony default export */ var project_detail_security_setting = (security_setting_SecuritySetting);
62561
- // EXTERNAL MODULE: ./src/views/project-detail/interface-settings/index.scss
62562
- var interface_settings = __webpack_require__("2a79");
62563
-
62564
- // EXTERNAL MODULE: ./src/views/project-detail/security-setting-v2/index.scss
62565
- var security_setting_v2 = __webpack_require__("b156");
62566
-
62567
- // EXTERNAL MODULE: ./src/views/project-detail/security-setting-v2/tips-form-label/index.scss
62568
- var security_setting_v2_tips_form_label = __webpack_require__("61ef");
62569
-
62570
- // CONCATENATED MODULE: ./src/views/project-detail/security-setting-v2/tips-form-label/index.ts
62571
-
62572
-
62573
-
62574
-
62575
-
62576
-
62577
- var security_setting_v2_tips_form_label_extends = undefined && undefined.__extends || function () {
62578
- var _extendStatics = function extendStatics(d, b) {
62579
- _extendStatics = Object.setPrototypeOf || {
62580
- __proto__: []
62581
- } instanceof Array && function (d, b) {
62582
- d.__proto__ = b;
62583
- } || function (d, b) {
62584
- for (var p in b) {
62585
- if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
62586
- }
62587
- };
62588
-
62589
- return _extendStatics(d, b);
62590
- };
62591
-
62592
- return function (d, b) {
62593
- if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
62594
-
62595
- _extendStatics(d, b);
62596
-
62597
- function __() {
62598
- this.constructor = d;
62599
- }
62600
-
62601
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
62602
- };
62603
- }();
62604
-
62605
- var security_setting_v2_tips_form_label_decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) {
62606
- var c = arguments.length,
62607
- r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
62608
- d;
62609
- 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--) {
62610
- if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
62611
- }
62612
- return c > 3 && r && Object.defineProperty(target, key, r), r;
62613
- };
62614
-
62615
- var security_setting_v2_tips_form_label_metadata = undefined && undefined.__metadata || function (k, v) {
62616
- if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
62617
- };
62618
-
62619
-
62620
-
62621
-
62622
- var security_setting_v2_tips_form_label_TipsFormLabel =
62623
- /** @class */
62624
- function (_super) {
62625
- security_setting_v2_tips_form_label_extends(TipsFormLabel, _super);
62626
-
62627
- function TipsFormLabel() {
62628
- return _super !== null && _super.apply(this, arguments) || this;
62629
- }
62630
-
62631
- security_setting_v2_tips_form_label_decorate([Object(flagwind_web_["config"])({
62632
- default: ""
62633
- }), security_setting_v2_tips_form_label_metadata("design:type", String)], TipsFormLabel.prototype, "tips", void 0);
62634
-
62635
- security_setting_v2_tips_form_label_decorate([Object(flagwind_web_["config"])({
62636
- default: ""
62637
- }), security_setting_v2_tips_form_label_metadata("design:type", String)], TipsFormLabel.prototype, "labelTitle", void 0);
62638
-
62639
- security_setting_v2_tips_form_label_decorate([Object(flagwind_web_["config"])({
62640
- type: Boolean,
62641
- default: false
62642
- }), security_setting_v2_tips_form_label_metadata("design:type", Boolean)], TipsFormLabel.prototype, "labelColon", void 0);
62643
-
62644
- TipsFormLabel = security_setting_v2_tips_form_label_decorate([Object(flagwind_web_["component"])({
62645
62218
  template: __webpack_require__("2f53")
62646
62219
  })], TipsFormLabel);
62647
62220
  return TipsFormLabel;
62648
62221
  }(flagwind_web_["Component"]);
62649
62222
 
62650
- /* harmony default export */ var project_detail_security_setting_v2_tips_form_label = (security_setting_v2_tips_form_label_TipsFormLabel);
62223
+ /* harmony default export */ var security_setting_v2_tips_form_label = (tips_form_label_TipsFormLabel);
62651
62224
  // EXTERNAL MODULE: ./src/views/project-detail/security-modal/index.scss
62652
62225
  var security_modal = __webpack_require__("1a93");
62653
62226
 
@@ -62879,6 +62452,7 @@ var security_modal_generator = undefined && undefined.__generator || function (t
62879
62452
 
62880
62453
 
62881
62454
 
62455
+
62882
62456
  var security_modal_SecurityModalComponent =
62883
62457
  /** @class */
62884
62458
  function (_super) {
@@ -62895,6 +62469,8 @@ function (_super) {
62895
62469
  _this.tokenLocationTypeList = [];
62896
62470
  _this.isAddOnce = false;
62897
62471
  _this.exitAddItem = false;
62472
+ _this.scriptDocShow = false;
62473
+ _this.scriptDoc = "";
62898
62474
  _this.onFilter = lodash_debounce_default()(function () {
62899
62475
  _this.getSecurityList();
62900
62476
  }, 300);
@@ -63033,6 +62609,8 @@ function (_super) {
63033
62609
  this.isAddOnce = false;
63034
62610
  this.exitAddItem = false;
63035
62611
  }
62612
+
62613
+ this.securityList.length && this.onSelectSecurityItem(this.securityList[0]);
63036
62614
  }
63037
62615
 
63038
62616
  return [2
@@ -63083,7 +62661,8 @@ function (_super) {
63083
62661
  _a.label = 3;
63084
62662
 
63085
62663
  case 3:
63086
- this.currentSecurityItem = {};
62664
+ this.securityList.length && this.onSelectSecurityItem(this.securityList[0]);
62665
+ this.$publish("api://security-list-refresh");
63087
62666
  return [2
63088
62667
  /*return*/
63089
62668
  ];
@@ -63199,6 +62778,34 @@ function (_super) {
63199
62778
  });
63200
62779
  };
63201
62780
 
62781
+ SecurityModalComponent.prototype.showScriptDoc = function () {
62782
+ return security_modal_awaiter(this, void 0, void 0, function () {
62783
+ var res;
62784
+ return security_modal_generator(this, function (_a) {
62785
+ switch (_a.label) {
62786
+ case 0:
62787
+ return [4
62788
+ /*yield*/
62789
+ , this.service.getScriptDoc()];
62790
+
62791
+ case 1:
62792
+ res = _a.sent();
62793
+
62794
+ if (res) {
62795
+ this.scriptDoc = res;
62796
+ this.scriptDocShow = true;
62797
+ } else {
62798
+ this.$message.error("获取帮助文档失败");
62799
+ }
62800
+
62801
+ return [2
62802
+ /*return*/
62803
+ ];
62804
+ }
62805
+ });
62806
+ });
62807
+ };
62808
+
63202
62809
  var _a;
63203
62810
 
63204
62811
  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);
@@ -63223,7 +62830,8 @@ function (_super) {
63223
62830
  SecurityModalComponent = security_modal_decorate([Object(flagwind_web_["component"])({
63224
62831
  template: __webpack_require__("3bf8"),
63225
62832
  components: {
63226
- "u-tips-form-label": project_detail_security_setting_v2_tips_form_label
62833
+ "u-tips-form-label": security_setting_v2_tips_form_label,
62834
+ "u-doc-modal": data_model_data_model_doc
63227
62835
  }
63228
62836
  })], SecurityModalComponent);
63229
62837
  return SecurityModalComponent;
@@ -63655,7 +63263,7 @@ function (_super) {
63655
63263
  SecuritySettingV2 = security_setting_v2_decorate([Object(flagwind_web_["component"])({
63656
63264
  template: __webpack_require__("3de4"),
63657
63265
  components: {
63658
- "u-tips-form-label": project_detail_security_setting_v2_tips_form_label,
63266
+ "u-tips-form-label": security_setting_v2_tips_form_label,
63659
63267
  "u-security-modal": project_detail_security_modal
63660
63268
  }
63661
63269
  })], SecuritySettingV2);
@@ -63895,7 +63503,7 @@ var interface_settings_generator = undefined && undefined.__generator || functio
63895
63503
 
63896
63504
 
63897
63505
 
63898
-
63506
+ // import SecuritySetting from "../security-setting";
63899
63507
 
63900
63508
 
63901
63509
 
@@ -64191,7 +63799,7 @@ function (_super) {
64191
63799
  response: project_detail_response,
64192
63800
  params: project_detail_params_setting,
64193
63801
  headers: project_detail_headers_setting,
64194
- security: project_detail_security_setting,
63802
+ // security: SecuritySetting,
64195
63803
  "pre-execution": project_detail_pre_execution_setting,
64196
63804
  "after-execution-transfer": project_detail_after_execution_transfer,
64197
63805
  "after-execution-script": after_execution_script,
@@ -65289,19 +64897,40 @@ function (_super) {
65289
64897
  this.showInterfaceModal = true;
65290
64898
  };
65291
64899
 
65292
- ProjectTree.prototype.onBatchEdit = function (data) {
65293
- var list = [];
65294
- this.data.forEach(function (item) {
65295
- if (item.id === data.id) {
65296
- list = data.apis;
65297
- return;
65298
- }
65299
- });
65300
- this.categoryApiList = list.map(function (h) {
65301
- h.selected = false;
65302
- return h;
64900
+ ProjectTree.prototype.getApis = function (data) {
64901
+ var _this = this;
64902
+
64903
+ var _a;
64904
+
64905
+ (_a = data === null || data === void 0 ? void 0 : data.apis) === null || _a === void 0 ? void 0 : _a.forEach(function (item) {
64906
+ _this.categoryApiList.push(item);
65303
64907
  });
65304
- this.showBatchModal = true;
64908
+
64909
+ if (data === null || data === void 0 ? void 0 : data.children) {
64910
+ for (var _i = 0, _b = data === null || data === void 0 ? void 0 : data.children; _i < _b.length; _i++) {
64911
+ var i = _b[_i];
64912
+ this.getApis(i);
64913
+ }
64914
+ }
64915
+
64916
+ return;
64917
+ };
64918
+
64919
+ ProjectTree.prototype.onBatchEdit = function (data) {
64920
+ var _a, _b;
64921
+
64922
+ this.categoryApiList = [];
64923
+ this.getApis(data.$clone());
64924
+
64925
+ if (!((_a = this.categoryApiList) === null || _a === void 0 ? void 0 : _a.length)) {
64926
+ return this.$Message.warning("该文件夹下无接口信息,无法批量修改!");
64927
+ } else {
64928
+ (_b = this.categoryApiList) === null || _b === void 0 ? void 0 : _b.map(function (h) {
64929
+ h.selected = false;
64930
+ return h;
64931
+ });
64932
+ this.showBatchModal = true;
64933
+ }
65305
64934
  };
65306
64935
 
65307
64936
  ProjectTree.prototype.onDeleteInterface = function (data) {