技术不行但人小帅 2023-02-22 00:49 采纳率: 59.7%
浏览 20
已结题

uniapp数据相关的一些问题?

是这样的,由于地区较偏僻,信号不好,目前做的微信小程序功能是希望在开阔地带下一次性将数据获取成功,然后再在离线的状态下从这些数据里增删改查,随后操作完毕后再返回开阔地带上传更新,
希望就是:小程序能获取一次数据后脱机操作,
那么我的思路是,
一次性获取所有数据,暂存在本地缓存中,通过这些缓存修改后暂存(微信小程序似乎会保存这些修改后的数据状态(好像退出微信小程序后再打开似乎小程序还会在当前这些页面?如果不是该怎么做)? 虽然后再返回开阔地带上传到数据库,

请问这个逻辑有更好一点的?该怎么做会更友好?讲讲大概思路?

  • 写回答

3条回答 默认 最新

  • CodeBytes 2023-02-22 08:52
    关注

    该回答引用ChatGPT

    您的思路是可行的,即通过一次性获取所有数据,将其暂存在本地缓存中,并在离线状态下对其进行增删改查。微信小程序确实会在某些情况下保存应用程序状态(例如,在小程序切换到后台时),但这并不是一种可靠的方法来保存应用程序数据。

    为了实现更可靠的数据缓存和同步逻辑,您可以考虑使用本地数据库或缓存机制,例如使用 IndexedDB 或 Web Storage API 来存储数据,并使用 Web Workers 或 Service Workers 在后台更新数据。

    以下是一个可能的实现思路:

    1、在小程序首次打开时,从服务器获取所有数据,并将其存储在本地数据库或缓存中。您可以使用 IndexedDB 或 Web Storage API 等浏览器提供的本地存储机制来实现这一点。

    2、当用户在离线状态下修改数据时,将其暂存到本地数据库或缓存中,而不是直接提交到服务器。您可以通过编写一些 JavaScript 代码,将用户的修改操作保存到本地存储中。

    3、在应用程序重新联机时,将本地缓存中的修改操作上传到服务器,以更新服务器上的数据。您可以使用 Web Workers 或 Service Workers 来处理此操作,并在后台更新数据,以确保数据同步和应用程序响应性。

    4、在用户每次打开应用程序时,从本地数据库或缓存中加载数据,并在应用程序启动时对数据进行更新。这可以确保用户始终能够访问最新的数据,即使他们处于离线状态。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月22日
  • 已采纳回答 2月22日
  • 创建了问题 2月22日

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?