# 迷你收银台系统 - 项目总结 ## 项目概述 本项目是一个基于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. 系统设置 - 店铺信息设置 - 小票打印设置 - 硬件设备配置 - 数据备份设置 ## 数据库设计 ### 主要数据表 1. **categories**: 商品分类表 2. **products**: 商品表 3. **orders**: 订单表 4. **order_items**: 订单明细表 5. **cashiers**: 收银员表 6. **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 ``` ## 部署方式 ### 开发环境 1. 安装依赖:`npm install` 2. 启动开发服务器:`npm run dev` ### 生产环境 1. 构建应用:`node build.js` 2. 打包应用:`node package-app.js` 3. 安装:运行生成的安装包 ## 默认账号 - 管理员:admin / admin123 - 经理:manager / admin123 - 收银员:cashier1 / cashier123 ## 系统特点 1. **完全本地化**:所有数据存储在本地SQLite数据库中,无需网络连接 2. **一键安装**:所有组件打包在一个安装包中,安装即用 3. **跨平台**:基于Electron,支持Windows、macOS和Linux 4. **硬件集成**:支持扫码枪、小票打印机、钱箱等硬件设备 5. **响应式设计**:支持触屏操作,适配不同屏幕尺寸 ## 后续扩展计划 1. **会员系统**:会员管理、积分、储值功能 2. **库存管理**:进销存管理、库存预警 3. **多店连锁**:多门店数据同步、集中管理 4. **云端备份**:本地数据云端备份与恢复 5. **数据分析**:销售趋势分析、客户消费分析 ## 总结 本项目成功实现了一个功能完整的迷你收银台系统,满足了小型零售店的基本需求。系统采用现代化的技术栈,具有良好的用户体验和可扩展性。通过本地化部署,确保了数据安全和系统稳定性,适合在没有网络连接或对数据安全要求较高的环境中使用。