request.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import config from './index.js'
  2. import {getSessionData,setSessionData} from './common.js'
  3. const request = {}
  4. const headers = {}
  5. let responseType = 'json'
  6. request.api = (url, data, method='post', type=2) => {
  7. switch (type){
  8. case 1:
  9. responseType = 'blob'
  10. break;
  11. default:
  12. let token = getSessionData('token');
  13. token = typeof(token) != 'undefined'? token : ''
  14. headers['Authorization'] = `Bearer ${
  15. token
  16. }`
  17. //headers['TIMESMAP'] = (new Date()).valueOf();
  18. break;
  19. }
  20. return uni.request({
  21. url: config.baseUrl + url,
  22. method,
  23. data: data,
  24. dataType: 'json',
  25. responseType: responseType,
  26. header: headers
  27. }).then(res => {
  28. if(typeof(res[1]) == 'undefined'){
  29. return false
  30. }
  31. if (res[1].data && res[1].statusCode == 200) {
  32. if (res[1].data.code == 10001){
  33. sessionStorage.setItem('token','');
  34. let reAuth = sessionStorage.getItem('reAuth');
  35. reAuth = typeof(reAuth) != 'undefined'? reAuth : false;
  36. if(!reAuth){
  37. uni.showToast({
  38. title: '授权失效',
  39. icon: 'none'
  40. })
  41. setTimeout(function(){
  42. sessionStorage.setItem('reAuth', true);
  43. location.reload()
  44. }, 1200)
  45. }
  46. return res[1].data;
  47. }
  48. return res[1].data
  49. }else{
  50. return res[1].data
  51. }
  52. }).catch(parmas => {
  53.       switch (parmas.code) {
  54.         case 10001:
  55.           uni.clearStorageSync()
  56. location.reload()
  57.           break
  58.         default:
  59.           return Promise.reject()
  60.           break
  61.       }
  62.   })
  63. }
  64. export default request