You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

83 lines
2.1 KiB

  1. /*
  2. * @Author: nowThen
  3. * @Date: 2019-08-14 16:14:30
  4. */
  5. const isDev = process.env.NODE_ENV === 'development'; // 开发 or 生产
  6. // 匹配接口前缀
  7. export function autoMatch (prefix) {
  8. let baseUrl = ``;
  9. if (isDev) {
  10. // 开发环境 通过proxy配置转发请求;
  11. baseUrl = `/${prefix || 'fumao'}`;
  12. } else {
  13. // 生产环境 根据实际配置 根据 prefix 匹配url;
  14. // 配置来源 根据实际应用场景更改配置。(1.从全局读取;2.线上配置中心读取)
  15. // switch (prefix) {
  16. // case 'baseurl':
  17. // baseUrl = window.LOCAL_CONFIG.baseurl;
  18. // break;
  19. // case 'fumao':
  20. // baseUrl = window.LOCAL_CONFIG.fumao;
  21. // break;
  22. // default:
  23. // baseUrl = window.LOCAL_CONFIG.default;
  24. // }
  25. baseUrl = `https://bh5test.malls.iformall.com/B`;
  26. }
  27. return baseUrl;
  28. }
  29. export function checkStatus (response) {
  30. const status = response.status || -1000; // -1000 自己定义,连接错误的status
  31. if ((status >= 200 && status < 300) || status === 304) {
  32. // 如果http状态码正常,则直接返回数据
  33. return response.data;
  34. } else {
  35. let errorInfo = '';
  36. switch (status) {
  37. case -1:
  38. errorInfo = '远程服务响应失败,请稍后重试';
  39. break;
  40. case 400:
  41. errorInfo = '400:错误请求';
  42. break;
  43. case 401:
  44. errorInfo = '401:访问令牌无效或已过期';
  45. break;
  46. case 403:
  47. errorInfo = '403:拒绝访问';
  48. break;
  49. case 404:
  50. errorInfo = '404:资源不存在';
  51. break;
  52. case 405:
  53. errorInfo = '405:请求方法未允许'
  54. break;
  55. case 408:
  56. errorInfo = '408:请求超时'
  57. break;
  58. case 500:
  59. errorInfo = '500:访问服务失败';
  60. break;
  61. case 501:
  62. errorInfo = '501:未实现';
  63. break;
  64. case 502:
  65. errorInfo = '502:无效网关';
  66. break;
  67. case 503:
  68. errorInfo = '503:服务不可用'
  69. break;
  70. default:
  71. errorInfo = `连接错误`
  72. }
  73. return {
  74. status,
  75. msg: errorInfo
  76. }
  77. }
  78. }