电影院的选座问题的思考

简介: 1.需求分析  后台管理:提供电影院的名字,地址,票价,座位的排布(含空座位),上映时间(含多个)等  前台选座管理:用户可以选择不通的时间,不同的座位,多个座位,选中且放弃的情况,然后支付,出现二维码2.思考(先提供已经完成的部分,支付部分尚未完成)    就两个页面,一个是表单提交(管理页面),一个是选座页面,后面还有支付页面尚未完成。

 

1.需求分析

  后台管理:提供电影院的名字,地址,票价,座位的排布(含空座位),上映时间(含多个)等

  前台选座管理:用户可以选择不通的时间,不同的座位,多个座位,选中且放弃的情况,然后支付,出现二维码

2.思考(先提供已经完成的部分,支付部分尚未完成)

  

  

就两个页面,一个是表单提交(管理页面),一个是选座页面,后面还有支付页面尚未完成。

部分分解:

1.座位排列的渲染。算法:后台 row*col ,在选座页面的是通过两层for 循环,循环 table 里面的 tr 和td 将所有座位完成。

 我这里采用的是ejs 的模版渲染。当然可以用js 拼字符串的,循环table的

2.空座位的处理,也就是某个角落没有座位。需要提出来,单独处理。后台,需要配置好数据,和前端的代码一起配合处理页面。

思路:循环table 里的td,求出td的所在的row 和col,然后 拼成字符串 **排**列,比对从后台传来的字符串,这个字符串也是循环后台配置空的数组得来的。两个字符串如果相等的话,那么将这个座位置空(追加class)。

3.已经定过座位的位置。同样是通过的循环td,比对后台传来的 数组中的数据,如果相等则追加class。如图

这里的做法和上面的一样,我目前还没找到好的方法,这样的做法是比较不妥的。最好的做法应该在循环tabel 的时候,就应该处理这些数据,而不应该先做出表格,再处理表格。

(col 不加1)

3.选座位,考虑到选多个座位,然后取消某些座位的情况。处理如下

细节做法:压入数组,和删除数组的某个元素。 这里的添加一个数组的remove的方法。 (col 不加1 )

4.选座位后,座位和别人冲突的处理

前端处理大部分难点就是上面的部分。下面是后台处理的部分:

后台处理:

后台处理就是存取数据库的部分。我后台用的是 nodejs + express + mongodb。

nodejs 生成电影院数据的接口如下:

 

nodejs 处理选座位的接口如下:

惭愧:因为后端接口是自己写,前端渲染数据也是自己写的,知识有所欠缺,所以代码就是很糟糕的说,欢迎喷啊,各位有啥好的想法和做法,也可以和我交流。

目录
相关文章
|
2月前
|
小程序 JavaScript Java
影院购票|电影院订票选座小程序|基于微信小程序的电影院购票系统设计与实现(源码+数据库+文档)
影院购票|电影院订票选座小程序|基于微信小程序的电影院购票系统设计与实现(源码+数据库+文档)
68 0
|
2月前
大神帮帮我:“1积分兑换折叠式学习护眼台灯1个”任务怎完成
大神帮帮我:“1积分兑换折叠式学习护眼台灯1个”任务怎完成
114 2
|
C++
201609-2 火车购票
201609-2 火车购票
82 0
201609-2 火车购票
|
云计算
电影院开了,你最想去看哪一部电影呢?
我在时间尽头等你、唐人街探案3、第一次的离别、哪吒重生、花木兰、姜子牙、急先锋......你最想看哪个?
电影院开了,你最想去看哪一部电影呢?
|
iOS开发 智能硬件
春运火车票可花呗分期;果冻有家,关注年轻人租房子的隐藏需求
春运火车票可花呗分期;果冻有家,关注年轻人租房子的隐藏需求
500 0
|
安全 物联网 iOS开发
2020年春运火车票今天开售;果冻有家,关注年轻人租房子的隐藏需求
2020年春运火车票今天开售;果冻有家,关注年轻人租房子的隐藏需求
429 0
|
黑灰产治理 安全
6秒售空168套房?房产生活号新玩法
生活号服务商“筑家易”,借助生活号平台及支付宝能力,开启“云选房”时代:实现新房小区线上开盘、线上预约、线上交付! 7月28日“北岸江山”开盘 首次采用“生活号+筑家易云选房” 开盘6秒瞬间售房168套! 支付宝缴纳保证金192万元,房产总成交近2亿元! 9月19日晚“北岸江山”二期开盘 23 秒售完 115套房源 平均每秒成交5套,最终成交额破2亿元 这样的案例还有很多…… 01.生活号+支付宝实名认证、蚁盾   在线售房,交易更安全    整个“云选房”系统依托于支付宝系统:每个参与开盘用户都经过支付宝实名认证;“蚁盾”风险评分可有效识别存在机器注册、恶意刷单、黄牛抢购等问题的手机号等。
641 0