这是一个完整的图书销售管理系统,用于书店日常经营管理,包含前端和后端实现,实现了商品管理、销售、会员管理、库存管理等完整功能。
- 图书零售:支持会员和非会员销售,自动计算折扣
- 多种支付方式:支持现金、银行卡、微信、支付宝及会员余额支付
- 退货处理:支持整单或部分商品退货,自动处理库存和积分
- 订单查询:按日期、会员名称、订单号等多维度查询订单
- 会员积分:销售时自动计算并记录积分
- 会员注册与审核:支持会员信息登记与审批流程
- 会员分组:可自定义会员等级,设置不同折扣率和积分规则
- 会员账户:管理会员余额、积分及交易记录
- 消费统计:提供会员消费数据分析和可视化展示
- 会员搜索:支持按姓名、手机号等信息快速查找会员
- 图书编目:支持图书基础信息录入与维护
- 库存管理:记录图书进销存情况,支持库存预警
- 多维度搜索:按书名、作者、出版社等多条件搜索
- 商品分类:支持按类别(文学、科技、教育等)管理图书
- 价格管理:灵活调整图书价格,支持折扣设置
- 销售统计:按时间段、商品类别等维度统计销售情况
- 库存报表:提供库存状态分析和预警提示
- 会员统计:分析会员消费习惯和忠诚度
- 数据导出:支持将销售数据导出为Excel格式
- 可视化展示:通过图表直观展示经营数据
- 用户权限:区分管理员、操作员和会员不同角色权限
- 系统设置:配置系统参数和业务规则
- 操作日志:记录重要操作,便于审计和问题追踪
- 框架:React 18 + TypeScript
- UI组件:Ant Design 5
- 状态管理:Redux Toolkit
- 路由:React Router 6
- 请求处理:Axios
- 构建工具:React App Rewired
- 运行环境:Node.js
- 框架:Express
- 语言:TypeScript
- 数据库ORM:TypeORM
- 数据库:MySQL
- 认证:JWT
- 邮件服务:Nodemailer
bookstore/
├── frontend/ # React前端项目
│ ├── src/
│ │ ├── components/ # 公共组件
│ │ ├── pages/ # 页面组件
│ │ │ ├── sales/ # 销售相关页面
│ │ │ ├── members/ # 会员管理页面
│ │ │ ├── products/ # 商品管理页面
│ │ │ ├── reports/ # 报表统计页面
│ │ │ └── returns/ # 退货管理页面
│ │ ├── services/ # API服务
│ │ ├── types/ # TypeScript类型定义
│ │ ├── utils/ # 工具函数
│ │ ├── hooks/ # 自定义React钩子
│ │ ├── store/ # Redux状态管理
│ │ └── router/ # 路由配置
│
├── backend/ # Node.js后端项目
│ ├── src/
│ │ ├── controllers/ # 控制器
│ │ │ ├── sale.controller.ts # 销售控制器
│ │ │ ├── member.controller.ts # 会员控制器
│ │ │ ├── product.controller.ts # 商品控制器
│ │ │ ├── return.controller.ts # 退货控制器
│ │ │ └── auth.controller.ts # 认证控制器
│ │ ├── entities/ # 数据实体
│ │ ├── routes/ # 路由
│ │ ├── middlewares/ # 中间件
│ │ └── config/ # 配置文件
│
├── 启动请点击.bat # 快速启动脚本
├── 第一次请运行此脚本.bat # 首次安装依赖脚本
└── 从0构建指引.txt # 系统环境搭建指南
- Node.js >= 14
- MySQL >= 8.0
- npm >= 7
- 第一次使用时,请以管理员身份运行
第一次请运行此脚本.bat安装所有依赖 - 如果从零开始搭建,请参考
从0构建指引.txt进行环境配置以及一些细节
- 确保您的MySQL服务已启动
- 修改 backend/.env 文件中的数据库配置:
DB_HOST=localhost
DB_PORT=3306
DB_USERNAME=your_username
DB_PASSWORD=your_password
DB_DATABASE=bookstore
直接双击启动请点击.bat即可同时启动前端和后端服务
- 前端页面:http://localhost:3000
- 后端API:http://localhost:3001/api
- 初始管理员账号:admin
- 密码:admin123
- 管理员:拥有所有功能权限,可管理用户、系统设置等
- 操作员:负责日常销售、库存管理等操作
- 会员:查看商品、个人订单和积分记录等
- 销售流程:选择商品 → 添加到购物车 → 选择会员(可选) → 计算折扣 → 选择支付方式 → 完成结算
- 退货流程:查询订单 → 选择退货商品 → 确认退货数量 → 处理退款 → 更新库存和积分
- 会员管理:注册会员 → 审核信息 → 分配会员等级 → 享受相应折扣和积分
- 库存管理:登记新书 → 记录库存 → 销售减库存 → 统计库存状态
- 多种支付方式集成:支持现金、银行卡、电子支付等多种结算方式
- 灵活的会员体系:可自定义会员等级、折扣规则和积分政策
- 完善的退货流程:支持部分退货和全单退货,自动处理库存和财务
- 数据导出功能:支持将销售记录、库存数据等导出为Excel文件
- 邮件通知:重要操作可通过邮件通知相关人员