我开发这个销售点系统将近一个月,一直在寻找一种方法来为我的应用程序实现离线支持。我想使用 IndexedDB,但在最初应将哪些数据加载到应用程序时遇到问题。
让我给你一个场景。
我开始交易并输入了一些项目。不幸的是,雷神之怒摧毁了一座塔,在我进行交易时导致网络断开。
在这种情况下,我应该如何构建我的应用程序?
A. 将所有条目直接放入 MySQL db 并使用 IndexedDB 进行离线条目。(问题:断开后将永远不会恢复初始条目。)
B. 使用 HTML5 作为收银员交易的主数据库,并在成功结账后仅将其传输到 MySQL 数据库。(问题:大量数据会在系统负载时存储到IndexedDB。)
我正在考虑选项 B,但找不到最小化 MySQL 数据库中预加载数据大小的方法。为什么我需要加载这些数据?唯一能识别物品的是通过物品代码。我在 MySQL 数据库中有数千个项目,将它们加载到 IndexedDB 中是多余的。我需要在输入时获取每件商品的描述、单价、税率、折扣率、促销可用性和库存数量。实时监控也很重要。如果将所有这些数据都加载到 IndexedDB,5mb 是不够的。
非常感谢您的回复!