中小百货商店与连锁零售的仓库入库,长期靠送货人纸质登记、管理员事后手工抄录:货物照片散落在微信聊天记录里、件数与品类对不上、库存账实不符、出入库没有留痕,往往缺货了才发现。市面上的进销存软件要么是 PC 端、要么要配扫码枪等硬件,送货人在卸货现场根本用不起来。本项目面向"送货人拍照入库 + 管理员手机端实时审核"这一高频场景,把拍照入库、离线草稿、审核联动库存、出入库台账、库存预警、仓库分类与人员管理、操作审计整合进一个微信小程序,让没有 IT 投入的中小零售商户用一部手机就能把仓库管清楚。
系统把送货人端与管理端合并在同一套小程序里,按角色区分入口,覆盖货物入库到出库的完整链路。
【送货人端】手机号 / 微信 / 体验三种登录、拍照入库(最多 9 张照片、选分类选仓库、填件数与入库时间备注)、草稿箱离线暂存与二次编辑上传、入库历史按状态筛选(待审核/已入库/已驳回)、入库详情与照片预览、个人资料编辑。
【管理端】数据看板(总库存、今日出入库、待审核、库存预警 + 近 7 天出入库趋势图 + 分类与仓库分布)、入库管理(搜索筛选、审核通过/驳回并联动库存)、出库管理(正常/调拨/退货/报损四类、库存不足拦截、自动扣减)、库存管理(按仓库+分类查询、手动调整、预警上下限)、仓库管理、分类管理、送货人管理(角色与启停)、操作日志审计、台账 Excel/CSV 导出。
我独立负责全部开发:需求梳理(约 26 项功能点)、云数据库设计(7 张集合 + 7 份 schema)、20 个页面、9 个业务云函数 + 1 个公共模块编写、部署联调与真机测试。
技术栈:前端 uni-app(Vue3 + TypeScript + Pinia),一套代码编译成微信小程序,送货人端与管理端合并交付;后端 uniCloud 阿里云云函数,路由式设计(单函数按 action 分发);鉴权为自研 HMAC-SHA256 无状态 token,管理端接口强制角色校验(admin / super_admin);数据层为云数据库 7 张集合(7 份 schema)。
实现亮点:① 零依赖统计可视化——看板趋势图与分布图全部用 view + CSS 百分比高度手绘,不引入任何图表库,兼容基础库、不增包体。② 绕开小程序限制的台账导出——小程序跑不了 xlsx 库,改用 SpreadsheetML(HTML 表格 + Excel 命名空间)配 .xls 后缀,经 FileSystemManager 写临时文件 + openDocument 打开,CSV 带 UTF-8 BOM 保证中文不乱码。③ 库存联动 + 幂等审核——入库审核通过自动加库存、出库先校验库存不足再扣减,重复审核被状态机直接拦下。④ 零后端调试方案——自建本地 Mock 层(1200+ 行),7 张集合落到本地存储并模拟 200ms 延迟,一个 USE_MOCK 开关即可切回真实云函数。⑤ 离线草稿箱——送货人在无信号场景可先存草稿,恢复网络后一键上传。
难点:小程序包体积与依赖限制苛刻,图表库与 xlsx 库都会撑大包体且不兼容,最终以纯 CSS 手绘图表 + SpreadsheetML 导出绕开;开发者工具多层缓存导致改动不生效,沉淀出"清缓存 + 删 dist + 重新编译"的流程。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论