离线表单收集
无需网络连接收集表单数据。
离线表单收集
Mobyform 支持离线数据收集,让你在网络受限或无网络的环境中收集表单数据。数据保存在设备本地,网络恢复后自动同步上传。
需要 Pro 及以上套餐
离线模式工作原理
离线模式基于 PWA(渐进式 Web 应用)技术构建。当你在有网络时打开表单,Service Worker 会缓存表单结构、资源和提交逻辑。缓存完成后,即使没有网络也可以填写和提交表单。提交的数据存储在浏览器本地存储中,网络恢复后自动上传。
离线模式架构
| 组件 | 作用 |
|---|---|
| Service Worker | 缓存表单资源并处理离线请求 |
| 本地存储 | 在同步前存储表单提交数据 |
| 同步引擎 | 检测网络连接并上传排队数据 |
| 冲突解决器 | 处理重复或冲突的提交 |
第一步:启用离线模式
- 打开要离线使用的表单
- 进入 「表单设置」 → 「高级」
- 开启 「启用离线模式」 开关
- 保存设置
启用后,表单将包含一个 Service Worker,缓存所有必要资源。
第二步:在线时缓存表单
在外出采集之前,在每台要用于离线收集的设备上打开表单:
- 在浏览器中打开表单链接(推荐使用 Chrome、Edge 或 Safari)
- 等待页面完全加载 — 出现确认提示:"表单已准备好离线使用"
- 可选:将表单添加到设备主屏幕以便快速访问(浏览器菜单 → "添加到主屏幕")
此时该设备上的表单已缓存完毕,可以离线使用。
第三步:离线收集数据
在无网络环境下:
- 打开已缓存的表单(从浏览器或主屏幕快捷方式)
- 正常填写表单字段
- 点击 「提交」
- 提交数据保存在本地 — 提示确认:"回复已保存,将在联网后同步"
- 重复操作以收集更多数据
表单顶部的计数器显示本地排队的提交数量。
第四步:恢复连接后同步
设备重新联网时:
- 在浏览器中打开表单(如果页面仍然打开,可能会在后台自动同步)
- 同步引擎检测到网络连接并开始上传排队的提交
- 进度指示器显示同步状态
- 完成后,本地数据被清除
如果某条提交同步失败(如服务器错误),它会留在本地队列中并自动重试。
手动同步
如果自动同步未触发:
- 在有网络时打开表单
- 点击表单顶部的 同步图标
- 确认上传
功能限制
离线模式存在以下限制:
| 功能 | 离线支持 |
|---|---|
| 文本、数字、日期字段 | 完全支持 |
| 单选、多选、下拉框 | 完全支持 |
| 星级评分、NPS | 完全支持 |
| 文件上传 | 离线不支持(需要联网) |
| 图片拍照 | 本地保存,同步时上传 |
| 签名字段 | 完全支持 |
| 支付字段 | 离线不支持 |
| 条件逻辑 | 支持(逻辑在本地运行) |
| 多页表单 | 完全支持 |
最佳实践
- 出发前测试离线功能 — 在实际设备上验证表单离线工作正常后再外出采集
- 确保表单完全缓存 — 在每台设备上等待 "已准备好离线使用" 的确认提示
- 使用支持的字段类型 — 用于离线的表单避免使用文件上传和支付字段
- 注意电量 — 离线数据存储在浏览器中;设备关机前未同步的数据可能丢失
- 尽快同步 — 有网络时尽早上传收���的数据,减少数据丢失风险
- 谨慎清理浏览器数据 — 清除浏览器缓存或站点数据会删除未同步的提交
常见问题
表单无法离线加载
- 确保在有网络时至少完整加载过一次表单
- 检查浏览器是否支持 Service Worker(使用 Chrome、Edge 或 Safari)
- 确认表单设置中已开启 "启用离线模式"
提交数据未同步
- 确认设备已连接到网络
- 尝试打开表单并点击手动同步图标
- 检查浏览器是否阻止了后台同步权限
同步后出现重复提交
- 同步引擎包含基于提交时间戳的去重逻辑
- 如果出现重复,可以在数据管理面板中识别和删除