Skip to content

Latest commit

 

History

History
121 lines (69 loc) · 3.24 KB

todo.md

File metadata and controls

121 lines (69 loc) · 3.24 KB

之后要做的待完成功能

1. 绘制矩形和圆形的动画

目前是在拖拽结束后,才出现矩形和圆形的图形

在鼠标按下至鼠标松开之间,按住的过程应该也有矩形/圆形的预览图形

目前负责:LZH

  • 完成后打钩

2. reset改进

目前的reset并不能清除掉增加的文本框信息

目前负责:TS

  • 完成后打钩

3. 文本框大小选择

目前只是按下鼠标就添加一个文本框,但不能指定文本框的长宽

Alter: 像绘制矩形一样绘制文本框

  • 完成后打钩

4. 文本框同步

目前文本框并不会在多个用户之间同步显示

  • 完成后打钩

5. 颜色选择

目前只有黑色一种颜色,应该支持画笔的多种颜色,并且服务器支持在转发时显示不同的颜色

目前负责:CXL

  • 完成后打钩

6. 粗细选择

同上,pencil/矩形/圆形应该支持线条粗细

目前负责:TS

  • 完成后打钩

7. 持久化同步

当一个画板已经被画了部分之后,再加入一个新的用户,这个时候新的用户画布依然为空白,而不是同步

这是因为目前服务端只做一个事情:转发

要解决这个问题,需要让服务器存储画布信息

Alter: 服务器仍然只做转发的工作,而当用户A加入链接时,会广播一个请求,请求获得其它用户canvas的信息。 接着其它用户收到请求,保存当前的canvas状态,将状态传给用户A。

目前负责:CXL

  • 完成后打钩

8. session选择

目前打开网页只能选择一个画布,应该让用户可以选择服务器端内的任意已创建画布,或是创建新的画布

同理,服务器也需要存储信息

这个功能是为了完成系统要求中的:

    实现基于服务器转发的多点间的文字、作图等信息的实时同步共享。
    作图包括划线、矩形、圆形等。
    所有参与者均可发起共享或取消已有的共享。
    其他参与者要能及时展示出发起或取消的共享信息。

目前负责:LZH

  • 完成后打钩

9. 用户光标显示

不同在线用户的光标用不同颜色提示(就类似腾讯文档)

目前负责:LZH

  • 完成后打钩

10. 细化socket层

用自己的方式部分实现socket.io,暂定采用java

这个功能是为了完成系统要求中的:

1. 基于SOCKET编程实现
2. 传输层可采用TCP或UDP协议
3. 必须提供详细的应用协议设计
  • 完成后打钩 暂时不打算做了

11. 加载提示页面

进入一个已经存在的画板时,会加载过去的绘画记录 但所谓的“加载”是指服务器将绘画副本发送给本体,让本体重新画一遍 如果过去绘画记录过多,那么就能肉眼可见地看见慢慢加载的过程

(加载过去部分的代码,放在index.js的74行附近,有一行注释以redo开头)

也许可以在原本的页面上遮罩一个Loading界面,在加载完毕后再删除/隐藏这个界面

  • 完成后打钩

12. 正确处理缩放后的画板

如果将页面缩放/调整大小,那么画板的范围可能就会出现问题 同时,部分按钮的点击位置可能出现偏移

  • 完成后打钩