request.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import apiConfig from '@/config.js'
  2. const baseUrl = process.env.NODE_ENV === "development" ? apiConfig.dev.baseUrl : apiConfig.prod.baseUrl
  3. const request = (options = {}) => {
  4. return new Promise((resolve, reject) => {
  5. uni.request({
  6. url: baseUrl + options.url || '',
  7. method: options.method || 'GET',
  8. data: options.data || {},
  9. header: options.header || {"Content-Type": "application/json", token: uni.getStorageSync('xm-user')?.token}
  10. }).then(res => {
  11. let { data } = res
  12. if (data.code === '401') {
  13. uni.navigateTo({
  14. url: '/pages/login/login'
  15. })
  16. }
  17. resolve(data);
  18. }).catch(error => {
  19. reject(error)
  20. })
  21. });
  22. }
  23. const get = (url, data, options = {}) => {
  24. options.method = 'GET'
  25. options.data = data
  26. options.url = url
  27. return request(options)
  28. }
  29. const post = (url, data, options = {}) => {
  30. options.method = 'POST'
  31. options.data = data
  32. options.url = url
  33. return request(options)
  34. }
  35. const put = (url, data, options = {}) => {
  36. options.method = 'PUT'
  37. options.data = data
  38. options.url = url
  39. return request(options)
  40. }
  41. const del = (url, data, options = {}) => {
  42. options.method = 'DELETE'
  43. options.data = data
  44. options.url = url
  45. return request(options)
  46. }
  47. export default {
  48. request,
  49. get,
  50. post,
  51. put,
  52. del
  53. }