【代码评审】IoT:物模型的管理哈
parent
c4ba7ed43e
commit
2505410b5a
|
@ -54,6 +54,7 @@ export enum ProductFunctionAccessModeEnum {
|
|||
// IoT 产品物模型 API
|
||||
export const ThinkModelApi = {
|
||||
// 查询产品物模型分页
|
||||
// TODO @puhui999:product 前缀,是不是去掉哈。
|
||||
getThinkModelPage: async (params: any) => {
|
||||
return await request.get({ url: `/iot/product-think-model/page`, params })
|
||||
},
|
||||
|
|
|
@ -144,25 +144,23 @@ const handleChange = (dataType: any) => {
|
|||
}
|
||||
}
|
||||
|
||||
// TODO @puhui999:一些校验的规则,是不是写到 utils 里。
|
||||
/** 校验布尔值名称 */
|
||||
const validateBoolName = (_: any, value: string, callback: any) => {
|
||||
if (isEmpty(value)) {
|
||||
callback(new Error('布尔值名称不能为空'))
|
||||
return
|
||||
}
|
||||
|
||||
// 检查开头字符
|
||||
if (!/^[\u4e00-\u9fa5a-zA-Z0-9]/.test(value)) {
|
||||
callback(new Error('布尔值名称必须以中文、英文字母或数字开头'))
|
||||
return
|
||||
}
|
||||
|
||||
// 检查整体格式
|
||||
if (!/^[\u4e00-\u9fa5a-zA-Z0-9][a-zA-Z0-9\u4e00-\u9fa5_-]*$/.test(value)) {
|
||||
callback(new Error('布尔值名称只能包含中文、英文字母、数字、下划线和短划线'))
|
||||
return
|
||||
}
|
||||
|
||||
// 检查长度(一个中文算一个字符)
|
||||
if (value.length > 20) {
|
||||
callback(new Error('布尔值名称长度不能超过20个字符'))
|
||||
|
|
|
@ -36,6 +36,8 @@ import { useVModel } from '@vueuse/core'
|
|||
import { DataSpecsDataType, dataTypeOptions } from '../config'
|
||||
import { isEmpty } from '@/utils/is'
|
||||
|
||||
// TODO @puhui999:参数校验,是不是还是定义一个变量,统一管,好阅读点哈?
|
||||
|
||||
/** 数组型的 dataSpecs 配置组件 */
|
||||
defineOptions({ name: 'ThinkModelArrayTypeDataSpecs' })
|
||||
|
||||
|
|
|
@ -98,19 +98,16 @@ const validateEnumName = (_: any, value: string, callback: any) => {
|
|||
callback(new Error('枚举描述不能为空'))
|
||||
return
|
||||
}
|
||||
|
||||
// 检查开头字符
|
||||
if (!/^[\u4e00-\u9fa5a-zA-Z0-9]/.test(value)) {
|
||||
callback(new Error('枚举描述必须以中文、英文字母或数字开头'))
|
||||
return
|
||||
}
|
||||
|
||||
// 检查整体格式
|
||||
if (!/^[\u4e00-\u9fa5a-zA-Z0-9][a-zA-Z0-9\u4e00-\u9fa5_-]*$/.test(value)) {
|
||||
callback(new Error('枚举描述只能包含中文、英文字母、数字、下划线和短划线'))
|
||||
return
|
||||
}
|
||||
|
||||
// 检查长度(一个中文算一个字符)
|
||||
if (value.length > 20) {
|
||||
callback(new Error('枚举描述长度不能超过20个字符'))
|
||||
|
|
|
@ -79,12 +79,10 @@ const unitChange = (UnitSpecs: string) => {
|
|||
const validateMin = (_: any, __: any, callback: any) => {
|
||||
const min = Number(dataSpecs.value.min)
|
||||
const max = Number(dataSpecs.value.max)
|
||||
|
||||
if (isNaN(min)) {
|
||||
callback(new Error('请输入有效的数值'))
|
||||
return
|
||||
}
|
||||
|
||||
if (max !== undefined && !isNaN(max) && min >= max) {
|
||||
callback(new Error('最小值必须小于最大值'))
|
||||
return
|
||||
|
@ -97,12 +95,10 @@ const validateMin = (_: any, __: any, callback: any) => {
|
|||
const validateMax = (_: any, __: any, callback: any) => {
|
||||
const min = Number(dataSpecs.value.min)
|
||||
const max = Number(dataSpecs.value.max)
|
||||
|
||||
if (isNaN(max)) {
|
||||
callback(new Error('请输入有效的数值'))
|
||||
return
|
||||
}
|
||||
|
||||
if (min !== undefined && !isNaN(min) && max <= min) {
|
||||
callback(new Error('最大值必须大于最小值'))
|
||||
return
|
||||
|
@ -114,19 +110,16 @@ const validateMax = (_: any, __: any, callback: any) => {
|
|||
/** 校验步长 */
|
||||
const validateStep = (_: any, __: any, callback: any) => {
|
||||
const step = Number(dataSpecs.value.step)
|
||||
const min = Number(dataSpecs.value.min)
|
||||
const max = Number(dataSpecs.value.max)
|
||||
|
||||
if (isNaN(step)) {
|
||||
callback(new Error('请输入有效的数值'))
|
||||
return
|
||||
}
|
||||
|
||||
if (step <= 0) {
|
||||
callback(new Error('步长必须大于0'))
|
||||
return
|
||||
}
|
||||
|
||||
const min = Number(dataSpecs.value.min)
|
||||
const max = Number(dataSpecs.value.max)
|
||||
if (!isNaN(min) && !isNaN(max) && step > max - min) {
|
||||
callback(new Error('步长不能大于最大值和最小值的差值'))
|
||||
return
|
||||
|
|
Loading…
Reference in New Issue