不要意思,前面的内容有些错误。
这是前端的dataFields文件,配置表单框的字段。请为我修改deviceModelTemplate的字段校验功能,使其复后端的po格式,有些字段可能没有,但不能多出一些其其他没有的字段:
dataFields:
// 第一种设备类型字段配置 (applicationDataType = 1)
export const dataType1Fields = [
{
label: '国家码',
prop: 'country',
show: true,
required: true,
placeholder: '请选国家码',
type: 'select',
group: 'basic', // 添加分组属性
options: [
{ label: 'JP', value: 'JP' },
{ label: 'EU', value: 'EU' },
{ label: 'US', value: 'US' },
{ label: 'ALL', value: 'ALL' }
]
},
{
label: '设备型号',
prop: 'model',
show: true,
required: true,
placeholder: '如:ER7206, SG2008',
type: 'input',
group: 'basic'
},
{
label: '设备版本',
prop: 'modelVersion',
show: true,
required: true,
placeholder: '如:1.0',
type: 'input',
group: 'basic'
},
{
label: '设备种类',
prop: 'type',
show: true,
required: false,
placeholder: '请选择设备种类',
type: 'select',
group: 'basic',
options: [
{ label: '网关 (gateway)', value: 'gateway' },
{ label: '交换机 (switch)', value: 'switch' },
{ label: 'AP (ap)', value: 'ap' },
{ label: 'OLT (olt)', value: 'olt' },
{ label: '其他', value: 'other' }
]
},
{
label: 'deviceModelTemplate',
prop: 'deviceModelTemplate',
show: false,
required: false,
placeholder: '请填写JSON字符串,例如:{"modelId": "123"}',
type: 'textarea',
rows: 4,
group: 'deviceModelTemplate', // 保温信息分组
validator: (rule, value, callback) => {
try {
JSON.parse(value)
callback() // 校验通过
} catch (e) {
callback(new Error('收养报文必须是合法的 JSON 字符串'))
}
}
},
{
label: 'SPEC',
prop: 'specification',
show: false,
required: false,
placeholder: '请填写JSON字符串,例如:{"modelId": "123"}',
type: 'textarea',
rows: 4,
group: 'spec' // spec信息分组
},
{
label: '图片信息',
prop: 'imageInfo',
show: true,
required: false,
placeholder: '请填写JSON字符串,例如:{"modelId": "123"},',
type: 'textarea',
rows: 4,
group: 'imageInfo' // spec信息分组
},
{
label: 'web端小图',
prop: 'smallImgBucketPathForWeb',
urlProp: 'smallImgBucketUrlForWeb', // 添加URL字段映射
show: false,
required: false,
placeholder: 'web端小图',
type: 'upload',
rows: 4,
group: 'imageInfo'
},
{
label: 'web端热力图',
prop: 'heatmapImgBucketPathForWeb',
urlProp: 'heatmapImgBucketUrlForWeb', // 添加URL字段映射
show: false,
required: false,
placeholder: 'web端热力图',
type: 'upload',
rows: 4,
group: 'imageInfo'
},
{
label: 'web端大图',
prop: 'bigImgBucketPathForWeb',
urlProp: 'bigImgBucketUrlForWeb', // 添加URL字段映射
show: false,
required: false,
placeholder: 'web端大图',
type: 'upload',
rows: 4,
group: 'imageInfo'
},
{
label: 'app端图',
prop: 'hdpiImgBucketPathForApp',
urlProp: 'hdpiImgBucketUrlForApp', // 添加URL字段映射
show: false,
required: false,
placeholder: 'app端图',
type: 'upload',
rows: 4,
group: 'imageInfo'
},
{
label: 'virtualDevice',
prop: 'virtualDevice',
show: false,
required: false,
placeholder: '请填写JSON字符串,例如:{"modelId": "123"}',
type: 'textarea',
rows: 4,
group: 'virtualDevice' // spec信息分组
},
{
label: 'antennaGain',
prop: 'antennaGain',
show: false,
required: false,
placeholder: '请填写JSON字符串,例如:{"modelId": "123"}',
type: 'textarea',
rows: 4,
group: 'antennaGain' // spec信息分组
}
]
后端po文件:
/*
* Copyright (c) 2024, TP-Link Corporation Limited. All rights reserved.
*/
package com.tplink.smb.omada.common.data.manager.dao.po;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;
/**
* @author Zhou Zhuoran
* @version 1.0
* @since 2024/12/9
*/
@Builder
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Document(collection = "devicemodeltemplate")
public class DeviceModelTemplatePO {
@Id
private String id;
@Field("model")
private String model;
@Field("hw_version")
private String hwVersion;
@Field("version")
private String version;
@Field("controller_version")
private String controllerVersion;
@Field("min_controller_version")
private String minControllerVersion;
@Field("not_support_controller_version")
private List<String> notSupportControllerVersion;
@Field("type")
private String type;
@Field("model_type")
private String modelType;
@Field("ippt")
private Boolean ippt;
@Field("model_version")
private String modelVersion;
@Field("adopt_resp")
private String adoptResp;
}
最新发布