2016-04-27 45 views
0

我想使用Firebase構建購買機票的應用程序。我設想存儲服務器,並要求門票的庫存是:在Firebase數據上實現鎖定和發佈

  1. 允許用戶預留票在處理付款(即鎖定 票)
  2. 如果在一定時間後釋放票沒有購買
  3. 防止雙重購買相同的存貨項目的

我很擔心如何做到這一點是可能的,而不在個人客戶端控制鎖定和釋放服務器端代碼。我想客戶可以跟蹤自票數保留多久以後再發布。但是如果客戶斷開連接呢?例如,當用戶失去連接時,我是否能夠成功釋放使用.onDisconnect()的門票鎖定?

+0

雖然Firebase安全規則可以實現鎖定系統的很長一段時間,但您可能需要重新考慮在解決方案中包括自己的後端 - 您不應該相信客戶端可以處理付款, 例如。正因爲如此,這個問題太過寬泛。 – vzsg

回答

0

是的,你可以。添加.onDisconnect(),當用戶失去連接時刪除鎖。

這正是.onDisconnect()所做的,當客戶端連接停止時,該操作在服務器端觸發。

但是,您可能想要考慮如果客戶端臨時失去連接會發生什麼情況,例如,如果他們的火車通過隧道