request.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import carhelp from '@/utils/mixin.js'
  2. //记录请求次数和响应次数
  3. let reqCount = 0,
  4. resCount = 0;
  5. const request = (options) => {
  6. reqCount++;
  7. return new Promise((resolve, reject) => {
  8. uni.request({
  9. method: options.method?options.method:'get',
  10. url: process.car.BASE_URL + options.url,
  11. data: options.data?options.data:{},
  12. header: options.header?{
  13. ...options.header,
  14. 'Authorization':carhelp.getToken()
  15. }:{
  16. 'Content-Type': 'application/x-www-form-urlencoded',
  17. 'X-Requested-With': 'XMLHttpRequest',
  18. 'Authorization':carhelp.getToken()
  19. }
  20. }).then((response) => {
  21. //for(var t = Date.now(); Date.now() - t <= 2000;);
  22. resCount++
  23. //防止连续请求多个接口时loading闪现
  24. let [error, res] = response;
  25. if (res.data.code == 415&&res.data.message=='请先注册信息') {
  26. carhelp.signOut()
  27. uni.redirectTo({
  28. url: '/pages/car/login'
  29. })
  30. return;
  31. }
  32. if (res.data.code != 200) {
  33. reject(res.data.message)
  34. } else {
  35. if(!res.data.result){
  36. uni.showToast({
  37. title: res.data.message,
  38. position:'bottom'
  39. })
  40. }
  41. resolve(res.data);
  42. }
  43. }).catch(error => {
  44. resCount++
  45. let [err, res] = error;
  46. reject(err)
  47. })
  48. });
  49. }
  50. export default request