initialize.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. export default function (context) {
  2. console.log("initialize.........");
  3. let proto = "https";
  4. let url = "";
  5. let cookies = "";
  6. // Server-side
  7. if (process.server) {
  8. console.log("server side............");
  9. const {
  10. req
  11. } = context;
  12. let host = req.headers.host;
  13. let proto = "https";
  14. if (req.headers["x-forwarded-proto"]) {
  15. proto = req.headers["x-forwarded-proto"];
  16. } else if (req.headers["x-scheme"]) {
  17. proto = req.headers["x-scheme"];
  18. } else if (host.indexOf("local.") != -1) {
  19. proto = "http";
  20. }
  21. url = proto + "://" + host;
  22. cookies = req.headers.cookie;
  23. }
  24. // Client-side
  25. if (process.client) {
  26. console.log("client side............");
  27. url = document.location.href;
  28. let proto = "http";
  29. if (url.indexOf("https://") != -1) {
  30. proto = "https";
  31. }
  32. cookies = document.cookie;
  33. }
  34. let regx = new RegExp(
  35. "((?<branch>[a-z0-9_\\-]+)\\.)?(?<env>(www|user|prod|test|local|local-rooter|test-jishuin|test-rooter|prod-jishuin|prod-rooter|rooter|jishuin|job|kaifain|test-job|test-kaifain))\\.proginn\\.com(\\:(?<port>\\d+))?",
  36. "i"
  37. );
  38. let groups = regx.exec(url).groups;
  39. let api = "";
  40. let jishuinUrl = "";
  41. let rooterUrl = "";
  42. let siteUrl = "";
  43. if (groups) {
  44. let {
  45. branch,
  46. env,
  47. port
  48. } = groups;
  49. console.log(groups)
  50. switch (env) {
  51. case "www":
  52. api = "https://www.proginn.com";
  53. siteUrl = "https://www.proginn.com";
  54. jishuinUrl = "https://jishuin.proginn.com";
  55. rooterUrl = "https://rooter.proginn.com";
  56. break;
  57. case "test":
  58. case "test-jishuin":
  59. case "test-rooter":
  60. api = "https://" + branch + ".test.proginn.com";
  61. siteUrl = "https://" + branch + ".test.proginn.com";
  62. jishuinUrl = "https://" + branch + ".test-jishuin.proginn.com";
  63. rooterUrl = "https://" + branch + ".test-rooter.proginn.com";
  64. break;
  65. case "local":
  66. if (port && port != "80") {
  67. api = "http://local.proginn.com";
  68. siteUrl = "http://local.proginn.com";
  69. jishuinUrl = "http://jishuin.local.proginn.com";
  70. rooterUrl = "http://rooter.local.proginn.com";
  71. } else {
  72. api = "http://local.proginn.com";
  73. siteUrl = "http://local.proginn.com";
  74. jishuinUrl = "http://jishuin.local.proginn.com";
  75. rooterUrl = "http://rooter.local.proginn.com";
  76. }
  77. break;
  78. case "local-rooter":
  79. if (port && port != "80") {
  80. api = "http://local.proginn.com";
  81. siteUrl = "http://local.proginn.com";
  82. jishuinUrl = "http://jishuin.local.proginn.com";
  83. rooterUrl = "http://rooter.local.proginn.com";
  84. } else {
  85. api = "http://local.proginn.com";
  86. siteUrl = "http://local.proginn.com";
  87. jishuinUrl = "http://jishuin.local.proginn.com";
  88. rooterUrl = "http://rooter.local.proginn.com";
  89. }
  90. break;
  91. case "prod":
  92. case "prod-jishuin":
  93. case "prod-rooter":
  94. api = "https://" + branch + ".prod.proginn.com";
  95. siteUrl = "https://" + branch + ".prod.proginn.com";
  96. jishuinUrl = "https://" + branch + ".prod-jishuin.proginn.com";
  97. rooterUrl = "https://" + branch + ".prod-rooter.proginn.com";
  98. break;
  99. default:
  100. // 按生产处理
  101. api = "https://www.proginn.com";
  102. siteUrl = "https://www.proginn.com";
  103. jishuinUrl = "https://jishuin.proginn.com";
  104. rooterUrl = "https://rooter.proginn.com";
  105. break;
  106. }
  107. } else {
  108. // 按生产处理
  109. api = "https://www.proginn.com";
  110. siteUrl = "https://www.proginn.com";
  111. jishuinUrl = "https://jishuin.proginn.com";
  112. rooterUrl = "https://rooter.proginn.com";
  113. }
  114. context.store.dispatch("user/getInfo");
  115. context.store.commit("updateDomainConfig", {
  116. api: api,
  117. siteUrl: siteUrl,
  118. jishuinUrl: jishuinUrl,
  119. rooterUrl: rooterUrl
  120. });
  121. }