2016-04-27 46 views
0

我想使用Firebase构建购买机票的应用程序。我设想存储服务器,并要求门票的库存是:在Firebase数据上实现锁定和发布

  1. 允许用户预留票在处理付款(即锁定 票)
  2. 如果在一定时间后释放票没有购买
  3. 防止双重购买相同的存货项目的

我很担心如何做到这一点是可能的,而不在个人客户端控制锁定和释放服务器端代码。我想客户可以跟踪自票数保留多久以后再发布。但是如果客户断开连接呢?例如,当用户失去连接时,我是否能够成功释放使用.onDisconnect()的门票锁定?

+0

虽然Firebase安全规则可以实现锁定系统的很长一段时间,但您可能需要重新考虑在解决方案中包括自己的后端 - 您不应该相信客户端可以处理付款, 例如。正因为如此,这个问题太过宽泛。 – vzsg

回答

0

是的,你可以。添加.onDisconnect(),当用户失去连接时删除锁。

这正是.onDisconnect()所做的,当客户端连接停止时,该操作在服务器端触发。

但是,您可能想要考虑如果客户端临时失去连接会发生什么情况,例如,如果他们的火车通过隧道