移动网站报告下载以供以后分析

时间:2013-05-03 21:31:10

标签: jquery html5 jquery-mobile mobile

我正在开发一种具有WiFi连接功能的嵌入式系统,用于检查状态。因此,板载系统托管了一个Web服务器,我可以连接到它的WiFi网络。我可以看到网页。但我想让网站提供下载的记录数据。我有哪些选择适用于各种移动设备。显然是Android和iOS,但由于我是Windows Phone用户,我也喜欢这样。

对于嵌入式系统,它运行的是Lighttpd,我们正在使用jquery和jquery-mobile。我考虑过在服务器上生成PDF,但并非所有手机都安装了PDF阅读器。所以我想知道是否有其他人遇到过这种需要生成报告的情况,将它们保存到手机中,然后再将它们复制到计算机上。

1 个答案:

答案 0 :(得分:1)

您可以查看jIO(website / github),它可以让您在多个存储中存储和自动同步JSON文档。

因此,您的用户可以从您的webDav,xWiki,S3或任何存储中提取JSON(“任何”都需要您编写自己的jIO连接器)。

文档将存储在用户localStorage中。 jIO还提供了一个complexQueries模块,它允许您查询存储的文档,因此您将拥有一个同步,轻量级,仅限javascript的“数据库”模型。

PDF也可以在客户端生成(例如使用jspdf),但保留JSON文件应该使它们更容易移植成不同的格式(如在客户端上显示JSON数据的HTML页面)。

修改
我不确切知道你的要求是什么,但根据我的理解,我会设置一个replicate revison storage,在storage_list我会添加localstorage和我的“远程数据存储”(比如webDav),其中我保留了可下载的数据。

因此,在初始化您的应用时,您会执行以下操作:

    var myReaderStorage = JIO.newJio({
        "type": "replicaterevision",
        "storage_list": [
            {
            "type": "revision",
            "sub_storage": 
                {
                // this will your users local storage
                "type": "local",
                "username": <string>,
                "application_name": <string>
                 }
            }, 
            {
            "type": "revision",
            "sub_storage": {
                "type": "dav",
                "username": <string>,
                "password": <string>,
                "url": <string>
                }
            }
        ]
    });

这会将您的用户localstorage与您的webDav存储“连接”,并设置修订系统。例如:

  1. 用户下载app = new JIO将被初始化。
  2. 如果您GET文档,系统将尝试从localstorage(如果有)或远程存储中提取。
  3. 找到后,所有存储都将同步,因此file-A_version1将在本地和webdav上可用
  4. 用户现在可以编辑文件(如果允许),创建file-A_version2
  5. 调用PUT将保存到localstorage和webDav
  6. 用户从desktop =初始化应用程序再次调用应用程序
  7. GET将尝试从localStorage(仍然为空)或远程提取。
  8. file-A_version2将从webDav加载,并将存储在localStorage中
  9. 这只是一个粗略的设置,但你应该明白这个想法。你可以继续这样:

    1. 智能手机处于离线状态用户在桌面上更改文件,创建file-A_version3
    2. file-A_version3与webDav同步
    3. 下次用户通过智能手机访问应用时,系统会检测到冲突(智能手机为file-A_version1,webDav为file-A_version3。两个版本都可以在智能手机上使用,您可以编写自己的逻辑,使用REMOVE
    4. 删除哪个版本

      如果您有任何问题,请与我们联系。