const proxy = require('express-http-proxy') const use = true const base_url = process.env.VUE_APP_BASE_API const minioKey = process.env.VUE_APP_MINIO.replace(base_url, '') const thumbnailKey = process.env.VUE_APP_THUMBNAIL.replace(base_url, '') const ui = 'http://10.180.88.84:8093' const gate = 'http://10.180.88.84:8081' module.exports = { register (router) { if (use) { router.use('/auth', createProxy(process.env.VUE_APP_KEYCLOAK_OPTIONS_URL)) router.use(minioKey, createProxy(`${ui}`)) router.use(thumbnailKey, createThumbnailProxy(`${ui}`)) // router.use('/minio-data', createProxy('http://10.180.90.6:18888')) // router.use('/item', createProxy('http://10.180.90.6:18887')) // router.use('/scheduling', createProxy('http://10.180.90.6:18887')) // router.use('/scheduling-config', createProxy('http://10.180.90.6:18887')) // router.use('/scheduling-plugin-device', createProxy('http://10.180.90.6:18887')) // router.use('/release-history', createProxy('http://10.180.90.6:18887')) // router.use('/apkUpgradeFile', createProxy('http://10.180.90.6:8889')) // router.use('/apkUpgradePolicy', createProxy('http://10.180.90.6:8889')) // router.use('/device', createProxy('http://10.180.90.27:8891')) // router.use('/sysLog', createProxy('http://10.180.91.61:8890')) // router.use('/content', createProxy('http://liangke00.home.langchao.com:8081')) // router.use('/content', createProxy('http://10.180.90.13:8887')) // router.use('/content', createProxy('http://liangke00.home.langchao.com:8081')) // router.use('/orchestration', createProxy('http://liangke00.home.langchao.com:8081')) router.use('/', createProxy(gate, false)) } } } function createProxy (to, replace = '') { return proxy(to, { parseReqBody: false, proxyReqPathResolver (req) { const url = replace === false ? req.url : `${req.baseUrl.replace(base_url, replace)}${req.url}` console.log(`proxy ${url} to ${to}`) return url } }) } function createThumbnailProxy (to) { return proxy(to, { parseReqBody: false, proxyReqPathResolver (req) { const url = `${thumbnailKey}${req.url.replace(new RegExp(`http.*${minioKey}`), `${ui}${minioKey}`)}` console.log(`thumbnail ${url} to ${to}`) return url } }) }