BPOS 是一款功能齐全、移动端优先的销售点 (POS) Web 应用程序,专为零售和餐饮业务设计。它完全作为无服务器 React SPA 在客户端运行,由 Firebase Firestore 支持 — 无需自定义后端。
主要功能:
- 收银 / POS: 基于摄像头的条码扫描、产品搜索、购物车管理、自动促销折扣计算、现金/非现金支付结账、支付凭证照片拍摄和收据生成(PNG + 可分享的公共 URL)。
- 产品管理: 支持复杂变体组的 CRUD(单选/多选、价格差额)、批量价格/库存编辑、价格历史跟踪、低库存警报的库存管理和过期跟踪。
- 促销系统: 百分比、固定金额和买赠折扣,支持活动日期范围、产品定位、优先级、可叠加标志,以及在收银台使用最佳折扣逻辑自动应用。
- 餐厅模式: 实时状态跟踪的待处理订单仪表板(已下单 → 准备中 → 已上菜 → 已付款)、带二维码的餐桌管理、客户二维码点餐页面,以及可配置的履约模式(送餐服务 / 自助取餐)。
- 团队与权限: 多店铺支持、基于角色的细粒度访问控制、电子邮件邀请系统和邀请收件箱。
- 仪表板和 KPI: 收入仪表板(今日/总计/平均值)、按日跟踪员工 KPI 并支持 CSV 导出,以及追溯性 KPI 回填。
- Google Drive 集成: 支付凭证照片上传到 Google Drive,自动压缩并公开共享。
- 审计日志: 跟踪 19 种操作类型,包含前后快照和字段级变更跟踪。
- 离线支持: 离线时交易排入 localStorage 队列,恢复连接时自动同步。
- PWA: 可作为主屏幕应用安装,带有启动画面。
技术栈:
- 前端: React 18, Vite 5, TailwindCSS 4
- 后端/数据库: Firebase Firestore(直接客户端 SDK,无服务器)
- 身份验证: Firebase Auth(Google OAuth)
- 条码扫描: ZXing(基于摄像头)
- 收据生成: html2canvas
- 文件存储: Google Drive REST API v3
- PWA: vite-plugin-pwa
架构:
完全无服务器 — 所有业务逻辑在浏览器中运行。数据访问直接通过 Firebase Firestore,由 Firestore 安全规则控制访问权限。无需自定义 API 服务器或云函数。