131 lines
4.0 KiB
Markdown
131 lines
4.0 KiB
Markdown
|
|
# 迷你收银台系统 - 项目总结
|
|||
|
|
|
|||
|
|
## 项目概述
|
|||
|
|
|
|||
|
|
本项目是一个基于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. **数据分析**:销售趋势分析、客户消费分析
|
|||
|
|
|
|||
|
|
## 总结
|
|||
|
|
|
|||
|
|
本项目成功实现了一个功能完整的迷你收银台系统,满足了小型零售店的基本需求。系统采用现代化的技术栈,具有良好的用户体验和可扩展性。通过本地化部署,确保了数据安全和系统稳定性,适合在没有网络连接或对数据安全要求较高的环境中使用。
|