request.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import config from './index.js'
  2. const request = {}
  3. const headers = {}
  4. let responseType = 'json'
  5. request.api = (url, data, method='post', type=1) => {
  6. switch (type){
  7. case 1:
  8. responseType = 'blob'
  9. break;
  10. default:
  11. const token = uni.getStorageSync('token');
  12. headers['Authorization'] = `Bearer ${
  13. this.$store.state.token? this.$store.state.token : token
  14. }`
  15. headers['TENANT-ID'] = this.$store.getters.userInfo.tenant_id
  16. break;
  17. }
  18. return uni.request({
  19. url: config.baseUrl + url,
  20. method,
  21. data: data,
  22. dataType: 'json',
  23. responseType: responseType,
  24. header: headers
  25. }).then(res => {
  26. if(typeof(res[1]) == 'undefined'){
  27. return false
  28. }
  29. if (res[1].data && res[1].statusCode == 200) {
  30. return res[1].data
  31. } else {
  32. throw res[1].data
  33. }
  34. }).catch(parmas => {
  35. console.log(res)
  36.       switch (parmas.code) {
  37.         case 401:
  38.           uni.clearStorageSync()
  39.           break
  40.         default:
  41.           return Promise.reject()
  42.           break
  43.       }
  44.   })
  45. }
  46. export default request