index.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. import {
  2. baseUrl
  3. } from "@/config"
  4. import {
  5. wipeNulish
  6. } from '@/utils/utils.js'
  7. function requestHandle(obj) {
  8. const reqData = wipeNulish(obj.data) || {}
  9. const token = uni.getStorageSync('token') || ''
  10. let base = baseUrl
  11. const BASE_URL = obj.url.indexOf("http") > -1 || obj.url.indexOf("https://") > -1 ? obj.url : base + obj.url;
  12. return new Promise((resolve, reject) => {
  13. uni.request({
  14. method: obj.method,
  15. url: BASE_URL,
  16. data: reqData,
  17. header: {
  18. token,
  19. },
  20. dataType: "json"
  21. }).then(response => {
  22. const { data: {
  23. data,
  24. code,
  25. msg
  26. }
  27. } = response || {}
  28. if (code !== 0) {
  29. uni.showToast({
  30. title: msg || '服务器开小差',
  31. icon: 'none'
  32. })
  33. } else {
  34. resolve(data)
  35. }
  36. }).catch(error => {
  37. /**获取网络状态 */
  38. uni.getNetworkType({
  39. success: function(res) {
  40. if (res.networkType === 'none') {
  41. uni.showToast({
  42. title: '网络未连接,请检查网络状态',
  43. mask: false,
  44. icon: 'none'
  45. })
  46. } else {
  47. uni.showToast({
  48. title: '网络连接超时',
  49. icon: 'none'
  50. })
  51. }
  52. }
  53. })
  54. reject(error)
  55. })
  56. })
  57. }
  58. // customRes 用于自定义反参状态处理,凡是未加此参数 都当作反参code是0处理
  59. const request = {
  60. get: (obj) => {
  61. return new Promise((resolve, reject) => {
  62. requestHandle({
  63. method: 'GET',
  64. url: obj.url,
  65. data: obj.data,
  66. header: obj.header,
  67. customRes: obj.customRes
  68. })
  69. .then((res) => {
  70. resolve(res)
  71. })
  72. .catch((err) => {
  73. reject(err)
  74. })
  75. });
  76. },
  77. post: (obj) => {
  78. return new Promise((resolve, reject) => {
  79. requestHandle({
  80. method: 'POST',
  81. url: obj.url,
  82. data: obj.data,
  83. header: obj.header,
  84. customRes: obj.customRes
  85. })
  86. .then((res) => {
  87. resolve(res)
  88. })
  89. .catch((err) => {
  90. reject(err)
  91. })
  92. })
  93. },
  94. put: (obj) => {
  95. return new Promise((resolve, reject) => {
  96. requestHandle({
  97. method: 'PUT',
  98. url: obj.url,
  99. data: obj.data,
  100. header: obj.header,
  101. customRes: obj.customRes
  102. })
  103. .then((res) => {
  104. resolve(res)
  105. })
  106. .catch((err) => {
  107. reject(err)
  108. })
  109. })
  110. },
  111. del: (obj) => {
  112. return new Promise((resolve, reject) => {
  113. requestHandle({
  114. method: 'DELETE',
  115. url: obj.url,
  116. data: obj.data,
  117. header: obj.header,
  118. customRes: obj.customRes
  119. })
  120. .then((res) => {
  121. resolve(res)
  122. })
  123. .catch((err) => {
  124. reject(err)
  125. })
  126. })
  127. }
  128. }
  129. export default request