| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- const _toString = Object.prototype.toString;
- /**
- * 开发模式,获取代理配置
- * 注: 若配置项VUE_APP_BASE_API包含协议、域名[IP]、端口[可选],开发模式则默认配置代理
- */
- export function getProxyConfig(env, insertYuxpProxy) {
- let baseApi = env.VITE_APP_BASE_AUTH || ''; // 应用服务前缀URL
- let proxyPrefix = env.VITE_APP_PROXY_API || ''; // 代理API前缀
- const match = /^(https?:\/\/[0-9a-z.-]+)(:[0-9]+)?([/0-9a-z.]+)?/i; // 匹配URL(协议+域名+端口)
- // 可数组配置多个
- proxyPrefix = proxyPrefix.split(',');
- if (_toString.call(baseApi) === '[object String]') {
- baseApi = baseApi.split(',').filter((api) => {
- return match.test(api);
- });
- }
- let devServerProxy = {
- '^/zzh-api': {
- target: 'http://39.106.34.227',
- changeOrigin: true,
- logLevel: 'debug',
- rewrite: (path) => {
- return path.replace(/^\/zzh-api/, '');
- },
- },
- '^/zzh': {
- target: 'http://39.106.34.227',
- changeOrigin: true,
- logLevel: 'debug',
- rewrite: (path) => {
- return path.replace(/^\/zzh/, '');
- },
- },
- '^/rest': {
- target: 'http://39.106.34.227',
- changeOrigin: true,
- },
- '^/api/infra_be/': {
- target: ' http://dohb.exocr.com',
- changeOrigin: true,
- },
- '^/agentfile': {
- target: 'http://10.192.72.11:9000/static',
- changeOrigin: true,
- rewrite: (path) => {
- return path.replace(/^\/agentfile/, '');
- },
- },
- '^/ai-manage-web': {
- target: 'http://210.12.198.139:9090',
- changeOrigin: true,
- },
- '^/ai-oca': {
- target: 'http://210.12.198.139:9090',
- changeOrigin: true,
- },
- '^/ai-trans-analysis': {
- target: 'http://210.12.198.139:9090',
- changeOrigin: true,
- },
- '^/ai-trans-mgr': {
- target: 'http://210.12.198.139:9090',
- changeOrigin: true,
- },
- };
- const l = baseApi.length - 1;
- if (l > -1) {
- // VUE_APP_BASE_API代理配置演示,/dev-proxy-api/xxx-api/* => https://172.16.20.92:8102/xxx-api/*
- // 详见: https://cli.vuejs.org/config/#devserver-proxy
- if (Array.isArray(proxyPrefix)) {
- proxyPrefix.forEach((item, idx) => {
- const matchResult = match.exec(baseApi[idx > l ? l : idx]);
- devServerProxy[`^(?!.*package\/api\/)(/(?!src)[a-zA-Z-]+)*${item}.*`] = {
- target: `${matchResult.input}`, // + (matchResult[3] || '')}`, // 协议+域名
- changeOrigin: true,
- };
- });
- }
- }
- insertYuxpProxy(devServerProxy);
- const proxyShuffleApi = (env.VITE_APP_PROXY_SHUFFLE || '').split(',');
- proxyShuffleApi.forEach((item) => {
- // 正则表达式,添加给定代理的前缀服务模式匹配 业务功能香瓜接口代理到相应后端
- devServerProxy[`^(?!.*package\/api\/)(/(?!src)[a-zA-Z-]+)*${item}.*`] = {
- target: env.VITE_APP_BASE_API,
- };
- });
- devServerProxy = JSON.stringify(devServerProxy) == '{}' ? false : devServerProxy;
- console.log('配置代理', devServerProxy);
- return devServerProxy;
- }
|