优化表单数据转换逻辑,增加错误处理

在form_data_transfor_diy_data函数中,加入try-catch结构,确保在配置转换失败时不会抛出错误。若JSON解析失败,将使用表单默认值作为回退,以保持数据的完整性。
v1.0.0
sws 2024-09-05 18:38:49 +08:00
parent 7e9297984c
commit 7265584351
1 changed files with 27 additions and 12 deletions

View File

@ -208,18 +208,33 @@ const diy_data_transfor_form_data = (clone_form: diy_data_item) => {
};
const form_data_transfor_diy_data = (clone_form: diyData) => {
let temp_config = clone_form.config;
return {
id: clone_form.id,
model: {
logo: clone_form.logo,
name: clone_form.name,
is_enable: clone_form.is_enable,
describe: clone_form.describe,
},
header: is_obj(temp_config) ? (temp_config as diyConfig).header : JSON.parse(temp_config as string).header,
footer: is_obj(temp_config) ? (temp_config as diyConfig).footer : JSON.parse(temp_config as string).footer,
diy_data: is_obj(temp_config) ? (temp_config as diyConfig).diy_data : JSON.parse(temp_config as string).diy_data,
};
try {
return {
id: clone_form.id,
model: {
logo: clone_form.logo,
name: clone_form.name,
is_enable: clone_form.is_enable,
describe: clone_form.describe,
},
header: is_obj(temp_config) ? (temp_config as diyConfig).header : JSON.parse(temp_config as string).header,
footer: is_obj(temp_config) ? (temp_config as diyConfig).footer : JSON.parse(temp_config as string).footer,
diy_data: is_obj(temp_config) ? (temp_config as diyConfig).diy_data : JSON.parse(temp_config as string).diy_data,
};
} catch (error) {
return {
id: clone_form.id,
model: {
logo: clone_form.logo,
name: clone_form.name,
is_enable: clone_form.is_enable,
describe: clone_form.describe,
},
header: form.value.header,
footer: form.value.footer,
diy_data: form.value.diy_data,
};
}
};
// document.location.searchid/