http.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import Taro from '@tarojs/taro'
  2. import getBaseUrl from './baseUrl'
  3. import interceptors from './interceptors'
  4. interceptors.forEach(i => Taro.addInterceptor(i))
  5. class httpRequest {
  6. baseOptions(params, method = "GET") {
  7. let { url, data } = params;
  8. const BASE_URL = getBaseUrl(url);
  9. let contentType = "application/x-www-form-urlencoded; charset=UTF-8;";
  10. contentType = params.contentType || contentType;
  11. let token = Taro.getStorageSync('token');
  12. data.token = token;
  13. const option = {
  14. url: BASE_URL + url,
  15. data: data,
  16. method: method,
  17. header: {
  18. 'content-type': contentType,
  19. 'Authorization': Taro.getStorageSync('Authorization'),
  20. },
  21. };
  22. return Taro.request(option);
  23. }
  24. get(url, data = "") {
  25. let option = { url, data };
  26. return this.baseOptions(option);
  27. }
  28. post(url, data, contentType) {
  29. let params = { url, data, contentType };
  30. return this.baseOptions(params, "POST");
  31. }
  32. put(url, data = "") {
  33. let option = { url, data };
  34. return this.baseOptions(option, "PUT");
  35. }
  36. delete(url, data = "") {
  37. let option = { url, data };
  38. return this.baseOptions(option, "DELETE");
  39. }
  40. }
  41. export default new httpRequest()