@tuoyuan/module-page-select 1.0.8 → 1.1.0
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/module-page-select.common.js +324 -16
- package/dist/module-page-select.common.js.map +1 -1
- package/dist/module-page-select.umd.js +324 -16
- package/dist/module-page-select.umd.js.map +1 -1
- package/dist/module-page-select.umd.min.js +1 -1
- package/dist/module-page-select.umd.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/******/ (function() { // webpackBootstrap
|
|
2
2
|
/******/ var __webpack_modules__ = ({
|
|
3
3
|
|
|
4
|
-
/***/
|
|
4
|
+
/***/ 2189:
|
|
5
5
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
6
6
|
|
|
7
7
|
"use strict";
|
|
@@ -15,7 +15,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
15
15
|
|
|
16
16
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
|
|
17
17
|
// Module
|
|
18
|
-
___CSS_LOADER_EXPORT___.push([module.id, ".module-page-select[data-v-
|
|
18
|
+
___CSS_LOADER_EXPORT___.push([module.id, ".module-page-select[data-v-65efbb12]{width:100%}.selection-preview[data-v-65efbb12]{margin-top:8px;padding:8px 12px;background:#f0f9ff;border:1px solid #91d5ff;border-radius:4px;font-size:13px}.preview-label[data-v-65efbb12]{color:#666;font-size:12px;margin-bottom:4px}.preview-value[data-v-65efbb12]{color:#1890ff;font-weight:500}.config-form[data-v-65efbb12]{margin-top:16px}", ""]);
|
|
19
19
|
// Exports
|
|
20
20
|
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
|
21
21
|
|
|
@@ -148,19 +148,19 @@ exports.A = (sfc, props) => {
|
|
|
148
148
|
|
|
149
149
|
/***/ }),
|
|
150
150
|
|
|
151
|
-
/***/
|
|
151
|
+
/***/ 6344:
|
|
152
152
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
153
153
|
|
|
154
154
|
// style-loader: Adds some css to the DOM by adding a <style> tag
|
|
155
155
|
|
|
156
156
|
// load the styles
|
|
157
|
-
var content = __webpack_require__(
|
|
157
|
+
var content = __webpack_require__(2189);
|
|
158
158
|
if(content.__esModule) content = content.default;
|
|
159
159
|
if(typeof content === 'string') content = [[module.id, content, '']];
|
|
160
160
|
if(content.locals) module.exports = content.locals;
|
|
161
161
|
// add the styles to the DOM
|
|
162
162
|
var add = (__webpack_require__(8459)/* ["default"] */ .A)
|
|
163
|
-
var update = add("
|
|
163
|
+
var update = add("103ad866", content, true, {"sourceMap":false,"shadowMode":false});
|
|
164
164
|
|
|
165
165
|
/***/ }),
|
|
166
166
|
|
|
@@ -3279,6 +3279,277 @@ $({ target: 'Iterator', proto: true, real: true, forced: someWithoutClosingOnEar
|
|
|
3279
3279
|
});
|
|
3280
3280
|
|
|
3281
3281
|
|
|
3282
|
+
/***/ }),
|
|
3283
|
+
|
|
3284
|
+
/***/ 9112:
|
|
3285
|
+
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
3286
|
+
|
|
3287
|
+
"use strict";
|
|
3288
|
+
|
|
3289
|
+
var $ = __webpack_require__(6518);
|
|
3290
|
+
var DESCRIPTORS = __webpack_require__(3724);
|
|
3291
|
+
var globalThis = __webpack_require__(4576);
|
|
3292
|
+
var getBuiltIn = __webpack_require__(7751);
|
|
3293
|
+
var uncurryThis = __webpack_require__(9504);
|
|
3294
|
+
var call = __webpack_require__(9565);
|
|
3295
|
+
var isCallable = __webpack_require__(4901);
|
|
3296
|
+
var isObject = __webpack_require__(34);
|
|
3297
|
+
var isArray = __webpack_require__(4376);
|
|
3298
|
+
var hasOwn = __webpack_require__(9297);
|
|
3299
|
+
var toString = __webpack_require__(655);
|
|
3300
|
+
var lengthOfArrayLike = __webpack_require__(6198);
|
|
3301
|
+
var createProperty = __webpack_require__(4659);
|
|
3302
|
+
var fails = __webpack_require__(9039);
|
|
3303
|
+
var parseJSONString = __webpack_require__(8235);
|
|
3304
|
+
var NATIVE_SYMBOL = __webpack_require__(4495);
|
|
3305
|
+
|
|
3306
|
+
var JSON = globalThis.JSON;
|
|
3307
|
+
var Number = globalThis.Number;
|
|
3308
|
+
var SyntaxError = globalThis.SyntaxError;
|
|
3309
|
+
var nativeParse = JSON && JSON.parse;
|
|
3310
|
+
var enumerableOwnProperties = getBuiltIn('Object', 'keys');
|
|
3311
|
+
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
|
3312
|
+
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
|
3313
|
+
var at = uncurryThis(''.charAt);
|
|
3314
|
+
var slice = uncurryThis(''.slice);
|
|
3315
|
+
var exec = uncurryThis(/./.exec);
|
|
3316
|
+
var push = uncurryThis([].push);
|
|
3317
|
+
|
|
3318
|
+
var IS_DIGIT = /^\d$/;
|
|
3319
|
+
var IS_NON_ZERO_DIGIT = /^[1-9]$/;
|
|
3320
|
+
var IS_NUMBER_START = /^[\d-]$/;
|
|
3321
|
+
var IS_WHITESPACE = /^[\t\n\r ]$/;
|
|
3322
|
+
|
|
3323
|
+
var PRIMITIVE = 0;
|
|
3324
|
+
var OBJECT = 1;
|
|
3325
|
+
|
|
3326
|
+
var $parse = function (source, reviver) {
|
|
3327
|
+
source = toString(source);
|
|
3328
|
+
var context = new Context(source, 0, '');
|
|
3329
|
+
var root = context.parse();
|
|
3330
|
+
var value = root.value;
|
|
3331
|
+
var endIndex = context.skip(IS_WHITESPACE, root.end);
|
|
3332
|
+
if (endIndex < source.length) {
|
|
3333
|
+
throw new SyntaxError('Unexpected extra character: "' + at(source, endIndex) + '" after the parsed data at: ' + endIndex);
|
|
3334
|
+
}
|
|
3335
|
+
return isCallable(reviver) ? internalize({ '': value }, '', reviver, root) : value;
|
|
3336
|
+
};
|
|
3337
|
+
|
|
3338
|
+
var internalize = function (holder, name, reviver, node) {
|
|
3339
|
+
var val = holder[name];
|
|
3340
|
+
var unmodified = node && val === node.value;
|
|
3341
|
+
var context = unmodified && typeof node.source == 'string' ? { source: node.source } : {};
|
|
3342
|
+
var elementRecordsLen, keys, len, i, P;
|
|
3343
|
+
if (isObject(val)) {
|
|
3344
|
+
var nodeIsArray = isArray(val);
|
|
3345
|
+
var nodes = unmodified ? node.nodes : nodeIsArray ? [] : {};
|
|
3346
|
+
if (nodeIsArray) {
|
|
3347
|
+
elementRecordsLen = nodes.length;
|
|
3348
|
+
len = lengthOfArrayLike(val);
|
|
3349
|
+
for (i = 0; i < len; i++) {
|
|
3350
|
+
internalizeProperty(val, i, internalize(val, '' + i, reviver, i < elementRecordsLen ? nodes[i] : undefined));
|
|
3351
|
+
}
|
|
3352
|
+
} else {
|
|
3353
|
+
keys = enumerableOwnProperties(val);
|
|
3354
|
+
len = lengthOfArrayLike(keys);
|
|
3355
|
+
for (i = 0; i < len; i++) {
|
|
3356
|
+
P = keys[i];
|
|
3357
|
+
internalizeProperty(val, P, internalize(val, P, reviver, hasOwn(nodes, P) ? nodes[P] : undefined));
|
|
3358
|
+
}
|
|
3359
|
+
}
|
|
3360
|
+
}
|
|
3361
|
+
return call(reviver, holder, name, val, context);
|
|
3362
|
+
};
|
|
3363
|
+
|
|
3364
|
+
var internalizeProperty = function (object, key, value) {
|
|
3365
|
+
if (DESCRIPTORS) {
|
|
3366
|
+
var descriptor = getOwnPropertyDescriptor(object, key);
|
|
3367
|
+
if (descriptor && !descriptor.configurable) return;
|
|
3368
|
+
}
|
|
3369
|
+
if (value === undefined) delete object[key];
|
|
3370
|
+
else createProperty(object, key, value);
|
|
3371
|
+
};
|
|
3372
|
+
|
|
3373
|
+
var Node = function (value, end, source, nodes) {
|
|
3374
|
+
this.value = value;
|
|
3375
|
+
this.end = end;
|
|
3376
|
+
this.source = source;
|
|
3377
|
+
this.nodes = nodes;
|
|
3378
|
+
};
|
|
3379
|
+
|
|
3380
|
+
var Context = function (source, index) {
|
|
3381
|
+
this.source = source;
|
|
3382
|
+
this.index = index;
|
|
3383
|
+
};
|
|
3384
|
+
|
|
3385
|
+
// https://www.json.org/json-en.html
|
|
3386
|
+
Context.prototype = {
|
|
3387
|
+
fork: function (nextIndex) {
|
|
3388
|
+
return new Context(this.source, nextIndex);
|
|
3389
|
+
},
|
|
3390
|
+
parse: function () {
|
|
3391
|
+
var source = this.source;
|
|
3392
|
+
var i = this.skip(IS_WHITESPACE, this.index);
|
|
3393
|
+
var fork = this.fork(i);
|
|
3394
|
+
var chr = at(source, i);
|
|
3395
|
+
if (exec(IS_NUMBER_START, chr)) return fork.number();
|
|
3396
|
+
switch (chr) {
|
|
3397
|
+
case '{':
|
|
3398
|
+
return fork.object();
|
|
3399
|
+
case '[':
|
|
3400
|
+
return fork.array();
|
|
3401
|
+
case '"':
|
|
3402
|
+
return fork.string();
|
|
3403
|
+
case 't':
|
|
3404
|
+
return fork.keyword(true);
|
|
3405
|
+
case 'f':
|
|
3406
|
+
return fork.keyword(false);
|
|
3407
|
+
case 'n':
|
|
3408
|
+
return fork.keyword(null);
|
|
3409
|
+
} throw new SyntaxError('Unexpected character: "' + chr + '" at: ' + i);
|
|
3410
|
+
},
|
|
3411
|
+
node: function (type, value, start, end, nodes) {
|
|
3412
|
+
return new Node(value, end, type ? null : slice(this.source, start, end), nodes);
|
|
3413
|
+
},
|
|
3414
|
+
object: function () {
|
|
3415
|
+
var source = this.source;
|
|
3416
|
+
var i = this.index + 1;
|
|
3417
|
+
var expectKeypair = false;
|
|
3418
|
+
var object = {};
|
|
3419
|
+
var nodes = {};
|
|
3420
|
+
var closed = false;
|
|
3421
|
+
while (i < source.length) {
|
|
3422
|
+
i = this.until(['"', '}'], i);
|
|
3423
|
+
if (at(source, i) === '}' && !expectKeypair) {
|
|
3424
|
+
i++;
|
|
3425
|
+
closed = true;
|
|
3426
|
+
break;
|
|
3427
|
+
}
|
|
3428
|
+
// Parsing the key
|
|
3429
|
+
var result = this.fork(i).string();
|
|
3430
|
+
var key = result.value;
|
|
3431
|
+
i = result.end;
|
|
3432
|
+
i = this.until([':'], i) + 1;
|
|
3433
|
+
// Parsing value
|
|
3434
|
+
i = this.skip(IS_WHITESPACE, i);
|
|
3435
|
+
result = this.fork(i).parse();
|
|
3436
|
+
createProperty(nodes, key, result);
|
|
3437
|
+
createProperty(object, key, result.value);
|
|
3438
|
+
i = this.until([',', '}'], result.end);
|
|
3439
|
+
var chr = at(source, i);
|
|
3440
|
+
if (chr === ',') {
|
|
3441
|
+
expectKeypair = true;
|
|
3442
|
+
i++;
|
|
3443
|
+
} else if (chr === '}') {
|
|
3444
|
+
i++;
|
|
3445
|
+
closed = true;
|
|
3446
|
+
break;
|
|
3447
|
+
}
|
|
3448
|
+
}
|
|
3449
|
+
if (!closed) throw new SyntaxError('Unterminated object at: ' + i);
|
|
3450
|
+
return this.node(OBJECT, object, this.index, i, nodes);
|
|
3451
|
+
},
|
|
3452
|
+
array: function () {
|
|
3453
|
+
var source = this.source;
|
|
3454
|
+
var i = this.index + 1;
|
|
3455
|
+
var expectElement = false;
|
|
3456
|
+
var array = [];
|
|
3457
|
+
var nodes = [];
|
|
3458
|
+
var closed = false;
|
|
3459
|
+
while (i < source.length) {
|
|
3460
|
+
i = this.skip(IS_WHITESPACE, i);
|
|
3461
|
+
if (at(source, i) === ']' && !expectElement) {
|
|
3462
|
+
i++;
|
|
3463
|
+
closed = true;
|
|
3464
|
+
break;
|
|
3465
|
+
}
|
|
3466
|
+
var result = this.fork(i).parse();
|
|
3467
|
+
push(nodes, result);
|
|
3468
|
+
push(array, result.value);
|
|
3469
|
+
i = this.until([',', ']'], result.end);
|
|
3470
|
+
if (at(source, i) === ',') {
|
|
3471
|
+
expectElement = true;
|
|
3472
|
+
i++;
|
|
3473
|
+
} else if (at(source, i) === ']') {
|
|
3474
|
+
i++;
|
|
3475
|
+
closed = true;
|
|
3476
|
+
break;
|
|
3477
|
+
}
|
|
3478
|
+
}
|
|
3479
|
+
if (!closed) throw new SyntaxError('Unterminated array at: ' + i);
|
|
3480
|
+
return this.node(OBJECT, array, this.index, i, nodes);
|
|
3481
|
+
},
|
|
3482
|
+
string: function () {
|
|
3483
|
+
var index = this.index;
|
|
3484
|
+
var parsed = parseJSONString(this.source, this.index + 1);
|
|
3485
|
+
return this.node(PRIMITIVE, parsed.value, index, parsed.end);
|
|
3486
|
+
},
|
|
3487
|
+
number: function () {
|
|
3488
|
+
var source = this.source;
|
|
3489
|
+
var startIndex = this.index;
|
|
3490
|
+
var i = startIndex;
|
|
3491
|
+
if (at(source, i) === '-') i++;
|
|
3492
|
+
if (at(source, i) === '0') i++;
|
|
3493
|
+
else if (exec(IS_NON_ZERO_DIGIT, at(source, i))) i = this.skip(IS_DIGIT, i + 1);
|
|
3494
|
+
else throw new SyntaxError('Failed to parse number at: ' + i);
|
|
3495
|
+
if (at(source, i) === '.') {
|
|
3496
|
+
var fractionStartIndex = i + 1;
|
|
3497
|
+
i = this.skip(IS_DIGIT, fractionStartIndex);
|
|
3498
|
+
if (fractionStartIndex === i) throw new SyntaxError("Failed to parse number's fraction at: " + i);
|
|
3499
|
+
}
|
|
3500
|
+
if (at(source, i) === 'e' || at(source, i) === 'E') {
|
|
3501
|
+
i++;
|
|
3502
|
+
if (at(source, i) === '+' || at(source, i) === '-') i++;
|
|
3503
|
+
var exponentStartIndex = i;
|
|
3504
|
+
i = this.skip(IS_DIGIT, i);
|
|
3505
|
+
if (exponentStartIndex === i) throw new SyntaxError("Failed to parse number's exponent value at: " + i);
|
|
3506
|
+
}
|
|
3507
|
+
return this.node(PRIMITIVE, Number(slice(source, startIndex, i)), startIndex, i);
|
|
3508
|
+
},
|
|
3509
|
+
keyword: function (value) {
|
|
3510
|
+
var keyword = '' + value;
|
|
3511
|
+
var index = this.index;
|
|
3512
|
+
var endIndex = index + keyword.length;
|
|
3513
|
+
if (slice(this.source, index, endIndex) !== keyword) throw new SyntaxError('Failed to parse value at: ' + index);
|
|
3514
|
+
return this.node(PRIMITIVE, value, index, endIndex);
|
|
3515
|
+
},
|
|
3516
|
+
skip: function (regex, i) {
|
|
3517
|
+
var source = this.source;
|
|
3518
|
+
for (; i < source.length; i++) if (!exec(regex, at(source, i))) break;
|
|
3519
|
+
return i;
|
|
3520
|
+
},
|
|
3521
|
+
until: function (array, i) {
|
|
3522
|
+
i = this.skip(IS_WHITESPACE, i);
|
|
3523
|
+
var chr = at(this.source, i);
|
|
3524
|
+
for (var j = 0; j < array.length; j++) if (array[j] === chr) return i;
|
|
3525
|
+
throw new SyntaxError('Unexpected character: "' + chr + '" at: ' + i);
|
|
3526
|
+
}
|
|
3527
|
+
};
|
|
3528
|
+
|
|
3529
|
+
var NO_SOURCE_SUPPORT = fails(function () {
|
|
3530
|
+
var unsafeInt = '9007199254740993';
|
|
3531
|
+
var source;
|
|
3532
|
+
nativeParse(unsafeInt, function (key, value, context) {
|
|
3533
|
+
source = context.source;
|
|
3534
|
+
});
|
|
3535
|
+
return source !== unsafeInt;
|
|
3536
|
+
});
|
|
3537
|
+
|
|
3538
|
+
var PROPER_BASE_PARSE = NATIVE_SYMBOL && !fails(function () {
|
|
3539
|
+
// Safari 9 bug
|
|
3540
|
+
return 1 / nativeParse('-0 \t') !== -Infinity;
|
|
3541
|
+
});
|
|
3542
|
+
|
|
3543
|
+
// `JSON.parse` method
|
|
3544
|
+
// https://tc39.es/ecma262/#sec-json.parse
|
|
3545
|
+
// https://github.com/tc39/proposal-json-parse-with-source
|
|
3546
|
+
$({ target: 'JSON', stat: true, forced: NO_SOURCE_SUPPORT }, {
|
|
3547
|
+
parse: function parse(text, reviver) {
|
|
3548
|
+
return PROPER_BASE_PARSE && !isCallable(reviver) ? nativeParse(text) : $parse(text, reviver);
|
|
3549
|
+
}
|
|
3550
|
+
});
|
|
3551
|
+
|
|
3552
|
+
|
|
3282
3553
|
/***/ }),
|
|
3283
3554
|
|
|
3284
3555
|
/***/ 3110:
|
|
@@ -3541,7 +3812,7 @@ if (typeof window !== 'undefined') {
|
|
|
3541
3812
|
|
|
3542
3813
|
;// external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
|
|
3543
3814
|
var external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject = require("vue");
|
|
3544
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ModulePageSelect.vue?vue&type=template&id=
|
|
3815
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ModulePageSelect.vue?vue&type=template&id=65efbb12&scoped=true
|
|
3545
3816
|
|
|
3546
3817
|
const _hoisted_1 = {
|
|
3547
3818
|
class: "module-page-select"
|
|
@@ -3692,7 +3963,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3692
3963
|
_: 1
|
|
3693
3964
|
})]);
|
|
3694
3965
|
}
|
|
3695
|
-
;// ./src/components/ModulePageSelect.vue?vue&type=template&id=
|
|
3966
|
+
;// ./src/components/ModulePageSelect.vue?vue&type=template&id=65efbb12&scoped=true
|
|
3696
3967
|
|
|
3697
3968
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
|
|
3698
3969
|
var es_iterator_constructor = __webpack_require__(8111);
|
|
@@ -3704,6 +3975,8 @@ var es_iterator_for_each = __webpack_require__(7588);
|
|
|
3704
3975
|
var es_iterator_map = __webpack_require__(1701);
|
|
3705
3976
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.some.js
|
|
3706
3977
|
var es_iterator_some = __webpack_require__(3579);
|
|
3978
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.json.parse.js
|
|
3979
|
+
var es_json_parse = __webpack_require__(9112);
|
|
3707
3980
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.json.stringify.js
|
|
3708
3981
|
var es_json_stringify = __webpack_require__(3110);
|
|
3709
3982
|
;// external {"commonjs":"@tuoyuan/gateway-request-lib","commonjs2":"@tuoyuan/gateway-request-lib","root":"GatewayRequestLib"}
|
|
@@ -3716,6 +3989,7 @@ var gateway_request_lib_root_GatewayRequestLib_namespaceObject = require("@tuoyu
|
|
|
3716
3989
|
|
|
3717
3990
|
|
|
3718
3991
|
|
|
3992
|
+
|
|
3719
3993
|
/* harmony default export */ var ModulePageSelectvue_type_script_lang_js = ({
|
|
3720
3994
|
name: 'ModulePageSelect',
|
|
3721
3995
|
props: {
|
|
@@ -4095,7 +4369,12 @@ var gateway_request_lib_root_GatewayRequestLib_namespaceObject = require("@tuoyu
|
|
|
4095
4369
|
if (field.parentKey && field.subKey) {
|
|
4096
4370
|
return this.formData[field.parentKey]?.[field.subKey] ?? '';
|
|
4097
4371
|
}
|
|
4098
|
-
|
|
4372
|
+
const value = this.formData[key];
|
|
4373
|
+
// 如果是数组类型,转换为 JSON 字符串显示
|
|
4374
|
+
if (field.type === 'textarea' && Array.isArray(value)) {
|
|
4375
|
+
return JSON.stringify(value, null, 2);
|
|
4376
|
+
}
|
|
4377
|
+
return value ?? '';
|
|
4099
4378
|
},
|
|
4100
4379
|
// 设置嵌套字段的值(Vue 3 直接赋值即可响应)
|
|
4101
4380
|
setNestedValue(key, field, value) {
|
|
@@ -4105,18 +4384,47 @@ var gateway_request_lib_root_GatewayRequestLib_namespaceObject = require("@tuoyu
|
|
|
4105
4384
|
}
|
|
4106
4385
|
this.formData[field.parentKey][field.subKey] = value;
|
|
4107
4386
|
} else {
|
|
4108
|
-
|
|
4387
|
+
// 如果是数组类型的字段,尝试解析 JSON
|
|
4388
|
+
if (field.type === 'textarea' && typeof value === 'string') {
|
|
4389
|
+
try {
|
|
4390
|
+
this.formData[key] = JSON.parse(value);
|
|
4391
|
+
} catch (e) {
|
|
4392
|
+
// 解析失败,保存原始字符串
|
|
4393
|
+
this.formData[key] = value;
|
|
4394
|
+
}
|
|
4395
|
+
} else {
|
|
4396
|
+
this.formData[key] = value;
|
|
4397
|
+
}
|
|
4109
4398
|
}
|
|
4110
4399
|
},
|
|
4111
|
-
// 解析配置 schema(基于 JSON Schema)- 支持嵌套的 object 类型
|
|
4400
|
+
// 解析配置 schema(基于 JSON Schema)- 支持嵌套的 object 和 array 类型
|
|
4112
4401
|
parseConfigSchema(schema) {
|
|
4113
4402
|
const fields = {};
|
|
4114
4403
|
if (schema.properties) {
|
|
4115
4404
|
Object.keys(schema.properties).forEach(key => {
|
|
4116
4405
|
const prop = schema.properties[key];
|
|
4117
4406
|
|
|
4407
|
+
// 如果是数组类型,使用 textarea 让用户输入 JSON
|
|
4408
|
+
if (prop.type === 'array') {
|
|
4409
|
+
let placeholder = prop.description || '请输入JSON格式的数组';
|
|
4410
|
+
// 如果数组的 items 有定义,提供示例
|
|
4411
|
+
if (prop.items && prop.items.type === 'object' && prop.items.properties) {
|
|
4412
|
+
const example = {};
|
|
4413
|
+
Object.keys(prop.items.properties).forEach(itemKey => {
|
|
4414
|
+
const itemProp = prop.items.properties[itemKey];
|
|
4415
|
+
example[itemKey] = itemProp.title || itemKey;
|
|
4416
|
+
});
|
|
4417
|
+
placeholder = `${prop.description || ''}\n示例格式:\n${JSON.stringify([example], null, 2)}`;
|
|
4418
|
+
}
|
|
4419
|
+
fields[key] = {
|
|
4420
|
+
label: prop.title || key,
|
|
4421
|
+
type: 'textarea',
|
|
4422
|
+
placeholder: placeholder,
|
|
4423
|
+
default: prop.default || []
|
|
4424
|
+
};
|
|
4425
|
+
}
|
|
4118
4426
|
// 如果是嵌套的 object 类型,递归解析其子字段
|
|
4119
|
-
if (prop.type === 'object' && prop.properties) {
|
|
4427
|
+
else if (prop.type === 'object' && prop.properties) {
|
|
4120
4428
|
Object.keys(prop.properties).forEach(subKey => {
|
|
4121
4429
|
const subProp = prop.properties[subKey];
|
|
4122
4430
|
// 使用 "parentKey.subKey" 作为表单字段的 key
|
|
@@ -4136,7 +4444,7 @@ var gateway_request_lib_root_GatewayRequestLib_namespaceObject = require("@tuoyu
|
|
|
4136
4444
|
};
|
|
4137
4445
|
});
|
|
4138
4446
|
} else {
|
|
4139
|
-
// 非 object 类型,直接解析
|
|
4447
|
+
// 非 object/array 类型,直接解析
|
|
4140
4448
|
fields[key] = {
|
|
4141
4449
|
label: prop.title || key,
|
|
4142
4450
|
type: this.mapSchemaType(prop.type),
|
|
@@ -4221,9 +4529,9 @@ var gateway_request_lib_root_GatewayRequestLib_namespaceObject = require("@tuoyu
|
|
|
4221
4529
|
});
|
|
4222
4530
|
;// ./src/components/ModulePageSelect.vue?vue&type=script&lang=js
|
|
4223
4531
|
|
|
4224
|
-
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ModulePageSelect.vue?vue&type=style&index=0&id=
|
|
4225
|
-
var
|
|
4226
|
-
;// ./src/components/ModulePageSelect.vue?vue&type=style&index=0&id=
|
|
4532
|
+
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ModulePageSelect.vue?vue&type=style&index=0&id=65efbb12&scoped=true&lang=css
|
|
4533
|
+
var ModulePageSelectvue_type_style_index_0_id_65efbb12_scoped_true_lang_css = __webpack_require__(6344);
|
|
4534
|
+
;// ./src/components/ModulePageSelect.vue?vue&type=style&index=0&id=65efbb12&scoped=true&lang=css
|
|
4227
4535
|
|
|
4228
4536
|
// EXTERNAL MODULE: ./node_modules/vue-loader/dist/exportHelper.js
|
|
4229
4537
|
var exportHelper = __webpack_require__(1241);
|
|
@@ -4235,7 +4543,7 @@ var exportHelper = __webpack_require__(1241);
|
|
|
4235
4543
|
;
|
|
4236
4544
|
|
|
4237
4545
|
|
|
4238
|
-
const __exports__ = /*#__PURE__*/(0,exportHelper/* default */.A)(ModulePageSelectvue_type_script_lang_js, [['render',render],['__scopeId',"data-v-
|
|
4546
|
+
const __exports__ = /*#__PURE__*/(0,exportHelper/* default */.A)(ModulePageSelectvue_type_script_lang_js, [['render',render],['__scopeId',"data-v-65efbb12"]])
|
|
4239
4547
|
|
|
4240
4548
|
/* harmony default export */ var ModulePageSelect = (__exports__);
|
|
4241
4549
|
;// ./src/index.js
|