المهام الرئيسية لنظام إدارة المستودعات هي كما يلي:
وتشمل وظائف النظام: تسجيل دخول وخروج المنتج، وتأكيد معلومات الدخول والخروج، وحذف معلومات المستودع.
وظائف مسؤول النظام: إضافة الموظفين، وحذف الموظفين، والاستعلام عن المعلومات في قاعدة البيانات، وإدارة المستخدم.
تتضمن وظائف المستخدم: الاستعلام عن المعلومات في قاعدة البيانات، والاستعلام عن المعلومات خارج قاعدة البيانات، والاستعلام عن المعلومات المدخلة إلى قاعدة البيانات، وتعديل كلمة مرور المستخدم.
وفقا لتصنيف موظفي الإدارة، فإن الموظفين ذوي السلطات المختلفة لديهم وظائف إدارية مختلفة.
الأذونات/الوظيفة | إدارة المسؤول | إدارة المستخدم | إدارة المستودعات | إدارة تصنيف العناصر | إدارة البند | إدارة السجلات |
---|---|---|---|---|---|---|
المسؤول الفائق | √ | √ | √ | √ | √ | √ |
المسؤول العادي | × | √ | √ | √ | √ | √ |
طاقم عمل | × | × | × | × | √ (تنطبق القيود) | √ (تنطبق القيود) |
في وظيفة إدارة العناصر، يمكن للموظفين الاستعلام فقط؛ وفي إدارة السجلات، يمكن للموظفين الاستعلام فقط عن السجلات الواردة والصادرة الخاصة بهم.
SpringBoot
: إطار عمل الواجهة الخلفيةMyBatisPlus
: إطار طبقة الثباتVue2
: باستخدام Vue كإطار عمل للواجهة الأمامية، يفصل هذا المشروع بين الواجهة الأمامية والخلفيةMD5
: يتم تشفير كلمة مرور المستخدم باستخدام MD5Docker
: نشر المشاريع باستخدام حاويات DockerGit
: استخدام Github للتحكم في الإصدار في main.js ضمن ملف مشروع vue (قد لا تكون المواقع التي تحددها مشاريع مختلفة هي نفسها)
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
انقل ملف التوزيع المعبأ إلى resources/static
كما هو موضح في الشكل، قم بتنشيط بيئة الإنتاج وتكوين دليل الموارد الثابتة
ثم تحتاج إلى تكوين بيئة الإنشاء، مثل mysql وكلمة مرور redis وما إلى ذلك.
قم بتشغيل حزمة الجرة في الواجهة الأمامية
java -jar xxx.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
ملف الإرساء
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.