request3.js 1.5 KB

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