@egova/egova-api 1.3.7 → 1.3.9

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.
@@ -141,6 +141,13 @@ var POLYFILL = isForced.POLYFILL = 'P';
141
141
  module.exports = isForced;
142
142
 
143
143
 
144
+ /***/ }),
145
+
146
+ /***/ "06a8":
147
+ /***/ (function(module, exports, __webpack_require__) {
148
+
149
+ // extracted by mini-css-extract-plugin
150
+
144
151
  /***/ }),
145
152
 
146
153
  /***/ "07ab":
@@ -180,6 +187,13 @@ module.exports = "<i-modal draggable sticky transfer reset-drag-position :mask-c
180
187
 
181
188
  /***/ }),
182
189
 
190
+ /***/ "0a2e":
191
+ /***/ (function(module, exports, __webpack_require__) {
192
+
193
+ // extracted by mini-css-extract-plugin
194
+
195
+ /***/ }),
196
+
183
197
  /***/ "0d9b":
184
198
  /***/ (function(module, exports, __webpack_require__) {
185
199
 
@@ -1087,11 +1101,12 @@ function readToken(key) {
1087
1101
  }
1088
1102
  function getToken() {
1089
1103
  var _a;
1090
- // 获取是否通过用户中心认证
1091
- var isUserCenter = enableUserCenterCookie();
1092
- // 获取token
1093
- var keys = isUserCenter ? SSO_KEY : COMMON_KEYS;
1094
- var token = (_a = keys.map(readToken).find(Boolean)) !== null && _a !== void 0 ? _a : '';
1104
+ // 1. 获取SSO_token
1105
+ var ssoToken = SSO_KEY.map(readToken).find(Boolean);
1106
+ // 2. 根据 SSO_KEY token 与 配置存在性决定是否用户中心
1107
+ var isUserCenter = enableUserCenterCookie() && !!ssoToken;
1108
+ // 3. 获取最终 token(优先使用 ssoToken 或回退 COMMON_KEYS)
1109
+ var token = isUserCenter ? ssoToken : (_a = COMMON_KEYS.map(readToken).find(Boolean)) !== null && _a !== void 0 ? _a : '';
1095
1110
  // 获取headers
1096
1111
  var headers = isUserCenter ? {
1097
1112
  "X-Authorization": "Bearer ".concat(token)
@@ -2182,6 +2197,9 @@ var tree_selector_TreeSelectorComponent = /** @class */function (_super) {
2182
2197
  return [];
2183
2198
  }
2184
2199
  })], TreeSelectorComponent.prototype, "treeData", void 0);
2200
+ __decorate([Object(flagwind_web_["config"])({
2201
+ default: "请输入"
2202
+ })], TreeSelectorComponent.prototype, "placeholder", void 0);
2185
2203
  __decorate([Object(flagwind_web_["config"])({
2186
2204
  default: "children"
2187
2205
  })], TreeSelectorComponent.prototype, "leafName", void 0);
@@ -6524,6 +6542,30 @@ var service_ApiService = /** @class */function (_super) {
6524
6542
  ApiService.prototype.onValidateImport = function (data) {
6525
6543
  return this._post("/unity/api/info/check-name", data);
6526
6544
  };
6545
+ ApiService.prototype.getEgovaApiTree = function () {
6546
+ return this._get("/unity/wizdom-api/tree");
6547
+ };
6548
+ ApiService.prototype.getProjectList = function (condition) {
6549
+ if (condition === void 0) {
6550
+ condition = {};
6551
+ }
6552
+ return this._post("/unity/api/project/list", condition);
6553
+ };
6554
+ ApiService.prototype.getApiRequestParams = function (apiId) {
6555
+ return this._get("/unity/api/request-param/apiId/".concat(apiId));
6556
+ };
6557
+ ApiService.prototype.getCategoryList = function () {
6558
+ return this._get("/unity/proxy/tree");
6559
+ };
6560
+ ApiService.prototype.getProxyNameList = function (apiId) {
6561
+ return this._get("/unity/proxy/getbyapi?apiId=".concat(apiId));
6562
+ };
6563
+ ApiService.prototype.save = function (config) {
6564
+ if (config.id) {
6565
+ return this._put("/unity/proxy", config);
6566
+ }
6567
+ return this._post("/unity/proxy", config);
6568
+ };
6527
6569
  __decorate([serviceHandler("query", {
6528
6570
  title: "获取接口树"
6529
6571
  })], ApiService.prototype, "getApiTree", null);
@@ -6644,6 +6686,26 @@ var service_ApiService = /** @class */function (_super) {
6644
6686
  title: "单接口详情导入",
6645
6687
  showErrorMsg: true
6646
6688
  })], ApiService.prototype, "onValidateImport", null);
6689
+ __decorate([serviceHandler("query", {
6690
+ title: "获取egova接口树"
6691
+ })], ApiService.prototype, "getEgovaApiTree", null);
6692
+ __decorate([serviceHandler("query", {
6693
+ title: "获取API项目列表"
6694
+ })], ApiService.prototype, "getProjectList", null);
6695
+ __decorate([serviceHandler("query", {
6696
+ title: "获取API参数列表"
6697
+ })], ApiService.prototype, "getApiRequestParams", null);
6698
+ __decorate([serviceHandler("query", {
6699
+ title: "查询分类树"
6700
+ })], ApiService.prototype, "getCategoryList", null);
6701
+ __decorate([serviceHandler("query", {
6702
+ title: "查询代理详情"
6703
+ })], ApiService.prototype, "getProxyNameList", null);
6704
+ __decorate([serviceHandler("save", {
6705
+ title: "保存接口配置",
6706
+ showTip: true,
6707
+ showErrorMsg: true
6708
+ })], ApiService.prototype, "save", null);
6647
6709
  return ApiService;
6648
6710
  }(common_service);
6649
6711
  /* harmony default export */ var project_detail_service = (service_ApiService);
@@ -9098,6 +9160,700 @@ var security_setting_v2_SecuritySettingV2 = /** @class */function (_super) {
9098
9160
  return SecuritySettingV2;
9099
9161
  }(flagwind_web_["Component"]);
9100
9162
  /* harmony default export */ var project_detail_security_setting_v2 = (security_setting_v2_SecuritySettingV2);
9163
+ // EXTERNAL MODULE: ./src/views/project-detail/interface-settings/tips-table-label/index.scss
9164
+ var tips_table_label = __webpack_require__("0a2e");
9165
+
9166
+ // CONCATENATED MODULE: ./src/views/project-detail/interface-settings/tips-table-label/index.ts
9167
+
9168
+
9169
+
9170
+ var tips_table_label_TipsTableLabel = /** @class */function (_super) {
9171
+ __extends(TipsTableLabel, _super);
9172
+ function TipsTableLabel() {
9173
+ var _this = _super !== null && _super.apply(this, arguments) || this;
9174
+ _this.columns = [{
9175
+ title: "次数",
9176
+ key: "header",
9177
+ width: "100"
9178
+ }, {
9179
+ title: "5",
9180
+ key: "five"
9181
+ }, {
9182
+ title: "6",
9183
+ key: "six"
9184
+ }, {
9185
+ title: "7",
9186
+ key: "seven"
9187
+ }, {
9188
+ title: "8",
9189
+ key: "eight"
9190
+ }, {
9191
+ title: "9",
9192
+ key: "nine"
9193
+ }, {
9194
+ title: "10",
9195
+ key: "ten"
9196
+ }];
9197
+ _this.data = [{
9198
+ header: "覆盖范围",
9199
+ five: "1h",
9200
+ six: "2h",
9201
+ seven: "4h",
9202
+ eight: "8h",
9203
+ nine: "16h",
9204
+ ten: "32h"
9205
+ }];
9206
+ return _this;
9207
+ }
9208
+ __decorate([Object(flagwind_web_["config"])({
9209
+ default: ""
9210
+ })], TipsTableLabel.prototype, "tips", void 0);
9211
+ __decorate([Object(flagwind_web_["config"])({
9212
+ default: ""
9213
+ })], TipsTableLabel.prototype, "labelTitle", void 0);
9214
+ __decorate([Object(flagwind_web_["config"])({
9215
+ default: 520
9216
+ })], TipsTableLabel.prototype, "width", void 0);
9217
+ __decorate([Object(flagwind_web_["config"])({
9218
+ type: Boolean,
9219
+ default: false
9220
+ })], TipsTableLabel.prototype, "labelColon", void 0);
9221
+ TipsTableLabel = __decorate([Object(flagwind_web_["component"])({
9222
+ template: __webpack_require__("dc41")
9223
+ })], TipsTableLabel);
9224
+ return TipsTableLabel;
9225
+ }(flagwind_web_["Component"]);
9226
+ /* harmony default export */ var interface_settings_tips_table_label = (tips_table_label_TipsTableLabel);
9227
+ // CONCATENATED MODULE: ./src/models/common/resource.ts
9228
+ /**
9229
+ * 资源目录资源model
9230
+ */
9231
+ var ShareType;
9232
+ (function (ShareType) {
9233
+ ShareType["Private"] = "0";
9234
+ ShareType["Public"] = "1";
9235
+ ShareType["Protected"] = "2";
9236
+ })(ShareType || (ShareType = {}));
9237
+ var ShareMode;
9238
+ (function (ShareMode) {
9239
+ ShareMode["PlateForm"] = "1";
9240
+ ShareMode["Email"] = "2";
9241
+ ShareMode["CopyDisk"] = "3";
9242
+ ShareMode["MediumExchange"] = "4";
9243
+ })(ShareMode || (ShareMode = {}));
9244
+ var ResourceType;
9245
+ (function (ResourceType) {
9246
+ ResourceType["ElectronicFile"] = "1";
9247
+ ResourceType["ElectronicExcel"] = "2";
9248
+ ResourceType["Database"] = "3";
9249
+ ResourceType["GraphicImage"] = "4";
9250
+ ResourceType["StreamingMedia"] = "5";
9251
+ })(ResourceType || (ResourceType = {}));
9252
+ var UpdatePeriod;
9253
+ (function (UpdatePeriod) {
9254
+ UpdatePeriod["Realtime"] = "1";
9255
+ UpdatePeriod["Daily"] = "2";
9256
+ UpdatePeriod["Weekly"] = "3";
9257
+ UpdatePeriod["Monthly"] = "4";
9258
+ UpdatePeriod["Quarterly"] = "5";
9259
+ UpdatePeriod["Annually"] = "6";
9260
+ UpdatePeriod["Irregular"] = "7";
9261
+ UpdatePeriod["Other"] = "8";
9262
+ })(UpdatePeriod || (UpdatePeriod = {}));
9263
+ var ResourceStatus;
9264
+ (function (ResourceStatus) {
9265
+ ResourceStatus["Unreleased"] = "0";
9266
+ ResourceStatus["Released"] = "1";
9267
+ })(ResourceStatus || (ResourceStatus = {}));
9268
+ var updatePeriodList = [{
9269
+ code: "Realtime",
9270
+ value: "1",
9271
+ name: "实时"
9272
+ }, {
9273
+ code: "Daily",
9274
+ value: "2",
9275
+ name: "每天"
9276
+ }, {
9277
+ code: "Weekly",
9278
+ value: "3",
9279
+ name: "每周"
9280
+ }, {
9281
+ code: "Monthly",
9282
+ value: "4",
9283
+ name: "每月"
9284
+ }, {
9285
+ code: "Quarterly",
9286
+ value: "5",
9287
+ name: "每季度"
9288
+ }, {
9289
+ code: "Annually",
9290
+ value: "6",
9291
+ name: "每年"
9292
+ }, {
9293
+ code: "Irregular",
9294
+ value: "7",
9295
+ name: "不定期更新"
9296
+ }, {
9297
+ code: "Other",
9298
+ value: "8",
9299
+ name: "其他"
9300
+ }];
9301
+ var checkFlag = [{
9302
+ value: 0,
9303
+ name: "不开启"
9304
+ }, {
9305
+ value: 1,
9306
+ name: "开启"
9307
+ }];
9308
+ var resource_authFlag = [{
9309
+ value: 0,
9310
+ name: "否"
9311
+ }, {
9312
+ value: 1,
9313
+ name: "是"
9314
+ }];
9315
+ var logLevelList = [{
9316
+ value: 0,
9317
+ name: "不记录"
9318
+ }, {
9319
+ value: 1,
9320
+ name: "记录全部"
9321
+ }, {
9322
+ value: 2,
9323
+ name: "记录失败"
9324
+ }];
9325
+ // EXTERNAL MODULE: ./src/views/project-detail/interface-settings/process-drawer/index.scss
9326
+ var process_drawer = __webpack_require__("06a8");
9327
+
9328
+ // CONCATENATED MODULE: ./src/views/project-detail/util.ts
9329
+ /**
9330
+ * 构建接口完整地址
9331
+ * @param code 接口编码
9332
+ * @returns
9333
+ */
9334
+ function formatUrl(code) {
9335
+ var prefix = prefixUrl();
9336
+ return "".concat(prefix, "/api/exchange/").concat(code);
9337
+ }
9338
+ function prefixUrl() {
9339
+ var baseUrl = window.commonSetting.baseUrl || "";
9340
+ var result = "";
9341
+ if (baseUrl && baseUrl.startsWith("https://") || baseUrl.startsWith("http://")) {
9342
+ result = "".concat(baseUrl);
9343
+ } else if (baseUrl && baseUrl.startsWith("/")) {
9344
+ result = "".concat(window.location.origin).concat(baseUrl);
9345
+ } else if (baseUrl) {
9346
+ result = "".concat(window.location.origin, "/").concat(baseUrl);
9347
+ } else {
9348
+ result = "".concat(window.location.origin);
9349
+ }
9350
+ return result;
9351
+ }
9352
+ // CONCATENATED MODULE: ./src/views/project-detail/interface-settings/process-drawer/index.ts
9353
+
9354
+
9355
+
9356
+
9357
+
9358
+
9359
+
9360
+
9361
+
9362
+ var process_drawer_InterfaceModal = /** @class */function (_super) {
9363
+ __extends(InterfaceModal, _super);
9364
+ function InterfaceModal() {
9365
+ var _this = _super !== null && _super.apply(this, arguments) || this;
9366
+ _this.egovaApiTree = [];
9367
+ _this.projectList = [];
9368
+ _this.model = {
9369
+ name: "",
9370
+ code: "",
9371
+ categoryId: "",
9372
+ retryTimes: "",
9373
+ description: "",
9374
+ enableRetry: "false",
9375
+ authFlag: 1,
9376
+ logSavingEnabled: 2
9377
+ };
9378
+ _this.apiModel = {};
9379
+ _this.apiTree = [];
9380
+ _this.apiColumns = [{
9381
+ title: "参数名称",
9382
+ key: "name",
9383
+ align: "left",
9384
+ ellipsis: true,
9385
+ tooltip: true
9386
+ }, {
9387
+ title: "参数值",
9388
+ key: "valueContent",
9389
+ align: "left",
9390
+ ellipsis: true,
9391
+ tooltip: true
9392
+ }];
9393
+ _this.apiParamList = [];
9394
+ _this.isRetryList = [{
9395
+ name: "是",
9396
+ value: "true"
9397
+ }, {
9398
+ name: "否",
9399
+ value: "false"
9400
+ }];
9401
+ _this.statusCodeList = [{
9402
+ name: "默认(502,504)",
9403
+ value: "1"
9404
+ }, {
9405
+ name: "自定义",
9406
+ value: "2"
9407
+ }];
9408
+ _this.statusCode = "1";
9409
+ _this.authFlag = resource_authFlag;
9410
+ _this.loginLevelFlag = logLevelList;
9411
+ _this.isResourceCodeEnabled = false;
9412
+ _this.rulesValidate = {};
9413
+ _this.isNameValid = false;
9414
+ _this.isCategoryIdValid = false;
9415
+ _this.isCodeValid = false;
9416
+ _this.isDesValid = false;
9417
+ _this.isRetryTimesValid = false;
9418
+ _this.isRetryCodeValid = false; // 新增状态码校验标志
9419
+ _this.isRetryTimesReadonly = false;
9420
+ _this.isDeatilPage = false;
9421
+ _this.readonly = false;
9422
+ _this.formTitle = "流程配置详情";
9423
+ _this.categoryList = [];
9424
+ _this.isAdding = false;
9425
+ _this.proxyName = "";
9426
+ _this.proxyList = [];
9427
+ return _this;
9428
+ }
9429
+ InterfaceModal.prototype.onStatusCodeChange = function (newVal) {
9430
+ var _this = this;
9431
+ if (newVal !== "2") {
9432
+ this.model.retryCode = "";
9433
+ // 清除校验状态
9434
+ this.isRetryCodeValid = true;
9435
+ this.$nextTick(function () {
9436
+ _this.$refs.configform && _this.$refs.configform.validateField("retryCode", function () {});
9437
+ });
9438
+ }
9439
+ // 只有在自定义状态码时才触发校验
9440
+ if (newVal === "2") {
9441
+ this.$nextTick(function () {
9442
+ _this.$refs.configform && _this.$refs.configform.validateField("retryCode");
9443
+ });
9444
+ }
9445
+ };
9446
+ InterfaceModal.prototype.changeInputStatus = function () {
9447
+ this.isResourceCodeEnabled = Boolean(this.model.authFlag);
9448
+ };
9449
+ Object.defineProperty(InterfaceModal.prototype, "url", {
9450
+ get: function () {
9451
+ return formatUrl(this.model.code || "");
9452
+ },
9453
+ enumerable: false,
9454
+ configurable: true
9455
+ });
9456
+ Object.defineProperty(InterfaceModal.prototype, "show", {
9457
+ get: function () {
9458
+ return this.value;
9459
+ },
9460
+ set: function (value) {
9461
+ this.$emit("input", value);
9462
+ },
9463
+ enumerable: false,
9464
+ configurable: true
9465
+ });
9466
+ InterfaceModal.prototype.onSave = function () {
9467
+ var _this = this;
9468
+ var _a;
9469
+ if (!this.model.logSavingEnabled || this.model.enableRetry === "false") {
9470
+ this.isRetryTimesValid = true;
9471
+ }
9472
+ (_a = this.$refs.configform) === null || _a === void 0 ? void 0 : _a.validate(function (isValid) {
9473
+ return __awaiter(_this, void 0, void 0, function () {
9474
+ var submitModel;
9475
+ return __generator(this, function (_a) {
9476
+ // 1. 表单校验(仅 model 字段有规则,apiModel 无规则不影响)
9477
+ if (!isValid) {
9478
+ return [2 /*return*/, this.$message.warning("请完善配置信息")];
9479
+ }
9480
+ submitModel = __assign(__assign({}, this.model), this.apiModel);
9481
+ this.$emit("on-save", submitModel);
9482
+ return [2 /*return*/];
9483
+ });
9484
+ });
9485
+ });
9486
+ };
9487
+ InterfaceModal.prototype.onCancel = function () {
9488
+ this.show = false;
9489
+ };
9490
+ InterfaceModal.prototype.mounted = function () {
9491
+ return __awaiter(this, void 0, void 0, function () {
9492
+ return __generator(this, function (_a) {
9493
+ this.getEgovaApiTree();
9494
+ this.getProjectList();
9495
+ this.getCategoryList();
9496
+ this.apiModel.projectId = this.info.projectId;
9497
+ this.apiModel.type = "API";
9498
+ // todo 根据typeId获取所有流程配置信息
9499
+ this.rulesValidate = {
9500
+ categoryId: [{
9501
+ validator: this.validateCategoryId,
9502
+ trigger: "blur,change"
9503
+ }],
9504
+ name: [{
9505
+ validator: this.validateName,
9506
+ required: false,
9507
+ trigger: "blur,change"
9508
+ }],
9509
+ code: [{
9510
+ validator: this.validateCode,
9511
+ required: false,
9512
+ trigger: "blur,change"
9513
+ }],
9514
+ description: [{
9515
+ validator: this.validateDescription,
9516
+ required: false,
9517
+ trigger: "blur,change"
9518
+ }],
9519
+ retryTimes: [{
9520
+ validator: this.validateRetryTimes,
9521
+ trigger: "blur,change"
9522
+ }],
9523
+ // 添加retryCode校验规则
9524
+ retryCode: [{
9525
+ validator: this.validateRetryCode,
9526
+ trigger: "blur,change"
9527
+ }]
9528
+ };
9529
+ return [2 /*return*/];
9530
+ });
9531
+ });
9532
+ };
9533
+ InterfaceModal.prototype.validateCategoryId = function (rule, value, callback) {
9534
+ if (!value) {
9535
+ this.isCategoryIdValid = false;
9536
+ callback(new Error("请选择所属分类"));
9537
+ } else {
9538
+ this.isCategoryIdValid = true;
9539
+ callback();
9540
+ }
9541
+ };
9542
+ InterfaceModal.prototype.validateName = function (rule, value, callback) {
9543
+ var val = String(value || "").trim();
9544
+ if (!val) {
9545
+ this.isNameValid = false;
9546
+ callback(new Error("请填写代理名称,不能为空"));
9547
+ } else if (val.length > 50) {
9548
+ this.isNameValid = false;
9549
+ callback(new Error("代理名称长度不能超过50"));
9550
+ } else {
9551
+ this.isNameValid = true;
9552
+ callback();
9553
+ }
9554
+ };
9555
+ InterfaceModal.prototype.validateCode = function (rule, value, callback) {
9556
+ var val = String(value || "").trim();
9557
+ if (!val) {
9558
+ this.isCodeValid = false;
9559
+ callback(new Error("请填写接口编码。不能为空"));
9560
+ } else if (val.length > 80) {
9561
+ this.isCodeValid = false;
9562
+ callback(new Error("接口编码长度不能超过80"));
9563
+ } else {
9564
+ this.isCodeValid = true;
9565
+ callback();
9566
+ }
9567
+ };
9568
+ InterfaceModal.prototype.validateDescription = function (rule, value, callback) {
9569
+ if (value && value.length > 150) {
9570
+ this.isDesValid = false;
9571
+ callback(new Error("描述长度不能超过150"));
9572
+ } else {
9573
+ this.isDesValid = true;
9574
+ callback();
9575
+ }
9576
+ };
9577
+ InterfaceModal.prototype.validateRetryTimes = function (rule, value, callback) {
9578
+ if (this.model.enableRetry === "false") {
9579
+ this.isRetryTimesValid = true;
9580
+ callback();
9581
+ return;
9582
+ }
9583
+ var regular = /(^[1-9]\d*$)/;
9584
+ if (!regular.test(value)) {
9585
+ this.isRetryTimesValid = false;
9586
+ callback(new Error("请输入正整数"));
9587
+ } else {
9588
+ this.isRetryTimesValid = true;
9589
+ callback();
9590
+ }
9591
+ };
9592
+ // 修改状态码校验方法
9593
+ InterfaceModal.prototype.validateRetryCode = function (rule, value, callback) {
9594
+ if (this.statusCode === "2") {
9595
+ if (!value || value.trim() === "") {
9596
+ this.isRetryCodeValid = false;
9597
+ callback(new Error("请输入状态码"));
9598
+ } else {
9599
+ // 校验状态码格式(支持多个以逗号分隔的数字)
9600
+ var codes = value.split(",").map(function (code) {
9601
+ return code.trim();
9602
+ });
9603
+ var isValid = codes.every(function (code) {
9604
+ return /^\d+$/.test(code);
9605
+ });
9606
+ if (!isValid) {
9607
+ this.isRetryCodeValid = false;
9608
+ callback(new Error("格式不正确,为数字或英文逗号分隔的数字"));
9609
+ } else {
9610
+ this.isRetryCodeValid = true;
9611
+ callback();
9612
+ }
9613
+ }
9614
+ } else {
9615
+ this.isRetryCodeValid = true;
9616
+ callback();
9617
+ }
9618
+ };
9619
+ InterfaceModal.prototype.onLogSavingEnabledChange = function (value) {
9620
+ this.model.logSavingEnabled = value;
9621
+ };
9622
+ InterfaceModal.prototype.getCategoryList = function () {
9623
+ return __awaiter(this, void 0, void 0, function () {
9624
+ var res, templateData;
9625
+ return __generator(this, function (_a) {
9626
+ switch (_a.label) {
9627
+ case 0:
9628
+ return [4 /*yield*/, this.service.getCategoryList()];
9629
+ case 1:
9630
+ res = _a.sent();
9631
+ if (res && !res.hasError) {
9632
+ templateData = (res === null || res === void 0 ? void 0 : res.result) || [];
9633
+ if (templateData.length > 0) {
9634
+ templateData.forEach(function (item) {
9635
+ if (!item.parentId) {
9636
+ item.parentId = "virtual_root_directory";
9637
+ }
9638
+ });
9639
+ this.categoryList = [__assign(__assign({}, templateData[0]), {
9640
+ id: "virtual_root_directory",
9641
+ children: templateData,
9642
+ name: "全部",
9643
+ expand: true,
9644
+ parentId: null,
9645
+ parentName: null
9646
+ })];
9647
+ } else {
9648
+ this.categoryList = [{
9649
+ id: "virtual_root_directory",
9650
+ children: templateData,
9651
+ name: "全部",
9652
+ expand: true,
9653
+ parentId: null,
9654
+ parentName: null
9655
+ }];
9656
+ }
9657
+ }
9658
+ return [2 /*return*/];
9659
+ }
9660
+ });
9661
+ });
9662
+ };
9663
+ InterfaceModal.prototype.getEgovaApiTree = function () {
9664
+ return __awaiter(this, void 0, void 0, function () {
9665
+ var result;
9666
+ return __generator(this, function (_a) {
9667
+ switch (_a.label) {
9668
+ case 0:
9669
+ return [4 /*yield*/, this.service.getEgovaApiTree()];
9670
+ case 1:
9671
+ result = _a.sent();
9672
+ this.egovaApiTree = (result === null || result === void 0 ? void 0 : result.result) || [];
9673
+ return [2 /*return*/];
9674
+ }
9675
+ });
9676
+ });
9677
+ };
9678
+ InterfaceModal.prototype.getProjectList = function () {
9679
+ return __awaiter(this, void 0, void 0, function () {
9680
+ var result;
9681
+ return __generator(this, function (_a) {
9682
+ switch (_a.label) {
9683
+ case 0:
9684
+ return [4 /*yield*/, this.service.getProjectList()];
9685
+ case 1:
9686
+ result = _a.sent();
9687
+ this.projectList = (result === null || result === void 0 ? void 0 : result.result) || [];
9688
+ return [2 /*return*/];
9689
+ }
9690
+ });
9691
+ });
9692
+ };
9693
+ InterfaceModal.prototype.freshApiTree = function () {
9694
+ var _a, _b;
9695
+ return __awaiter(this, void 0, void 0, function () {
9696
+ var result, listResult;
9697
+ return __generator(this, function (_c) {
9698
+ switch (_c.label) {
9699
+ case 0:
9700
+ if (!this.proxyName) {
9701
+ try {
9702
+ (_b = (_a = this.$refs.configform) === null || _a === void 0 ? void 0 : _a.resetFields) === null || _b === void 0 ? void 0 : _b.call(_a);
9703
+ } catch (error) {
9704
+ console.warn('resetFields 执行失败:', error);
9705
+ }
9706
+ this.resetForm();
9707
+ }
9708
+ ;
9709
+ if (!this.show) {
9710
+ this.readonly = false;
9711
+ this.isAdding = false;
9712
+ this.formTitle = "流程配置详情";
9713
+ this.proxyName = "";
9714
+ return [2 /*return*/];
9715
+ }
9716
+ if (!this.apiModel.projectId || !this.show) return [2 /*return*/];
9717
+ this.apiTree = this.projectTree || [];
9718
+ this.apiModel.typeId = this.info.id;
9719
+ this.onApiTreeSelect(this.info);
9720
+ return [4 /*yield*/, this.service.getApiRequestParams(this.apiModel.typeId)];
9721
+ case 1:
9722
+ result = _c.sent();
9723
+ this.apiParamList = (result === null || result === void 0 ? void 0 : result.result.filter(function (item) {
9724
+ return !item.disabled;
9725
+ })) || [];
9726
+ return [4 /*yield*/, this.service.getProxyNameList(this.info.id)];
9727
+ case 2:
9728
+ listResult = _c.sent();
9729
+ this.proxyList = (listResult === null || listResult === void 0 ? void 0 : listResult.result) || [];
9730
+ return [2 /*return*/];
9731
+ }
9732
+ });
9733
+ });
9734
+ };
9735
+ InterfaceModal.prototype.enableRetryChange = function (newval, oldVal) {
9736
+ var _a, _b;
9737
+ if (newval === "false") {
9738
+ (_a = this.$refs.configform) === null || _a === void 0 ? void 0 : _a.validateField("retryTimes");
9739
+ this.isRetryTimesReadonly = true;
9740
+ this.model.retryTimes = undefined;
9741
+ } else if (newval === "null") {
9742
+ this.model.enableRetry = "false";
9743
+ this.model.retryTimes = undefined;
9744
+ (_b = this.$refs.configform) === null || _b === void 0 ? void 0 : _b.validateField("retryTimes");
9745
+ this.isRetryTimesReadonly = true;
9746
+ } else {
9747
+ this.isRetryTimesReadonly = false;
9748
+ }
9749
+ };
9750
+ InterfaceModal.prototype.resetFields = function () {
9751
+ var _a, _b;
9752
+ if (!this.proxyName && !this.isAdding) return;
9753
+ // 重置表单校验状态
9754
+ try {
9755
+ (_b = (_a = this.$refs.configform) === null || _a === void 0 ? void 0 : _a.resetFields) === null || _b === void 0 ? void 0 : _b.call(_a);
9756
+ } catch (error) {
9757
+ //
9758
+ }
9759
+ this.isAdding && this.resetForm();
9760
+ };
9761
+ InterfaceModal.prototype.onApiTreeSelect = function (data) {
9762
+ var _a;
9763
+ this.apiModel.path = ((_a = data === null || data === void 0 ? void 0 : data.path) !== null && _a !== void 0 ? _a : data === null || data === void 0 ? void 0 : data.url) || "";
9764
+ };
9765
+ InterfaceModal.prototype.selectProxyName = function (node) {
9766
+ this.formTitle = "流程配置详情";
9767
+ var selectedProxy = this.proxyList.filter(function (item) {
9768
+ return item.id === node.id;
9769
+ })[0];
9770
+ this.model = __assign({}, selectedProxy);
9771
+ this.statusCode = this.model.retryCode ? "2" : "1";
9772
+ if (this.model.enableRetry === true) {
9773
+ this.model.enableRetry = "true";
9774
+ } else if (this.model.enableRetry === false) {
9775
+ this.model.enableRetry = "false";
9776
+ }
9777
+ this.isAdding = false;
9778
+ };
9779
+ InterfaceModal.prototype.selectCategory = function (node) {
9780
+ // 将所选的类型id付给当前类型的父id,实现修改分组
9781
+ this.model.categoryId = node.id;
9782
+ };
9783
+ InterfaceModal.prototype.onCopy = function (content) {
9784
+ var oInput = document.createElement("textarea");
9785
+ try {
9786
+ oInput.value = content;
9787
+ document.body.appendChild(oInput);
9788
+ oInput.select();
9789
+ document.execCommand("Copy");
9790
+ this.$message.success("复制成功");
9791
+ } catch (_a) {
9792
+ //
9793
+ } finally {
9794
+ oInput.remove();
9795
+ }
9796
+ };
9797
+ InterfaceModal.prototype.resetForm = function () {
9798
+ this.model = {
9799
+ name: "",
9800
+ code: "",
9801
+ categoryId: "",
9802
+ description: "",
9803
+ retryTimes: "",
9804
+ enableRetry: "false",
9805
+ authFlag: 1,
9806
+ logSavingEnabled: 2
9807
+ };
9808
+ };
9809
+ InterfaceModal.prototype.onAdd = function () {
9810
+ this.isAdding = true;
9811
+ this.statusCode = "1";
9812
+ this.proxyName = "";
9813
+ this.formTitle = "新增流程配置";
9814
+ };
9815
+ __decorate([Object(flagwind_web_["config"])({
9816
+ type: Boolean,
9817
+ default: false
9818
+ })], InterfaceModal.prototype, "value", void 0);
9819
+ __decorate([Object(flagwind_web_["autowired"])(project_detail_service)], InterfaceModal.prototype, "service", void 0);
9820
+ __decorate([Object(flagwind_web_["config"])({
9821
+ type: Boolean,
9822
+ default: false
9823
+ })], InterfaceModal.prototype, "loading", void 0);
9824
+ __decorate([Object(flagwind_web_["config"])({
9825
+ type: Object,
9826
+ default: {}
9827
+ })], InterfaceModal.prototype, "info", void 0);
9828
+ __decorate([Object(flagwind_web_["config"])({
9829
+ type: Array,
9830
+ default: []
9831
+ })], InterfaceModal.prototype, "projectTree", void 0);
9832
+ __decorate([Object(flagwind_web_["watch"])("statusCode", {
9833
+ immediate: true
9834
+ })], InterfaceModal.prototype, "onStatusCodeChange", null);
9835
+ __decorate([Object(flagwind_web_["watch"])("model.authFlag", {
9836
+ immediate: true
9837
+ })], InterfaceModal.prototype, "changeInputStatus", null);
9838
+ __decorate([Object(flagwind_web_["watch"])("show")], InterfaceModal.prototype, "freshApiTree", null);
9839
+ __decorate([Object(flagwind_web_["watch"])("model.enableRetry", {
9840
+ immediate: true
9841
+ })], InterfaceModal.prototype, "enableRetryChange", null);
9842
+ __decorate([Object(flagwind_web_["watch"])("proxyName", {
9843
+ immediate: true
9844
+ }), Object(flagwind_web_["watch"])("isAdding", {
9845
+ immediate: true
9846
+ })], InterfaceModal.prototype, "resetFields", null);
9847
+ InterfaceModal = __decorate([Object(flagwind_web_["component"])({
9848
+ template: __webpack_require__("40aa"),
9849
+ components: {
9850
+ "u-tree-selector": project_combine_tree_selector,
9851
+ "tips-table-label": interface_settings_tips_table_label
9852
+ }
9853
+ })], InterfaceModal);
9854
+ return InterfaceModal;
9855
+ }(flagwind_web_["Component"]);
9856
+ /* harmony default export */ var interface_settings_process_drawer = (process_drawer_InterfaceModal);
9101
9857
  // CONCATENATED MODULE: ./src/views/project-detail/interface-settings/index.ts
9102
9858
 
9103
9859
 
@@ -9119,6 +9875,7 @@ var security_setting_v2_SecuritySettingV2 = /** @class */function (_super) {
9119
9875
 
9120
9876
 
9121
9877
 
9878
+
9122
9879
  var interface_settings_InterfaceSettings = /** @class */function (_super) {
9123
9880
  __extends(InterfaceSettings, _super);
9124
9881
  function InterfaceSettings() {
@@ -9138,6 +9895,7 @@ var interface_settings_InterfaceSettings = /** @class */function (_super) {
9138
9895
  };
9139
9896
  _this.showImportModal = false; // 导入校验名称弹窗
9140
9897
  _this.importObj = {}; // 解析的导入文件数据
9898
+ _this.showDrawer = false;
9141
9899
  _this.typeList = [{
9142
9900
  value: "GET",
9143
9901
  text: "GET"
@@ -9274,6 +10032,22 @@ var interface_settings_InterfaceSettings = /** @class */function (_super) {
9274
10032
  });
9275
10033
  });
9276
10034
  };
10035
+ InterfaceSettings.prototype.onProcessSave = function (submitModel) {
10036
+ return __awaiter(this, void 0, void 0, function () {
10037
+ return __generator(this, function (_a) {
10038
+ switch (_a.label) {
10039
+ case 0:
10040
+ this.loading = true;
10041
+ return [4 /*yield*/, this.service.save(submitModel)];
10042
+ case 1:
10043
+ _a.sent();
10044
+ this.loading = false;
10045
+ this.showDrawer = false;
10046
+ return [2 /*return*/];
10047
+ }
10048
+ });
10049
+ });
10050
+ };
9277
10051
  InterfaceSettings.prototype.onSave = function () {
9278
10052
  return __awaiter(this, void 0, void 0, function () {
9279
10053
  var tmpInterfaceModel;
@@ -9515,6 +10289,9 @@ var interface_settings_InterfaceSettings = /** @class */function (_super) {
9515
10289
  InterfaceSettings.prototype.onScriptMax = function (data) {
9516
10290
  this.scriptView = data;
9517
10291
  };
10292
+ InterfaceSettings.prototype.onProcess = function () {
10293
+ this.showDrawer = true;
10294
+ };
9518
10295
  __decorate([autowired(project_detail_service)], InterfaceSettings.prototype, "service", void 0);
9519
10296
  __decorate([Object(flagwind_web_["config"])({
9520
10297
  default: function () {
@@ -9527,6 +10304,9 @@ var interface_settings_InterfaceSettings = /** @class */function (_super) {
9527
10304
  __decorate([Object(flagwind_web_["config"])({
9528
10305
  default: ""
9529
10306
  })], InterfaceSettings.prototype, "projectId", void 0);
10307
+ __decorate([Object(flagwind_web_["config"])({
10308
+ default: {}
10309
+ })], InterfaceSettings.prototype, "projectTree", void 0);
9530
10310
  __decorate([Object(flagwind_web_["watch"])("interfaceModel", {
9531
10311
  immediate: true
9532
10312
  })], InterfaceSettings.prototype, "interfaceModelChange", null);
@@ -9541,8 +10321,9 @@ var interface_settings_InterfaceSettings = /** @class */function (_super) {
9541
10321
  "pre-execution": project_detail_pre_execution_setting,
9542
10322
  "after-execution-transfer": project_detail_after_execution_transfer,
9543
10323
  "after-execution-script": after_execution_script,
9544
- "v2security": project_detail_security_setting_v2,
9545
- "u-environment-modal": project_detail_environment_variable_modal
10324
+ v2security: project_detail_security_setting_v2,
10325
+ "u-environment-modal": project_detail_environment_variable_modal,
10326
+ "u-process-drawer": interface_settings_process_drawer
9546
10327
  }
9547
10328
  })], InterfaceSettings);
9548
10329
  return InterfaceSettings;
@@ -10361,6 +11142,7 @@ var tree_ProjectTree = /** @class */function (_super) {
10361
11142
  result = _a.sent();
10362
11143
  this.data = (result === null || result === void 0 ? void 0 : result.result) || [];
10363
11144
  data = this.data.$clone();
11145
+ this.$emit("tree-data", data);
10364
11146
  TreeDataUtil.handlerTreeData2(data, "name");
10365
11147
  this.groupTree = data;
10366
11148
  data = this.data.$clone();
@@ -10538,6 +11320,7 @@ var project_detail_ProjectDetail = /** @class */function (_super) {
10538
11320
  spaceBetween: 0
10539
11321
  };
10540
11322
  _this.current = {};
11323
+ _this.projectTree = [];
10541
11324
  return _this;
10542
11325
  }
10543
11326
  ProjectDetail.prototype.onClickSlide = function (index) {
@@ -10818,6 +11601,9 @@ var project_detail_ProjectDetail = /** @class */function (_super) {
10818
11601
  ProjectDetail.prototype.onEnvironmentRefresh = function () {
10819
11602
  this.$refs["interface-settings"] && this.$refs["interface-settings"].getEnvironmentParamList();
10820
11603
  };
11604
+ ProjectDetail.prototype.getTreeData = function (data) {
11605
+ this.projectTree = data;
11606
+ };
10821
11607
  __decorate([autowired(project_detail_service)], ProjectDetail.prototype, "service", void 0);
10822
11608
  ProjectDetail = __decorate([Object(flagwind_web_["component"])({
10823
11609
  name: "ApiProjectDetail",
@@ -11087,6 +11873,13 @@ module.exports = require("brace/snippets/json");
11087
11873
 
11088
11874
  /***/ }),
11089
11875
 
11876
+ /***/ "40aa":
11877
+ /***/ (function(module, exports) {
11878
+
11879
+ module.exports = "<!DOCTYPE html>\r\n<i-drawer\r\n width=\"700\"\r\n draggable\r\n sticky\r\n reset-drag-position\r\n v-model=\"show\"\r\n class=\"interface-modal diy-modal\"\r\n transfer\r\n title=\"已关联流程配置\"\r\n :mask-closable=\"false\"\r\n @on-cancel=\"onCancel\"\r\n>\r\n <div class=\"header\">\r\n <u-tree-selector\r\n :treeData=\"proxyList\"\r\n leaf-name=\"apis\"\r\n v-model=\"proxyName\"\r\n @on-select=\"selectProxyName\"\r\n :canChooseFolder=\"true\"\r\n placeholder=\"请选择代理名称\"\r\n ></u-tree-selector>\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onAdd\">新增配置</i-button>\r\n </div>\r\n\r\n <template v-if=\"proxyName || isAdding \"> \r\n <i-form ref=\"configform\" label-position=\"left\" :label-width=\"125\" label-colon :rules=\"rulesValidate\"\r\n :model=\"model\">\r\n <div class=\"form-title\">{{formTitle}}</div>\r\n <i-form-item v-if=\"isAdding\" label=\"所属分类\" prop=\"categoryId\" class=\"proxy-category-validate\" required>\r\n <u-tree-selector :treeData=\"categoryList\" :canChooseFolder=\"true\" v-model=\"model.categoryId\"\r\n @on-select=\"selectCategory\" placeholder=\"请选择所属分类\"></u-tree-selector>\r\n </i-form-item>\r\n <i-form-item label=\"代理名称\" prop=\"name\" class=\"proxy-name-validate\" required>\r\n <i-input class=\"diy-input\" v-model=\"model.name\" placeholder=\"请输入代理名称\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"proxy-name-validate\" prop=\"code\" label=\"接口编码\" required>\r\n <i-input class=\"diy-input\" v-model=\"model.code\" placeholder=\"请输入接口编码\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"un-required-item copy-item\" label=\"接口地址\">\r\n <i-input class=\"diy-input\" disabled :value=\"url\"></i-input>\r\n <div class=\"set-btn\" @click=\"onCopy(url)\">复制</div>\r\n </i-form-item>\r\n <i-form-item label=\"描述\" prop=\"description\" class=\"proxy-description-validate un-required-item\">\r\n <i-input type=\"textarea\" v-model=\"model.description\" placeholder=\"请输入描述\" :rows=\"2\"></i-input>\r\n </i-form-item>\r\n <i-row class=\"retry-wrap\" style=\"padding-top: 8px\">\r\n <i-col span=\"11\">\r\n <i-form-item class=\"un-required-item copy-item\">\r\n <template #label>\r\n <i-poptip slot=\"label\" trigger=\"hover\"\r\n content=\"日志表会记录请求头、请求参数和响应体,如果内容较多时建议关闭,请求次数频繁比较占数据库资源。选项【失败】仅记录调用失败的日志\" word-wrap\r\n transfer>\r\n <icon style=\"cursor: help; font-size: 0.16rem\" type=\"ios-information-circle-outline\" />\r\n </i-poptip>\r\n <span>记录日志:</span>\r\n </template>\r\n\r\n <i-select class=\"diy-select\" v-model=\"model.logSavingEnabled\"\r\n @on-change=\"onLogSavingEnabledChange\">\r\n <i-option v-for=\"item in loginLevelFlag\" :value=\"item.value\" :key=\"item.value\">{{ item.name\r\n }}</i-option>\r\n </i-select>\r\n </i-form-item>\r\n </i-col>\r\n </i-row>\r\n <template v-if=\"model.logSavingEnabled\">\r\n <i-row class=\"retry-wrap\">\r\n <i-col span=\"11\">\r\n <i-form-item label=\"开启重推\" required>\r\n <i-select class=\"diy-select\" v-model=\"model.enableRetry\">\r\n <i-option v-for=\"(item,index) in isRetryList\" :value=\"item.value\" :key=\"index\">{{\r\n item.name }}</i-option>\r\n </i-select>\r\n </i-form-item>\r\n </i-col>\r\n <i-col span=\"11\">\r\n <i-form-item class=\"un-required-item\" label=\"重推次数\" prop=\"retryTimes\">\r\n <tips-table-label class=\"data-type-tips\" slot=\"label\" label-colon\r\n labelTitle=\"重推次数\"></tips-table-label>\r\n <i-input class=\"diy-input\" type=\"number\"\r\n :disabled=\"isRetryTimesReadonly\" v-model=\"model.retryTimes\"\r\n placeholder=\"请输入重推次数\"></i-input>\r\n </i-form-item>\r\n </i-col>\r\n </i-row>\r\n <i-row v-if=\"model.enableRetry === 'true' \">\r\n <i-col span=\"11\">\r\n <i-form-item class=\"un-required-item status-code\">\r\n <template #label>\r\n <i-poptip slot=\"label\" trigger=\"hover\" content=\"当接口状态码和配置项相同时,才触发重推;多个自定义状态码以英文逗号分隔\"\r\n word-wrap transfer>\r\n <icon style=\"cursor: help; font-size: 0.16rem\"\r\n type=\"ios-information-circle-outline\" />\r\n </i-poptip>\r\n <span>重推接口状态码:</span>\r\n </template>\r\n <i-form-item>\r\n <i-select v-model=\"statusCode\" class=\"diy-select code-select\"\r\n @on-change=\"onStatusCodeChange\">\r\n <i-option v-for=\"item in statusCodeList\" :value=\"item.value\" :key=\"item.value\">{{\r\n item.name }}</i-option>\r\n </i-select>\r\n </i-form-item>\r\n <i-form-item prop=\"retryCode\">\r\n <i-input v-if=\"statusCode === '2'\" class=\"diy-input\" v-model=\"model.retryCode\"\r\n placeholder=\"请输入状态码\"></i-input>\r\n </i-form-item>\r\n </i-form-item>\r\n </i-col>\r\n </i-row>\r\n </template>\r\n\r\n <i-row class=\"retry-wrap\">\r\n <i-col span=\"11\">\r\n <i-form-item label=\"需要认证\" class=\"un-required-item copy-item\">\r\n <i-select class=\"diy-select\" style=\"margin-top: 6px\" v-model=\"model.authFlag\">\r\n <i-option v-for=\"item in authFlag\" :value=\"item.value\" :key=\"item.value\">{{ item.name\r\n }}</i-option>\r\n </i-select>\r\n </i-form-item>\r\n </i-col>\r\n <i-col span=\"11\">\r\n <i-form-item class=\"un-required-item copy-item\">\r\n <template #label>\r\n <i-poptip slot=\"label\" trigger=\"hover\" content=\"使用用户中心token访问该接口时,将校验登陆是否拥有该资源代码的权限\"\r\n word-wrap transfer>\r\n <icon style=\"cursor: help; font-size: 0.16rem\" type=\"ios-information-circle-outline\" />\r\n </i-poptip>\r\n <span>用户中心资源代码:</span>\r\n </template>\r\n <i-input class=\"diy-input\" style=\"margin-top: 6px\" v-model=\"model.resourceCode\"\r\n :disabled=\"!isResourceCodeEnabled\" placeholder=\"请输入用户中心资源代码\"></i-input>\r\n </i-form-item>\r\n </i-col>\r\n </i-row>\r\n <template>\r\n <i-row class=\"retry-wrap\">\r\n <i-col span=\"11\">\r\n <i-form-item label=\"代理类型\">\r\n <i-input class=\"diy-input\" value=\"外部接口\" disabled></i-input>\r\n </i-form-item>\r\n </i-col>\r\n <i-col span=\"11\">\r\n <i-form-item label=\"API项目\">\r\n <i-select disabled class=\"diy-select\" v-model=\"apiModel.projectId\">\r\n <i-option v-for=\"(item,index) in projectList\" :value=\"item.id\" :key=\"item.id\">{{ item.name }}</i-option>\r\n </i-select>\r\n </i-form-item>\r\n </i-col>\r\n </i-row>\r\n <i-form-item label=\"API接口\">\r\n <u-tree-selector readonly :treeData=\"apiTree\" leaf-name=\"apis\" v-model=\"apiModel.typeId\" placeholder=\"请选择API接口\" @on-select=\"onApiTreeSelect\"></u-tree-selector>\r\n </i-form-item>\r\n <i-form-item label=\"接口路径\">\r\n <i-input class=\"diy-input\" :readonly=\"true\" v-model=\"apiModel.path\" :rows=\"4\"></i-input>\r\n </i-form-item>\r\n <i-table class=\"diy-table\" height=\"200\" :columns=\"apiColumns\" :data=\"apiParamList\"> </i-table>\r\n </template>\r\n </i-form>\r\n </template>\r\n <div v-else class=\"no-data\">暂无数据</div>\r\n <div class=\"footer\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" :loading=\"loading\" @click.stop=\"onSave\">保存</i-button>\r\n <i-button class=\"diy-btn-default\" @click.stop=\"onCancel\">取消</i-button>\r\n </div>\r\n</i-drawer>"
11880
+
11881
+ /***/ }),
11882
+
11090
11883
  /***/ "42a3":
11091
11884
  /***/ (function(module, exports, __webpack_require__) {
11092
11885
 
@@ -13795,7 +14588,7 @@ module.exports = "<article class=\"catalog-params\">\r\n <i-table height=\"20
13795
14588
  /***/ "a1f0":
13796
14589
  /***/ (function(module, exports) {
13797
14590
 
13798
- module.exports = "<i-poptip\r\n transfer\r\n class=\"u-tree-selector\"\r\n transfer-class-name=\"u-tree-selector\"\r\n trigger=\"click\"\r\n content=\"content\"\r\n placement=\"bottom\"\r\n :disabled=\"readonly\"\r\n v-model=\"visible\"\r\n>\r\n <i-input\r\n class=\"diy-input\"\r\n :value=\"inputValue\"\r\n @on-change=\"onInputChange\"\r\n readonly\r\n />\r\n <i-icon\r\n v-if=\"inputValue && !readonly\"\r\n class=\"icon-clear-value\"\r\n type=\"ios-close-circle\"\r\n @click.stop=\"onClear\"\r\n />\r\n <i-tree\r\n slot=\"content\"\r\n :data=\"tree\"\r\n :render=\"renderContent\"\r\n @on-select-change=\"onSelectChange\"\r\n ></i-tree>\r\n</i-poptip>\r\n"
14591
+ module.exports = "<i-poptip\r\n transfer\r\n class=\"u-tree-selector\"\r\n transfer-class-name=\"u-tree-selector\"\r\n trigger=\"click\"\r\n content=\"content\"\r\n placement=\"bottom\"\r\n :disabled=\"readonly\"\r\n v-model=\"visible\"\r\n>\r\n <i-input\r\n class=\"diy-input\"\r\n :value=\"inputValue\"\r\n @on-change=\"onInputChange\"\r\n :placeholder=\"placeholder\"\r\n readonly\r\n />\r\n <i-icon\r\n v-if=\"inputValue && !readonly\"\r\n class=\"icon-clear-value\"\r\n type=\"ios-close-circle\"\r\n @click.stop=\"onClear\"\r\n />\r\n <i-tree\r\n slot=\"content\"\r\n :data=\"tree\"\r\n :render=\"renderContent\"\r\n @on-select-change=\"onSelectChange\"\r\n ></i-tree>\r\n</i-poptip>\r\n"
13799
14592
 
13800
14593
  /***/ }),
13801
14594
 
@@ -14486,7 +15279,7 @@ module.exports = function (obj) {
14486
15279
  /***/ "d63e":
14487
15280
  /***/ (function(module, exports) {
14488
15281
 
14489
- 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\" @on-delete-interface=\"onDeleteInterface\" @on-reset=\"onReset\"></u-tree>\r\n <section slot=\"right\" class=\"interface-box\">\r\n <header class=\"interface-bar\">\r\n <swiper class=\"swiper\" :options=\"swiperOption\" @click-slide=\"onClickSlide\" @ready=\"onSwiperReadied\">\r\n <swiper-slide class=\"tag\" @click=\"onClickTag(item)\" :class=\"{'active': item.id === active.id}\" v-for=\"(item,index) in openInterfaceList\" :key=\"item.id\"\r\n ><span>{{item.name}}</span> <i-icon type=\"md-close\" @click.stop=\"onClose(index)\"></i-icon\r\n ></swiper-slide>\r\n </swiper>\r\n <!-- <div class=\"tag\" @click=\"onClickTag(item)\" :class=\"{'active': item.id === active.id}\" v-for=\"(item,index) in openInterfaceList\" :key=\"item.id\">\r\n <span>{{item.name}}</span>\r\n <i-icon type=\"md-close\" @click.stop=\"onClose(index)\"></i-icon>\r\n </div> -->\r\n </header>\r\n <u-settings ref=\"interface-settings\" :interface-model.sync=\"active\" :project-id=\"projectId\" v-if=\"active.id\" :lengthwise=\"lengthwise\"></u-settings>\r\n </section>\r\n </i-split>\r\n <i-spin fix v-show=\"loading\">\r\n <i class=\"spin-icon-load ivu-icon\"></i>\r\n </i-spin>\r\n <!-- </main> -->\r\n <u-global-modal :visiable.sync=\"showGlobalModal\">\r\n <footer slot=\"footer\">\r\n <i-button @click=\"showGlobalModal = false\">取消</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary\">确定</i-button>\r\n </footer>\r\n </u-global-modal>\r\n <u-current-modal :visiable.sync=\"showCurrentModal\"> </u-current-modal>\r\n <u-security-modal v-model=\"showSecurity\" :projectID=\"projectId\"></u-security-modal>\r\n <u-environment-modal :visiable.sync=\"showEnvironmentModal\" :projectId=\"projectId\" @on-refresh=\"onEnvironmentRefresh\"></u-environment-modal>\r\n</article>\r\n"
15282
+ 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\" @on-delete-interface=\"onDeleteInterface\" @on-reset=\"onReset\" @tree-data=\"getTreeData\"></u-tree>\r\n <section slot=\"right\" class=\"interface-box\">\r\n <header class=\"interface-bar\">\r\n <swiper class=\"swiper\" :options=\"swiperOption\" @click-slide=\"onClickSlide\" @ready=\"onSwiperReadied\">\r\n <swiper-slide class=\"tag\" @click=\"onClickTag(item)\" :class=\"{'active': item.id === active.id}\" v-for=\"(item,index) in openInterfaceList\" :key=\"item.id\"\r\n ><span>{{item.name}}</span> <i-icon type=\"md-close\" @click.stop=\"onClose(index)\"></i-icon\r\n ></swiper-slide>\r\n </swiper>\r\n <!-- <div class=\"tag\" @click=\"onClickTag(item)\" :class=\"{'active': item.id === active.id}\" v-for=\"(item,index) in openInterfaceList\" :key=\"item.id\">\r\n <span>{{item.name}}</span>\r\n <i-icon type=\"md-close\" @click.stop=\"onClose(index)\"></i-icon>\r\n </div> -->\r\n </header>\r\n <u-settings ref=\"interface-settings\" :interface-model.sync=\"active\" :project-id=\"projectId\" v-if=\"active.id\" :lengthwise=\"lengthwise\" :projectTree=\"projectTree\"></u-settings>\r\n </section>\r\n </i-split>\r\n <i-spin fix v-show=\"loading\">\r\n <i class=\"spin-icon-load ivu-icon\"></i>\r\n </i-spin>\r\n <!-- </main> -->\r\n <u-global-modal :visiable.sync=\"showGlobalModal\">\r\n <footer slot=\"footer\">\r\n <i-button @click=\"showGlobalModal = false\">取消</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary\">确定</i-button>\r\n </footer>\r\n </u-global-modal>\r\n <u-current-modal :visiable.sync=\"showCurrentModal\"> </u-current-modal>\r\n <u-security-modal v-model=\"showSecurity\" :projectID=\"projectId\"></u-security-modal>\r\n <u-environment-modal :visiable.sync=\"showEnvironmentModal\" :projectId=\"projectId\" @on-refresh=\"onEnvironmentRefresh\"></u-environment-modal>\r\n</article>\r\n"
14490
15283
 
14491
15284
  /***/ }),
14492
15285
 
@@ -14552,6 +15345,13 @@ module.exports = "<div class=\"interface-tree-node\">\r\n <span v-if=\"isLeaf
14552
15345
 
14553
15346
  /***/ }),
14554
15347
 
15348
+ /***/ "dc41":
15349
+ /***/ (function(module, exports) {
15350
+
15351
+ module.exports = "<span>\r\n <i-poptip trigger=\"hover\" :content=\"tips\" word-wrap :width=\"width\" transfer>\r\n <icon\r\n style=\"cursor: help;font-size: 0.16rem;\"\r\n type=\"ios-information-circle-outline\"\r\n />\r\n <div class=\"tips-tabel-label\" slot=\"content\">\r\n <div class=\"tips-tabel-label-text\">\r\n <span>重推次数设定规则:</span>\r\n <span>min(当前时间 - 日志创建时间) >= 2 ^ 重推次数</span>\r\n <span>小于10次时间隔设定为:</span>\r\n <span>第 1 次需间隔 2 ^ 1 = 2 分钟</span>\r\n <span>第 2 次需间隔 2 ^ 2 = 4 分钟</span>\r\n <span>第 3 次需间隔 2 ^ 3 = 8 分钟</span>\r\n <span>第 4 次需间隔 2 ^ 4 = 16 分钟</span>\r\n <span>第 5 次需间隔 2 ^ 5 = 32 分钟</span>\r\n <span>第 6 次需间隔 2 ^ 6 = 64 分钟 1 小时</span>\r\n <span>第 7 次需间隔 2 ^ 7 = 128 分钟 2 小时</span>\r\n <span>第 8 次需间隔 2 ^ 8 = 256 分钟 4.2 小时</span>\r\n <span>第 9 次需间隔 2 ^ 9 = 512 分钟 8.5 小时</span>\r\n <span>第 10 次需间隔 2 ^ 10 = 1024 分钟 17 小时</span>\r\n <span>重推次数大于10次,从第11次开始,每次间隔24h</span>\r\n <span>设定重推次数覆盖范围:</span>\r\n </div>\r\n <i-table class=\"diy-table\" :data=\"data\" :columns=\"columns\"></i-table>\r\n </div>\r\n </i-poptip>\r\n <span>{{labelTitle}}<span v-if=\"labelColon\">:</span></span>\r\n</span>\r\n"
15352
+
15353
+ /***/ }),
15354
+
14555
15355
  /***/ "dd76":
14556
15356
  /***/ (function(module, exports, __webpack_require__) {
14557
15357
 
@@ -15405,7 +16205,7 @@ module.exports = function (bitmap, value) {
15405
16205
  /***/ "f40e":
15406
16206
  /***/ (function(module, exports) {
15407
16207
 
15408
- module.exports = "<article class=\"interface-settings\" :class=\"{'script-max': scriptView}\">\r\n <header v-show=\"!scriptView\">\r\n<!-- <i-input class=\"diy-input\" v-model=\"interfaceModel.info.url\">-->\r\n<!-- <i-select transfer slot=\"prepend\" class=\"diy-select\" v-model=\"interfaceModel.info.method\">-->\r\n<!-- <i-option v-for=\"item in typeList\" :key=\"item.value\" :value=\"item.value\">{{item.text}}</i-option>-->\r\n<!-- </i-select>-->\r\n<!-- </i-input>-->\r\n <i-select class=\"diy-select method-select\" v-model=\"interfaceModel.info.method\">\r\n <i-option v-for=\"item in typeList\" :key=\"item.value\" :value=\"item.value\">{{item.text}}</i-option>\r\n </i-select>\r\n <i-select ref=\"addEnvParamSelect\" class=\"diy-select env-select\" v-model=\"interfaceModel.info.envId\" placeholder=\"请选择环境变量\" clearable>\r\n <i-option v-for=\"item in paramList\" :key=\"item.id\" :value=\"item.id\">{{item.name + \":\" + item.value}}</i-option>\r\n <i-option class=\"add-security-item\" value=\"''\">\r\n <div class=\"add-security-item-content\" @click.stop=\"onAddEnvParam\">\r\n <i class=\"api-icon icon-add\"></i>\r\n <span>新增环境变量</span>\r\n </div>\r\n </i-option>\r\n </i-select>\r\n <i-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 </header>\r\n <main :class=\"{'transverse': !lengthwise}\">\r\n <section class=\"request\">\r\n <div v-show=\"!scriptView\" class=\"request-bar\">\r\n <div\r\n class=\"tag\"\r\n :class=\"{'active': currentRequestSettingType.name.indexOf(item.name) === 0}\"\r\n v-for=\"(item,index) in requertSettingTypeList\"\r\n :key=\"item.name\"\r\n @click=\"onClickRequertSettingTpye(item)\"\r\n >\r\n <span>{{item.title}}</span>\r\n </div>\r\n </div>\r\n <div class=\"request-content\">\r\n <component\r\n :is=\"currentRequestSettingType.name\"\r\n :lengthwise=\"lengthwise\"\r\n :interface-model=\"interfaceModel\"\r\n :response=\"response\"\r\n :key=\"interfaceModel.info.id + currentRequestSettingType.name\"\r\n :projectID=\"projectId\"\r\n :currentSecurityID=\"currentId\"\r\n :errorLine=\"!originId || originId === interfaceModel.info.id ? errorLine : []\"\r\n :formData=\"formData\"\r\n @on-current-id=\"onCurrentId\"\r\n @on-script-run=\"onScriptRun\"\r\n @on-script-save=\"onSave\"\r\n @on-script-max=\"onScriptMax\"\r\n ></component>\r\n </div>\r\n </section>\r\n <response :key=\"interfaceModel.info.id + 'response'\" :lengthwise=\"lengthwise\" :response=\"response\"></response>\r\n </main>\r\n <i-spin fix v-show=\"loading\">\r\n <i class=\"spin-icon-load ivu-icon\"></i>\r\n </i-spin>\r\n <u-environment-modal :visiable.sync=\"showEnvironmentModal\" :projectId=\"projectId\" @on-refresh=\"getEnvironmentParamList\" :isAdd=\"true\"></u-environment-modal>\r\n <i-modal class=\"diy-modal edit-import-name\" v-model=\"showImportModal\" :mask-closable=\"false\">\r\n <p slot=\"header\">编辑名称</p>\r\n <i-form ref=\"import\" :model=\"apiForm\" :rules=\"rules\">\r\n <i-form-item label=\"环境变量:\" prop=\"envName\">\r\n <i-input v-model=\"apiForm.envName\"></i-input>\r\n </i-form-item>\r\n\r\n <i-form-item label=\"授权:\" prop=\"authName\">\r\n <i-input v-model=\"apiForm.authName\"></i-input>\r\n </i-form-item>\r\n </i-form>\r\n <div class=\"handle-btn\" slot=\"footer\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click.stop=\"saveImportData(importObj)\">确定</i-button>\r\n <i-button class=\"diy-btn-text\" @click.stop=\"cancleModify\">取消</i-button>\r\n </div>\r\n </i-modal>\r\n</article>\r\n"
16208
+ module.exports = "<article class=\"interface-settings\" :class=\"{'script-max': scriptView}\">\r\n <header v-show=\"!scriptView\">\r\n <!-- <i-input class=\"diy-input\" v-model=\"interfaceModel.info.url\">-->\r\n <!-- <i-select transfer slot=\"prepend\" class=\"diy-select\" v-model=\"interfaceModel.info.method\">-->\r\n <!-- <i-option v-for=\"item in typeList\" :key=\"item.value\" :value=\"item.value\">{{item.text}}</i-option>-->\r\n <!-- </i-select>-->\r\n <!-- </i-input>-->\r\n <i-select class=\"diy-select method-select\" v-model=\"interfaceModel.info.method\">\r\n <i-option v-for=\"item in typeList\" :key=\"item.value\" :value=\"item.value\">{{item.text}}</i-option>\r\n </i-select>\r\n <i-select ref=\"addEnvParamSelect\" class=\"diy-select env-select\" v-model=\"interfaceModel.info.envId\" placeholder=\"请选择环境变量\" clearable>\r\n <i-option v-for=\"item in paramList\" :key=\"item.id\" :value=\"item.id\">{{item.name + \":\" + item.value}}</i-option>\r\n <i-option class=\"add-security-item\" value=\"''\">\r\n <div class=\"add-security-item-content\" @click.stop=\"onAddEnvParam\">\r\n <i class=\"api-icon icon-add\"></i>\r\n <span>新增环境变量</span>\r\n </div>\r\n </i-option>\r\n </i-select>\r\n <i-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 process-btn\" @click=\"onProcess\" ghost>流程配置</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary his-btn\" @click=\"onVersion\" ghost>查看历史版本</i-button>\r\n <i class=\"export iconfont icon-xiazai\" title=\"导出\" type=\"md-download\" @click=\"onExport\"></i>\r\n <i-upload action=\"\" :before-upload=\"onImport\" :show-upload-list=\"false\">\r\n <i class=\"import iconfont icon-shangchuan\" title=\"导入\" type=\"md-cloud-upload\"></i>\r\n </i-upload>\r\n </header>\r\n <main :class=\"{'transverse': !lengthwise}\">\r\n <section class=\"request\">\r\n <div v-show=\"!scriptView\" class=\"request-bar\">\r\n <div\r\n class=\"tag\"\r\n :class=\"{'active': currentRequestSettingType.name.indexOf(item.name) === 0}\"\r\n v-for=\"(item,index) in requertSettingTypeList\"\r\n :key=\"item.name\"\r\n @click=\"onClickRequertSettingTpye(item)\"\r\n >\r\n <span>{{item.title}}</span>\r\n </div>\r\n </div>\r\n <div class=\"request-content\">\r\n <component\r\n :is=\"currentRequestSettingType.name\"\r\n :lengthwise=\"lengthwise\"\r\n :interface-model=\"interfaceModel\"\r\n :response=\"response\"\r\n :key=\"interfaceModel.info.id + currentRequestSettingType.name\"\r\n :projectID=\"projectId\"\r\n :currentSecurityID=\"currentId\"\r\n :errorLine=\"!originId || originId === interfaceModel.info.id ? errorLine : []\"\r\n :formData=\"formData\"\r\n @on-current-id=\"onCurrentId\"\r\n @on-script-run=\"onScriptRun\"\r\n @on-script-save=\"onSave\"\r\n @on-script-max=\"onScriptMax\"\r\n ></component>\r\n </div>\r\n </section>\r\n <response :key=\"interfaceModel.info.id + 'response'\" :lengthwise=\"lengthwise\" :response=\"response\"></response>\r\n </main>\r\n <i-spin fix v-show=\"loading\">\r\n <i class=\"spin-icon-load ivu-icon\"></i>\r\n </i-spin>\r\n <u-environment-modal :visiable.sync=\"showEnvironmentModal\" :projectId=\"projectId\" @on-refresh=\"getEnvironmentParamList\" :isAdd=\"true\"></u-environment-modal>\r\n <i-modal class=\"diy-modal edit-import-name\" v-model=\"showImportModal\" :mask-closable=\"false\">\r\n <p slot=\"header\">编辑名称</p>\r\n <i-form ref=\"import\" :model=\"apiForm\" :rules=\"rules\">\r\n <i-form-item label=\"环境变量:\" prop=\"envName\">\r\n <i-input v-model=\"apiForm.envName\"></i-input>\r\n </i-form-item>\r\n\r\n <i-form-item label=\"授权:\" prop=\"authName\">\r\n <i-input v-model=\"apiForm.authName\"></i-input>\r\n </i-form-item>\r\n </i-form>\r\n <div class=\"handle-btn\" slot=\"footer\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click.stop=\"saveImportData(importObj)\">确定</i-button>\r\n <i-button class=\"diy-btn-text\" @click.stop=\"cancleModify\">取消</i-button>\r\n </div>\r\n </i-modal>\r\n <u-process-drawer v-model=\"showDrawer\" :projectTree=\"projectTree\" :info=\"interfaceModel.info\" @on-save=\"onProcessSave\"></u-process-drawer>\r\n</article>\r\n"
15409
16209
 
15410
16210
  /***/ }),
15411
16211