initialize.js 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. export default function (context) {
  2. let proto = "https";
  3. let url = "";
  4. let cookies = "";
  5. // Server-side
  6. if (process.server) {
  7. const {
  8. req,
  9. redirect
  10. } = context;
  11. let host = req.headers.host;
  12. // console.log("initialize...........req.............header");
  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. console.log("client", cookies)
  34. }
  35. let groups = {}
  36. try {
  37. let regx = new RegExp(
  38. "((?<branch>[a-z0-9_\\-]+)\\.)?(?<env>(www|prod|test|local|test-rooter|test-jishuin|prod-rooter|prod-jishuin|rooter|jishuin|app|test-kaifain|prod-kaifain|test-job|job|prod-job|local-rooter|local-job|local-jishuin|local-kaifain))\\.proginn\\.com(\\:(?<port>\\d+))?",
  39. "gim"
  40. );
  41. // console.log(regx);
  42. console.log(url);
  43. groups = regx.exec(url).groups;
  44. } catch (e) {
  45. //失败默认设置为线上环境
  46. const {
  47. app
  48. } = context.app.$deviceType
  49. if (app) {
  50. groups = {
  51. env: "app"
  52. }
  53. } else {
  54. groups = {
  55. env: "www"
  56. }
  57. }
  58. }
  59. let api = "",
  60. jishuinUrl = "",
  61. rooterUrl = "",
  62. siteUrl = "",
  63. kaifainUrl = "",
  64. jobUrl = "",
  65. urlType = "";
  66. // console.log(groups);
  67. if (groups) {
  68. let {
  69. branch,
  70. env,
  71. port
  72. } = groups;
  73. switch (env) {
  74. case "www":
  75. api = "https://www.proginn.com";
  76. siteUrl = "https://www.proginn.com";
  77. jishuinUrl = "https://jishuin.proginn.com";
  78. kaifainUrl = "https://kaifain.proginn.com";
  79. rooterUrl = "https://rooter.proginn.com";
  80. jobUrl = "https://job.proginn.com";
  81. break;
  82. case "jishuin":
  83. api = "https://jishuin.proginn.com";
  84. siteUrl = "https://www.proginn.com";
  85. jishuinUrl = "https://jishuin.proginn.com";
  86. kaifainUrl = "https://kaifain.proginn.com";
  87. rooterUrl = "https://rooter.proginn.com";
  88. jobUrl = "https://job.proginn.com";
  89. break;
  90. case "job":
  91. api = "https://job.proginn.com";
  92. siteUrl = "https://www.proginn.com";
  93. jishuinUrl = "https://jishuin.proginn.com";
  94. kaifainUrl = "https://kaifain.proginn.com";
  95. rooterUrl = "https://rooter.proginn.com";
  96. jobUrl = "https://job.proginn.com";
  97. break;
  98. case "app":
  99. api = "https://app.proginn.com";
  100. siteUrl = "https://app.proginn.com";
  101. jishuinUrl = "https://jishuin.proginn.com";
  102. kaifainUrl = "https://kaifain.proginn.com";
  103. rooterUrl = "https://rooter.proginn.com";
  104. jobUrl = "https://job.proginn.com";
  105. break;
  106. case "test":
  107. case "test-jishuin":
  108. case "test-rooter":
  109. case "test-kaifain":
  110. case "test-job":
  111. api = "https://" + branch + ".test.proginn.com";
  112. siteUrl = "https://" + branch + ".test.proginn.com";
  113. jishuinUrl = "https://" + branch + ".test-jishuin.proginn.com";
  114. kaifainUrl = "https://" + branch + ".test-kaifain.proginn.com";
  115. rooterUrl = "https://" + branch + ".test-rooter.proginn.com";
  116. jobUrl = "https://" + branch + ".test-job.proginn.com";
  117. break;
  118. case "local":
  119. case "local-job":
  120. case "local-kaifain":
  121. case "local-jishuin":
  122. case "local-rooter":
  123. if (port && port != "80") {
  124. api = "http://local.proginn.com";
  125. siteUrl = "http://local.proginn.com:" + port;
  126. jishuinUrl = "http://jishuin.local.proginn.com";
  127. kaifainUrl = "http://kaifain.local.proginn.com";
  128. rooterUrl = "http://rooter.local.proginn.com";
  129. jobUrl = "http://job.local.proginn.com";
  130. } else {
  131. api = "http://local.proginn.com";
  132. siteUrl = "http://local.proginn.com";
  133. jishuinUrl = "http://jishuin.local.proginn.com";
  134. kaifainUrl = "http://kaifain.local.proginn.com";
  135. rooterUrl = "http://rooter.local.proginn.com";
  136. jobUrl = "http://job.local.proginn.com";
  137. }
  138. break;
  139. case "prod":
  140. case "prod-jishuin":
  141. case "prod-rooter":
  142. case "prod-kaifain":
  143. case "prod-job":
  144. api = "https://" + branch + ".prod.proginn.com";
  145. siteUrl = "https://" + branch + ".prod.proginn.com";
  146. jishuinUrl = "https://" + branch + ".prod-jishuin.proginn.com";
  147. kaifainUrl = "https://" + branch + ".prod-kaifain.proginn.com";
  148. rooterUrl = "https://" + branch + ".prod-rooter.proginn.com";
  149. jobUrl = "https://" + branch + ".prod-job.proginn.com";
  150. break;
  151. default:
  152. // 按生产处理
  153. api = "https://www.proginn.com";
  154. siteUrl = "https://www.proginn.com";
  155. jishuinUrl = "https://jishuin.proginn.com";
  156. kaifainUrl = "https://kaifain.proginn.com";
  157. rooterUrl = "https://rooter.proginn.com";
  158. jobUrl = "https://job.proginn.com";
  159. break;
  160. }
  161. } else {
  162. // 按生产处理
  163. api = "https://www.proginn.com";
  164. siteUrl = "https://www.proginn.com";
  165. jishuinUrl = "https://jishuin.proginn.com";
  166. kaifainUrl = "https://kaifain.proginn.com";
  167. rooterUrl = "https://rooter.proginn.com";
  168. jobUrl = "https://job.proginn.com";
  169. }
  170. context.store.commit("updateDomainConfig", {
  171. api: api,
  172. siteUrl,
  173. jishuinUrl: jishuinUrl,
  174. kaifainUrl: kaifainUrl,
  175. rooterUrl: rooterUrl,
  176. jobUrl: jobUrl,
  177. urlType
  178. });
  179. context.store.commit("updateDeviceType", context.app.$deviceType || {});
  180. context.store.commit("updateIsPC", context.app.$deviceType.pc || false);
  181. context.store.commit("updateIsWeixin", context.app.$deviceType.wx || false);
  182. const host = process.server ? context.req.headers.host : location.host
  183. const matchedScope = host && /(kaifain|jishuin|job)/.exec(host)
  184. matchedScope && context.store.commit('scope:set', matchedScope[1])
  185. }