vueHttp.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. Vue.$http = {
  2. get(path, params) {
  3. return this.request('get', path, params)
  4. },
  5. post(path, params) {
  6. return this.request('post', path, params)
  7. },
  8. put(path, params) {
  9. return this.request('put', path, params)
  10. },
  11. delete(path, params) {
  12. return this.request('delete', path, params)
  13. },
  14. request(method, path, data) {
  15. let params = {
  16. r: path
  17. }
  18. if (method == 'get') {
  19. params = Object.assign(params, data ? data : {})
  20. }
  21. console.log('method', method, params, method != 'get' ? (data ? data : {}) : {})
  22. return new Promise((resolve, reject) => {
  23. request({
  24. method: method,
  25. params: params,
  26. data: method != 'get' ? (data ? data : {}) : {}
  27. }).then(res => {
  28. if (res.status === 200) {
  29. if (res.data.code === 0) {
  30. resolve(res.data.data)
  31. } else {
  32. reject({
  33. type: 'res',
  34. val: res.data.msg
  35. })
  36. }
  37. } else {
  38. reject({
  39. type: 'res',
  40. val: res
  41. })
  42. }
  43. }).catch(e => {
  44. reject({
  45. type: 'err',
  46. val: e
  47. })
  48. });
  49. })
  50. }
  51. }