Know Your Wisdom

发货后台使用指南:给村里仓库师傅,也给我自己

2026-05-15

发货后台使用指南

写在前面:这篇文档是给两类人看的。

  • 一类是村里帮我发货的师傅,每天看一下、点一下就能完成工作;
  • 一类是我自己——主要是用来手动录入"微信直接转账"的那些线下订单。

不用懂技术,照着步骤走就行。

一、为什么要做这个东西

以前的状况:

  1. 客户在网站下单付款 → 我手机微信收到提醒
  2. 我得把订单的收件人、电话、地址、买了啥、买几个、有没有备注一条条念给村里师傅
  3. 师傅照着发,发完以后客户又来微信问我:"几时发的呀?"、"快递单号多少?"、"到哪儿了?"
  4. 一天问八次。我手忙脚乱,师傅也对不上信息。

新的做法:

  1. 师傅打开一个网页链接,所有要发的单都在上面,自己点
  2. 拍快递单照片、点"确认发货" → 系统自动通知客户
  3. 客户自己点链接就能看到"已发货 / 物流照片 / 快递单号",不会再来烦我

两条流程下面分开讲。

二、给仓库师傅的使用流程(每天用)

你的专属链接

https://w.knowuv.com/x/ship/<你的专属 token>

我会单独发给你。收到后第一件事:在微信里点右上角「⋯」→「收藏」。 以后每天从微信收藏夹点开就行,不用记网址。

⚠️ 别把这个链接给客户。客户进来能看到所有人的订单和地址,是大事故。

第 1 步 · 打开链接

最上面是两个按钮:

┌────────────────────────────────────────┐
│   📦 待发货 5      │     ✅ 已发货 23      ➕  │
└────────────────────────────────────────┘
  • 左边「待发货 5」:还有 5 个单子等着你发
  • 右边「已发货 23」:之前已经发出去的
  • 最右边那个圆形「」按钮不用你管,那是我(CJH)录单用的

每天就盯左边那个红色的数字——只要它还大于 0,就还有活。

第 2 步 · 点一个订单卡片

每张卡片长这样:

┌──────────────────────────────────┐
│  👤 张三   139****5678             │
│  📍 北京市朝阳区xxx路88号3单元      │
│  ────────────────────             │
│  桃木镇宅 × 2                       │
│  SKU: 直径8cm-300g                  │
│  💬 客户备注:刻字"福"              │
│  ¥99.80      05-14 14:30 下单     │
│         ┌──────────────────────┐  │
│         │   📦  去发货           │  │
│         └──────────────────────┘  │
└──────────────────────────────────┘

要看的字段:

  • 姓名、电话、地址:贴快递单用
  • 商品 + 数量:从仓库里拿什么、拿几个
  • 客户备注(黄色那一行):客户有特殊要求要注意

点底下蓝色大按钮 「📦 去发货」

第 3 步 · 拍快递单号照片

进入发货页面,最关键的一步:拍照

页面中间会出现 3 列照片格,最后一格是「+」号。底部有两个大按钮:

  • 📷 拍照 — 直接调相机拍。建议拍:
    1. 快递单号正面(一定要拍清楚)
    2. 包好的包裹外观
    3. 外箱上写的姓名地址(确认没贴错)
  • 🖼 相册 — 如果照片已经在手机相册里,从里面选

💡 至少要拍 1 张才能确认发货。系统会拦住你,不让你"空手"发货——这是为了万一有纠纷时能查证。

拍错了?点照片右上角的 删掉重拍。

第 4 步 · 填备注(可不填

下面有个文字框,可以手写一遍快递单号方便以后查询。例如:

SF1234567890   顺丰

或者:

今天这单挑了好的,注意保护包装

不写也行。

第 5 步 · 点「📦 确认发货」

页面底部的红色大按钮。点完之后:

  • 这单从「待发货」消失,跑到「已发货」
  • 客户自动收到微信"已发货"通知(线上单子)
  • 你的活就完了 ✅

几个常见情况

情况怎么办
拍错了照片发出去了切到「已发货」tab,找到这单点进去,可以继续删除照片、加新照片、改文字。不会重复打扰客户——通知只发一次。
拍照按钮点了没反应检查手机有没有给浏览器相机权限。微信里:设置 → 通用 → 照片与相册 → 允许
想看半个月前发的单子「已发货」tab,往下滚就行
列表是空的没有待发货订单了,可以休息 ☕
打开页面显示「页面不存在」链接失效了,找 CJH 要新链接
拍照照片很大上传很慢没事,等一下就好。网速差的话一张图可能 5-10 秒

三、给我自己 · 手动录入"线下转账"订单

这一部分只跟我(CJH)有关,村里师傅可以跳过。

场景

朋友/熟客直接在微信里联系我,说"给你转账买个 X,地址是 XXX"——这种没走网站下单流程的单子。

以前我得记小本子,发完货还得手动告诉客户"已经发了,单号 SF……"。现在用录单功能一气呵成。

录单步骤

1️⃣ 收到客户微信转账 + 地址

2️⃣ 手机打开发货后台 → 点右上角紫色圆形

弹出录入表单。

3️⃣ 填表

收件人 *      张三
手机号 *      13912345678
收件地址 *    北京市朝阳区xxx路88号
              (省市区 + 详细地址,写一行就行)
商品名 *      桃木镇宅
SKU / 规格    直径8cm-300g       (可不填)
数量 *        2
金额(元)    99.80              (可不填)
备注          刻字"福"

* 是必填,没填提交不了。

4️⃣ 点底部 「➕ 创建订单」

立刻弹出"订单已创建"对话框,里面有一段已经写好的微信话术

您的订单已记录,张三 您好,可随时查看发货进度:
https://w.knowuv.com/o/track/88f7...ac

5️⃣ 点 「📋 复制完整消息」

直接切回微信,粘贴给客户。结束。

整个过程 30 秒搞定。

这之后发生什么

  • 这单自动出现在仓库师傅的「待发货」列表里
  • 师傅看到的卡片和正规线上单子完全一样,照常拍照发货
  • 师傅点"确认发货"后,系统不会给客户发模板消息(因为客户不是微信公众号粉丝),客户自己点之前那个链接看进度

四、客户看到什么(追踪页)

客户点开 https://w.knowuv.com/o/track/xxxxx 这个链接,会看到一个简洁的页面:

            ⏳
         商家正在备货
   您的订单已记录,等待商家发货


  ●  订单已记录             2026-05-15 10:30
  │
  ●  商家发货                待商家确认发货
  ┊  (这个点会闪烁,表示进行中)


  📦 订单信息
  收件人      张三
  手机号      139****5678
  收件地址    北京市朝阳区***
  商品        桃木镇宅 · 直径8cm-300g
  数量        × 2
  金额        ¥99.80
  备注        刻字"福"
  订单号      M177877470891f985

发货之后状态变成:

            📦
         已发货
        2026-05-15 14:30


  📸 发货凭证
  [快递单照片][包裹照片][外箱照片]

  📝 备注:SF1234567890 顺丰


  📦 订单信息
  ...

隐私保护(系统自动):

  • 手机号脱敏:139****5678
  • 地址只显示省市区,门牌号隐去:北京市朝阳区***
  • 即使链接被转发,门牌号不会泄露

五、🚨 几个绝对不能做的事

  1. 别把仓库链接 /x/ship/... 发给客户 客户能看到所有人的订单和地址,灾难性泄露。
  2. 别在朋友圈、群聊、公开渠道发任何链接 两种链接都是身份凭证。被别人捡到就麻烦。
  3. 别把仓库和客户的链接搞混 发链接前看一眼路径:
    • /x/ship/... → 仓库师傅用
    • /o/track/... → 客户用
  4. 如果丢了手机,找 CJH 撤换 token,旧链接立刻失效。

六、附录 · 技术说明(CJH 自查用)

系统组成

部分位置干嘛的
发货后台页面mall/pages/x/ship/[token].vue仓库师傅看的列表页
录单弹层mall/components/ship/NewOrderSheet.vue我录线下单的表单
编辑弹层mall/components/ship/EditSheet.vue拍照 + 备注 + 确认发货
客户追踪页mall/pages/o/track/[hash].vue客户点链接进来看的
后端服务myweb-django/myweb/knowuv/services/order.py4 个新 RPC:ListPendingShipments / UpdateShipment / CreateManualOrder / GetTracking
鉴权SHIPPING_TOKENS 环境变量逗号分隔多个 token;多人发货时复制多份链接

几个不变量

  • 状态机:pending → shipped单向,没有撤销发货按钮(但已发货后可以无限改照片/文字)
  • 模板消息:只在 pending → shipped 这次跳转时发,再次保存修改不重发
  • 手工订单(type=manual_offlineopenid=空):自动跳过模板消息,避免在没绑定公众号的客户那里报错
  • 退款 / 失败订单:自动从发货列表隐藏

紧急情况处理

问题怎么搞
客户说追踪链接打不开MongoDB wx_pay_order 集合按 out_trade_no 查到 doc,看 tracking_hash 字段,拼接成新链接重发
录单填错了直接改 MongoDB 文档 order_info.delivery_to 子字段。客户点链接会看到改后的最新版
想给师傅换一个 tokenenv SHIPPING_TOKENS=hash1,hash2,hash3 加一个,重启 service,发新链接
想看谁发的货MongoDB 查 shipped_by 字段,是当时用的 token,根据 token 末尾 4 位认人

上线 checklist

# 1. proto 已经在 mall 和 myweb-django 之间分发
cd proto && PATH=/Users/chenjiahao/workspace/proj/mall/node_modules/.bin:$PATH buf generate ./

# 2. backend 打镜像 + 上线
cd myweb-django && make
cd docker-srcipts/cjh2/myweb-django && make

# 3. backfill 一次(旧订单加 shipping_status='pending')
python manage.py backfill_shipping_status

# 4. 前端打镜像 + 上线(约 10 分钟)
cd mall && make

# 5. 真机访问验证
# - https://w.knowuv.com/x/ship/<token>  ← 仓库
# - 录一单线下订单,把追踪链接发给自己微信打开试一下

写在最后

这套东西做出来不是为了"看起来很高科技",而是为了:

  • 村里师傅不用再听我念订单信息——他自己手机上看清清楚楚
  • 客户不用再来微信问我——他自己点链接看
  • 我自己不用再当人肉客服——录单 30 秒搞定,剩下时间干别的

如果用着哪里别扭,或者哪一步看不懂、点不动,直接微信告诉我,我改。

—— CJH,2026 年 5 月