requestWhite.js 1.7 KB

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