request.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. import instance from "./fetch"
  2. import { Message } from 'element-ui';
  3. import router from '@/router/index.js'
  4. function successResponse(response, success, failed) {
  5. let res = response.data;
  6. let result = res.result || res.Result;
  7. if (result == "success") {
  8. success(res)
  9. } else if (result == "failure") {
  10. let msg = res.ResultMsg || res.message || res.Message || res.resultMsg
  11. Message.error({ message: msg })
  12. } else {
  13. router.replace('/login')
  14. }
  15. }
  16. function errorResponse(response, err) {
  17. let json = JSON.stringify(err),
  18. lastData = JSON.parse(json)
  19. console.log(err)
  20. if (lastData.hasOwnProperty('config')) {
  21. Message.error({ message: '接口:' + lastData.config.url + '请求错误' })
  22. } else {
  23. Message.error({ message: '请求错误:' + err });
  24. }
  25. }
  26. /**
  27. * post 请求方法
  28. * @param url
  29. * @param data
  30. * @returns {Promise}
  31. */
  32. export function post(url, data = {}, success) {
  33. instance.post(url, data).then(response => {
  34. //对接口错误码做处理
  35. successResponse(response, success)
  36. }, err => {
  37. errorResponse({}, err)
  38. })
  39. }
  40. /**
  41. * get 请求方法
  42. * @param url
  43. * @param data
  44. * @returns {Promise}
  45. */
  46. export function get(url, data = {}, success) {
  47. instance.get(url, {
  48. params: data
  49. })
  50. .then(response => {
  51. successResponse(response, success)
  52. })
  53. .catch(err => {
  54. errorResponse({}, err)
  55. })
  56. }
  57. /**
  58. * 封装所有请求
  59. * @param methed
  60. * @param url
  61. * @param data
  62. * @param headers
  63. * @returns {Promise}
  64. */
  65. export function request(methed, url, data = {}, headers, success) {
  66. instance({
  67. method: methed || 'post',
  68. url: url,
  69. data: methed === 'get' ? { params: data } : data,
  70. headers: headers || { 'Content-Type': 'application/json' },
  71. })
  72. .then(response => {
  73. //对接口错误码做处理
  74. successResponse(response, success)
  75. })
  76. .catch(err => {
  77. errorResponse(response, err)
  78. })
  79. }