Commit 08602c0dd7fe7b116ce08e5d20782700144ebd45
1 parent
51eb5277
feat: implement socket push message to update variable image
Showing
4 changed files
with
102 additions
and
37 deletions
... | ... | @@ -158,6 +158,31 @@ |
158 | 158 | } |
159 | 159 | } |
160 | 160 | |
161 | + /** | |
162 | + * @description 枚举cell的基本属性 | |
163 | + */ | |
164 | + Sidebar.prototype.enumCellBasicAttribute = { | |
165 | + | |
166 | + /** | |
167 | + * @description 组件类型 | |
168 | + */ | |
169 | + COMPONENT_TYPE: 'componentType' | |
170 | + } | |
171 | + | |
172 | + /** | |
173 | + * @description 枚举组件类型 | |
174 | + */ | |
175 | + Sidebar.prototype.enumComponentType = { | |
176 | + /** | |
177 | + * @description 变量图片类型 | |
178 | + */ | |
179 | + VAR_IMAGE: 'variableImage', | |
180 | + | |
181 | + /** | |
182 | + * @description 图表类型 | |
183 | + */ | |
184 | + CHARTS: 'charts' | |
185 | + } | |
161 | 186 | |
162 | 187 | |
163 | 188 | /** | ... | ... |
... | ... | @@ -14,8 +14,22 @@ |
14 | 14 | cell.vertex = true; |
15 | 15 | this.graph.setAttributeForCell(cell, 'placeholders', '1'); |
16 | 16 | this.graph.setAttributeForCell(cell, 'currentDate', currentDate); |
17 | - return this.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, 'realTime'); | |
17 | + return this.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, '实时时间'); | |
18 | 18 | })), |
19 | + this.addEntry(this.getTagsForStencil('mxgraph.basic', '变量图片', 'basic').join(' '), mxUtils.bind(this, function () { | |
20 | + const cell = new mxCell('', new mxGeometry(0, 0, 194, 95), 'image;image=images/thingskit/img-placeholder.png;imageAspect=0;'); | |
21 | + cell.setVertex(true) | |
22 | + this.setCellAttributes(cell, { componentType: 'variableImage' }) | |
23 | + return this.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, '变量图片'); | |
24 | + })) | |
25 | + // this.addEntry('variableImage', mxUtils.bind(this, function () { | |
26 | + // const imagePlaceholder = '/thingskit-drawio/images/thingskit/img-placeholder.png'; | |
27 | + // const template = `<div><img src="${imagePlaceholder}" alt=""></div>`; | |
28 | + // const cell = new mxCell(template, new mxGeometry(0, 0, 194, 195), 'text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;'); | |
29 | + // cell.vertex = true; | |
30 | + // this.graph.setAttributeForCell(cell, 'componentType', 'variableImage'); | |
31 | + // return this.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, '变量图片'); | |
32 | + // })) | |
19 | 33 | ]; |
20 | 34 | |
21 | 35 | this.addPaletteFunctions('component', '基础元件', true, fns); | ... | ... |
... | ... | @@ -21,12 +21,12 @@ |
21 | 21 | this.addEntry('line chart', mxUtils.bind(this, function () { |
22 | 22 | const id = self.generatorChartsId() |
23 | 23 | const cell = self.generatorCell(id, enumConst.CHART_IMG_PLACEHOLDER_SIZE, enumConst.CHART_IMG_PLACEHOLDER_SIZE, enumChartType.LINE_CHART) |
24 | - return this.createVertexTemplateFromCells([ cell ], cell.geometry.width, cell.geometry.height, '折线图'); | |
24 | + return this.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, '折线图'); | |
25 | 25 | })), |
26 | 26 | this.addEntry('bar chart', mxUtils.bind(this, function () { |
27 | 27 | const id = self.generatorChartsId() |
28 | 28 | const cell = self.generatorCell(id, enumConst.CHART_IMG_PLACEHOLDER_SIZE, enumConst.CHART_IMG_PLACEHOLDER_SIZE, enumChartType.BAR_CHART, '/thingskit-drawio/images/thingskit/bar-chart.png') |
29 | - return this.createVertexTemplateFromCells([ cell ], cell.geometry.width, cell.geometry.height, '柱状图'); | |
29 | + return this.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, '柱状图'); | |
30 | 30 | })), |
31 | 31 | ]; |
32 | 32 | |
... | ... | @@ -43,7 +43,7 @@ |
43 | 43 | |
44 | 44 | /** |
45 | 45 | * @description Sidebar 类型枚举 |
46 | - * @type {{CHART_CELL_DEFAULT_WIDTH: number, CHART_CELL_HEIGHT: string, CHART_CELL_DEFAULT_HEIGHT: number, CHART_TYPE_KEY: string, CHART_CELL_WIDTH: string, CHART_COMP: string, CHART_CELL_ID: string, CHART_CONTAINER_ID_PREFIX: string, CHART_IMG_PLACEHOLDER_SIZE: number, COMPONENTS_TYPE_KEY: string, CHART_CONTAINER_CLS: string}} | |
46 | + * @type {{CHART_CELL_DEFAULT_WIDTH: number, CHART_CELL_HEIGHT: string, CHART_CELL_DEFAULT_HEIGHT: number, CHART_TYPE_KEY: string, CHART_CELL_WIDTH: string, CHART_COMP: string, CHART_CELL_ID: string, CHART_CONTAINER_ID_PREFIX: string, CHART_IMG_PLACEHOLDER_SIZE: number, COMPONENT_TYPE_KEY: string, CHART_CONTAINER_CLS: string}} | |
47 | 47 | */ |
48 | 48 | Sidebar.prototype.enumConst = { |
49 | 49 | |
... | ... | @@ -70,7 +70,7 @@ |
70 | 70 | /** |
71 | 71 | * @description cell 类型是否为 charts |
72 | 72 | */ |
73 | - CHART_COMP: 'charts', | |
73 | + CHART_COMP: Sidebar.prototype.enumComponentType.CHARTS, | |
74 | 74 | |
75 | 75 | /** |
76 | 76 | * @description cell id key |
... | ... | @@ -80,7 +80,7 @@ |
80 | 80 | /** |
81 | 81 | * @description 组件类型 key |
82 | 82 | */ |
83 | - COMPONENTS_TYPE_KEY: 'componentsType', | |
83 | + COMPONENT_TYPE_KEY: Sidebar.prototype.enumCellBasicAttribute.COMPONENT_TYPE, | |
84 | 84 | |
85 | 85 | /** |
86 | 86 | * @description 图表容器 class name |
... | ... | @@ -121,14 +121,14 @@ |
121 | 121 | return { |
122 | 122 | xAxis: { |
123 | 123 | type: 'category', |
124 | - data: [ 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun' ], | |
124 | + data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], | |
125 | 125 | }, |
126 | 126 | yAxis: { |
127 | 127 | type: 'value', |
128 | 128 | }, |
129 | 129 | series: [ |
130 | 130 | { |
131 | - data: [ 150, 230, 224, 218, 135, 147, 260 ], | |
131 | + data: [150, 230, 224, 218, 135, 147, 260], | |
132 | 132 | type: 'line', |
133 | 133 | }, |
134 | 134 | ], |
... | ... | @@ -138,14 +138,14 @@ |
138 | 138 | return { |
139 | 139 | xAxis: { |
140 | 140 | type: 'category', |
141 | - data: [ 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun' ], | |
141 | + data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], | |
142 | 142 | }, |
143 | 143 | yAxis: { |
144 | 144 | type: 'value', |
145 | 145 | }, |
146 | 146 | series: [ |
147 | 147 | { |
148 | - data: [ 120, 200, 150, 80, 70, 110, 130 ], | |
148 | + data: [120, 200, 150, 80, 70, 110, 130], | |
149 | 149 | type: 'bar', |
150 | 150 | showBackground: true, |
151 | 151 | backgroundStyle: { |
... | ... | @@ -170,7 +170,7 @@ |
170 | 170 | const enumConst = this.enumConst |
171 | 171 | const cell = new mxCell(this.createChartsNode(id, width, height, placeholderPath), new mxGeometry(0, 0, width, height), 'text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;'); |
172 | 172 | cell.setVertex(true) |
173 | - this.graph.setAttributeForCell(cell, enumConst.COMPONENTS_TYPE_KEY, 'charts'); | |
173 | + this.graph.setAttributeForCell(cell, enumConst.COMPONENT_TYPE_KEY, 'charts'); | |
174 | 174 | this.graph.setAttributeForCell(cell, enumConst.CHART_CELL_ID, id); |
175 | 175 | this.graph.setAttributeForCell(cell, enumConst.CHART_CELL_WIDTH, width) |
176 | 176 | this.graph.setAttributeForCell(cell, enumConst.CHART_CELL_HEIGHT, height) |
... | ... | @@ -185,7 +185,7 @@ |
185 | 185 | */ |
186 | 186 | Sidebar.prototype.generatorChartsId = function () { |
187 | 187 | const enumConst = Sidebar.prototype.enumConst |
188 | - return `${ enumConst.CHART_CONTAINER_ID_PREFIX }${ Date.now() }` | |
188 | + return `${enumConst.CHART_CONTAINER_ID_PREFIX}${Date.now()}` | |
189 | 189 | } |
190 | 190 | |
191 | 191 | /** |
... | ... | @@ -197,7 +197,7 @@ |
197 | 197 | * @returns {string} |
198 | 198 | */ |
199 | 199 | Sidebar.prototype.createChartsNode = function (id, width = 400, height = 400, placeholderPath = '/thingskit-drawio/images/thingskit/line-chart.png') { |
200 | - return `<div class="echarts__instance" style="width: ${ width }px; height: ${ height }px" id="${ id }"><img src="${ placeholderPath }" alt=""></div>` | |
200 | + return `<div class="echarts__instance" style="width: ${width}px; height: ${height}px" id="${id}"><img src="${placeholderPath}" alt=""></div>` | |
201 | 201 | } |
202 | 202 | |
203 | 203 | /** |
... | ... | @@ -207,8 +207,8 @@ |
207 | 207 | */ |
208 | 208 | Sidebar.prototype.isChartCell = function (cell) { |
209 | 209 | const enumConst = Sidebar.prototype.enumConst |
210 | - const componentsType = cell.getAttribute(enumConst.COMPONENTS_TYPE_KEY) | |
211 | - return !!(componentsType && componentsType === enumConst.CHART_COMP) | |
210 | + const componentType = cell.getAttribute(enumConst.COMPONENT_TYPE_KEY) | |
211 | + return !!(componentType && componentType === enumConst.CHART_COMP) | |
212 | 212 | } |
213 | 213 | |
214 | 214 | /** |
... | ... | @@ -222,8 +222,8 @@ |
222 | 222 | const chartOptionMapping = this.chartOptionMapping |
223 | 223 | const chartsInstanceMapping = this.chartsInstanceMapping |
224 | 224 | const chartDom = document.getElementById(id); |
225 | - chartDom.style.width = `${ width }px` | |
226 | - chartDom.style.height = `${ height }px` | |
225 | + chartDom.style.width = `${width}px` | |
226 | + chartDom.style.height = `${height}px` | |
227 | 227 | const myChart = echarts.init(chartDom); |
228 | 228 | const option = chartOptionMapping[chartType] ? chartOptionMapping[chartType]() : {} |
229 | 229 | option && myChart.setOption(option); |
... | ... | @@ -304,8 +304,8 @@ |
304 | 304 | const { width, height } = rect |
305 | 305 | const id = self.getCellId(cell) |
306 | 306 | const chartDom = document.getElementById(id) |
307 | - chartDom.style.width = `${ width }px` | |
308 | - chartDom.style.height = `${ height }px` | |
307 | + chartDom.style.width = `${width}px` | |
308 | + chartDom.style.height = `${height}px` | |
309 | 309 | self.graph.setAttributeForCell(cell, enumConst.CHART_CELL_WIDTH, width) |
310 | 310 | self.graph.setAttributeForCell(cell, enumConst.CHART_CELL_HEIGHT, height) |
311 | 311 | const instance = chartsInstanceMapping.get(id) |
... | ... | @@ -338,7 +338,7 @@ |
338 | 338 | if (validateFlag) { |
339 | 339 | const cell = self.generatorCell(id, enumConst.CHART_CELL_DEFAULT_WIDTH, enumConst.CHART_CELL_DEFAULT_HEIGHT, chartType) |
340 | 340 | const _arguments = Array.prototype.slice.call(arguments, 0) |
341 | - _arguments.splice(1, 1, [ cell ]) | |
341 | + _arguments.splice(1, 1, [cell]) | |
342 | 342 | createTooltip.apply(this, _arguments) |
343 | 343 | } else { |
344 | 344 | createTooltip.apply(this, arguments) |
... | ... | @@ -366,7 +366,7 @@ |
366 | 366 | domIdMapping.set(chartInstanceId, { width, height, chartType }) |
367 | 367 | } |
368 | 368 | } |
369 | - const chartsDomList = document.querySelectorAll(`.${ enumConst.CHART_CONTAINER_CLS }`) | |
369 | + const chartsDomList = document.querySelectorAll(`.${enumConst.CHART_CONTAINER_CLS}`) | |
370 | 370 | for (const chartDom of chartsDomList) { |
371 | 371 | const id = chartDom.getAttribute('id') |
372 | 372 | if (!domIdMapping.has(id)) { | ... | ... |
... | ... | @@ -5657,7 +5657,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
5657 | 5657 | /** |
5658 | 5658 | * @description 图表图形路径 |
5659 | 5659 | */ |
5660 | - IMAGE_GALLERY_IMG_PATH: 'imgPath', | |
5660 | + IMAGE_GALLERY_IMAGE_PATH: 'imagePath', | |
5661 | 5661 | } |
5662 | 5662 | |
5663 | 5663 | const enumImageOriginType = { |
... | ... | @@ -5719,7 +5719,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
5719 | 5719 | form.val(rowFilter, { |
5720 | 5720 | [enumConst.IMAGE_ORIGIN]: null, |
5721 | 5721 | [enumConst.IMAGE_GALLERY_CATEGORY]: null, |
5722 | - [enumConst.IMAGE_GALLERY_IMG_PATH]: null, | |
5722 | + [enumConst.IMAGE_GALLERY_IMAGE_PATH]: null, | |
5723 | 5723 | }) |
5724 | 5724 | }) |
5725 | 5725 | } |
... | ... | @@ -5760,7 +5760,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
5760 | 5760 | $(`.${enumActionEl.IMAGE_DEL_PREVIEW_EL}`).on('click', (event) => { |
5761 | 5761 | event.stopPropagation() |
5762 | 5762 | $(`#${enumActionEl.IMAGE_PREVIEW_EL}`).attr('src', '') |
5763 | - imageState[enumConst.IMAGE_GALLERY_IMG_PATH] = null | |
5763 | + imageState[enumConst.IMAGE_GALLERY_IMAGE_PATH] = null | |
5764 | 5764 | }) |
5765 | 5765 | const uploadInst = upload.render({ |
5766 | 5766 | elem: `#${enumActionEl.UPLOAD_LOCAL_FILE_EL}`, |
... | ... | @@ -5776,7 +5776,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
5776 | 5776 | if (!err) { |
5777 | 5777 | $(`#${enumActionEl.IMAGE_PREVIEW_EL}`).attr('src', result) |
5778 | 5778 | const { fileStaticUri = '' } = res |
5779 | - imageState[enumConst.IMAGE_GALLERY_IMG_PATH] = fileStaticUri | |
5779 | + imageState[enumConst.IMAGE_GALLERY_IMAGE_PATH] = fileStaticUri | |
5780 | 5780 | } |
5781 | 5781 | }); |
5782 | 5782 | }, |
... | ... | @@ -5817,12 +5817,12 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
5817 | 5817 | function generatorSelectImgEventListener() { |
5818 | 5818 | $(`#${enumActionEl.VAR_IMG_CONTAINER_CONTENT}`).on('click', event => { |
5819 | 5819 | setImageSelectedStyle(event, enumActionEl.VAR_IMG_ITEM, enumActionEl.VAR_IMG_ITEM_CHECKED) |
5820 | - imageState[enumConst.IMAGE_GALLERY_IMG_PATH] = $(event.target).find('img').attr('src') | |
5820 | + imageState[enumConst.IMAGE_GALLERY_IMAGE_PATH] = $(event.target).find('img').attr('src') | |
5821 | 5821 | }) |
5822 | 5822 | $(`#${enumActionEl.VAR_IMG_CONTAINER_SIDEBAR}`).on('click', event => { |
5823 | 5823 | setImageSelectedStyle(event, enumActionEl.VAR_IMG_CATEGORY, enumActionEl.VAR_IMG_CATEGORY_CHECKED) |
5824 | 5824 | imageState[enumConst.IMAGE_GALLERY_CATEGORY] = $(event.target).attr(enumConst.IMAGE_GALLERY_CATEGORY) |
5825 | - imageState[enumConst.IMAGE_GALLERY_IMG_PATH] = null | |
5825 | + imageState[enumConst.IMAGE_GALLERY_IMAGE_PATH] = null | |
5826 | 5826 | switchGalleryLib(event) |
5827 | 5827 | }) |
5828 | 5828 | } |
... | ... | @@ -5874,13 +5874,14 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
5874 | 5874 | function setCheckedImg(rowFilter) { |
5875 | 5875 | $(`#${enumActionEl.TABLE_BODY_EL}`) |
5876 | 5876 | .find(`tr[lay-filter="${rowFilter}"]`) |
5877 | - .find('img').attr('src', imageState[enumConst.IMAGE_GALLERY_IMG_PATH]) | |
5877 | + .find('img').attr('src', imageState[enumConst.IMAGE_GALLERY_IMAGE_PATH]) | |
5878 | 5878 | |
5879 | 5879 | form.val(rowFilter, { |
5880 | 5880 | [enumConst.IMAGE_ORIGIN]: imageState[enumConst.IMAGE_ORIGIN], |
5881 | 5881 | [enumConst.IMAGE_GALLERY_CATEGORY]: imageState[enumConst.IMAGE_GALLERY_CATEGORY], |
5882 | - [enumConst.IMAGE_GALLERY_IMG_PATH]: imageState[enumConst.IMAGE_GALLERY_IMG_PATH], | |
5882 | + [enumConst.IMAGE_GALLERY_IMAGE_PATH]: imageState[enumConst.IMAGE_GALLERY_IMAGE_PATH], | |
5883 | 5883 | }) |
5884 | + | |
5884 | 5885 | } |
5885 | 5886 | |
5886 | 5887 | /** |
... | ... | @@ -5984,7 +5985,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
5984 | 5985 | <td> |
5985 | 5986 | <div class="${enumActionEl.SET_IMG_EL}"> |
5986 | 5987 | <input name="${enumConst.IMAGE_GALLERY_CATEGORY}" type="text" style="display: none"> |
5987 | - <input name="${enumConst.IMAGE_GALLERY_IMG_PATH}" type="text" style="display: none"> | |
5988 | + <input name="${enumConst.IMAGE_GALLERY_IMAGE_PATH}" type="text" style="display: none"> | |
5988 | 5989 | <input name="${enumConst.IMAGE_ORIGIN}" type="text" style="display: none"> |
5989 | 5990 | <div class="${enumActionEl.PREVIEW_IMG_CONTAINER}"> |
5990 | 5991 | <img src="" alt=""> |
... | ... | @@ -6025,7 +6026,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
6025 | 6026 | condition.forEach((item, index) => { |
6026 | 6027 | addRecord() |
6027 | 6028 | const rowFilter = getRowFilter(index) |
6028 | - $(`#${enumActionEl.TABLE_BODY_EL}`).find(`.${enumActionEl.PREVIEW_IMG_CONTAINER}>img`).attr('src', item[enumConst.IMAGE_GALLERY_IMG_PATH]) | |
6029 | + $(`#${enumActionEl.TABLE_BODY_EL}`).find(`tr[lay-filter="${rowFilter}"] .${enumActionEl.PREVIEW_IMG_CONTAINER}>img`).attr('src', item[enumConst.IMAGE_GALLERY_IMAGE_PATH]) | |
6029 | 6030 | form.val(rowFilter, { ...item }) |
6030 | 6031 | }) |
6031 | 6032 | } |
... | ... | @@ -6123,9 +6124,9 @@ DataFormatPanel.prototype.addDataFont = function (container) { |
6123 | 6124 | const { component, echoDataSource, getValue } = generatorDataSourceComponent() |
6124 | 6125 | getDataSourceValue = getValue |
6125 | 6126 | $(`#${enumActionEl.DATA_SOURCE_COMP_EL}`).append(component) |
6126 | - const info = getLayerBindInfo('act', type) | |
6127 | + const info = getLayerBindInfo('act', type) || {} | |
6127 | 6128 | const { condition = [] } = info |
6128 | - if (!info && !condition.length) { | |
6129 | + if (!condition.length) { | |
6129 | 6130 | addRecord() |
6130 | 6131 | } else { |
6131 | 6132 | echoDataSource(info) |
... | ... | @@ -12138,6 +12139,7 @@ class DispatchCenter { |
12138 | 12139 | * @description 分发事件 |
12139 | 12140 | */ |
12140 | 12141 | publishEvent(eventName, data, message, event, ws) { |
12142 | + data = data ? data : {} | |
12141 | 12143 | Object.keys(data).forEach(() => { |
12142 | 12144 | this.eventBus.emit(eventName, message, event, ws) |
12143 | 12145 | }) |
... | ... | @@ -12401,6 +12403,9 @@ class HandleDataInteraction { |
12401 | 12403 | } |
12402 | 12404 | } |
12403 | 12405 | |
12406 | +/** | |
12407 | + * @description 处理数据 | |
12408 | + */ | |
12404 | 12409 | class HandleDynamicEffect { |
12405 | 12410 | |
12406 | 12411 | /** |
... | ... | @@ -12441,6 +12446,7 @@ class HandleDynamicEffect { |
12441 | 12446 | FLASH: 'FLASH', |
12442 | 12447 | DISPLAY: 'DISPLAY', |
12443 | 12448 | ROTATE: 'ROTATE', |
12449 | + IMAGE: 'IMAGE', | |
12444 | 12450 | } |
12445 | 12451 | |
12446 | 12452 | static enumDisplayType = { |
... | ... | @@ -12510,7 +12516,7 @@ class HandleDynamicEffect { |
12510 | 12516 | |
12511 | 12517 | tsSubCmds.push(this.generatorMessage(slaveDeviceId ? slaveDeviceId : deviceId, cmdId, attr)) |
12512 | 12518 | |
12513 | - this.subscribeEvent(cmdId, this.dispatch(type), attr) | |
12519 | + this.subscribeEvent(cmdId, this.dispatch(type)) | |
12514 | 12520 | }) |
12515 | 12521 | this.sendMsg({ tsSubCmds }) |
12516 | 12522 | } |
... | ... | @@ -12567,6 +12573,9 @@ class HandleDynamicEffect { |
12567 | 12573 | case HandleDynamicEffect.enumActType.FLASH: |
12568 | 12574 | invoke = this.flash.bind(this) |
12569 | 12575 | break |
12576 | + case HandleDynamicEffect.enumActType.IMAGE: | |
12577 | + invoke = this.varImage.bind(this) | |
12578 | + break | |
12570 | 12579 | } |
12571 | 12580 | return invoke |
12572 | 12581 | } |
... | ... | @@ -12576,7 +12585,7 @@ class HandleDynamicEffect { |
12576 | 12585 | * @param message |
12577 | 12586 | * @param attr |
12578 | 12587 | */ |
12579 | - rotate(message, attr) { | |
12588 | + rotate(message) { | |
12580 | 12589 | const { subscriptionId, data } = message |
12581 | 12590 | const node = this.getNodeByCmdId(subscriptionId) |
12582 | 12591 | const { flag } = this.validate(subscriptionId, DispatchCenter.enumDynamicEffectType.ROTATE, data) |
... | ... | @@ -12603,7 +12612,7 @@ class HandleDynamicEffect { |
12603 | 12612 | * @param message |
12604 | 12613 | * @param attr |
12605 | 12614 | */ |
12606 | - display(message, attr) { | |
12615 | + display(message) { | |
12607 | 12616 | const { subscriptionId, data = {} } = message |
12608 | 12617 | const { flag, condition } = this.validate(subscriptionId, HandleDynamicEffect.enumActType.DISPLAY, data) |
12609 | 12618 | if (!flag) return |
... | ... | @@ -12627,7 +12636,7 @@ class HandleDynamicEffect { |
12627 | 12636 | * @param message |
12628 | 12637 | * @param attr |
12629 | 12638 | */ |
12630 | - flash(message, attr) { | |
12639 | + flash(message) { | |
12631 | 12640 | const { subscriptionId, data } = message |
12632 | 12641 | const node = this.getNodeByCmdId(subscriptionId) |
12633 | 12642 | const { flag, condition } = this.validate(subscriptionId, HandleDynamicEffect.enumActType.FLASH, data) |
... | ... | @@ -12647,6 +12656,23 @@ class HandleDynamicEffect { |
12647 | 12656 | } |
12648 | 12657 | |
12649 | 12658 | /** |
12659 | + * @description 处理变量图片 | |
12660 | + */ | |
12661 | + varImage(message) { | |
12662 | + const { subscriptionId, data } = message | |
12663 | + const node = this.getNodeByCmdId(subscriptionId) | |
12664 | + const { flag, condition } = this.validate(subscriptionId, HandleDynamicEffect.enumActType.IMAGE, data) | |
12665 | + if (flag && node) { | |
12666 | + const { imagePath } = condition | |
12667 | + this.insertOnceUpdateFn( | |
12668 | + node, | |
12669 | + () => { | |
12670 | + node.setStyle(`image;image=${imagePath};imageAspect=0;`) | |
12671 | + }) | |
12672 | + } | |
12673 | + } | |
12674 | + | |
12675 | + /** | |
12650 | 12676 | * @description 验证是否满足条件列表中的任意一条 |
12651 | 12677 | * @param subscriptionId |
12652 | 12678 | * @param type | ... | ... |