add: 增加设备和产品typing
This commit is contained in:
parent
9658a11666
commit
a1e00a3734
|
@ -0,0 +1,84 @@
|
|||
export type DeviceInstance = {
|
||||
id: string;
|
||||
name: string;
|
||||
describe: string;
|
||||
description: string;
|
||||
productId: string;
|
||||
productName: string;
|
||||
protocolName: string;
|
||||
security: any;
|
||||
deriveMetadata: string;
|
||||
metadata: string;
|
||||
binds: any;
|
||||
state: {
|
||||
value: string;
|
||||
text: string;
|
||||
};
|
||||
creatorId: string;
|
||||
creatorName: string;
|
||||
createTime: number;
|
||||
registryTime: string;
|
||||
disabled?: boolean;
|
||||
aloneConfiguration?: boolean;
|
||||
deviceType: {
|
||||
value: string;
|
||||
text: string;
|
||||
};
|
||||
transportProtocol: string;
|
||||
messageProtocol: string;
|
||||
orgId: string;
|
||||
orgName: string;
|
||||
configuration: Record<string, any>;
|
||||
relations?: any[];
|
||||
cachedConfiguration: any;
|
||||
transport: string;
|
||||
protocol: string;
|
||||
address: string;
|
||||
registerTime: number;
|
||||
onlineTime: string | number;
|
||||
offlineTime: string | number;
|
||||
tags: any;
|
||||
photoUrl: string;
|
||||
independentMetadata?: boolean;
|
||||
accessProvider?: string;
|
||||
accessId?: string;
|
||||
features?: any[];
|
||||
parentId?: string;
|
||||
classifiedName?: string;
|
||||
};
|
||||
|
||||
type Unit = {
|
||||
id: string;
|
||||
name: string;
|
||||
symbol: string;
|
||||
text: string;
|
||||
type: string;
|
||||
value: string;
|
||||
description: string;
|
||||
};
|
||||
|
||||
type PropertyData = {
|
||||
data: {
|
||||
value?:
|
||||
| {
|
||||
formatValue: string;
|
||||
property: string;
|
||||
value: any;
|
||||
}
|
||||
| any;
|
||||
timeString: string;
|
||||
timestamp: number;
|
||||
formatValue: string;
|
||||
property: string;
|
||||
};
|
||||
};
|
||||
|
||||
type InstanceModel = {
|
||||
current: Partial<DeviceInstance>;
|
||||
detail: Partial<DeviceInstance>;
|
||||
config: any;
|
||||
metadataItem: MetadataItem;
|
||||
params: Set<string>; // 处理无限循环Card
|
||||
active?: string; // 当前编辑的Card
|
||||
selectedRows: Map<string, any>;
|
||||
}
|
|
@ -0,0 +1,179 @@
|
|||
import type { BaseItem, State } from '@/utils/typings';
|
||||
|
||||
type DeviceType = {
|
||||
text: string;
|
||||
value: string;
|
||||
};
|
||||
|
||||
export type ProductItem = {
|
||||
id: string;
|
||||
name: string;
|
||||
classifiedId: string | string[];
|
||||
classifiedName: string;
|
||||
configuration: Record<string, any>;
|
||||
createTime: number;
|
||||
updateTime: number;
|
||||
creatorId: string;
|
||||
deviceType: DeviceType;
|
||||
deviceTypeId?: string;
|
||||
count?: number;
|
||||
messageProtocol: string;
|
||||
metadata: string;
|
||||
orgId: string;
|
||||
protocolName: string;
|
||||
state: number;
|
||||
transportProtocol: string;
|
||||
describe?: string;
|
||||
accessId?: string;
|
||||
accessName?: string;
|
||||
photoUrl?: string;
|
||||
storePolicy?: string;
|
||||
accessProvider?: string;
|
||||
modifyTime?: string;
|
||||
};
|
||||
|
||||
export type ConfigProperty = {
|
||||
property: string;
|
||||
name: string;
|
||||
description: string;
|
||||
type: {
|
||||
name: string;
|
||||
id: string;
|
||||
type: string;
|
||||
elements?: any[];
|
||||
expands?: any;
|
||||
};
|
||||
scopes: any[];
|
||||
};
|
||||
|
||||
export type ConfigMetadata = {
|
||||
name: string;
|
||||
description: string;
|
||||
scopes: any[];
|
||||
properties: ConfigProperty[];
|
||||
};
|
||||
|
||||
export type MetadataType = 'events' | 'functions' | 'properties' | 'tags';
|
||||
|
||||
export type DeviceMetadata = {
|
||||
events: Partial<EventMetadata>[];
|
||||
properties: Partial<PropertyMetadata>[];
|
||||
functions: Partial<FunctionMetadata>[];
|
||||
tags: Partial<TagMetadata>[];
|
||||
};
|
||||
export type MetadataItem = Partial<EventMetadata | PropertyMetadata | FunctionMetadata> &
|
||||
Record<string, any>;
|
||||
|
||||
type EventMetadata = {
|
||||
id: string;
|
||||
name: string;
|
||||
expands?: {
|
||||
eventType?: string;
|
||||
level?: string;
|
||||
} & Record<string, any>;
|
||||
valueType: {
|
||||
type: string;
|
||||
properties: {
|
||||
id: string;
|
||||
name: string;
|
||||
dataType: string;
|
||||
valueType: {
|
||||
type: string;
|
||||
} & Record<any, any>;
|
||||
}[];
|
||||
};
|
||||
description: string;
|
||||
};
|
||||
type FunctionMetadata = {
|
||||
id: string;
|
||||
name: string;
|
||||
async: boolean;
|
||||
output: Record<string, unknown>;
|
||||
inputs: ({
|
||||
id: string;
|
||||
name: string;
|
||||
valueType: {
|
||||
type: string;
|
||||
} & Record<any, any>;
|
||||
} & Record<string, any>)[];
|
||||
};
|
||||
type PropertyMetadata = {
|
||||
id: string;
|
||||
name: string;
|
||||
dataType?: string;
|
||||
valueType: {
|
||||
type: string;
|
||||
} & Record<any, any>;
|
||||
expands: Record<string, any>;
|
||||
description?: string;
|
||||
// 运行状态处需要数据
|
||||
list?: Record<string, unknown>[];
|
||||
};
|
||||
type TagMetadata = {
|
||||
id: string;
|
||||
name: string;
|
||||
valueType: {
|
||||
type: string;
|
||||
} & Record<string, any>;
|
||||
expands: Record<string, any>;
|
||||
};
|
||||
|
||||
type AlarmRule = {
|
||||
actions: {
|
||||
configuration: Record<string, unknown>;
|
||||
executor: string;
|
||||
}[];
|
||||
productId: string;
|
||||
productName: string;
|
||||
properties: Record<string, unknown>[];
|
||||
shakeLimit: Record<string, unknown>;
|
||||
triggers: Record<string, unknown>[];
|
||||
} & BaseItem;
|
||||
|
||||
type AlarmSetting = {
|
||||
state: State;
|
||||
createTime: number;
|
||||
target: string;
|
||||
targetId: string;
|
||||
alarmRule: AlarmRule[];
|
||||
} & BaseItem;
|
||||
|
||||
type AlarmRecord = {
|
||||
id: string;
|
||||
alarmId: string;
|
||||
alarmName: string;
|
||||
alarmTime: number;
|
||||
description: string;
|
||||
deviceId: string;
|
||||
deviceName: string;
|
||||
productId: string;
|
||||
productName: string;
|
||||
state: string;
|
||||
updateTime: number;
|
||||
alarmData: {
|
||||
alarmId: string;
|
||||
alarmName: string;
|
||||
deviceId: string;
|
||||
deviceName: string;
|
||||
id: string;
|
||||
productId: string;
|
||||
productName: string;
|
||||
timestamp: number;
|
||||
} & Record<string, unknown>;
|
||||
};
|
||||
|
||||
type UnitType = {
|
||||
id: string;
|
||||
name: string;
|
||||
description: string;
|
||||
symbol: string;
|
||||
text: string;
|
||||
type: string;
|
||||
value: string;
|
||||
};
|
||||
|
||||
type ObserverMetadata = {
|
||||
type: unknown[];
|
||||
subscribe: (data: any) => void;
|
||||
next: (data: any) => void;
|
||||
};
|
Loading…
Reference in New Issue