Explorar el Código

修复系统代理的BUG.

YangZhiJie hace 2 años
padre
commit
8c3725edce
Se han modificado 4 ficheros con 83 adiciones y 24 borrados
  1. 5 0
      bat/install.sh
  2. 65 8
      package-lock.json
  3. 3 3
      package.json
  4. 10 13
      server.js

+ 5 - 0
bat/install.sh

@@ -0,0 +1,5 @@
+set current_path="%~dp0"
+cd %current_path%
+cd ..
+npm install --registry http://wuzhixin.vip:4873
+pause

+ 65 - 8
package-lock.json

@@ -24,9 +24,9 @@
         "eslint-plugin-vue": "^8.5.0",
         "eslint-webpack-plugin": "^3.1.1",
         "express": "^4.19.2",
+        "express-http-proxy": "^2.0.0",
         "file-loader": "^6.2.0",
         "html-webpack-plugin": "^5.5.0",
-        "http-proxy": "^1.18.1",
         "mini-css-extract-plugin": "^2.6.0",
         "style-loader": "^3.3.1",
         "terser-webpack-plugin": "^5.3.6",
@@ -46,7 +46,7 @@
         "dayjs": "^1.11.6",
         "dingtalk-jsapi": "^2.10.3",
         "moment": "^2.29.4",
-        "pc-component-v3": "1.0.74",
+        "pc-component-v3": "1.0.75",
         "qrcode": "^1.5.3",
         "uuid": "^8.3.2",
         "v-tooltip": "^4.0.0-beta.17",
@@ -4454,6 +4454,12 @@
       "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==",
       "dev": true
     },
+    "node_modules/es6-promise": {
+      "version": "4.2.8",
+      "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
+      "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
+      "dev": true
+    },
     "node_modules/escalade": {
       "version": "3.1.1",
       "resolved": "http://wuzhixin.vip:4873/escalade/-/escalade-3.1.1.tgz",
@@ -5022,6 +5028,29 @@
         "node": ">= 0.10.0"
       }
     },
+    "node_modules/express-http-proxy": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/express-http-proxy/-/express-http-proxy-2.0.0.tgz",
+      "integrity": "sha512-TXxcPFTWVUMSEmyM6iX2sT/JtmqhqngTq29P+eXTVFdtxZrTmM8THUYK59rUXiln0FfPGvxEpGRnVrgvHksXDw==",
+      "dev": true,
+      "dependencies": {
+        "debug": "^3.0.1",
+        "es6-promise": "^4.1.1",
+        "raw-body": "^2.3.0"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/express-http-proxy/node_modules/debug": {
+      "version": "3.2.7",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "^2.1.1"
+      }
+    },
     "node_modules/express/node_modules/array-flatten": {
       "version": "1.1.1",
       "resolved": "http://wuzhixin.vip:4873/array-flatten/-/array-flatten-1.1.1.tgz",
@@ -7040,9 +7069,9 @@
       }
     },
     "node_modules/pc-component-v3": {
-      "version": "1.0.74",
-      "resolved": "http://wuzhixin.vip:4873/pc-component-v3/-/pc-component-v3-1.0.74.tgz",
-      "integrity": "sha512-25Jg/2MimY1ibD0+0PCAKU08tE2Jvp8RUywA64kJnteHvMHVce7qllv/O7qE2bUmjpYJKfBL9AGes9wz/0sGwg==",
+      "version": "1.0.75",
+      "resolved": "http://wuzhixin.vip:4873/pc-component-v3/-/pc-component-v3-1.0.75.tgz",
+      "integrity": "sha512-sQww/cu9pr88TlfQ4zBR/bBhu1h06F1kpSWPV6rvlMf6XphFNXqKAwXHeAVdyAxHEhHmx53wAwBDlNbA5twD8g==",
       "peer": true,
       "peerDependencies": {
         "ant-design-vue": "^3.2.15",
@@ -13011,6 +13040,12 @@
       "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==",
       "dev": true
     },
+    "es6-promise": {
+      "version": "4.2.8",
+      "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
+      "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
+      "dev": true
+    },
     "escalade": {
       "version": "3.1.1",
       "resolved": "http://wuzhixin.vip:4873/escalade/-/escalade-3.1.1.tgz",
@@ -13451,6 +13486,28 @@
         }
       }
     },
+    "express-http-proxy": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/express-http-proxy/-/express-http-proxy-2.0.0.tgz",
+      "integrity": "sha512-TXxcPFTWVUMSEmyM6iX2sT/JtmqhqngTq29P+eXTVFdtxZrTmM8THUYK59rUXiln0FfPGvxEpGRnVrgvHksXDw==",
+      "dev": true,
+      "requires": {
+        "debug": "^3.0.1",
+        "es6-promise": "^4.1.1",
+        "raw-body": "^2.3.0"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "3.2.7",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+          "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+          "dev": true,
+          "requires": {
+            "ms": "^2.1.1"
+          }
+        }
+      }
+    },
     "fast-deep-equal": {
       "version": "3.1.3",
       "resolved": "http://wuzhixin.vip:4873/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -14907,9 +14964,9 @@
       "dev": true
     },
     "pc-component-v3": {
-      "version": "1.0.74",
-      "resolved": "http://wuzhixin.vip:4873/pc-component-v3/-/pc-component-v3-1.0.74.tgz",
-      "integrity": "sha512-25Jg/2MimY1ibD0+0PCAKU08tE2Jvp8RUywA64kJnteHvMHVce7qllv/O7qE2bUmjpYJKfBL9AGes9wz/0sGwg==",
+      "version": "1.0.75",
+      "resolved": "http://wuzhixin.vip:4873/pc-component-v3/-/pc-component-v3-1.0.75.tgz",
+      "integrity": "sha512-sQww/cu9pr88TlfQ4zBR/bBhu1h06F1kpSWPV6rvlMf6XphFNXqKAwXHeAVdyAxHEhHmx53wAwBDlNbA5twD8g==",
       "peer": true,
       "requires": {}
     },

+ 3 - 3
package.json

@@ -21,7 +21,7 @@
     "dayjs": "^1.11.6",
     "dingtalk-jsapi": "^2.10.3",
     "moment": "^2.29.4",
-    "pc-component-v3": "1.0.74",
+    "pc-component-v3": "1.0.75",
     "qrcode": "^1.5.3",
     "uuid": "^8.3.2",
     "v-tooltip": "^4.0.0-beta.17",
@@ -46,9 +46,9 @@
     "eslint-plugin-vue": "^8.5.0",
     "eslint-webpack-plugin": "^3.1.1",
     "express": "^4.19.2",
+    "express-http-proxy": "^2.0.0",
     "file-loader": "^6.2.0",
     "html-webpack-plugin": "^5.5.0",
-    "http-proxy": "^1.18.1",
     "mini-css-extract-plugin": "^2.6.0",
     "style-loader": "^3.3.1",
     "terser-webpack-plugin": "^5.3.6",
@@ -66,6 +66,6 @@
   },
   "repository": {
     "type": "http",
-    "url": "http://prodog.leanwo.com:3000/prodog-client-2023/client-base-v4.git"
+    "url": "https://a.leanwo.com:3000/prodog-client-2023/client-base-v4.git"
   }
 }

+ 10 - 13
server.js

@@ -1,14 +1,15 @@
 const express = require('express');
 const webpack = require('webpack');
 const webpackDevMiddleware = require('webpack-dev-middleware');
-const httpProxy = require("http-proxy");
+// const httpProxy = require("http-proxy");
+var proxy = require('express-http-proxy');
 
 const app = express();
 const config = require('./webpack.remote.dev.js');
 const compiler = webpack(config);
 const port = process.env.remoteDevPort;
 
-var apiProxy = httpProxy.createProxyServer();
+// var proxy = httpProxy.createProxyServer();
 
 // Tell express to use the webpack-dev-middleware and use the webpack.config.js
 // configuration file as a base.
@@ -21,17 +22,13 @@ app.use(
 
 const proxyUrls = ['/api', '/static', '/content', '/dashboard', '/assets', '/authApi', '/Dictionary', '/Files', '/WebSocket', '/TrainVideo'];
 proxyUrls.forEach(proxyUrl => {
-    // Proxy api requests
-    app.use(proxyUrl + "/*", function (req, res) {
-        req.url = req.baseUrl; // Janky hack...
-        apiProxy.web(req, res, {
-            target: {
-                port: 10022,
-                host: "localhost"
-            }
-        });
-    });
-})
+    app.use(proxyUrl, proxy('http://localhost:10022', {
+        proxyReqPathResolver: function(req) {
+            // console.log(`请求的路径:${req.url}`);     //请求的路径
+            return proxyUrl + `${req.url}`        //转发请求路径
+        },
+    }));
+});
 
 // Serve the files on port 8081.
 app.listen(port, function () {