乐于分享
好东西不私藏

小店智脑-产品需求文档

小店智脑-产品需求文档

产品需求文档

版本:MVP V1.0

日期:2026-03-22


目录

  1. 产品概述
  2. 用户与场景
  3. 功能清单
  4. 收银模块
  5. 商品库模块
  6. 库存模块
  7. 异业桥接模块
  8. 报表模块
  9. 多终端支持
  10. 技术架构
  11. 数据模型
  12. 实施计划
  13. 验收标准

1. 产品概述

1.1 产品定位

小店智脑是一款智能收银助手,支持收款机、平板、手机多终端,专为街边小店设计。

1.2 核心价值

“收银快、库存准、商品库共享、自由牵线拉客”

1.3 平台定位

“我们是桥接器,不是管理者”

平台做
平台不做
✅ 提供商家展示
❌ 审核商家资质
✅ 提供券模板
❌ 审核券内容
✅ 提供联系方式
❌ 担保交易
✅ 记录数据统计
❌ 仲裁纠纷

1.4 核心特点

  • 断网可用:收银永不掉线
  • 语音加商品:动口不动手
  • 电子小票优先:环保省钱
  • 统一商品库:扫码即用,无需录入
  • 无条码商品:称重/快捷/手动,多种方式
  • 多终端支持:收款机/平板/手机,任意选择
  • 异业桥接:只牵线,不管理,互相发券拉客

2. 用户与场景

2.1 目标用户

  • 社区便利店
  • 水果店
  • 小型生鲜店
  • 零食店
  • 周边各类小店(理发店、洗衣店、餐饮店等)

2.2 核心场景

场景
用户
终端
说明
日常收银
店员
收款机/平板
扫码/语音加商品
移动收银
店员
手机
排队结账、夜市摊位
临时收银
老板
手机
帮店员顶班
商品入库
老板
平板/手机
进货录入
查库存
老板
平板/手机
实时查看
找合作伙伴
老板
手机
搜索附近商家
创建优惠券
老板
手机
生成二维码
推广别人券
老板
平板
打印二维码贴收银台
顾客领券
顾客
手机
扫码领券
核销券
店员
收款机/平板
收银时核销
看报表
老板
手机
随时查看

3. 功能清单

模块
功能
收款机
平板
手机
优先级
收银
扫码加商品
P0
语音加商品
P0
电子秤接入
P0
称重计价
P0
快捷商品
P0
手动输入
P0
购物车
P0
支付
P0
电子小票
P0
纸质小票
P0
挂单取单
P1
商品库
标准库查询
P0
新商品录入
P0
快捷商品管理
P1
库存
商品管理
P0
入库
P0
库存流水
P1
低库存预警
P1
异业
搜索商家
P1
查看联系方式
P1
创建优惠券
P1
生成二维码
P1
顾客领券
P1
收银核销
P1
券统计报表
P2
商家合作标记
P1
报表
日销售报表
P0
月销售报表
P0
系统
多店管理
P0
首次引导
P0
断网提示
P0

4. 收银模块

4.1 加商品方式

方式
实现
适用场景
兜底方案
扫码加商品
扫码枪/摄像头
有条码商品
手动输入条码
语音加商品
讯飞离线SDK
快速添加
显示候选确认
称重计价
电子秤读取
水果、蔬菜
手动输入重量
快捷商品
预设按钮
常用无码商品
自行添加
手动输入
输入名称/价格
临时商品
快速金额
直接输金额
极速收银

4.2 收银界面

收款机端(横屏)

┌─────────────────────────────────────────────────────────────────────────────────┐
│  F1可乐  F2农夫山泉  F3薯片  F4苹果  F5香蕉  F6挂单  F7结算  F8优惠券  F9打印  │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                  │
│  购物车                              │  商品分类                                 │
│  ┌────────────────────────────┐     │  ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│  │ 可乐 x2         6.00       │     │  │ 饮料     │ │ 零食     │ │ 水果     │ │
│  │ [ - ] [ + ] [删除]         │     │  └──────────┘ └──────────┘ └──────────┘ │
│  ├────────────────────────────┤     │                                          │
│  │ 农夫山泉 x1     2.00       │     │  ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│  │ [ - ] [ + ] [删除]         │     │  │ 蔬菜     │ │ 熟食     │ │ 其他     │ │
│  ├────────────────────────────┤     │  └──────────┘ └──────────┘ └──────────┘ │
│  │ 合计: 8.00                 │     │                                          │
│  └────────────────────────────┘     │  商品列表                                 │
│                                      │  ┌────────────────────────────────────┐ │
│  [使用优惠券]                        │  │ 可乐         3.00    [ + ]        │ │
│                                      │  │ 雪碧         3.00    [ + ]        │ │
└─────────────────────────────────────────────────────────────────────────────────┘

平板端(竖屏)

┌─────────────────────────────────────────┐
│  [离线] [搜索] [扫码] [语音]            │
├─────────────────────────────────────────┤
│  购物车                                  │
│  ┌───────────────────────────────────┐  │
│  │ 可乐 x2         6.00              │  │
│  │ 农夫山泉 x1     2.00              │  │
│  │ 合计: 8.00                        │  │
│  └───────────────────────────────────┘  │
│                                          │
│  [使用优惠券]  [结算]                    │
│  ──────────────────────────────────────  │
│  快捷商品                                 │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐   │
│  │ 苹果    │ │ 香蕉    │ │ 橙子    │   │
│  │ 6元/斤  │ │ 5元/斤  │ │ 8元/斤  │   │
│  └─────────┘ └─────────┘ └─────────┘   │
│  ──────────────────────────────────────  │
│  商品分类                                 │
│  [饮料] [零食] [水果] [蔬菜] [更多]      │
└─────────────────────────────────────────┘

手机端(竖屏,极简)

┌─────────────────────────────────────────┐
│  [扫码]  [语音]  [搜索]                 │
├─────────────────────────────────────────┤
│                                          │
│  当前订单: 8.00  ▼                      │
│  (点击展开购物车)                        │
│                                          │
│  ┌───────────────────────────────────┐  │
│  │        快捷商品                    │  │
│  └───────────────────────────────────┘  │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐   │
│  │ 苹果    │ │ 香蕉    │ │ 橙子    │   │
│  │ 6元/斤  │ │ 5元/斤  │ │ 8元/斤  │   │
│  └─────────┘ └─────────┘ └─────────┘   │
│                                          │
│  [结算]                                  │
└─────────────────────────────────────────┘

4.3 电子秤接入

支持型号:大华ACS-15(USB串口)

交互流程

  1. 选择计重商品(如“苹果”)
  2. 电子秤自动读取重量,实时显示
  3. 如秤掉线,显示“秤未连接,可手动输入重量”
  4. 手动输入重量后自动计算金额
  5. 点击“加入购物车”

4.4 支付流程

1. 点击"生成收款码"
2. 调用聚合支付API,生成二维码
3. 显示二维码,顾客扫码支付
4. 轮询支付结果(每2秒,最多30次)
5. 支付成功:
   ├── 扣减库存(检查库存,不足时弹窗确认)
   ├── 记录库存流水
   ├── 保存订单到SQLite
   ├── 发送电子小票
   ├── 如失败,记录日志
   └── 标记订单待同步
6. 支付回调失败:店员可手动标记“已支付”

4.5 库存不足处理

收银时库存不足 → 弹窗提示“库存仅剩X,是否继续销售?”
选项:
- 继续销售(允许负数,记录原因)
- 取消销售(返回修改)
- 查看库存详情

4.6 电子小票优先

支付方式
行为
兜底
微信支付
自动发送电子小票,不打印纸质
失败则打印纸质
支付宝支付
自动发送电子小票,不打印纸质
失败则打印纸质
现金支付
询问顾客是否需要打印
默认不打印
顾客要求
点击“打印小票”按钮
立即打印

4.7 纸质小票内容

小店智脑 - XX便利店
----------------
可乐      x2   6.00
农夫山泉  x1   2.00
苹果    1.2kg 7.20
----------------
合计: 15.20
支付: 微信
时间: 2026-03-22 14:30
订单号: 202603220001
----------------
谢谢光临

5. 商品库模块

5.1 核心理念

“谁录入,谁受益,大家共享”

5.2 商品录入流程

扫码/输入条码
     │
     ▼
查询本地库
     │
     ├── 存在 → 直接使用
     │
     └── 不存在
           │
           ▼
      查询标准库缓存(本地)
           │
           ├── 存在 → 复制到本地 → 使用
           │
           └── 不存在
                 │
                 ▼
            查询云端标准库
                 │
                 ├── 存在 → 复制到本地+缓存 → 使用
                 │
                 └── 不存在
                       │
                       ▼
                  弹出录入界面
                       │
                       ▼
              保存到本地(允许使用)
                       │
                       ▼
              提交审核(异步)
                       │
                       ▼
              审核通过 → 进入标准库

5.3 待审核商品临时使用

其他商家扫码时,若商品在待审核中:

弹出提示:“该商品待审核,是否临时使用?”
选项:
- 是 → 复制到本地,标记“临时商品”
- 否 → 继续等待审核
审核通过后,临时商品自动转为正式商品

5.4 商品录入界面

┌─────────────────────────────────────────────────────────────────┐
│  录入新商品                                                      │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  条码:6901234567890                                             │
│                                                                  │
│  * 商品名称:_______________                                     │
│  * 分类:    [饮料 ▼]                                           │
│    品牌:    _______________                                     │
│    规格:    _______________ (如 550ml)                          │
│  * 单位:    [瓶 ▼]                                             │
│  * 建议售价:_______________                                     │
│                                                                  │
│  ┌─────────┐  ┌─────────┐                                      │
│  │  提交   │  │  取消   │                                      │
│  └─────────┘  └─────────┘                                      │
│                                                                  │
│  💡 提示:提交后即可使用,审核通过后其他商家也可使用               │
└─────────────────────────────────────────────────────────────────┘

5.5 快捷商品管理

┌─────────────────────────────────────────────────────────────────┐
│  快捷商品管理                                                    │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  常用快捷商品:                                                  │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │ 苹果     6元/斤    计重    有库存   [编辑] [删除]       │    │
│  │ 香蕉     5元/斤    计重    有库存   [编辑] [删除]       │    │
│  │ 散装瓜子 15元/斤   计重    无库存   [编辑] [删除]       │    │
│  │ 手工面包 5元/个    普通    有库存   [编辑] [删除]       │    │
│  └─────────────────────────────────────────────────────────┘    │
│                                                                  │
│  ┌─────────┐                                                    │
│  │ 添加快捷 │                                                    │
│  └─────────┘                                                    │
└─────────────────────────────────────────────────────────────────┘

5.6 审核机制

阶段
审核方式
说明
自动审核
条码唯一性、必填字段
通过则入标准库
人工审核
平台后台
异常情况人工处理

6. 库存模块

6.1 商品管理字段

字段
类型
必填
说明
名称
文本
条码
文本
分类
下拉
饮料/零食/水果/其他
售价
数字
采购价
数字
加权平均
单位
文本
瓶/袋/斤
安全库存
数字
低于此值预警
保质期
数字
天数
计重
开关
是否按重量计价
跟踪库存
开关
快捷商品是否跟踪库存

6.2 入库流程

1. 扫码枪扫描商品条码
2. 自动填充商品信息
3. 输入数量、采购价
4. 提交
5. 更新products.stock(累加)
6. 记录inbound入库记录
7. 记录stock_log库存流水
8. 标记待同步

6.3 库存扣减(乐观锁)

-- 扣减库存时使用版本号
UPDATE products 
SET stock = stock - ?, version = version 1, updated_at = ?
WHERE id = ? AND version = ?;

-- 受影响行数为0则重试(最多3次)

6.4 库存流水

字段
说明
product_id
商品ID
store_id
店铺ID
change_type
sale/inbound/return/loss
change_quantity
变动数量
before_stock
变动前库存
after_stock
变动后库存
order_id
关联订单
created_at
时间

6.5 低库存预警

触发条件stock < safety_stock

推送方式:企业微信/小程序消息

推送内容

【库存预警】农夫山泉 550ml 库存仅剩3箱,
低于安全库存(5箱),建议补货。

7. 异业桥接模块

7.1 核心理念

“平台是桥接器,只牵线,不管理”

7.2 完整流程

商家A创建券 → 生成二维码 → 分享给商家B → 商家B打印二维码 → 顾客扫码领券 → 顾客到店核销

7.3 找商家界面

┌─────────────────────────────────────────────────────────────────┐
│  找商家                                                          │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  筛选:距离 [3公里 ▼]  行业 [全部 ▼]                            │
│                                                                  │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │  🏪 XX便利店                    1.2km                   │    │
│  │     零售 · 张老板              [已合作]                 │    │
│  │     电话:138****1234                                    │    │
│  │     微信:zhang*****                                      │    │
│  │     ┌─────────┐                                          │    │
│  │     │  联系TA  │                                          │    │
│  │     └─────────┘                                          │    │
│  └─────────────────────────────────────────────────────────┘    │
└─────────────────────────────────────────────────────────────────┘

7.4 创建优惠券界面

┌─────────────────────────────────────────────────────────────────┐
│  创建优惠券                                                      │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  * 券名称:满50减5元                                            │
│                                                                  │
│  * 券类型:○ 满减券  ● 折扣券  ○ 代金券  ○ 赠品券              │
│                                                                  │
│  * 满减门槛:50 元                                              │
│  * 优惠金额:5 元                                               │
│                                                                  │
│  * 有效期:2026-03-22 至 2026-03-29                             │
│                                                                  │
│  * 每人限领:1 张                                               │
│  * 总发行量:100 张                                             │
│                                                                  │
│  ┌─────────┐                                                    │
│  │  创建   │                                                    │
│  └─────────┘                                                    │
│                                                                  │
│  💡 每人每日最多创建10张券                                        │
└─────────────────────────────────────────────────────────────────┘

7.5 优惠券二维码

┌─────────────────────────────────────────────────────────────────┐
│  优惠券二维码                                                    │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  优惠券:满50减5元                                               │
│  来源:XX便利店                                                  │
│  有效期:2026-03-22 至 2026-03-29                               │
│                                                                  │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │                    [二维码]                              │    │
│  │           扫码领XX便利店满50减5元券                       │    │
│  └─────────────────────────────────────────────────────────┘    │
│                                                                  │
│  [保存图片]  [分享给好友]                                        │
└─────────────────────────────────────────────────────────────────┘

7.6 收银核销

点击"使用优惠券"后:

┌─────────────────────────────────────────────────────────────────┐
│  使用优惠券                                                      │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  请扫描顾客出示的优惠券码:                                       │
│                                                                  │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │                    [扫码区域]                            │    │
│  └─────────────────────────────────────────────────────────┘    │
│                                                                  │
│  扫码后:                                                        │
│                                                                  │
│  优惠券:满50减5元                                               │
│  来源:XX便利店                                                  │
│  当前订单金额:52.00元                                           │
│  优惠后金额:47.00元                                             │
│                                                                  │
│  ┌─────────┐  ┌─────────┐                                      │
│  │  确认核销│  │  取消   │                                      │
│  └─────────┘  └─────────┘                                      │
└─────────────────────────────────────────────────────────────────┘

7.7 核销并发锁

  • 核销时先检查券状态
  • 使用数据库行锁或Redis锁
  • 同一券码同时核销时,只有一个成功

7.8 商家合作标记

  • 老板可标记“已合作”
  • 搜索时显示“已合作”标签
  • 避免重复联系

7.9 过期券清理

定时任务(每日凌晨1点):

  • 扫描过期券
  • 状态标记expired
  • 用户券包不显示过期券

7.10 举报机制

┌─────────────────────────────────────────────────────────────────┐
│  举报商家                                                        │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  举报原因:                                                      │
│  ○ 虚假宣传                                                      │
│  ○ 恶意骚扰                                                      │
│  ○ 违法内容                                                      │
│  ○ 其他                                                          │
│                                                                  │
│  描述:_________________________________                         │
│                                                                  │
│  ┌─────────┐                                                    │
│  │  提交   │                                                    │
│  └─────────┘                                                    │
└─────────────────────────────────────────────────────────────────┘

8. 报表模块

8.1 日报表

┌─────────────────────────────────────────────────────────────────┐
│  2026-03-22 销售日报                         [刷新] [分享]      │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  📊 今日数据                                                     │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │ 销售额:1,280元                                          │    │
│  │ 订单数:32                                               │    │
│  │ 毛利:320元(估算)                                      │    │
│  │ 数据同步时间:2026-03-22 23:55                           │    │
│  └─────────────────────────────────────────────────────────┘    │
│                                                                  │
│  🔥 商品排行(按销售额)                                         │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │ 1. 农夫山泉 550ml    234元                               │    │
│  │ 2. 可乐             189元                               │    │
│  │ 3. 薯片             156元                               │    │
│  └─────────────────────────────────────────────────────────┘    │
└─────────────────────────────────────────────────────────────────┘

8.2 月报表

┌─────────────────────────────────────────────────────────────────┐
│  2026年3月 销售月报                          [导出] [分享]      │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  📊 本月数据                                                     │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │ 总销售额:38,240元                                       │    │
│  │ 总订单数:856                                            │    │
│  │ 总毛利:9,560元(估算)                                  │    │
│  └─────────────────────────────────────────────────────────┘    │
│                                                                  │
│  📈 销售趋势图                                                   │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │     ┌──┐                                                │    │
│  │     │  │  ┌──┐                                          │    │
│  │  ┌──┤  │  │  │  ┌──┐                                   │    │
│  │  │  │  │  │  │  │  │                                   │    │
│  │  └──┴──┴──┴──┴──┴──┘                                   │    │
│  │  1  5 10 15 20 25 30                                    │    │
│  └─────────────────────────────────────────────────────────┘    │
└─────────────────────────────────────────────────────────────────┘

9. 多终端支持

9.1 终端对比

终端
优势
劣势
适用场景
收款机
稳定、专业、有外设
成本高、不灵活
有收银台的店
平板
便携、触屏、成本适中
需要支架
大多数小店
手机
最便携、零成本
屏幕小、效率低
临时收银、老板备用

9.2 各终端功能支持

功能
收款机
平板
手机
扫码加商品
语音加商品
电子秤
称重计价
✅(手动)
快捷商品
手动输入
购物车
支付
电子小票
纸质小票
商品管理
入库
报表
异业联盟

9.3 多端数据同步

  • 所有端共用同一云端数据库
  • 实时同步,冲突解决(时间戳+版本号)
  • 断网时本地可用,恢复后同步

9.4 手机端称重处理

手机端遇到称重商品:

  1. 提示“请手动输入重量”
  2. 显示最近常用重量选项(0.5kg, 1kg, 1.5kg, 2kg)
  3. 支持手动输入

10. 技术架构

10.1 整体架构

┌─────────────────────────────────────────────────────────────────┐
│                    多终端(收款机/平板/手机)                     │
│  ┌───────────────────────────────────────────────────────────┐  │
│  │  Flutter App (统一代码)                                   │  │
│  │  ├── UI适配:横屏/竖屏/极简,根据终端自适应                 │  │
│  │  ├── 业务逻辑:收银、库存扣减、打印、券核销                 │  │
│  │  ├── 本地存储:SQLite (商品、订单、库存、标准库缓存、券)    │  │
│  │  ├── 硬件驱动:扫码枪(USB)、电子秤(USB)、打印机(蓝牙)       │  │
│  │  ├── 语音识别:讯飞离线SDK                                 │  │
│  │  └── 同步模块:队列化上传、冲突解决(乐观锁)               │  │
│  └───────────────────────────────────────────────────────────┘  │
│                              │                                   │
│                              │ HTTP 异步同步                     │
│                              ▼                                   │
└─────────────────────────────────────────────────────────────────┘
                               │
                               ▼
┌─────────────────────────────────────────────────────────────────┐
│                    UniApp Cloud (轻量辅助)                       │
│  ┌───────────────────────────────────────────────────────────┐  │
│  │  云函数:                                                   │  │
│  │  - 商品库: searchProduct、submitProduct、auditProduct      │  │
│  │  - 订单: syncOrder、getReport                              │  │
│  │  - 异业: searchStores、createCoupon、claimCoupon、useCoupon│  │
│  │  - 系统: login、getStoreInfo                               │  │
│  └───────────────────────────────────────────────────────────┘  │
│                              │                                   │
│                              ▼                                   │
│  ┌───────────────────────────────────────────────────────────┐  │
│  │  云数据库:                                                 │  │
│  │  - stores (商家)                                          │  │
│  │  - standard_products (标准库)                              │  │
│  │  - pending_products (待审核)                               │  │
│  │  - coupons (优惠券)                                        │  │
│  │  - claimed_coupons (已领券)                                │  │
│  │  - orders_cloud (订单)                                     │  │
│  │  - daily_reports (日报)                                    │  │
│  │  - sync_conflicts (同步冲突)                               │  │
│  │  - partnerships (合作记录)                                 │  │
│  └───────────────────────────────────────────────────────────┘  │
│                              │                                   │
│                              ▼                                   │
│  ┌───────────────────────────────────────────────────────────┐  │
│  │  小程序 (老板端 + 顾客端)                                   │  │
│  │  - 老板: 找商家、创建券、看报表                             │  │
│  │  - 顾客: 领券、我的券包                                    │  │
│  └───────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────┘

10.2 技术选型

层级
技术
用途
前端
Flutter 3.x
多端统一代码
本地数据库
sqflite
SQLite封装
语音识别
讯飞离线SDK
离线语音加商品
硬件通信
flutter_usb_serial
USB电子秤
蓝牙打印
esc_pos_bluetooth
小票打印
云端
UniApp Cloud
Serverless
小程序
UniApp
老板端+顾客端

10.3 同步冲突解决(乐观锁)

-- 商品表增加版本号
ALTER TABLE products ADD COLUMN version INTEGER DEFAULT 1;

-- 扣减库存时
UPDATE products 
SET stock = stock - ?, version = version 1, updated_at = ?
WHERE id = ? AND version = ?;

-- 受影响行数为0则重试(最多3次)

10.4 成本估算

项目
估算
开发人力
3人 × 2个月 = 约15万
云端费用
< 100元/月 (100家店以内免费)
硬件采购(测试)
约2000元
合计 约15.5万

11. 数据模型

11.1 本地SQLite表

-- 店铺表
CREATE TABLE stores (
  id TEXT PRIMARY KEY,
  name TEXT,
  phone TEXT,
  wechat TEXT,
  industry_id TEXT,
  address TEXT,
  latitude REAL,
  longitude REAL,
  is_public INTEGER DEFAULT 1,
  status TEXT DEFAULT 'active',
  created_at INTEGER
);

-- 商品表
CREATE TABLE products (
  id TEXT PRIMARY KEY,
  store_id TEXT,
  barcode TEXT,
  name TEXT,
  category TEXT,
  price REAL,
  cost_price REAL,
  stock REAL,
  safety_stock REAL,
  unit TEXT,
  is_weighted INTEGER DEFAULT 0,
  shelf_life_days INTEGER DEFAULT 0,
  expiry_date TEXT,
  standard_id TEXT,
  version INTEGER DEFAULT 1,
  track_stock INTEGER DEFAULT 1,
  updated_at INTEGER,
  sync_status TEXT DEFAULT 'synced'
);

-- 快捷商品表
CREATE TABLE quick_products (
  id TEXT PRIMARY KEY,
  store_id TEXT,
  name TEXT,
  price REAL,
  unit TEXT,
  is_weighted INTEGER DEFAULT 0,
  stock REAL DEFAULT 0,
  track_stock INTEGER DEFAULT 0,
  category TEXT,
  sort_order INTEGER DEFAULT 0,
  created_at INTEGER
);

-- 订单表
CREATE TABLE orders (
  id TEXT PRIMARY KEY,
  store_id TEXT,
  order_no TEXT,
  total_amount REAL,
  pay_status TEXT,
  pay_time INTEGER,
  pay_method TEXT,
  cashier_id TEXT,
  version INTEGER DEFAULT 1,
  created_at INTEGER,
  sync_status TEXT DEFAULT 'pending'
);

-- 订单明细表
CREATE TABLE order_items (
  id TEXT PRIMARY KEY,
  order_id TEXT,
  product_id TEXT,
  product_name TEXT,
  quantity REAL,
  price REAL,
  amount REAL
);

-- 入库记录表
CREATE TABLE inbound (
  id TEXT PRIMARY KEY,
  store_id TEXT,
  product_id TEXT,
  product_name TEXT,
  quantity REAL,
  cost_price REAL,
  supplier TEXT,
  sync_status TEXT DEFAULT 'pending',
  created_at INTEGER
);

-- 库存流水表
CREATE TABLE stock_log (
  id TEXT PRIMARY KEY,
  product_id TEXT,
  store_id TEXT,
  change_type TEXT,
  change_quantity REAL,
  before_stock REAL,
  after_stock REAL,
  order_id TEXT,
  created_at INTEGER
);

-- 优惠券表
CREATE TABLE coupons (
  id TEXT PRIMARY KEY,
  store_id TEXT,
  name TEXT,
  type TEXT,
  threshold REAL,
  discount REAL,
  start_time INTEGER,
  end_time INTEGER,
  total_quantity INTEGER,
  per_user_limit INTEGER DEFAULT 1,
  claimed_count INTEGER DEFAULT 0,
  used_count INTEGER DEFAULT 0,
  status TEXT,
  sync_status TEXT DEFAULT 'synced',
  created_at INTEGER
);

-- 已领券表
CREATE TABLE claimed_coupons (
  id TEXT PRIMARY KEY,
  coupon_id TEXT,
  store_id TEXT,
  coupon_code TEXT UNIQUE,
  user_openid TEXT,
  status TEXT,
  claimed_at INTEGER,
  used_at INTEGER,
  order_id TEXT,
  sync_status TEXT DEFAULT 'pending'
);

-- 合作记录表
CREATE TABLE partnerships (
  id TEXT PRIMARY KEY,
  store_id TEXT,
  partner_store_id TEXT,
  status TEXT,
  created_at INTEGER
);

-- 标准库缓存表
CREATE TABLE standard_cache (
  id TEXT PRIMARY KEY,
  barcode TEXT UNIQUE,
  name TEXT,
  category TEXT,
  brand TEXT,
  spec TEXT,
  unit TEXT,
  default_price REAL,
  image_url TEXT,
  created_at INTEGER
);

-- 同步冲突表
CREATE TABLE sync_conflicts (
  id TEXT PRIMARY KEY,
  table_name TEXT,
  record_id TEXT,
  local_data TEXT,
  remote_data TEXT,
  resolution TEXT,
  resolved INTEGER DEFAULT 0,
  created_at INTEGER
);

11.2 云端数据库集合

集合
说明
主要字段
stores
商家信息
id, name, phone, wechat, industry, lat, lng
standard_products
标准库
id, barcode, name, category, brand, spec, unit, status
pending_products
待审核
id, barcode, name, store_id, submit_time
coupons
优惠券
id, store_id, name, type, threshold, discount
claimed_coupons
已领券
id, coupon_id, coupon_code, user_openid, status
orders_cloud
订单
id, store_id, total_amount, pay_time
daily_reports
日报
id, store_id, date, total_amount, order_count
partnerships
合作记录
id, store_id, partner_store_id, status
sync_conflicts
同步冲突
id, table_name, record_id, local_data, remote_data

12. 实施计划

12.1 团队配置

角色
人数
技能
Flutter开发
1人
App开发,多端适配,硬件对接
UniCloud开发
1人
云函数、小程序
硬件适配
0.5人
电子秤、打印机
产品/测试
0.5人
需求、验收
合计 3人

12.2 时间线

阶段
时间
交付
技术验证
第1周
电子秤接入、讯飞SDK、UniCloud环境
App开发
第2-5周
收银、库存、同步逻辑、多端适配
云端开发
第2-5周
云函数、数据库、小程序
联调测试
第6-7周
端云同步、断网恢复、冲突解决
试点上线
第8周
3-5家试点商户

12.3 里程碑

里程碑
时间
验收标准
M1: 基础收银
第3周
扫码加商品、购物车、支付
M2: 完整收银
第5周
语音、称重、电子小票、多终端
M3: 商品库
第6周
标准库查询、新商品录入、待审核临时使用
M4: 云端同步
第7周
订单同步、冲突解决、报表生成
M5: 异业桥接
第8周
找商家、创建券、核销、合作标记
M6: 小程序
第8周
老板看报表、顾客领券

13. 验收标准

13.1 收银模块

场景
预期行为
扫码加商品
1秒内响应
语音加商品
准确率>90%
电子秤
0.2秒内读取重量,掉线时手动输入
称重计价
自动计算金额
快捷商品
一键添加
手动输入
输入名称、价格,加入购物车
库存不足
弹窗提示,允许继续
支付
10秒内完成,回调失败可手动确认
电子小票
自动发送,失败则打印纸质
纸质小票
兜底打印正常
多终端
收款机/平板/手机均可用

13.2 商品库模块

场景
预期行为
扫码已有商品
直接使用
扫码标准库商品
复制到本地,使用
扫码新商品
弹出录入界面
提交审核
本地可用,异步提交
待审核商品
其他商家可临时使用
快捷商品
可添加、编辑、删除

13.3 库存模块

场景
预期行为
入库
库存增加,记录流水
销售
库存扣减,记录流水,乐观锁
库存不足
允许负数,弹窗提示
低库存预警
正确触发推送
库存流水
所有变动可追溯

13.4 异业桥接模块

场景
预期行为
搜索商家
按距离排序,显示合作标记
查看联系方式
显示电话/微信(部分隐藏)
创建优惠券
生成二维码,限制每日10张
顾客扫码领券
券存入券包,每人限领
收银核销
扫码验证,并发锁,优惠生效
过期券
定时清理,用户不显示
举报商家
提交成功

13.5 报表模块

场景
预期行为
日报表
数据与本地一致
月报表
数据与本地一致
数据同步时间
明确显示

13.6 系统模块

场景
预期行为
多店切换
数据正确隔离
首次使用
3步引导
断网
顶部状态栏显示“离线模式”
网络恢复
自动同步
多端同时使用
数据实时一致

文档结束


完整业务闭环图

┌─────────────────────────────────────────────────────────────────────────────────────┐
│                              小店智脑 - 完整业务闭环                                 │
├─────────────────────────────────────────────────────────────────────────────────────┤
│                                                                                      │
│  ┌─────────────────────────────────────────────────────────────────────────────┐   │
│  │                            收银闭环                                          │   │
│  │  顾客进店 → 加商品 → 购物车 → 支付 → 小票 → 库存扣减 → 订单保存 → 顾客离开   │   │
│  │              ↓                      ↓                                        │   │
│  │        扫码/语音/称重          电子小票优先                                   │   │
│  │        快捷/手动/快速          纸质小票兜底                                   │   │
│  │              ↓                                                               │   │
│  │        库存不足弹窗确认                                                       │   │
│  └─────────────────────────────────────────────────────────────────────────────┘   │
│                                      │                                              │
│                                      ▼                                              │
│  ┌─────────────────────────────────────────────────────────────────────────────┐   │
│  │                            商品库闭环                                        │   │
│  │  新商品录入 → 本地保存(可用) → 提交审核 → 待审核 → 审核通过 → 标准库 → 共享  │   │
│  │                 ↓                                                           │   │
│  │            其他商家可临时使用                                                │   │
│  └─────────────────────────────────────────────────────────────────────────────┘   │
│                                      │                                              │
│                                      ▼                                              │
│  ┌─────────────────────────────────────────────────────────────────────────────┐   │
│  │                            库存闭环                                          │   │
│  │  销售扣减 → 库存不足处理 → 记录流水 → 低库存预警 → 老板补货 → 入库 → 解除    │   │
│  │      ↓                          ↓                                            │   │
│  │  乐观锁防并发                推送通知                                         │   │
│  └─────────────────────────────────────────────────────────────────────────────┘   │
│                                      │                                              │
│                                      ▼                                              │
│  ┌─────────────────────────────────────────────────────────────────────────────┐   │
│  │                            异业闭环                                          │   │
│  │  商家A创建券 → 生成二维码 → 分享给商家B → 顾客领券 → 到店核销 → 券状态更新   │   │
│  │        ↓                        ↓              ↓                            │   │
│  │   每日限10张                打印贴收银台    每人限领                         │   │
│  │                             合作标记防重复                                   │   │
│  └─────────────────────────────────────────────────────────────────────────────┘   │
│                                      │                                              │
│                                      ▼                                              │
│  ┌─────────────────────────────────────────────────────────────────────────────┐   │
│  │                            同步闭环                                          │   │
│  │  本地操作 → SQLite存储 → 队列上传 → 云端存储 → 冲突解决 → 多端拉取 → 一致   │   │
│  │      ↓                          ↓                                            │   │
│  │  断网可用                    乐观锁+版本号                                    │   │
│  └─────────────────────────────────────────────────────────────────────────────┘   │
│                                                                                      │
└─────────────────────────────────────────────────────────────────────────────────────┘
本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 小店智脑-产品需求文档

猜你喜欢

  • 暂无文章