likes
comments
collection
share

实现一个xx公司的仓储管理系统,记录下全栈开发过程中的一些步骤及心得!

作者站长头像
站长
· 阅读数 18

技术选型

前端:react + antd

后台:express + mysql2 + log4js(日志服务,按业务模块记录)

部署:某讯的云服务器+域名,nginx代理前端、后台服务

前端(管理端)

  • 使用脚手架创建项目,然后增加antd组件库
  • 页面鉴权
  • 左侧导航菜单:根据当前账号所属角色对应的菜单权限去生成
  • 路由/子路由设计
  • 项目代码目录设计

实现一个xx公司的仓储管理系统,记录下全栈开发过程中的一些步骤及心得!

后端

1、路由设计,根据业务区分多个路由模块

2、接口日志记录、鉴权(登录时写入cookie)

3、登录时,密码做双层md5加密校验(内置超级管理员角色账号,超级管理员角色配置用户管理及角色管理菜单权限)

4、实现文件上传

5、明确业务及功能需求

  • 登录/退出
  • 菜单权限控制
  • 用户管理(超级管理员)
  • 角色管理(超级管理员)
  • 商品分类管理(层级关联选择,暂支持2级)
  • 商品管理
  • 供应商信息管理

6、数据库 - 表结构设计

  • 用户表(users)
字段含义数据类型是否必传
id用户idint1
username用户名varchar(32)1
password密码varchar(32)
phone手机char(11)
email邮箱varchar(32)
role_id角色idINT1
create_time创建时间datetime1
change_time最近修改时间datetime1
  • 角色表(roles)
字段含义数据类型是否必传
id角色idint1
name角色名称varchar(32)1
auth_id授权人idint
auth_name授权人varchar(32)
auth_time授权时间datetime
create_time创建时间datetime1
menus有权限操作的菜单path的数组['/a','/b'] VARCHAR(200) default '/home'
  • 商品分类表(categorys)
字段含义数据类型是否必传
id分类idINT1
name分类名称varchar(64)1
parentId父级分类idINT default null
description分类简介varchar(500)1
create_time创建时间datetime1
change_time最近修改时间datetime1
imgs图片['/a','/b'] VARCHAR(200) default ''
  • 商品信息表(products)
字段含义数据类型是否必传
id商品idint1
name商品名称varchar(64)1
model规格型号varchar(64)
description商品描述(详情)varchar(500)
create_time创建此商品的时间datetime1
change_time最近修改时间datetime1
imgs图片['/a','/b'] VARCHAR(200) default ''
categoryId所属分类的父分类idint1
p_categoryId所属分类的idint1
suppliers关联供应商(可能多个、搞个列表多选功能)[id,id2,id3...] VARCHAR(150)
unit商品单位varchar(16)
purchase_price进价double(精度低)、decimal(精度高) decimal(10,3) default 0.000
wholesale_price批发价double(精度低)、decimal(精度高)decimal(10,3) default 0.000
retail_price零售价double(精度低)、decimal(精度高)decimal(10,3) default 0.000
inventory_count累计入库数量 (默认0)int1
show_count展厅存放数量 (默认0)int
delivery_count累计出库数量 (默认0)int
current_count库存(当前实际库存数量)(默认0)int1
effect用途varchar(500)
remark备注varchar(500)
status商品状态: 1:上架中, 2: 下架了tinyint(1) 这里的1表示的是最小显示宽度是1个字符;tinyint(2) 这里的2表示的是最小显示宽度是2字符
  • 供应商信息表(suppliers)
字段含义数据类型是否必传
id供应商idint1
name供应商姓名varchar(32)1
address地址varchar(64)
phone手机号char(11)1
email邮箱varchar(32)
goods供应物品varchar(500)
goods_id供应物品idvarchar(150)预留字段:可能会去关联对应的多个商品id

6、项目代码目录设计

实现一个xx公司的仓储管理系统,记录下全栈开发过程中的一些步骤及心得!

项目基本功能演示

实现一个xx公司的仓储管理系统,记录下全栈开发过程中的一些步骤及心得!实现一个xx公司的仓储管理系统,记录下全栈开发过程中的一些步骤及心得!实现一个xx公司的仓储管理系统,记录下全栈开发过程中的一些步骤及心得!实现一个xx公司的仓储管理系统,记录下全栈开发过程中的一些步骤及心得!实现一个xx公司的仓储管理系统,记录下全栈开发过程中的一些步骤及心得!实现一个xx公司的仓储管理系统,记录下全栈开发过程中的一些步骤及心得!实现一个xx公司的仓储管理系统,记录下全栈开发过程中的一些步骤及心得!实现一个xx公司的仓储管理系统,记录下全栈开发过程中的一些步骤及心得!

最后,希望大家动一动小手,关注下❤!

后期等项目稳定,可以考虑开源出来。