更新模型配置,调整部分字段为可选,移除界面中不必要的输入项,优化表单验证逻辑
This commit is contained in:
@@ -122,12 +122,12 @@ export interface ModelModuleItem {
|
||||
/** 调用模式:0-同步 1-异步 2-流式 */
|
||||
callMode?: number;
|
||||
maxConcurrency: number;
|
||||
queueLimit: number;
|
||||
queueLimit?: number;
|
||||
timeoutMs?: number;
|
||||
timeoutSeconds?: number;
|
||||
expectedSeconds?: number;
|
||||
retryTimes: number;
|
||||
retryQueueMaxSeconds: number;
|
||||
retryQueueMaxSeconds?: number;
|
||||
autoCleanSeconds: number;
|
||||
headMsg?: string | Record<string, string>;
|
||||
form?: ModelFormEntry[] | Record<string, { value: string }>;
|
||||
@@ -176,9 +176,9 @@ export interface CreateModelParams {
|
||||
maxConcurrency?: number;
|
||||
queueLimit?: number;
|
||||
timeoutSeconds: number;
|
||||
expectedSeconds: number;
|
||||
expectedSeconds?: number;
|
||||
retryTimes?: number;
|
||||
retryQueueMaxSeconds: number;
|
||||
retryQueueMaxSeconds?: number;
|
||||
autoCleanSeconds: number;
|
||||
}
|
||||
|
||||
|
||||
@@ -125,31 +125,16 @@
|
||||
<el-input-number v-model="state.ruleForm.maxConcurrency" :min="1" :max="1000" style="width: 100%"></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
<el-form-item label="排队队列上限" prop="queueLimit">
|
||||
<el-input-number v-model="state.ruleForm.queueLimit" :min="1" :max="10000" style="width: 100%"></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
<el-form-item label="请求超时时间(秒)" prop="timeoutSeconds">
|
||||
<el-input-number v-model="state.ruleForm.timeoutSeconds" :min="1" :max="3600" style="width: 100%"></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
<el-form-item label="预计执行时间(秒)" prop="expectedSeconds">
|
||||
<el-input-number v-model="state.ruleForm.expectedSeconds" :min="1" :max="3600" style="width: 100%"></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
<el-form-item label="失败重试次数" prop="retryTimes">
|
||||
<el-input-number v-model="state.ruleForm.retryTimes" :min="0" :max="10" style="width: 100%"></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
<el-form-item label="重试最大排队时间" prop="retryQueueMaxSeconds">
|
||||
<el-input-number v-model="state.ruleForm.retryQueueMaxSeconds" :min="0" :max="3600" style="width: 100%"></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
<el-form-item label="自动清理间隔(秒)" prop="autoCleanSeconds">
|
||||
<el-input-number v-model="state.ruleForm.autoCleanSeconds" :min="0" :max="86400" style="width: 100%"> </el-input-number>
|
||||
@@ -701,11 +686,8 @@ const state = reactive({
|
||||
lastFrame: '',
|
||||
requiredFields: [] as string[],
|
||||
maxConcurrency: 10,
|
||||
queueLimit: 100,
|
||||
timeoutSeconds: 30,
|
||||
expectedSeconds: 15,
|
||||
retryTimes: 3,
|
||||
retryQueueMaxSeconds: 60,
|
||||
autoCleanSeconds: 300,
|
||||
extendMapping: '{}',
|
||||
responseTokenField: '',
|
||||
@@ -863,9 +845,7 @@ const state = reactive({
|
||||
},
|
||||
],
|
||||
maxConcurrency: [{ required: true, message: '请输入最大并发数', trigger: 'blur' }],
|
||||
queueLimit: [{ required: true, message: '请输入排队队列上限', trigger: 'blur' }],
|
||||
timeoutSeconds: [{ required: true, message: '请输入请求超时时间', trigger: 'blur' }],
|
||||
expectedSeconds: [{ required: true, message: '请输入预计执行时间', trigger: 'blur' }],
|
||||
requestMapping: [
|
||||
{
|
||||
validator: (_rule: unknown, _value: unknown, callback: (e?: Error) => void) => {
|
||||
@@ -1495,11 +1475,8 @@ const fillFormFromDetailRow = (row: Record<string, unknown>) => {
|
||||
lastFrame: String(row.lastFrame || ''),
|
||||
requiredFields: Array.isArray(row.requiredFields) ? row.requiredFields.map((item) => String(item || '').trim()).filter(Boolean) : [],
|
||||
maxConcurrency: Number(row.maxConcurrency ?? 10),
|
||||
queueLimit: Number(row.queueLimit ?? 100),
|
||||
timeoutSeconds,
|
||||
expectedSeconds: Number(row.expectedSeconds ?? 15),
|
||||
retryTimes: Number(row.retryTimes ?? 3),
|
||||
retryQueueMaxSeconds: Number(row.retryQueueMaxSeconds ?? 60),
|
||||
autoCleanSeconds: Number(row.autoCleanSeconds ?? 300),
|
||||
extendMapping: '{}',
|
||||
responseTokenField: String(row.responseTokenField || ''),
|
||||
@@ -1626,11 +1603,8 @@ const openDialog = async (type: string, row?: Record<string, unknown>) => {
|
||||
lastFrame: '',
|
||||
requiredFields: [],
|
||||
maxConcurrency: 10,
|
||||
queueLimit: 100,
|
||||
timeoutSeconds: 30,
|
||||
expectedSeconds: 15,
|
||||
retryTimes: 3,
|
||||
retryQueueMaxSeconds: 60,
|
||||
autoCleanSeconds: 300,
|
||||
extendMapping: '{}',
|
||||
responseTokenField: '',
|
||||
@@ -1765,11 +1739,8 @@ const onSubmit = () => {
|
||||
responseMapping,
|
||||
responseBody,
|
||||
maxConcurrency: state.ruleForm.maxConcurrency,
|
||||
queueLimit: state.ruleForm.queueLimit,
|
||||
timeoutSeconds: state.ruleForm.timeoutSeconds,
|
||||
expectedSeconds: state.ruleForm.expectedSeconds,
|
||||
retryTimes: state.ruleForm.retryTimes,
|
||||
retryQueueMaxSeconds: state.ruleForm.retryQueueMaxSeconds,
|
||||
autoCleanSeconds: state.ruleForm.autoCleanSeconds,
|
||||
extendMapping: fieldsToUnknownObject(state.extendMappingFields.filter((f) => String(f.key || '').trim() !== '')),
|
||||
responseTokenField,
|
||||
|
||||
Reference in New Issue
Block a user