面向企业内部的仓库物资智能化管理 APP,支持移动端离线作业,实现物资扫码入库、物资移库管理。网络不佳场景下可离线缓存业务数据,网络恢复后自动同步,解决现场仓库无网作业痛点;完整覆盖物资出入库、库位调整、库存数据记录,助力仓库作业数字化、无纸化管理。
一、整体架构与设计思路
项目采用 Ionic+Cordova移动端 + NestJS+MySQL服务端 前后端分离架构,专为仓库PDA手持设备打造。针对仓库网络不稳定的场景,核心采用离线优先、联网自动同步的设计思路,支持无网环境正常完成仓储作业,联网后自动同步数据,保障业务不中断、数据统一一致。
二、个人负责模块
独立负责移动端全流程开发与设备适配,核心工作包含:离线本地SQLite缓存架构搭建、物资条码/二维码扫码功能开发、物资入库、物资移库核心业务实现,同时完成网络状态监听、离线数据同步、数据冲突处理、安卓APK打包及PDA设备兼容适配等全模块开发。
三、核心难点及解决方案
1. 仓库频繁断网,易导致业务数据丢失:基于Cordova SQLite实现本地数据持久化,所有作业操作存入离线任务队列,联网后自动同步,失败任务支持手动重试,彻底解决无网作业数据丢失问题。
2. 多设备离线操作引发库存数据冲突:引入服务端版本校验机制,数据同步时校验版本信息,冲突时提示用户选择更新或覆盖,保证库存数据最终一致性。
3. PDA设备扫码适配不稳定、兼容性差:适配双扫码模式,同时支持相机扫码和PDA硬件原生扫码,兼容各类工业手持设备,提升作业稳定性。
4. 离线批量同步易出现并发重复提交:搭建串行同步任务队列,为任务添加状态锁,控制单次仅执行一条同步任务,杜绝并发错乱、重复提交问题。