request.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. //location.reload()
  35. return res[1].data;
  36. }
  37. return res[1].data
  38. }else{
  39. return res[1].data
  40. }
  41. }).catch(parmas => {
  42.       switch (parmas.code) {
  43.         case 10001:
  44.           uni.clearStorageSync()
  45. location.reload()
  46.           break
  47.         default:
  48.           return Promise.reject()
  49.           break
  50.       }
  51.   })
  52. }
  53. export default request