CLAUDE.md 5.8 KB

AI零售柜 - 智能视觉零售小程序

项目概述

一个基于 uni-app 3 + Vue 3 + TypeScript + Pinia 的跨平台小程序,实现"AI智能零售柜 · 即拿即走"的无人零售体验。用户扫码开门 -> 取走商品 -> 关门 -> AI自动识别 -> 微信支付分扣款。

技术栈

  • 框架: uni-app 3.0 (DCloud)
  • 核心: Vue 3.5 + TypeScript + Vite 5
  • 状态管理: Pinia
  • 样式: SCSS (自定义设计系统)
  • 目标平台: 微信小程序 (主)、H5、支付宝小程序等

目录结构

haha-mp/
├── src/
│   ├── api/           # API 接口层
│   │   ├── device.ts       # 设备相关
│   │   ├── order.ts        # 订单相关
│   │   ├── user.ts         # 用户/登录
│   │   ├── payscore.ts     # 微信支付分
│   │   ├── coupon.ts       # 优惠券
│   │   ├── announcement.ts # 公告
│   │   ├── status.ts       # 状态轮询
│   │   └── replenish.ts    # 补货员
│   ├── pages/         # 页面
│   │   ├── index/          # 首页 (扫码入口)
│   │   ├── shopping/       # 购物流程页
│   │   ├── products/       # 柜内商品陈列
│   │   ├── login/          # 登录
│   │   ├── my/             # 个人中心
│   │   ├── orders/         # 订单列表
│   │   ├── orderDetail/    # 订单详情
│   │   ├── refund/         # 退款
│   │   ├── payscore/       # 开通微信支付分
│   │   ├── coupons/        # 我的优惠券
│   │   ├── couponCenter/   # 领券中心
│   │   ├── announcement/   # 系统公告
│   │   ├── announcementDetail/ # 公告详情
│   │   ├── agreement/      # 用户协议/privacy
│   │   └── replenish/      # 补货员绑定
│   ├── utils/         # 工具类
│   │   ├── config.ts       # API配置 & 路径常量
│   │   ├── request.ts      # HTTP请求封装
│   │   ├── auth.ts         # 认证/token管理
│   │   ├── order.ts        # 订单工具函数
│   │   ├── coupon.ts       # 优惠券工具函数
│   │   └── logger.ts       # 日志工具
│   ├── components/    # 公共组件
│   ├── styles/        # 样式
│   ├── static/        # 静态资源
│   ├── App.vue        # 应用入口(启动逻辑/登录守卫)
│   ├── main.ts        # 入口文件
│   ├── pages.json     # 页面路由配置
│   ├── manifest.json  # 应用配置
│   └── uni.scss       # 设计系统变量
├── package.json
├── tsconfig.json
└── index.html

业务架构

核心业务流程

  1. 扫码开门: 用户扫码 -> 检查登录 -> 检查微信支付分(需550+) -> 后端开门 -> 进入购物页
  2. 选购过程: 开门后60秒倒计时 -> 轮询设备状态等待关门
  3. 关门结算: 门关 -> 轮询AI识别结果 -> 轮询订单信息 -> 展示结算结果
  4. 查看订单: 订单列表(待支付/已完成/已取消) -> 订单详情 -> 退款(7天内)

页面路由

路径 功能 导航栏标题 免登录?
/pages/index/index 首页(扫码入口) AI零售柜 否(扫码时校验)
/pages/login/login 微信手机号登录 登录
/pages/my/my 个人中心 (空)
/pages/shopping/shopping 购物流程 购物进行中
/pages/products/products 柜内商品陈列 柜内商品
/pages/orders/orders 订单列表 订单
/pages/orderDetail/orderDetail 订单详情 订单详情
/pages/refund/refund 退款 退款商品
/pages/payscore/enable 开通微信支付分 开通微信支付分
/pages/coupons/coupons 我的优惠券 我的优惠券
/pages/couponCenter/couponCenter 领券中心 领券中心
/pages/announcement/announcement 系统公告 系统公告
/pages/announcementDetail/announcementDetail 公告详情 公告详情
/pages/agreement/serviceAgreement 用户服务协议 用户服务协议
/pages/agreement/privacyPolicy 隐私政策 隐私政策
/pages/replenish/bind 补货员绑定 上货员绑定

后端API (dev环境)

  • Base URL: https://dev-haha.kuaiyuman.cn/api
  • 统一返回格式: { code: number, message: string, data?: T }
  • 认证方式: header accessToken
  • 业务码: 200/0=成功, 401=未授权

API 模块

模块 主要接口 说明
用户 miniapp-phone, user-info, logout 微信手机号一键登录
设备 scan-open, status, products/{id} 扫码开门&商品陈列
订单 list, detail, cancel 订单CRUD
支付分 check-enable, enable, create, confirm-enable 微信支付分开通&下单
优惠券 my, receive/{id}, available, usable, count 优惠券领取&使用
状态轮询 device, recognize, order, all 实时状态查询(轮询)
公告 list, detail 系统公告
补货员 login/wechat, login/bind, my-info 补货员身份绑定

状态轮询机制

核心购物流程依赖轮询:

  • 设备状态: 2秒间隔, 120秒超时 -> 等待关门
  • 识别结果: 1秒间隔, 60秒超时 -> AI识别商品
  • 订单信息: 1秒间隔, 60秒超时 -> 生成订单

设计系统(uni.scss)

  • 主色: #FFC107 (暖黄)
  • 风格: 极简留白 · 优雅动效 · 微交互
  • 功能已开发占位: 会员卡、卡片、发票管理、常见问题、公众号信息

辅助角色

  • 补货员(Replenisher): 通过管理后台二维码绑定身份,独立登录体系
  • 客服: 400-0755-315