画板

一块本地画板:画架构图、流程图与草图,多张画板分开管理,随时导出图片或全屏演示。

画板管理

入口:左侧导航「画板」(/whiteboard);编辑器 /whiteboard/:id。

列表卡片显示画板缩略图(矢量小图,随内容自动更新),空画板显示占位图标;支持新建、重命名与删除。

操作说明
新建填名字即建一张空白画板,建完直接进入编辑器
重命名 / 删除卡片悬浮操作;删除是软删除,不可恢复
自动保存停笔约 1 秒后写回,工具栏显示「已保存 / 保存中 / 未保存」

绘制工具

工具快捷键用法
选择V点击选中,拖拽移动,拖动四角/四边手柄缩放;空白处拖拽框选
平移H 或按住空格拖动画布平移视图
矩形R拖拽画出矩形节点
椭圆O拖拽画出椭圆节点
菱形D拖拽画出菱形(判断 / 分支)
文本T点击放置文本,立即进入编辑;双击已有元素也可编辑文字
画笔P自由手绘折线,适合批注与草图
连接线L从一个元素拖到另一个元素:端点没对准也会自动吸附(朝另一端方向约 28px 容差),并停在松手那一侧的边框上,拖动时目标方块会高亮预告;默认按正交折线自动布排(出线段 → 转向 → 入线段),工具栏可切回直线;双击可加标签
橡皮E点击元素即删除

工具栏右侧可调描边色、填充色、线宽与字号:未选中时作用于新建元素,选中时直接改当前选中的元素。

编辑操作

操作快捷键
多选Shift + 点击,或空白处框选
删除选中Delete / Backspace
复制选中Ctrl + D
微移方向键(Shift + 方向键大步长)
层级Ctrl + ] 置顶 / Ctrl + [ 置底
撤销 / 重做Ctrl + Z / Ctrl + Shift + Z
全选Ctrl + A

形状里的文字会自动换行并居中;连接线会跟着两端元素移动,不需要手工重新拉线。选中连接线后两端各有一个圆点手柄,拖圆点可以重新吸附到方块,拖到空白处则变回自由端点。

折线路由与避让

折线模式下,连接线从边框「垂直出来 → 转向 → 垂直进入」另一端边框,不会斜穿方块;同一个方向的多条线会自动错开中线,避免糊成一条。切换「直线」即回到直线连接。端点的落点由松手位置决定,元素移动后仍贴在原来那一侧的边框上。

视图与导出

操作说明
缩放滚轮以指针为中心缩放;工具栏显示当前比例,也可一键重置 / 适应视图
横向滚动Shift + 滚轮
网格吸附工具栏网格开关:开启时新建与移动按 20px 网格对齐(手绘画笔不吸附,保证跟手)
导出 PNG2x 缩放位图,适合贴文档 / 发消息
导出 SVG矢量图,可再编辑

演示模式

点工具栏「演示」进入全屏:自动把整张画板适配到屏幕,← → 在多张画板间翻页,Esc 退出。演示期间仍可用滚轮缩放、Shift + 滚轮平移,但不会改动画板内容。

自动布局

工具栏「自动布局」按连接关系重排图形:先选方向(横向 LR / 纵向 TB)再点按钮,手绘批注保持原位,连接线端点自动跟随;布局后可以「撤销」回到原来的摆位。画布里没有连接关系时按钮不可用。

数据与接口

画板整体存一行记录,场景(元素 + 视口)以 JSON 存放,接口遵循统一响应与分页约定:

方法路径说明
GET/api/whiteboards?page=1&pageSize=20画板列表(按更新时间倒序,不含场景正文)
GET/api/whiteboards/{id}画板详情(含场景 JSON)
POST/api/whiteboards新建画板;场景为空时用空白场景
PUT/api/whiteboards/{id}更新名称与 / 或场景(局部字段)
DELETE/api/whiteboards/{id}软删除

场景在上传前会校验:必须是合法 JSON 对象且不超过 4 MB,名称最长 100 字符;不合法的请求会返回业务错误,不会写坏已有画板。