diff --git a/.env.example b/.env.example index c09d375c..ca859387 100644 --- a/.env.example +++ b/.env.example @@ -2,7 +2,8 @@ MONGODB_URI='mongodb://' YIYAN_MONGODB_URI='' CRON_PORT=5500 -PORT=5600 +BACK_PORT=5600 +PORT=5700 LOG_LEVEL='debug' diff --git a/.github/workflows/build_docker_image.yml b/.github/workflows/build_docker_image.yml index 45d64b52..4a2b2777 100644 --- a/.github/workflows/build_docker_image.yml +++ b/.github/workflows/build_docker_image.yml @@ -28,8 +28,8 @@ jobs: - name: build front and back run: | yarn install - yarn build - yarn build-back + yarn build:front + yarn build:back - name: copy to static repo env: diff --git a/README.md b/README.md index 76a94d6b..b6400fb2 100644 --- a/README.md +++ b/README.md @@ -153,11 +153,10 @@ $ git clone git@github.com:whyour/qinglong.git $ cd qinglong $ cp .env.example .env $ yarn install -$ yarn start-back $ yarn start ``` -打开你的浏览器,访问 http://127.0.0.1:5601 +打开你的浏览器,访问 http://127.0.0.1:5700 ## 交流 diff --git a/back/config/index.ts b/back/config/index.ts index 51237c4c..3563f5d3 100644 --- a/back/config/index.ts +++ b/back/config/index.ts @@ -37,7 +37,7 @@ if (envFound.error) { } export default { - port: parseInt(process.env.PORT as string, 10), + port: parseInt(process.env.BACK_PORT as string, 10), cronPort: parseInt(process.env.CRON_PORT as string, 10), secret: process.env.SECRET || createRandomString(16, 32), logs: { diff --git a/back/loaders/express.ts b/back/loaders/express.ts index 0541cd3e..3dec5034 100644 --- a/back/loaders/express.ts +++ b/back/loaders/express.ts @@ -68,18 +68,19 @@ export default ({ app }: { app: Application }) => { } } + const originPath = `${req.baseUrl}${req.path === '/' ? '' : req.path}`; if ( !headerToken && - req.path && - config.apiWhiteList.includes(req.path) && - req.path !== '/api/crons/status' + originPath && + config.apiWhiteList.includes(originPath) && + originPath !== '/api/crons/status' ) { return next(); } const remoteAddress = req.socket.remoteAddress; if ( remoteAddress === '::ffff:127.0.0.1' && - req.path === '/api/crons/status' + originPath === '/api/crons/status' ) { return next(); } diff --git a/package.json b/package.json index e191a022..c8644fad 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,13 @@ { "private": true, "scripts": { - "start": "umi dev", - "build": "umi build", - "build-back": "tsc -p tsconfig.back.json", - "start-back": "nodemon", - "panel": "npm run build-back && node build/app.js", - "schedule": "npm run build-back && node build/schedule.js", + "start": "concurrently -n w: npm:start:*", + "start:front": "umi dev", + "start:back": "nodemon", + "build:front": "umi build", + "build:back": "tsc -p tsconfig.back.json", + "panel": "npm run build:back && node build/app.js", + "schedule": "npm run build:back && node build/schedule.js", "prepare": "umi generate tmp", "prettier": "prettier --write '**/*.{js,jsx,tsx,ts,less,md,json}'", "test": "umi-test", @@ -84,9 +85,9 @@ "antd": "^4.17.0-alpha.6", "codemirror": "^5.62.2", "compression-webpack-plugin": "6.1.1", + "concurrently": "^7.0.0", "darkreader": "4.9.40", "lint-staged": "^10.0.7", - "@mapbox/node-pre-gyp": "1.0.8", "nodemon": "^2.0.4", "prettier": "^2.2.0", "qrcode.react": "^1.0.1", diff --git a/yarn.lock b/yarn.lock index f3f59454..636f9e97 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3219,6 +3219,20 @@ concat-map@0.0.1: resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= +concurrently@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-7.0.0.tgz#78d31b441cec338dab03316c221a2f9a67c529b0" + integrity sha512-WKM7PUsI8wyXpF80H+zjHP32fsgsHNQfPLw/e70Z5dYkV7hF+rf8q3D+ScWJIEr57CpkO3OWBko6hwhQLPR8Pw== + dependencies: + chalk "^4.1.0" + date-fns "^2.16.1" + lodash "^4.17.21" + rxjs "^6.6.3" + spawn-command "^0.0.2-1" + supports-color "^8.1.0" + tree-kill "^1.2.2" + yargs "^16.2.0" + configstore@^5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz" @@ -3594,6 +3608,11 @@ date-fns@2.x: resolved "https://registry.npmjs.org/date-fns/-/date-fns-2.22.1.tgz" integrity sha512-yUFPQjrxEmIsMqlHhAhmxkuH769baF21Kk+nZwZGyrMoyLA+LugaQtC0+Tqf9CBUUULWwUJt6Q5ySI3LJDDCGg== +date-fns@^2.16.1: + version "2.28.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.28.0.tgz#9570d656f5fc13143e50c975a3b6bbeb46cd08b2" + integrity sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw== + dayjs@1.x: version "1.10.6" resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.10.6.tgz" @@ -9445,7 +9464,7 @@ rsvp@^4.8.4: resolved "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz" integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== -rxjs@^6.6.7: +rxjs@^6.6.3, rxjs@^6.6.7: version "6.6.7" resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== @@ -9894,6 +9913,11 @@ source-map@^0.7.3, source-map@~0.7.2: resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== +spawn-command@^0.0.2-1: + version "0.0.2-1" + resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" + integrity sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A= + spdx-correct@^3.0.0: version "3.1.1" resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" @@ -10217,7 +10241,7 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@^8.0.0: +supports-color@^8.0.0, supports-color@^8.1.0: version "8.1.1" resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== @@ -10502,6 +10526,11 @@ tr46@~0.0.3: resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= +tree-kill@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + triple-beam@^1.2.0, triple-beam@^1.3.0: version "1.3.0" resolved "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz" @@ -11280,6 +11309,19 @@ yargs@^15.4.1: y18n "^4.0.0" yargs-parser "^18.1.2" +yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + yargs@^17.2.1: version "17.2.1" resolved "https://registry.npmjs.org/yargs/-/yargs-17.2.1.tgz"