WMS
1.0.0
倉庫管理系統的主要功能如下:
系統功能包括:產品入出庫登記、確認入出庫資訊、刪除庫內資訊。
系統管理員功能:新增人員、刪除人員、查詢庫內資訊、使用者管理。
使用者功能包括:查詢庫內資訊、查詢出庫資訊、查詢入庫資訊、修改本使用者密碼。
依管理人員分類,不同權限人員具有不同管理功能。
權限/功能 | 管理員管理 | 使用者管理 | 倉庫管理 | 物品分類管理 | 物品管理 | 記錄管理 |
---|---|---|---|---|---|---|
超管理員 | √ | √ | √ | √ | √ | √ |
普通管理員 | × | √ | √ | √ | √ | √ |
員工 | × | × | × | × | √(有限制) | √(有限制) |
在物品管理功能中,員工只能查詢;在記錄管理中員工只能查詢自己的入庫出庫記錄。
SpringBoot
:後端框架MyBatisPlus
:持久層框架Vue2
:採用Vue作為前端框架,本專案前後端分離MD5
:使用者密碼使用MD5加密Docker
:使用Docker容器部署項目Git
:使用Github進行版本控制vue專案檔案下的main.js中(不同專案設定的位置不一定一樣)
Vue.prototype.$httpUrl = 'http://{服务器ip}:{springboot端口号}';
eg:
Vue.prototype.$httpUrl = 'http://67.99.26.82:8081';
axios.defaults.baseURL="http://{服务器ip}:{端口号}"
vue項目目錄下
npm run build
將打包好的dist檔案移到springboot專案resources/static
中
如圖所示,啟動生產環境,配置靜態資源目錄
接著需要配置產生環境,例如mysql,redis的密碼等。
前台運行jar包
java -jar xxx.jar
後台運行jar包
nohup java -jar xxx.jar > msg.log 2>&1 &
[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
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
如果使用雲端伺服器,請注意在安全群組中(或防火牆)開放對應端口
[root@iZbp144worluc8frpn60arZ WMS]# ls
docker-compose.yml Dockerfile wms-0.0.1-SNAPSHOT.jar
[root@iZbp144worluc8frpn60arZ WMS]# docker-compose up -d
如果服務正常啟動,則可以透過ip存取網站。