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