4.0 KiB
4.0 KiB
迷你收银台系统 - 项目总结
项目概述
本项目是一个基于Electron + React + SQLite的迷你收银台系统,实现了完全本地化部署,支持离线运行。系统包含商品管理、收银功能、订单管理、报表统计和系统设置等核心功能。
技术架构
前端技术
- React 18: 用户界面开发
- Ant Design: UI组件库
- React Router: 前端路由管理
- Axios: HTTP客户端
后端技术
- Node.js: 运行环境
- Express: Web框架
- Sequelize: ORM框架
- SQLite: 本地数据库
桌面应用
- Electron: 跨平台桌面应用框架
- electron-builder: 应用打包工具
功能模块
1. 用户认证
- 登录/登出功能
- 角色权限管理(管理员、经理、收银员)
- 密码加密存储
2. 收银台
- 商品扫码录入
- 购物车管理
- 多种支付方式(现金、刷卡、移动支付、混合支付)
- 小票打印
3. 商品管理
- 商品信息录入(名称、价格、条码、分类)
- 商品分类管理
- 商品库存管理
- 商品搜索和筛选
4. 订单管理
- 订单列表查看
- 订单详情查看
- 订单退款处理
5. 报表统计
- 销售统计
- 支付方式统计
- 每日销售统计
6. 系统设置
- 店铺信息设置
- 小票打印设置
- 硬件设备配置
- 数据备份设置
数据库设计
主要数据表
- categories: 商品分类表
- products: 商品表
- orders: 订单表
- order_items: 订单明细表
- cashiers: 收银员表
- settings: 系统设置表
项目结构
minishouyin/
├── src/
│ ├── main/ # Electron主进程
│ │ ├── main.js # 主进程入口
│ │ └── preload.js # 预加载脚本
│ ├── renderer/ # 渲染进程(前端)
│ │ ├── components/ # React组件
│ │ ├── pages/ # 页面组件
│ │ ├── services/ # API服务
│ │ ├── styles/ # 样式文件
│ │ ├── App.js # 应用入口
│ │ └── index.js # 渲染进程入口
│ └── server/ # 本地服务
│ ├── app.js # Express应用
│ ├── routes/ # API路由
│ ├── models/ # 数据模型
│ └── database/ # 数据库配置
├── assets/ # 静态资源
├── build/ # 构建输出
├── dist/ # 打包输出
└── package.json
部署方式
开发环境
- 安装依赖:
npm install - 启动开发服务器:
npm run dev
生产环境
- 构建应用:
node build.js - 打包应用:
node package-app.js - 安装:运行生成的安装包
默认账号
- 管理员:admin / admin123
- 经理:manager / admin123
- 收银员:cashier1 / cashier123
系统特点
- 完全本地化:所有数据存储在本地SQLite数据库中,无需网络连接
- 一键安装:所有组件打包在一个安装包中,安装即用
- 跨平台:基于Electron,支持Windows、macOS和Linux
- 硬件集成:支持扫码枪、小票打印机、钱箱等硬件设备
- 响应式设计:支持触屏操作,适配不同屏幕尺寸
后续扩展计划
- 会员系统:会员管理、积分、储值功能
- 库存管理:进销存管理、库存预警
- 多店连锁:多门店数据同步、集中管理
- 云端备份:本地数据云端备份与恢复
- 数据分析:销售趋势分析、客户消费分析
总结
本项目成功实现了一个功能完整的迷你收银台系统,满足了小型零售店的基本需求。系统采用现代化的技术栈,具有良好的用户体验和可扩展性。通过本地化部署,确保了数据安全和系统稳定性,适合在没有网络连接或对数据安全要求较高的环境中使用。