移动储能车V1版本
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

http.js 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. //utils/http.js
  2. class Request {
  3. constructor(options = {}) {
  4. // 请求的根路径
  5. this.baseUrl = options.baseUrl || 'http://10.168.1.100'
  6. // this.baseUrl = options.baseUrl || 'http://10.168.3.100'
  7. // this.baseUrl =options.baseUrl || 'http://192.168.137.100'
  8. // 请求的 url 地址
  9. this.url = options.url || ''
  10. // 请求方式
  11. this.method = 'GET'
  12. // 请求的参数对象
  13. this.data = null
  14. // header 请求头
  15. this.header = options.header || {}
  16. this.beforeRequest = null
  17. this.afterRequest = null
  18. }
  19. // 添加对header的支持
  20. _mergeHeaders(customHeader = {}) {
  21. return Object.assign({}, this.header, customHeader); // 合并默认header和自定义header
  22. }
  23. get(url, data = {},header = {}) {
  24. // console.log(header);
  25. this.method = 'GET'
  26. this.url = this.baseUrl + url
  27. this.data = data
  28. this.header = this._mergeHeaders(header) // 合并header
  29. return this._()
  30. }
  31. post(url, data = {},header = {}) {
  32. this.method = 'POST'
  33. this.url = this.baseUrl + url
  34. this.data = data
  35. this.header = this._mergeHeaders(header) // 合并header
  36. return this._()
  37. }
  38. put(url, data = {}) {
  39. this.method = 'PUT'
  40. this.url = this.baseUrl + url
  41. this.data = data
  42. return this._()
  43. }
  44. delete(url, data = {}) {
  45. this.method = 'DELETE'
  46. this.url = this.baseUrl + url
  47. this.data = data
  48. return this._()
  49. }
  50. _() {
  51. if(this.baseUrl==''){
  52. this.url ="http://10.168.1.100"+this.url
  53. // this.url ="http://192.168.137.100"+this.url
  54. }
  55. // 清空 header 对象
  56. // this.header = {}
  57. // 请求之前做一些事
  58. this.beforeRequest && typeof this.beforeRequest === 'function' && this.beforeRequest(this)
  59. // 发起请求
  60. return new Promise((resolve, reject) => {
  61. let weixin = wx
  62. // 适配 uniapp
  63. if ('undefined' !== typeof uni) {
  64. weixin = uni
  65. }
  66. weixin.request({
  67. url:this.url,
  68. method: this.method,
  69. data: this.data,
  70. header: this.header,
  71. success: (res) => {
  72. resolve(res)
  73. },
  74. fail: (err) => {
  75. reject(err)
  76. },
  77. complete: (res) => {
  78. // 请求完成以后做一些事情
  79. this.afterRequest && typeof this.afterRequest === 'function' && this.afterRequest(res)
  80. }
  81. })
  82. })
  83. }
  84. }
  85. export const $http = new Request()