ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-03-07 18:05:18  阅读:213  来源: 互联网

标签:varchar int 32 xx datetime 全栈 time 心得 id


技术选型

前端:react + antd

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

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

前端(管理端)

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

image.png

后端

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

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

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

4、实现文件上传

5、明确业务及功能需求

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

6、数据库 - 表结构设计

  • 用户表(users)
字段 含义 数据类型 是否必传
id 用户id int 1
username 用户名 varchar(32) 1
password 密码 varchar(32)
phone 手机 char(11)
email 邮箱 varchar(32)
role_id 角色id INT 1
create_time 创建时间 datetime 1
change_time 最近修改时间 datetime 1
  • 角色表(roles)
字段 含义 数据类型 是否必传
id 角色id int 1
name 角色名称 varchar(32) 1
auth_id 授权人id int
auth_name 授权人 varchar(32)
auth_time 授权时间 datetime
create_time 创建时间 datetime 1
menus 有权限操作的菜单path的数组 ['/a','/b'] VARCHAR(200) default '/home'
  • 商品分类表(categorys)
字段 含义 数据类型 是否必传
id 分类id INT 1
name 分类名称 varchar(64) 1
parentId 父级分类id INT default null
description 分类简介 varchar(500) 1
create_time 创建时间 datetime 1
change_time 最近修改时间 datetime 1
imgs 图片 ['/a','/b'] VARCHAR(200) default ''
  • 商品信息表(products)
字段 含义 数据类型 是否必传
id 商品id int 1
name 商品名称 varchar(64) 1
model 规格型号 varchar(64)
description 商品描述(详情) varchar(500)
create_time 创建此商品的时间 datetime 1
change_time 最近修改时间 datetime 1
imgs 图片 ['/a','/b'] VARCHAR(200) default ''
categoryId 所属分类的父分类id int 1
p_categoryId 所属分类的id int 1
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) int 1
show_count 展厅存放数量 (默认0) int
delivery_count 累计出库数量 (默认0) int
current_count 库存(当前实际库存数量)(默认0) int 1
effect 用途 varchar(500)
remark 备注 varchar(500)
status 商品状态: 1:上架中, 2: 下架了 tinyint(1) 这里的1表示的是最小显示宽度是1个字符;
tinyint(2) 这里的2表示的是最小显示宽度是2字符
  • 供应商信息表(suppliers)
字段 含义 数据类型 是否必传
id 供应商id int 1
name 供应商姓名 varchar(32) 1
address 地址 varchar(64)
phone 手机号 char(11) 1
email 邮箱 varchar(32)
goods 供应物品 varchar(500)
goods_id 供应物品id varchar(150) 预留字段:可能会去关联对应的多个商品id

6、项目代码目录设计

image.png

项目基本功能演示

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

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

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

标签:varchar,int,32,xx,datetime,全栈,time,心得,id
来源: https://www.cnblogs.com/Jason1995/p/15977058.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有