国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

開源企業(yè)資源規(guī)劃ERPNext的安裝

這篇具有很好參考價值的文章主要介紹了開源企業(yè)資源規(guī)劃ERPNext的安裝。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

開源企業(yè)資源規(guī)劃ERPNext的安裝

往常節(jié)假日,都是呆在家里看別人堵,這回老蘇也出門湊了個熱鬧,28號早上 7 點半出的門

開源企業(yè)資源規(guī)劃ERPNext的安裝

2 點半往回走的

開源企業(yè)資源規(guī)劃ERPNext的安裝

一天啥也沒干,就開了 7 個小時的車去舅舅家蹭了頓飯。還別說,那個田園雞味道是真不錯。

車很久沒開了,但這回起碼兩個月不用遛了。


本文是應(yīng)網(wǎng)友 瀟雨 的要求折騰的。

什么是 ERPNext ?

ERPNext 是一種免費的、開源的企業(yè)資源規(guī)劃(ERP)軟件,它提供了一套完整的企業(yè)解決方案,包括會計、采購、銷售、庫存、制造、CRM 等功能。ERPNext 旨在為中小型企業(yè)提供一種簡單、易用、靈活的 ERP 系統(tǒng),以幫助企業(yè)管理業(yè)務(wù)流程、優(yōu)化運營效率、提高生產(chǎn)力和盈利能力。ERPNext 建立在 Frappe 框架之上,這是一個使用 PythonJavaScript 構(gòu)建的全棧 web 應(yīng)用程序框架。

前期準(zhǔn)備

在網(wǎng)友提出要求之前,老蘇也曾經(jīng)嘗試過安裝 ERPNext,但都以失敗告終。

首先嘗試了英文版,但由于涉及多個容器,可能有些地方改漏了、改錯了,導(dǎo)致出現(xiàn)了錯誤,因為工作原因,也沒有太多的時間去深入研究。

之后又嘗試了中文版,這是一個All in one 的版本,安裝相對簡單。但遺憾的是,老蘇一直遇到數(shù)據(jù)庫出錯的問題。由于老蘇的機器內(nèi)存較小,初步懷疑這可能是導(dǎo)致問題的原因。此外,由于容器內(nèi)反復(fù)啟動,導(dǎo)致機器的 CPU 占用率也急劇上升,最終只能放棄了。

docker-compose.yml

這次老蘇犧牲了幾個晚上,認真把 docker-compose.yml 好好整理了一下??。如果你不知道什么含義,不建議你直接改這個文件,老蘇已經(jīng)把需要修改的內(nèi)容,單獨拎了出來放在了env.txt

docker-compose.yml 是基于官網(wǎng) https://github.com/frappe/frappe_docker/blob/main/pwd.yml 修改

version: "3"

services:
  backend:
    image: frappe/erpnext:${APP_VERSION}
    container_name: ${APP_NAME}-backend
    deploy:
      restart_policy:
        condition: on-failure
    volumes:
      - sites:/home/frappe/frappe-bench/sites
      - logs:/home/frappe/frappe-bench/logs
      
  configurator:
    image: frappe/erpnext:${APP_VERSION}
    container_name: ${APP_NAME}-configurator
    deploy:
      restart_policy:
        condition: none
    entrypoint:
      - bash
      - -c
    depends_on:
      - db
    command:
      - >
        ls -1 apps > sites/apps.txt;
        bench set-config -g db_host $$DB_HOST;
        bench set-config -gp db_port $$DB_PORT;
        bench set-config -g redis_cache "redis://$$REDIS_CACHE";
        bench set-config -g redis_queue "redis://$$REDIS_QUEUE";
        bench set-config -g redis_socketio "redis://$$REDIS_SOCKETIO";
        bench set-config -gp socketio_port $$SOCKETIO_PORT;
    environment:
      DB_HOST: db
      DB_PORT: "3306"
      REDIS_CACHE: redis-cache:6379
      REDIS_QUEUE: redis-queue:6379
      REDIS_SOCKETIO: redis-socketio:6379
      SOCKETIO_PORT: "9000"
    volumes:
      - sites:/home/frappe/frappe-bench/sites
      - logs:/home/frappe/frappe-bench/logs
      
  create-site:
    image: frappe/erpnext:${APP_VERSION}
    container_name: ${APP_NAME}-create-site
    depends_on:
      - configurator
    deploy:
      restart_policy:
        condition: none
    volumes:
      - sites:/home/frappe/frappe-bench/sites
      - logs:/home/frappe/frappe-bench/logs
    entrypoint:
      - bash
      - -c
    command:
      - >
        wait-for-it -t 240 db:3306;
        wait-for-it -t 120 redis-cache:6379;
        wait-for-it -t 120 redis-queue:6379;
        wait-for-it -t 120 redis-socketio:6379;
        export start=`date +%s`;
        until [[ -n `grep -hs ^ sites/common_site_config.json | jq -r ".db_host // empty"` ]] && \
          [[ -n `grep -hs ^ sites/common_site_config.json | jq -r ".redis_cache // empty"` ]] && \
          [[ -n `grep -hs ^ sites/common_site_config.json | jq -r ".redis_queue // empty"` ]];
        do
          echo "Waiting for sites/common_site_config.json to be created";
          sleep 5;
          if (( `date +%s`-start > 120 )); then
            echo "could not find sites/common_site_config.json with required keys";
            exit 1
          fi
        done;
        echo "sites/common_site_config.json found";
        bench new-site frontend --no-mariadb-socket --admin-password=${APP_PASSWORD} --db-root-password=${DB_ROOT_PASSWORD} --install-app erpnext --set-default;

  db:
    image: mariadb:10.6
    container_name: ${APP_NAME}-db
    healthcheck:
      test: mysqladmin ping -h localhost --password=${DB_PASSWORD}
      interval: 1s
      retries: 15
    deploy:
      restart_policy:
        condition: on-failure
    command:
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_unicode_ci
      - --skip-character-set-client-handshake
      - --skip-innodb-read-only-compressed # Temporary fix for MariaDB 10.6
    environment:
      MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
    volumes:
      - ./data:/var/lib/mysql
    #ports:
    #  - "${DB_PORT}:3306"

  frontend:
    image: frappe/erpnext:${APP_VERSION}
    container_name: ${APP_NAME}-frontend
    deploy:
      restart_policy:
        condition: on-failure
    command:
      - nginx-entrypoint.sh
    environment:
      BACKEND: backend:8000
      FRAPPE_SITE_NAME_HEADER: frontend
      SOCKETIO: websocket:9000
      UPSTREAM_REAL_IP_ADDRESS: ${APP_HTTP_IP}
      UPSTREAM_REAL_IP_HEADER: X-Forwarded-For
      UPSTREAM_REAL_IP_RECURSIVE: "off"
      PROXY_READ_TIMOUT: 120
      CLIENT_MAX_BODY_SIZE: 50m
    volumes:
      - sites:/home/frappe/frappe-bench/sites
      - logs:/home/frappe/frappe-bench/logs
    ports:
      - "${APP_HTTP_PORT}:8080"

  queue-default:
    image: frappe/erpnext:${APP_VERSION}
    container_name: ${APP_NAME}-queue-default
    deploy:
      restart_policy:
        condition: on-failure
    command:
      - bench
      - worker
      - --queue
      - default
    volumes:
      - sites:/home/frappe/frappe-bench/sites
      - logs:/home/frappe/frappe-bench/logs

  queue-long:
    image: frappe/erpnext:${APP_VERSION}
    container_name: ${APP_NAME}-queue-long
    deploy:
      restart_policy:
        condition: on-failure
    command:
      - bench
      - worker
      - --queue
      - long
    volumes:
      - sites:/home/frappe/frappe-bench/sites
      - logs:/home/frappe/frappe-bench/logs

  queue-short:
    image: frappe/erpnext:${APP_VERSION}
    container_name: ${APP_NAME}-queue-short
    deploy:
      restart_policy:
        condition: on-failure
    command:
      - bench
      - worker
      - --queue
      - short
    volumes:
      - sites:/home/frappe/frappe-bench/sites
      - logs:/home/frappe/frappe-bench/logs

  redis-queue:
    image: redis:6.2-alpine
    container_name: ${APP_NAME}-redis-queue
    deploy:
      restart_policy:
        condition: on-failure
    volumes:
      - ./redis-queue-data:/data

  redis-cache:
    image: redis:6.2-alpine
    container_name: ${APP_NAME}-redis-cache
    deploy:
      restart_policy:
        condition: on-failure
    volumes:
      - ./redis-cache-data:/data

  redis-socketio:
    image: redis:6.2-alpine
    container_name: ${APP_NAME}-redis-socketio
    deploy:
      restart_policy:
        condition: on-failure
    volumes:
      - ./redis-socketio-data:/data

  scheduler:
    image: frappe/erpnext:${APP_VERSION}
    container_name: ${APP_NAME}-scheduler
    deploy:
      restart_policy:
        condition: on-failure
    command:
      - bench
      - schedule
    volumes:
      - sites:/home/frappe/frappe-bench/sites
      - logs:/home/frappe/frappe-bench/logs
      
  websocket:
    image: frappe/erpnext:${APP_VERSION}
    container_name: ${APP_NAME}-websocket
    deploy:
      restart_policy:
        condition: on-failure
    command:
      - node
      - /home/frappe/frappe-bench/apps/frappe/socketio.js
    volumes:
      - sites:/home/frappe/frappe-bench/sites
      - logs:/home/frappe/frappe-bench/logs
      
volumes:
  logs:
  sites:

env.txt

下面是 env.txt 的內(nèi)容,之所以沒用 .env 是為了方便在 File Station 中方便修改,但是帶來的不方便之處是啟動時需要指定 --env-file,當(dāng)然在 docker-compose.yml 中指定也是可以的

# ERPNext config
APP_NAME=erp
APP_VERSION=v14.23.0
APP_HTTP_IP=192.168.0.197
APP_HTTP_PORT=6380
APP_PASSWORD=admin

# MariaDB config
DB_HOST=db
DB_PASSWORD=twj9nwyoutRei9C4VV
DB_ROOT_PASSWORD=4aixKdghP3j56hPB8k
DB_PORT=3336
  • APP_NAME: 主要影響生成的容器名稱的前綴

開源企業(yè)資源規(guī)劃ERPNext的安裝

  • APP_VERSIONERPNext 的版本, 老蘇測試過v14.22.3v14.23.0,其他版本沒試過;
  • APP_HTTP_IP:主機 IP,要根據(jù)你自己的群暉主機 IP 修改;
  • APP_HTTP_PORT:這是訪問 ERPNext 服務(wù)的的本地端口,不沖突就行;
  • APP_PASSWORD:管理員密碼,建議登錄成功之后再改;
  • DB_HOST:數(shù)據(jù)庫主機,不要改;
  • DB_PASSWORD:數(shù)據(jù)庫密碼,建議改;
  • DB_ROOT_PASSWORD:數(shù)據(jù)庫管理員密碼,建議改;
  • DB_PORT:數(shù)據(jù)庫本地端口,不沖突就行,默認老蘇在 docker-compose.yml 中已經(jīng)注釋掉了端口;

上面兩個文件,老蘇放在了 https://github.com/wbsu2003/synology/tree/main/ERPNext

安裝

采用 docker-compose 方式運行

# 新建文件夾 erpnext 和 子目錄
mkdir -p /volume2/docker/erpnext/{data,redis-cache-data,redis-queue-data,redis-socketio-data}

# 進入 erpnext 目錄
cd /volume2/docker/erpnext

# 將 docker-compose.yml 和 env.txt 兩個文件放入當(dāng)前目錄
  
# 一鍵運行
docker-compose --env-file env.txt up -d

如果一鍵啟動總是超時,可以加個 timeout 參數(shù)

# 超時設(shè)置
docker-compose --env-file env.txt up -d --timeout 120

運行

如果你沒有修改 APP_HTTP_PORT的值,你可以在瀏覽器中打開 http://群暉IP:6380來訪問 ERPNext.

第一次啟動的過程是比較長的,因為腳本中使用了 wait-for-it,好幾處都是 -t 120,老蘇甚至把數(shù)據(jù)庫的改為了 wait-for-it -t 240 db:3306;,如果能看到登錄界面,說明安裝成功了

  • 默認的賬號是 Administrator,密碼就是前面設(shè)置的 APP_PASSWORD 的值,如果你沒改的話,那就是 admin

開源企業(yè)資源規(guī)劃ERPNext的安裝

軟件啟動后,正常情況下,erp-configuratorerp-create-site 會停掉,因為它們已經(jīng)完成了自己的使命

開源企業(yè)資源規(guī)劃ERPNext的安裝

但如果出現(xiàn)??的錯誤

在老蘇的機器上還是會有一定的幾率發(fā)生,不要慌,我們還有補救措施,請往下看

開源企業(yè)資源規(guī)劃ERPNext的安裝

則還需要執(zhí)行一次下面的命令

參考文檔:

  • https://github.com/frappe/frappe_docker/blob/main/docs/site-operations.md
  • https://github.com/frappe/frappe_docker/issues/711
# 設(shè)置新站點
docker-compose --env-file env.txt exec backend bench new-site <site-name> --no-mariadb-socket --admin-password=<管理員密碼> --db-root-password=<數(shù)據(jù)庫root賬戶的密碼> --install-app erpnext --set-default

# 示例
docker-compose --env-file env.txt exec backend bench new-site frontend --no-mariadb-socket --admin-password=admin --db-root-password=4aixKdghP3j56hPB8k --install-app erpnext --set-default

其中:

  • <site-name> 對應(yīng)于 docker-compose.yml 中前端的 service name 的名稱 frontend,這個在 nginx 的設(shè)置中也用到了;
  • <管理員密碼> 對應(yīng)前面 env.txt 中的 APP_PASSWORD 的值;
  • <數(shù)據(jù)庫root賬戶的密碼> 對應(yīng)前面 env.txt 中的 DB_ROOT_PASSWORD 的值;

開源企業(yè)資源規(guī)劃ERPNext的安裝

之所以會出現(xiàn)這樣的情況,應(yīng)該還是容器編排的啟動順序上有問題,這些命令按道理在 erp-create-site 容器中應(yīng)該是要被執(zhí)行的

之后,如果容器停止了,再啟動也是需要時間的,你太快打開網(wǎng)址,會看到下面這樣的界面

開源企業(yè)資源規(guī)劃ERPNext的安裝

登錄成功后,第一次還需要設(shè)置

開源企業(yè)資源規(guī)劃ERPNext的安裝

語言有時候能彈出下拉,但是有時候又不行,不過可以直接輸入,現(xiàn)在已經(jīng)支持 簡體中文

開源企業(yè)資源規(guī)劃ERPNext的安裝

國家支持下拉,但可能輸入更快

開源企業(yè)資源規(guī)劃ERPNext的安裝

設(shè)置用戶

開源企業(yè)資源規(guī)劃ERPNext的安裝

設(shè)置公司

開源企業(yè)資源規(guī)劃ERPNext的安裝

設(shè)置組織

開源企業(yè)資源規(guī)劃ERPNext的安裝

設(shè)置完成

開源企業(yè)資源規(guī)劃ERPNext的安裝

現(xiàn)在可以開始使用了

開源企業(yè)資源規(guī)劃ERPNext的安裝

至于反代,老蘇試過 npm ,正常設(shè)置就可以,無論你的域名有沒有端口,都是可以正常訪問的。

參考文檔

ERPNext: Free and Open Source Cloud ERP Software
地址:https://erpnext.com/

frappe/erpnext: Free and Open Source Enterprise Resource Planning (ERP)
地址:https://github.com/frappe/erpnext

frappe/frappe_docker: Docker images for production and development setups of the Frappe framework and ERPNext
地址:https://github.com/frappe/frappe_docker
Home
地址:https://docs.erpnext.com/文章來源地址http://www.zghlxwxcb.cn/news/detail-447318.html

到了這里,關(guān)于開源企業(yè)資源規(guī)劃ERPNext的安裝的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • nuplan(面向自動駕駛規(guī)劃的開源數(shù)據(jù)集)——ubuntu中的安裝與配置

    nuplan(面向自動駕駛規(guī)劃的開源數(shù)據(jù)集)——ubuntu中的安裝與配置

    1. nuplan介紹: 1.1 nuplan數(shù)據(jù)集的意義: 2. 安裝 2.1 下載開發(fā)包devkit 2.2 安裝指定版本的python 2.3 安裝虛擬環(huán)境 miniconda安裝(已安裝miniconda請?zhí)^此步驟) 創(chuàng)建conda環(huán)境 在創(chuàng)建好的conda環(huán)境中安裝依賴項: 3. 數(shù)據(jù)集下載與環(huán)境變量設(shè)置 3.1 數(shù)據(jù)集下載 3.2 環(huán)境變量配置 軟件包環(huán)境

    2024年02月13日
    瀏覽(134)
  • 【ARM版銀河麒麟源碼編譯安裝開源混合整數(shù)規(guī)劃器SCIP和PySCIPOpt】

    【ARM版銀河麒麟源碼編譯安裝開源混合整數(shù)規(guī)劃器SCIP和PySCIPOpt】

    第一章 ARM版銀河麒麟源碼編譯安裝開源混合整數(shù)規(guī)劃器SCIP和PySCIPOpt 目前在研的項目需要用到整數(shù)規(guī)劃,SCIP作為性能較好的開源混合整數(shù)規(guī)劃器之一,成為我的不二之選,利用與之配套的PySCIPOpt包,可以通過python方便進行調(diào)用和求解整數(shù)規(guī)劃問題。但由于SCIP官網(wǎng)只提供了X

    2024年04月27日
    瀏覽(23)
  • CRM系統(tǒng)促進企業(yè)資源

    CRM系統(tǒng)(customer relationship management)是企業(yè)資源計劃的簡稱,是集物資資源管理、人力資源管理、財務(wù)資源管理、信息資源管理一體化的企業(yè)管理軟件,CRM最早由美國 Gartner Group 公司于1990年提出。目前,在我國CRM所代表的含義已經(jīng)被擴大,用于企業(yè)的各類軟件,已經(jīng)統(tǒng)統(tǒng)被納

    2024年02月13日
    瀏覽(22)
  • 企業(yè)級存儲詳解與存儲資源盤活

    近年來,云計算、大數(shù)據(jù)、人工智能、物聯(lián)網(wǎng)等信息技術(shù)與產(chǎn)業(yè)快速發(fā)展,信息技術(shù)與傳統(tǒng)產(chǎn)業(yè)的融合也不斷加深,快速發(fā)展的數(shù)字經(jīng)濟已經(jīng)成為我國產(chǎn)業(yè)轉(zhuǎn)型升級和經(jīng)濟高質(zhì)量發(fā)展的重要驅(qū)動因素。數(shù)據(jù)是數(shù)字經(jīng)濟的重要基礎(chǔ)組成,信息技術(shù)也圍繞數(shù)據(jù)的生產(chǎn)、加工、應(yīng)用

    2024年02月15日
    瀏覽(19)
  • WPF之資源規(guī)劃

    WPF之資源規(guī)劃

    本文主要介紹WPF資源的規(guī)劃,通過規(guī)劃如何使得我們的樣式可以有高效的復(fù)用,以及在應(yīng)對需求的改動(如換主題,或整體字體,顏色切換)的時候我們可以做到代碼改動最小化。 資源規(guī)劃總的原則就是: 代碼,資源最大化的復(fù)用 代碼可以做到以最小化的改動應(yīng)對最大化的

    2024年02月22日
    瀏覽(17)
  • 企業(yè)/校園網(wǎng)絡(luò)規(guī)劃設(shè)計 ensp企業(yè)校園 網(wǎng)絡(luò)規(guī)劃設(shè)計 網(wǎng)絡(luò)工程畢業(yè)設(shè)計 拓撲+一萬字論文

    企業(yè)/校園網(wǎng)絡(luò)規(guī)劃設(shè)計 ensp企業(yè)校園 網(wǎng)絡(luò)規(guī)劃設(shè)計 網(wǎng)絡(luò)工程畢業(yè)設(shè)計 拓撲+一萬字論文

    完整文檔和網(wǎng)絡(luò)拓撲私信領(lǐng)取??? 完整文檔和網(wǎng)絡(luò)拓撲私信領(lǐng)取??? 目錄 摘要 引言 第一章 ??網(wǎng)絡(luò)設(shè)計與原則 1.1網(wǎng)絡(luò)設(shè)計原則 1.2系統(tǒng)設(shè)計原則 1.3網(wǎng)絡(luò)系統(tǒng)設(shè)計目標(biāo) 第二章 ??需求分析 2.1用戶需求 2.2 網(wǎng)絡(luò)功能需求 2.3 網(wǎng)絡(luò)拓撲需求 2.4 網(wǎng)絡(luò)安全需求 第三章 ??網(wǎng)絡(luò)規(guī)

    2024年03月14日
    瀏覽(23)
  • 天翼云存儲資源盤活系統(tǒng)HBlock,全面釋放企業(yè)數(shù)據(jù)價值

    9月6日,天翼云與科技媒體InfoQ聯(lián)合舉辦的以“存儲難題新解法,揭秘極/致易用的HBlock”為主題的線上技術(shù)分享會圓滿落幕。天翼云國際業(yè)務(wù)事業(yè)部研發(fā)專家武志民與存儲產(chǎn)品線總監(jiān)魏瑋以“天翼云存儲資源盤活系統(tǒng) HBlock,深挖獨創(chuàng)技術(shù)亮點與實戰(zhàn)演練”為主題,分享了HBl

    2024年02月08日
    瀏覽(23)
  • 企業(yè)信息化規(guī)劃該如何落地?以制造型企業(yè)為例

    企業(yè)信息化規(guī)劃該如何落地?以制造型企業(yè)為例

    規(guī)劃做好了,藍圖也畫好了,人手一塊大餅也已經(jīng)揣好了, 那么該怎么落地呢,這才是最關(guān)鍵的。 我將企業(yè)信息化規(guī)劃落地分為4個周期,以最典型的制造行業(yè)為例,以簡道云這個企業(yè)應(yīng)用系統(tǒng)搭建平臺為例,接下來給大家詳細拆解下傳統(tǒng)企業(yè)的信息化規(guī)劃該如何落地。 企業(yè)

    2024年01月17日
    瀏覽(19)
  • 基于SpringBoot的企業(yè)人力資源管理系統(tǒng)設(shè)計與實現(xiàn)

    基于SpringBoot的企業(yè)人力資源管理系統(tǒng)設(shè)計與實現(xiàn)

    隨著經(jīng)濟改革開放的發(fā)展,企業(yè)之間的競爭也越來越激烈,在這樣的大環(huán)境下,企業(yè)要想立于不敗之地,不僅要有好的商品,更要有一支強有力的團隊,其本質(zhì)就是人才。企業(yè)對人才的需求不斷的增加,也導(dǎo)致人力資源管理的需求也在不斷的變化。而傳統(tǒng)的管理方法已經(jīng)無法

    2024年02月15日
    瀏覽(19)
  • 資源分配問題【算法設(shè)計與分析】<動態(tài)規(guī)劃問題>

    資源分配問題【算法設(shè)計與分析】<動態(tài)規(guī)劃問題>

    問題分析: ( 要把問題分為多步解決,每步求出子問題的多個最優(yōu)策略后一步依賴于上一步的最有策略,最后一步得出問題的解) (1)首先要考慮分配給項目A的資金與利潤的關(guān)系。得到此時投資數(shù)x與其相對應(yīng)的 的關(guān)系。 (2)其次要考慮分配給前兩個項目A,B的總資金 與利

    2023年04月08日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包