request.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. import instance from "./fetch"
  2. import { Message } from 'element-ui';
  3. import router from '@/router/index.js'
  4. /**
  5. *
  6. * @param {项目的filters} obj
  7. *
  8. * @return {处理后的字符串} string
  9. */
  10. function delFilters(obj) {
  11. let str = "",
  12. key
  13. for (key in obj) {
  14. if (!obj[key] && typeof obj[key] != "undefined" && obj[key] != 0) {
  15. str += key + " isNull;"
  16. } else if (typeof obj[key] == 'string') {
  17. str += key + "='" + obj[key] + "';"
  18. } else {
  19. str += key + "=" + obj[key] + ";"
  20. }
  21. }
  22. console.log(str, "str")
  23. return str.split(';').map(item => {
  24. return !!item ? item : undefined
  25. }).filter(d => d).join(';')
  26. }
  27. function successResponse(response, success, failed) {
  28. let res = response.data;
  29. let result = res.result || res.Result;
  30. if (result == "success" || result == "Success") {
  31. success(res)
  32. } else if (result == "failure" || result == "Failure") {
  33. let msg = res.ResultMsg || res.message || res.Message || res.resultMsg
  34. Message.error({ message: msg })
  35. } else {
  36. router.replace('/login')
  37. }
  38. }
  39. function errorResponse(response, err) {
  40. let json = JSON.stringify(err),
  41. lastData = JSON.parse(json)
  42. console.log(err)
  43. if (lastData.hasOwnProperty('config')) {
  44. Message.error({ message: '接口:' + lastData.config.url + '请求错误' })
  45. } else {
  46. Message.error({ message: '请求错误:' + err });
  47. }
  48. }
  49. /**
  50. * post 请求方法
  51. * @param url
  52. * @param data
  53. * @returns {Promise}
  54. */
  55. export function post(url, data = {}, success) {
  56. if (data.hasOwnProperty('Filters')) {
  57. data.Filters = delFilters(data.Filters)
  58. }
  59. console.log(data, 'data')
  60. instance.post(url, data).then(response => {
  61. //对接口错误码做处理
  62. successResponse(response, success)
  63. }, err => {
  64. errorResponse({}, err)
  65. })
  66. }
  67. /**
  68. * get 请求方法
  69. * @param url
  70. * @param data
  71. * @returns {Promise}
  72. */
  73. export function get(url, data = {}, success) {
  74. instance.get(url, {
  75. params: data
  76. })
  77. .then(response => {
  78. successResponse(response, success)
  79. })
  80. .catch(err => {
  81. errorResponse({}, err)
  82. })
  83. }
  84. /**
  85. * 封装所有请求
  86. * @param methed
  87. * @param url
  88. * @param data
  89. * @param headers
  90. * @returns {Promise}
  91. */
  92. export function request(methed, url, data = {}, headers, success) {
  93. instance({
  94. method: methed || 'post',
  95. url: url,
  96. data: methed === 'get' ? { params: data } : data,
  97. headers: headers || { 'Content-Type': 'application/json' },
  98. })
  99. .then(response => {
  100. //对接口错误码做处理
  101. successResponse(response, success)
  102. })
  103. .catch(err => {
  104. errorResponse(response, err)
  105. })
  106. }