app离线存储一般存储在sqlite 中!案例可以参考 /UI2/demo/sqlite/simpleData/index.w

想实现,没有网络的时候,存储在本地sqlite中,有网络的时候进行数据同步!同步到服务器上!(判断网络请使用cordova插件:cordova-plugin-network-information)

 

我想了一个大体思路,请参考:

可以定义两个字段!一个表示服务器的serverVersion,服务器更新时递增
另一个表示本地的clientVersion,客户端更新时递增
比较两个版本号!同步时比较本地的版本和服务器的版本
如果两个数据库的的serverVersion相等,且本地的clientVersion大于大于服务器的clientVersion,
那么就将本地资源同步到服务器资源。
如果clientVersion相等,服务器的serverVersion大于客户端的serverVersion字段!或者服务器的clientVersion大于本地clientVersion(已经有人同步过多次了!)
就将服务器同步到客户端!

如果是本地clientVersion大约服务器clientVersion,并且服务器serverVersion大于本地的serverVersion

这就是两边都做了更新!可能是用不同客户端的原因!

这个时候建议将两边资源相互同步!并且去重!
或者是用户自己选择同步那边的资源!