export default function (context) { console.log("initialize........."); let proto = "https"; let url = ""; let cookies = ""; // Server-side if (process.server) { const { req, redirect } = context; console.log(req.url) let host = req.headers.host; console.log("initialize...........req.............header"); let proto = "https"; if (req.headers["x-forwarded-proto"]) { proto = req.headers["x-forwarded-proto"]; } else if (req.headers["x-scheme"]) { proto = req.headers["x-scheme"]; } else if (host.indexOf("local.") != -1) { proto = "http"; } url = proto + "://" + host; cookies = req.headers.cookie; // console.log("server", req.headers) } // Client-side if (process.client) { console.log("client side............"); url = document.location.href; let proto = "http"; if (url.indexOf("https://") != -1) { proto = "https"; } cookies = document.cookie; console.log("client", document.location) } let groups = {} try { let regx = new RegExp( "((?[a-z0-9_\\-]+)\\.)?(?(www|prod|test|local|test-rooter|test-jishuin|prod-rooter|prod-jishuin|rooter|jishuin|app|test-kaifain|prod-kaifain|kaifain|test-job|job|prod-job|local-rooter|local-job|local-jishuin|local-kaifain))\\.proginn\\.com(\\:(?\\d+))?", "gim" ); console.log(regx); console.log(url); groups = regx.exec(url).groups; } catch (e) { //失败默认设置为线上环境 const { app } = context.app.$deviceType if (app) { groups = { env: "app" } } else { groups = { env: "www" } } } let api = "", jishuinUrl = "", rooterUrl = "", siteUrl = "", kaifainUrl = "", jobUrl = "", urlType = ""; console.log(groups); if (groups) { let { branch, env, port } = groups; switch (env) { case "www": api = "https://www.proginn.com"; siteUrl = "https://www.proginn.com"; jishuinUrl = "https://jishuin.proginn.com"; kaifainUrl = "https://kaifain.proginn.com"; rooterUrl = "https://rooter.proginn.com"; jobUrl = "https://job.proginn.com"; break; case "jishuin": case "kaifain": case "job": api = "https://jishuin.proginn.com"; siteUrl = "https://www.proginn.com"; jishuinUrl = "https://jishuin.proginn.com"; kaifainUrl = "https://kaifain.proginn.com"; rooterUrl = "https://rooter.proginn.com"; jobUrl = "https://job.proginn.com"; break; case "app": api = "https://app.proginn.com"; siteUrl = "https://app.proginn.com"; jishuinUrl = "https://jishuin.proginn.com"; kaifainUrl = "https://kaifain.proginn.com"; rooterUrl = "https://rooter.proginn.com"; jobUrl = "https://job.proginn.com"; break; case "test": case "test-jishuin": case "test-rooter": case "test-kaifain": case "test-job": api = "https://" + branch + ".test.proginn.com"; siteUrl = "https://" + branch + ".test.proginn.com"; jishuinUrl = "https://" + branch + ".test-jishuin.proginn.com"; kaifainUrl = "https://" + branch + ".test-kaifain.proginn.com"; rooterUrl = "https://" + branch + ".test-rooter.proginn.com"; jobUrl = "https://" + branch + ".test-job.proginn.com"; break; case "local": case "local-job": case "local-kaifain": case "local-jishuin": case "local-rooter": if (port && port != "80") { api = "http://local.proginn.com"; siteUrl = "http://local.proginn.com:" + port; jishuinUrl = "http://jishuin.local.proginn.com"; kaifainUrl = "http://kaifain.local.proginn.com"; rooterUrl = "http://rooter.local.proginn.com"; jobUrl = "http://job.local.proginn.com"; } else { api = "http://local.proginn.com"; siteUrl = "http://local.proginn.com"; jishuinUrl = "http://jishuin.local.proginn.com"; kaifainUrl = "http://kaifain.local.proginn.com"; rooterUrl = "http://rooter.local.proginn.com"; jobUrl = "http://job.local.proginn.com"; } break; case "prod": case "prod-jishuin": case "prod-rooter": case "prod-kaifain": case "prod-job": api = "https://" + branch + ".prod.proginn.com"; siteUrl = "https://" + branch + ".prod.proginn.com"; jishuinUrl = "https://" + branch + ".prod-jishuin.proginn.com"; kaifainUrl = "https://" + branch + ".prod-kaifain.proginn.com"; rooterUrl = "https://" + branch + ".prod-rooter.proginn.com"; jobUrl = "https://" + branch + ".prod-job.proginn.com"; break; default: // 按生产处理 api = "https://www.proginn.com"; siteUrl = "https://www.proginn.com"; jishuinUrl = "https://jishuin.proginn.com"; kaifainUrl = "https://kaifain.proginn.com"; rooterUrl = "https://rooter.proginn.com"; jobUrl = "https://job.proginn.com"; break; } } else { // 按生产处理 api = "https://www.proginn.com"; siteUrl = "https://www.proginn.com"; jishuinUrl = "https://jishuin.proginn.com"; kaifainUrl = "https://kaifain.proginn.com"; rooterUrl = "https://rooter.proginn.com"; jobUrl = "https://job.proginn.com"; } context.store.commit("updateDomainConfig", { api: api, siteUrl, jishuinUrl: jishuinUrl, kaifainUrl: kaifainUrl, rooterUrl: rooterUrl, jobUrl: jobUrl, urlType }); context.store.commit("updateDeviceType", context.app.$deviceType || {}); context.store.commit("updateIsPC", context.app.$deviceType.pc || false); context.store.commit("updateIsWeixin", context.app.$deviceType.wx || false); // 301 // Server-side if (process.server) { console.log("server side redirect 301............"); const { req, redirect } = context; let reqUrl = new URL(req.url, url); //todo 暂时去除301跳转 // if (reqUrl.pathname.indexOf('/job/') === 0 && url.indexOf('job.') === -1) { // redirect(301, jobUrl + reqUrl.pathname.replace('/job/', '/') + reqUrl.search) // } if (reqUrl.pathname.indexOf('/kaifain/') === 0 && url.indexOf('kaifain.') === -1) { redirect(301, kaifainUrl + reqUrl.pathname.replace('/kaifain/', '/') + reqUrl.search) } // console.log("server", req.headers) // console.log('****** 0000000000000 ******') // console.log(context.app.router) // console.log(context.app.router.options.routes) // console.log('****** 11111111111111 ******') } }