requestSon.js 1.6 KB

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