🌟 关于项目

  • 这个库存管理系统是目前福特亚太区售后物流仓储供应链流程。 离开福特后,我开始这个项目是为了帮助一些需要它的人。 OneAPP 类型。支持扫描仪PDA,手机APP,桌面exe,网站。

  • 一套web代码,支持所有平台提供一个权威的代码源:响应式桌面/移动网站(SPA,SPA客户端),移动应用(看起来原生)和多平台桌面应用(通过Electron)。

🎯 功能

  • 多个仓库

  • 供应商管理

  • 客户管理

  • 扫描仪 PDA

  • 周期盘点

  • 订单管理

  • 库存控制

  • 安全股票展示

  • API 文档

  • IOS APP支持

  • Android APP支持

  • Electron APP支持

  • 自动更新

  • i18n 支持

  • API 文档

官网体验地址

  • 直达地址

    https://production.56yhz.com/#/

安装教程

安装要求

  • 软件要求Python V 3.8.10Node V 14.19.3Git Latest

  • 服务器的配置要求
    image-xulx.png

  • 上面只是官方要求,演示教程设备:黑群晖DS918+7.2物理机、i5-4570、8GB

docker-compose方式部署

  1. 演示以在群晖NAS系统上安装为例
    (其他系统请自行安装好最新版本Docker、docker-compose)

  2. 群晖套件中心安装Git Server套件(群晖上使用git clone命令需要安装这个)
    image-dgbe.png

    #### Ubuntu下安装git
    apt-get install git
    
    #### CentOS下安装git
    yum install git
  3. 打开群晖的SSH功能,使用终端软件进行连接,并切换到root状态下。

  4. 进入群晖的docker文件夹(你想将容器数据存储到哪就进哪个文件夹)

    cd /volume1/docker
  5. 克隆项目文件到本地

    git clone https://github.com/GreaterWMS/GreaterWMS.git
  6. 进入项目文件夹

    cd GreaterWMS
  7. 修改默认的端口,前端端口:8080后端端口:8008 (可选,建议默认。)
    编辑docker-compose.yml文件

    vi docker-compose.yml

    按字母 i 键进入编辑模式,修改下面的配置文件,按Esc键退出编辑模式,输入 :wq 退出并保存。

    version: '3.9'
    networks:
      basic:
    services:
      front:
        # build:
        #   context: ./
        #   dockerfile: Dockerfile
        #   target: front
        container_name: greaterwms_front
        image: greaterwms/greaterwms:front
        restart: always
        privileged: true
        ports:
          - '8080:8080'   #第一个8080是容器外部访问端口,可以自己修改。
        depends_on:
          - backend
        volumes:
          - ./templates:/GreaterWMS/templates:rw
          - ./web_start.sh:/GreaterWMS/templates/web_start.sh
        networks:
          - basic
      backend:
        # build:
        #   context: ./
        #   dockerfile: Dockerfile
        #   target: backend
        container_name: greaterwms_backend
        image: greaterwms/greaterwms:backend
        restart: always
        privileged: true
        volumes:
          - ./:/GreaterWMS/:rw
          - ./supervisord.conf:/etc/supervisor/supervisord.conf
        ports:
          - '8008:8008'    #第一个8008端口是容器后端端口,建议保持默认。
        environment:
          PYTHONUNBUFFERED: 1
        networks:
          - basic
    

    修改 nginx.conf文件

    vi nginx.conf
    
    user root;
    worker_processes auto;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include         mime.types;
        default_type    application/octet-stream;
        sendfile        on;
        gzip            on;
        gzip_min_length 1k;
        gzip_comp_level 4;
        gzip_types      text/plain application/javascript application/x-javascript text/javascript text/xml text/css;
        gzip_disable    "MSIE [1-6]\.";
        gzip_vary       on;
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header  https $https;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            client_max_body_size 75M;
            client_body_buffer_size 256k;
            client_header_timeout 3m;
            client_body_timeout 3m;
            send_timeout 3m;
            proxy_connect_timeout 300s;
            proxy_read_timeout 300s;
            proxy_send_timeout 300s;
            proxy_buffer_size 64k;
            proxy_buffers 4 32k;
            proxy_busy_buffers_size 64k;
            proxy_temp_file_write_size 64k;
            proxy_ignore_client_abort on;
    
            upstream GreaterWMS{
      server 127.0.0.1:8008;    #将默认的8008后端端口换成前面你修改的后端端口
    }
            server {
            listen      80;
            server_name {{ Domin Name }};
            rewrite ^(.*)$ https://{{ Domin Name }}$1;
    
            }
    
          server {
            listen      443 ssl;
    
        server_name  {{ Domin Name }};
            root /path/to/GreaterWMS;
            charset utf-8;
            add_header X-Frame-Options "SAMEORIGIN";
            add_header X-XSS-Protection "1; mode=block";
            add_header X-Content-Type-Options "nosniff";
    
            client_max_body_size 75M;
    
            ssl_certificate   /path/to/GreaterWMS.pem;
            ssl_certificate_key  /path/to/GreaterWMS.key;
            ssl_session_timeout 5m;
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
            ssl_prefer_server_ciphers on;
    
        access_log off;
            error_log  /path/to/GreaterWMS/greaterwms-error.log error;
    
             location /websocket/ {
           proxy_pass http://GreaterWMS/;
                             proxy_read_timeout 60s;
           proxy_set_header Host $host;
           proxy_set_header X-Real_IP $remote_addr;
           proxy_set_header X-Forwarded-for $remote_addr;
           proxy_http_version 1.1;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection 'Upgrade';
        }
    
        location / {
            #root   html;
            #index  testssl.html index.html index.htm;
           proxy_redirect off;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_pass http://127.0.0.1:8008/;    #将默认的8008后端端口换成前面你修改的后端端口
        }
                    location /static/ {
                            alias /path/to/GreaterWMS/static_new/;
                    }
            location /media/{
                    alias /path/to/GreaterWMS/media/;
            }
        }
    
  8. 编辑baseurl.js文件,