initialize.js 6.3 KB

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