# 激光笔兼容方案

当操作者在画布上移动鼠标时,停留 1000ms 后发送 onSliceControl 事件,移动时为正常的点列表数据发送,关闭激光笔则 data 中的 status 字段为 close

filterLaserPaintData 方法处理逻辑则根据 status 字段,如果为 close 则转换成 LaserPenBehaviorBaseData 激光笔行为基础数据,否则创建 LaserPenShapeBaseData 激光笔图形基础数据。

由于旧版激光笔只有固定的一种颜色,所以 filterLaserPaintData 方法中激光笔的颜色固定为红色(#ff5b5b)。

PS:

  1. 由于旧版激光笔的 onSliceControl socket 数据并不会进入 SinglePagePPTData 中,所以观看端在刷新页面之后会出现激光笔消失的现象,这属于正常现象。
  2. 旧版激光笔在鼠标移除画布区域后并不会发送 status: 'close'onSliceControl socket,所以观看端会一直显示激光笔,发送 close 是在切换教具的时候才发送的。