我正在编写一个系统,一次会有多个人登录,但我们不能让两个用户同时查看同一个用户记录。我怎么做到这样两个人不能看同样的数据。所以说如果用户名:admin正在查看记录:123,并且用户名:用户想要访问记录:123用户会收到提示“抱歉管理员已经在查看该记录,请等到他们完成了谢谢”/ p>
我将如何锁定其他用户。
所以你在左边框中搜索你的记录,然后点击搜索它,然后在右边打开这个结果窗格并显示结果。我想要它,所以当你点击打开它会带你到记录,但如果记录中有人想要它说我上面写的。
答案 0 :(得分:1)
没有简单的方法可以实现这一点,因为浏览器不知道其他浏览器上发生了什么,所以你不能在客户端做到这一点。
您必须在服务器端实施一些内容,例如socket.io。
使用套接字,当另一个用户转到记录时,您可以向所有当前登录的用户发出websocket push。
- 例如,举例说明用户管理员会进入记录123。
- 然后,您可以向所有其他当前登录的用户发送通知,并告诉用户管理员当前正在查看记录123.
- 在客户端(假设您正在使用Redux这样的商店),您可以更新记录并制作123 不可读或不可显示。
醇>
*您需要记住一些事项,当用户导航出屏幕时,您需要解锁该记录。问题在于用户可以通过执行多个操作(按浏览器后退按钮,关闭页面或导航到应用程序上的其他页面)来离开页面。您将需要一种方法来解决这个问题,一旦完成,您可以使用通知更新所有用户,说明该记录现在可用并重复上述步骤。
希望能够解释得很清楚,告诉我你是否需要更多澄清。