仓库管理系统的主要功能如下:
系统功能包括 :产品入出库登记、确认入出库信息、删除库内信息。
系统管理员功能:添加人员、删除人员、查询库内信息、用户管理。
用户功能包括:查询库内信息、查询出库信息、查询入库信息、修改本用户密码。
按管理人员分类,不同权限人员具有不同管理功能。
权限/功能 | 管理员管理 | 用户管理 | 仓库管理 | 物品分类管理 | 物品管理 | 记录管理 |
---|---|---|---|---|---|---|
超级管理员 | √ | √ | √ | √ | √ | √ |
普通管理员 | × | √ | √ | √ | √ | √ |
员工 | × | × | × | × | √(有限制) | √(有限制) |
在物品管理功能中,员工仅能查询;在记录管理中员工仅能查询自己的入库出库记录。
SpringBoot
:后端框架MyBatisPlus
:持久层框架Vue2
:采用Vue作为前端框架,本项目前后端分离MD5
:用户密码使用MD5加密Docker
:使用Docker容器部署项目Git
:使用Github进行版本控制
- 修改Vue.prototype.$httpUrl (未使用axios全局拦截器)
vue项目文件下的main.js中(不同项目设置的位置不一定一样)
Vue.prototype.$httpUrl = 'http://{服务器ip}:{springboot端口号}';
eg:
Vue.prototype.$httpUrl = 'http://67.99.26.82:8081';
- 修改axios.defaults.baseURL(使用axios全局拦截器)
axios.defaults.baseURL="http://{服务器ip}:{端口号}"
- vue项目打包
vue项目目录下
npm run build
- 移动dist文件
将打包好的dist文件移动到springboot项目resources/static
中
- 激活生产环境和配置静态资源目录
如图所示,激活生产环境,配置静态资源目录
接着需要配置生成环境,例如mysql,redis的密码等。
- 使用maven工具打包
- 服务器端运行jar包
前台运行jar包
java -jar xxx.jar
后台运行jar包
nohup java -jar xxx.jar >msg.log 2>&1 &
- 配置nginx目录,这里在/root/nginx2 下配置
[root@iZbp144worluc8frpn60arZ nginx2]# pwd
/root/nginx2
[root@iZbp144worluc8frpn60arZ ~]# cd nginx2
[root@iZbp144worluc8frpn60arZ nginx2]# ll
total 8
drwxr-xr-x 6 root root 4096 Jun 27 19:52 html
-rw-r--r-- 1 root root 550 Jun 26 16:02 nginx.conf
nginx.conf
#user root;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
try_files $uri $uri/ /index.html last; # 别忘了这个哈
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
html目录(将打包好的dist文件解压到这)
[root@iZbp144worluc8frpn60arZ nginx2]# cd html
[root@iZbp144worluc8frpn60arZ html]# ll
total 32
drwxr-xr-x 2 root root 4096 Jun 27 19:52 css
-rw-r--r-- 1 root root 4286 Jun 27 19:52 favicon.ico
drwxr-xr-x 2 root root 4096 Jun 27 19:52 fonts
drwxr-xr-x 2 root root 4096 Jun 27 19:52 img
-rw-r--r-- 1 root root 670 Jun 27 19:52 index.html
drwxr-xr-x 2 root root 4096 Jun 27 19:52 js
-rw-r--r-- 1 root root 1524 Jun 27 19:52 logo.svg
- 利用docker-compose编排服务
Dockerfile文件
FROM openjdk:8
EXPOSE 8082
ADD wms-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java", "-jar", "/app.jar", "--spring.profiles.active=prod"]
docker-compose.yml
version: "3"
services:
nginx: # 服务名称,用户自定义
image: nginx:latest # 镜像版本
ports:
- 80:80 # 暴露端口
volumes: # 挂载
- /root/nginx2/html:/usr/share/nginx/html
- /root/nginx2/nginx.conf:/etc/nginx/nginx.conf
privileged: true # 这个必须要,解决nginx的文件调用的权限问题
mysql:
image: mysql:latest
ports:
- "3306:3306"
environment: # 指定用户root的密码
- MYSQL_ROOT_PASSWORD={password}
privileged: true
redis:
image: redis:latest
wms:
image: wms:latest
build: src # 表示以当前目录下的Dockerfile开始构建镜像
ports:
- 8082:8082
depends_on: # 依赖与mysql其实可以不填,默认已经表示可以
- mysql
- redis
如果使用云服务器,请注意在安全组中(或防火墙)开放相应端口
- 组织WMS文件夹目录
[root@iZbp144worluc8frpn60arZ WMS]# ls
docker-compose.yml Dockerfile wms-0.0.1-SNAPSHOT.jar
- 运行docker-compose命令编排服务
[root@iZbp144worluc8frpn60arZ WMS]# docker-compose up -d
如果服务正常启动,则可以通过ip访问网站。