从顾客在小程序下单,到门店接单、拣货、打包、配送,再到库存盘点与经营复盘—— 每个环节都有对应的作业界面与数据留痕。下面按模块拆解,并附上真实界面复刻图。
七个环节,每一步都有独立界面、独立状态机与独立操作日志。
小程序浏览商品、选规格、用券、选配送时段或到店自提,微信支付完成。
订单实时推送到对应门店,店长在后台看到待处理队列,可批量接单或改派。
拣货任务按订单生成,店员手机逐项勾选;缺货可现场登记,系统自动生成售后单。
自建骑手按距离与负载智能推荐,或向多家众包平台比价后一键分发。
骑手定时上报位置与状态,顾客端实时看到地图轨迹与预计送达时间。
拍照签收、自提取货码核销;异常单自动进入售后工单流程。
销售自动扣减库存,盘点校准账实差异,看板与报表沉淀经营数据。
UniApp 一套代码同时产出微信小程序与 H5。微信端静默登录、零表单注册;H5 端手机号验证码注册并引导设置密码。
顾客定位后系统自动匹配最近的可服务门店,也可在顶部手动切换到常去的门店。 每个门店有独立的库存、售价与上下架状态,但商品分类与基础资料由总部统一维护—— 换一个门店,看到的商品是同一套,价格与库存是这一家自己的。
有机西兰花 新鲜现摘 约 400g
月售 1.2k丹东 99 草莓 精品礼盒 500g
月售 856黑猪前腿肉 冷鲜现切 500g
月售 643活冻基围虾 净重 400g/盒
月售 512生鲜最怕"收到就坏了"。顾客在订单详情页可直接发起售后,选择退款原因、上传照片、填写期望金额; 门店在后台审核,仅退款类审核通过后系统立即原路退款,退货退款类走取件流程。全程状态可见、消息可推。
Vue3 + Element Plus 构建的 Web 后台,26 个功能页面按「工作台 / 订单履约 / 商品管理 / 库存管理 / 数据报表 / 门店配置」六大域组织。 总部账号可跨门店汇总,门店账号自动锁定在本店数据范围内。
13 种订单状态全流转可追溯,每一次状态变更都留操作人与时间戳。
按订单批量生成拣货任务,逐项勾选实拣数量,缺货现场登记。
自营骑手与众包运力统一调度,异常单自动进入售后流程。
到店自提订单生成取货码,收银台扫码或输码即时核销。
顾客申请与拣货缺货自动生成的售后单,统一在后台审核处理。
门店信息、配送区域、营业参数、员工与角色,都在这一处维护。
配送调度中台统一管两条运力:自有骑手走智能推荐派单,高峰期一键分发到多家众包平台比价接单。 骑手端每 30 秒上报一次位置,顾客与门店都能看到实时轨迹。
骑手小程序按「待取货 / 配送中 / 已完成」三态组织任务。到店取货扫码核验,取货后自动开始轨迹上报, 送达时拍照签收并上传妥投凭证。异常(顾客不在、地址错、拒收)可直接在单内发起异常上报,门店后台同步收到。
| 众包平台 | 预估费用 | 预计接单 | 预计送达 | 可用 | 操作 |
|---|---|---|---|---|---|
| 达达快送 | ¥6.50 | 2 分钟 | 32 分钟 | 可用 | 一键发单 |
| 顺丰同城 | ¥8.00 | 1 分钟 | 28 分钟 | 可用 | 一键发单 |
| 美团配送 | ¥7.20 | 3 分钟 | 35 分钟 | 可用 | 一键发单 |
| 蜂鸟即配 | — | — | — | 未配置 | — |
| 骑手 | 状态 | 在手单 | 并发上限 | 距门店 | 最近上报 | 操作 |
|---|---|---|---|---|---|---|
| 张建国 | 配送中 | 2 / 4 | 4 | 1.2 km | 09:41:12 | 轨迹 · 派单 |
| 李文博 | 空闲 | 0 / 4 | 4 | 0.3 km | 09:41:05 | 轨迹 · 派单 |
| 王海涛 | 配送中 | 3 / 3 | 3 | 2.8 km | 09:40:58 | 轨迹 |
| 赵敏 | 待取货 | 1 / 4 | 4 | 0.1 km | 09:41:20 | 轨迹 · 派单 |
每个门店一套独立库存账。采购入库、销售出库、报损、调拨、盘点五类单据全部走统一的出入库流水, 任何一次数量变动都能追到单据、操作人和时间。
发起盘点时系统按当前库存生成快照,店员在门店作业端逐项录入实盘数量; 差异自动计算并区分盘盈 / 盘亏,审核通过后一键生成调整单,库存账与实物同步归零。
| SKU | 商品 | 规格 | 账面数量 | 实盘数量 | 差异 | 差异金额 | 状态 |
|---|---|---|---|---|---|---|---|
| 10233 | 活鲜鲈鱼 | 500-600g/条 | 18 | 15 | −3 | −¥89.70 | 待审核 |
| 10086 | 本地小青菜 | 约 400g/份 | 62 | 60 | −2 | −¥13.80 | 待审核 |
| 10451 | 可生食鲜鸡蛋 | 30 枚/盒 | 24 | 26 | +2 | +¥51.60 | 待审核 |
| 10377 | 赣南脐橙 | 2.5kg/箱 | 31 | 30 | −1 | −¥45.00 | 待审核 |
| 10142 | 沙瓤西红柿 | 500g/份 | 45 | 45 | 0 | ¥0.00 | 已确认 |
| 10588 | 厄瓜多尔白虾 | 400g/盒 | 12 | 11 | −1 | −¥39.90 | 待审核 |
收银硬件、众包运力、财税 ERP 这些已经高度成熟的领域,我们不做重复造轮子, 而是用一套「第三方集成中台」把它们标准化接进来——统一鉴权、统一回调、统一重试、统一日志。
收银机、自助收银机、扫码枪、小票打印机全部采购成熟 SaaS 厂商硬件,通过开放 API 双向打通。
自营骑手不够时,一键把订单分发到多家众包平台,系统自动比价、自动择优。
所有核心业务对象都对外提供标准 RESTful 接口,客户自有系统可直接对接。
依托微信原生能力,把获客和服务成本压到最低。
连锁客户已有的采购与财务系统不必推翻,按标准接口挂接即可。
第三方一定会挂,关键是挂了不影响主流程。
| 集成对象 | 对接方式 | 数据流向 | 客户需要做什么 |
|---|---|---|---|
| 终端与硬件 | |||
| POS 收银机 | 厂商开放 API + Webhook | 双向:商品下发 / 零售单回传 | 选定厂商,提供 API 凭证 |
| 自助收银机 | 厂商开放 API | 双向:购物车同步 / 支付结果 | 选定厂商,提供 API 凭证 |
| 电子价签 | 厂商 SDK / API | 单向:价格与促销下发 | 可选,提供网关地址 |
| 运力与履约 | |||
| 众包配送平台 | REST API + 状态回调 | 双向:发单 / 骑手位置与状态 | 开通平台商户号 |
| 第三方快递 | 统一快递 API 聚合 | 双向:下单 / 轨迹订阅 | 可选,提供月结账号 |
| 支付与消息 | |||
| 微信支付 | 官方 SDK(JSAPI / 退款 / 对账单) | 双向:预支付 / 回调验签 | 提供商户号与 API 证书 |
| 短信服务 | 云厂商短信 API | 单向:验证码与通知下发 | 提供签名与模板备案 |
| 企业管理系统 | |||
| ERP / 财务 | API / 中间库 / 定时文件 | 双向:采购入库 / 销售日结 | 提供接口文档与联调环境 |
| 客户自有系统 | 开放 API + Webhook 订阅 | 按需 | 申请 AppKey,按文档开发 |
所有集成均通过「第三方集成中台」统一收口,客户只需提供各厂商凭证,无需为每家单独开发适配代码。
生鲜门店人手杂、流动快,权限必须细。系统内置店长、店员、拣货员、收银员、仓库管理员、总部管理员等角色, 权限点精确到「查看 / 新增 / 审核 / 导出」四个动作层级,并叠加门店数据隔离——店员只能看到自己门店的单据。
内置角色开箱即用,也支持在后台新建角色、勾选任意权限组合。员工可绑定多个角色, 权限取并集;离职一键停用账号,历史操作日志完整保留。
| 内置角色 | 典型岗位 | 可访问范围 | 关键权限 |
|---|---|---|---|
| 总部管理员 | 运营总监 / IT 负责人 | 全部门店 | 商品库维护、角色权限、跨店调拨、全量报表 |
| 店长 | 门店负责人 | 本门店 | 看板、订单全流程、售后审核、员工管理、库存审核 |
| 店员 | 门店综合岗 | 本门店 | 接单、拣货、自提核销、库存查看 |
| 拣货员 | 专职拣货 / 打包 | 本门店 | 拣货工作台、缺货登记 |
| 收银员 | POS 操作岗 | 本门店 | 零售收银、会员核销、日结对账 |
| 仓库管理员 | 门店仓 / 中心仓 | 所属仓 | 采购入库、报损、盘点、调拨 |
| 财务人员 | 总部财务 | 全部门店(只读) | 报表导出、对账单、退款审批 |
Laravel + Vue 3 + UniApp,三个都是社区体量最大、招人最容易、文档最全的主流方案。 代码分层清晰(Controller / Service / Repository / Model),二次开发和交接都不卡壳。
安全基线:全站 HTTPS · 支付回调验签 · 手机号与身份证脱敏存储 · SQL 预处理防注入 · XSS 转义 · 接口限流与防刷 · 敏感操作二次确认与全量审计日志
部署形态:SaaS 多租户(默认) / 独立部署(单客户专属实例) / 私有化部署(客户自有机房或云账号),三种形态代码同源。
下面是各端界面的截图预留位。把图片按文件名放进 assets/img/shots/,刷新页面即自动替换占位框。
assets/img/shots/ 并保持上表文件名(大小写敏感),刷新页面即自动替换占位框;文件名对照表见 assets/img/shots/README.md。