minishouyin/项目总结.md

131 lines
4.0 KiB
Markdown
Raw Normal View History

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