index.ts
5.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
import type { ThingsModelItemType } from '@/api/device/model'
import type { ImageSelectorDataType } from '@/core/Library/components/ImageSelector'
import type { CommandDeliveryWayEnum, CommandWayEnum } from '@/enums/commandEnum'
import type { ActRangListItemTypeEnum, ActTypeEnum, AggregateTypeEnum, EventActionTypeEnum, EventTypeEnum, SocketSubscriberEnum } from '@/enums/datasource'
import type { DeviceTypeEnum } from '@/enums/deviceEnum'
export enum DeleteNodeDataTypeEnum {
DATASOURCE = 'DATASOURCE',
EVENT = 'EVENT',
ACT = 'ACT',
}
export interface BasicNodeBindType {
contentId: string
configurationNodeId: string
configurationId: string
id?: string
}
export interface SaveNodeDataParamsType extends BasicNodeBindType {
actJson?: NodeDataActJsonType
dataSourceJson?: Partial<NodeDataDataSourceJsonType>
eventJson?: NodeDataEventJsonType
}
export interface SaveNodeActParamsType extends BasicNodeBindType {
data?: NodeDataActJsonType
}
export interface SaveNodeDataSourceParamsType extends BasicNodeBindType {
data?: NodeDataDataSourceJsonType
}
export interface SaveNodeEventParamsType extends BasicNodeBindType {
data?: NodeDataEventJsonType
}
export interface DeleteNodeDataByType extends BasicNodeBindType {
type: DeleteNodeDataTypeEnum
}
export interface NodeDataBasicType {
id: string
creator: string
createTime: string
enabled: boolean
tenantId: string
configurationId: string
configurationNodeId: string
contentId: string
}
export interface ChartOptionType {
interval: number
effectScope?: number
queryType?: SocketSubscriberEnum
agg?: AggregateTypeEnum
unit?: string
}
export interface FlowMeterColorItemType {
key: string
value: string
label: string
}
export interface VideoOptionType {
accessMode: number
id: string
orgId: string
videoComponentFlag: boolean
videoUrl: string
channelId?: string
deviceId?: string
playProtocol?: number
}
export interface AlarmListOptionType {
startTime: number
endTime: number
autoPlay: boolean
deviceId: string[]
interval: number
polling: number
}
export interface DeviceInfoType {
code?: string
transportType?: string
deviceType?: string
deviceProfileId?: string
deviceName?: string
codeType?: string
}
export interface NodeDataDataSourceJsonType {
deviceId: string
deviceProfileId: string
deviceProfileTemplateId?: string
attr: string | string[]
deviceName?: string
enable: boolean
chartOption?: ChartOptionType
videoOption?: VideoOptionType
alarmListOption?: AlarmListOptionType
circularFlowMeterOption?: FlowMeterColorItemType[]
rectFlowMeterOption?: FlowMeterColorItemType[]
}
export interface DeviceCommandListItemType {
deviceId: string
way: CommandWayEnum
deviceProfileId: string
command: string | Recordable
}
export interface MouseDownEventDataType {
enable?: boolean
commandList?: DeviceCommandListItemType[]
}
export interface MouseUpEventDataType extends MouseDownEventDataType { }
export interface DoubleClickEventDataType {
actionType: EventActionTypeEnum
openLink?: string
openPage?: string
enable: boolean
service?: string
serviceCommand?: Recordable
way?: CommandWayEnum
customCommand?: string
commandWay?: CommandDeliveryWayEnum
callType?: string
}
export interface SingleClickEventDataType extends DoubleClickEventDataType { }
export interface OperationPasswordDataType {
checked: boolean
value?: string
label: string
enable: boolean
}
export interface NodeDataEventJsonType {
[EventTypeEnum.DOUBLE]: DoubleClickEventDataType
[EventTypeEnum.SINGLE]: SingleClickEventDataType
[EventTypeEnum.DOWN]: MouseDownEventDataType
[EventTypeEnum.UP]: MouseUpEventDataType
[EventTypeEnum.OPERATION_PASSWORD]?: OperationPasswordDataType
}
export interface RangeItemType {
type?: ActRangListItemTypeEnum
min?: number
max?: number
statusValue?: number
title?: string
label?: string
imageInfo?: ImageSelectorDataType
flowSpeed?: number
}
export interface BasicActDataType {
deviceId?: Nullable<string>
attr?: string
enable?: boolean
deviceProfileId?: string | number
deviceProfileTemplateId?: string | number
attrInfo?: ThingsModelItemType
deviceInfo?: DeviceTypeEnum
}
export interface FlashActDataType extends BasicActDataType {
rangeList: RangeItemType[]
}
export interface DisplayActDataType extends FlashActDataType { }
export interface RotateActDataType extends FlashActDataType { }
export interface DynamicActDataType extends FlashActDataType { }
export interface StatusActDataType extends FlashActDataType {
}
export interface VariableImageActDataType extends FlashActDataType {
defaultImage: ImageSelectorDataType
}
export interface NodeDataActJsonType {
[ActTypeEnum.FLASH]: FlashActDataType
[ActTypeEnum.DISPLAY]: DisplayActDataType
[ActTypeEnum.ROTATE]: RotateActDataType
[ActTypeEnum.STATUS_SETTING]: StatusActDataType
[ActTypeEnum.VARIABLE_IMAGE]: VariableImageActDataType
[ActTypeEnum.DYNAMIC]: DynamicActDataType
}
export interface NodeDataType extends NodeDataBasicType {
dataSourceJson: NodeDataDataSourceJsonType
eventJson: NodeDataEventJsonType
actJson: NodeDataActJsonType
}