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