想在 html 上画出室内的座位分布图,有啥好的解决方案么?

2020-11-18 09:37:13 +08:00
 madpecker009

如图所示,想要在后台实现添加座位的功能。需要让管理员在后台点点就能设置座位啥的。
设置完的座位还需要在小程序中展示出来,在小程序中点击哪个座位就能选中哪个座位进行预定。
后台是 fastadmin,纯 html+css+js 。前端展示用小程序。
关于这个大家有没有什么好的解决方案呢?

5417 次点击
所在节点    程序员
39 条回复
whypool
2020-11-18 13:43:32 +08:00
svg 就行
TimPeake
2020-11-18 13:45:13 +08:00
哈哈 很久之前也是好奇 电影院选座的那个页面该怎么做
qa2080639
2020-11-18 13:46:45 +08:00
fabric.js
madpecker009
2020-11-18 13:50:31 +08:00
@kidult 公司里的项目。。。 我要是自己做我就做这样的布局方式的了
![QQ 图片 20201118135002.png]( https://i.loli.net/2020/11/18/YhaWF9T4lOxM3jt.png)
madpecker009
2020-11-18 13:51:38 +08:00
@TimPeake 我想的就是 i 在网页上生成直角坐标系 那样排布座位。至于图中的那种房间轮廓就暂时么办法了
xiangyuecn
2020-11-18 13:55:35 +08:00
按照搞游戏开发的思路来搞,这种需求实现应该算是入门级的吧😂
madpecker009
2020-11-18 13:59:07 +08:00
@xiangyuecn 啊,,,不懂游戏开发,,,
madpecker009
2020-11-18 13:59:33 +08:00
@xiangyuecn 我打算用直角坐标系来搞了
azcvcza
2020-11-18 14:36:49 +08:00
能点选加交互的话,初级的数量不多的建议 SVG ;数量一多就要用 canvas,加自己检测鼠标坐标搞重绘
lhx880619
2020-11-18 15:52:13 +08:00
我做过 还可以 2d 转 3d 2d 用 canvas 库 pixi paper 等 2d 库都可以 3d 部分 threejs Babylon 都行
madpecker009
2020-11-18 16:29:51 +08:00
@lhx880619 用这样做的话 怎么存库呢、、、突然发现又有这个问题了
wordsman
2020-11-18 16:32:42 +08:00
draw.io ,画完以后保存为 HTML 就行
asdjgfr
2020-11-18 16:40:45 +08:00
数量不多就用 svg,开发方便,多的话找个 canvas 的库就行,api 也很简单,比如 pixi
zepto
2020-11-18 16:50:23 +08:00
我昨天刚想着自习室加个小程序,这个就出现了。。
madpecker009
2020-11-18 17:01:38 +08:00
@zepto 哈哈 或许这就是缘分吧
pOOOOOr
2020-11-18 19:56:18 +08:00
之前是我是用 SVG 画,可以预先定义几个图形,后台给 xy 坐标和类型就可以自由组合了,简单的 demo https://github.com/xhkz/react-seat-map/blob/master/src/index.js
bojue
2020-11-18 20:02:55 +08:00
IDC 行业拜访设备的绘制工具你可以参考一下: https://github.com/bojue/BaseMap
bojue
2020-11-18 20:04:08 +08:00
@bojue 摆放
xiaoqiao24
2020-11-19 09:13:15 +08:00
组合模式策略 将整个教室通过不同区域划分成每个独立模块,每个模块写个类独立管理,对于模块中的每个座位可以预先设定好位置标记,使用链表来维护,也方便后期增加

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/726515

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX