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. console.log(res[1].data)
  32. if (res[1].data && res[1].statusCode == 200) {
  33. if (res[1].data.code == 10001){
  34. //sessionStorage.setItem('token','');
  35. //location.reload()
  36. return false;
  37. }
  38. return res[1].data
  39. }else{
  40. throw res[1].data
  41. }
  42. }).catch(parmas => {
  43.       switch (parmas.code) {
  44.         case 10001:
  45.           uni.clearStorageSync()
  46. location.reload()
  47.           break
  48.         default:
  49.           return Promise.reject()
  50.           break
  51.       }
  52.   })
  53. }
  54. export default request