request.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import { DEV_BASE_URL, BASE_URL } from '@/config'
  2. const baseRequest = async (url, method, data = {}, type = 1) => {
  3. const header = {
  4. 'content-type': 'application/json',
  5. }
  6. return new Promise((reslove, reject) => {
  7. uni.showLoading({
  8. title: '',
  9. mask: true
  10. })
  11. const baseUrl = type == 1 ? DEV_BASE_URL : BASE_URL
  12. uni.request({
  13. url: baseUrl + url,
  14. method: method || 'GET',
  15. header,
  16. timeout: 10000,
  17. data: data || {},
  18. success: (successData) => {
  19. uni.hideLoading();
  20. const res = successData.data
  21. if (successData.statusCode == 200) {
  22. // 业务逻辑,自行修改
  23. if (res.code === 499) {
  24. setTimeout(() => {
  25. uni.clearStorageSync();
  26. uni.reLaunch({
  27. url: '/pages/index/index'
  28. })
  29. }, 1500)
  30. } else if (res.code === 200 || res.code === 0 || res.status === 200) {
  31. reslove(res)
  32. } else {
  33. uni.showToast({
  34. title: res.message,
  35. icon: 'none'
  36. })
  37. reject(res)
  38. }
  39. } else {
  40. uni.showToast({
  41. title: res.message || '网络连接失败,请稍后重试',
  42. icon: 'none'
  43. })
  44. reject(res)
  45. }
  46. },
  47. fail: (msg) => {
  48. uni.hideLoading();
  49. uni.showToast({
  50. title: res.message || '网络连接失败,请稍后重试',
  51. icon: 'none'
  52. })
  53. reject(message)
  54. },
  55. complete() {
  56. }
  57. })
  58. })
  59. }
  60. export {
  61. baseRequest
  62. }