request.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. import axios from "axios";
  2. import qs from "qs";
  3. axios.defaults.baseURL = window.location.href.split('://')[0]+'://' +process.env.VUE_APP_BASE_API //测试
  4. //获取后台浏览器跳转过来的地址携带的token
  5. let afterUrl = window.location.search.substring(1);
  6. let identity = afterUrl.substr(9, afterUrl.length);
  7. if(identity.length>0){
  8. //Authorization
  9. localStorage.setItem('Authorization',identity)
  10. localStorage.setItem('deptLevel','2')////这个是登陆后,刘波给你的院校的类型
  11. }
  12. //post请求头
  13. axios.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded;charset=UTF-8";
  14. // 表示跨域请求时是否需要使用凭证 允许跨域携带cookie信息
  15. axios.defaults.withCredentials = false;
  16. // 允许跨域
  17. axios.defaults.headers.post["Access-Control-Allow-Origin-Type"] = "*";
  18. //axios.defaults.headers.common["Authorization"] = 'Bearer f49d7770-515a-4661-8d07-fc07256c8165';//`Bearer ${localStorage.getItem('access_token')`;
  19. axios.defaults.headers.common["Authorization"] = 'Bearer '+localStorage.getItem('Authorization')+''
  20. //设置超时
  21. axios.defaults.timeout = 15000;
  22. axios.interceptors.request.use(
  23. config => {
  24. return config;
  25. },
  26. error => {
  27. return Promise.reject(error);
  28. }
  29. );
  30. axios.interceptors.response.use(
  31. response => {
  32. if (response.status == 200) {
  33. return Promise.resolve(response);
  34. } else {
  35. return Promise.reject(response);
  36. }
  37. },
  38. error => {
  39. console.log(JSON.stringify(error), '请求异常', {
  40. confirmButtonText: '确定',
  41. callback: (action) => {
  42. console.log(action)
  43. }
  44. });
  45. }
  46. );
  47. export default {
  48. /**
  49. * @param {String} url
  50. * @param {Object} data
  51. * @returns Promise
  52. */
  53. post(url, data) {
  54. return new Promise((resolve, reject) => {
  55. axios({
  56. method: 'post',
  57. url,
  58. data: qs.stringify(data),
  59. })
  60. .then(res => {
  61. resolve(res.data)
  62. })
  63. .catch(err => {
  64. reject(err)
  65. });
  66. })
  67. },
  68. get(url, data,type) {
  69. if(type=='video'){
  70. axios.defaults.baseURL =localStorage.getItem('cameraExtranetAgent')
  71. }else{
  72. axios.defaults.baseURL = window.location.href.split('://')[0]+'://' +process.env.VUE_APP_BASE_API
  73. }
  74. return new Promise((resolve, reject) => {
  75. axios({
  76. method: 'get',
  77. url,
  78. params: data,
  79. })
  80. .then(res => {
  81. resolve(res.data)
  82. })
  83. .catch(err => {
  84. reject(err)
  85. })
  86. })
  87. },
  88. baseUrl: window.location.href.split('://')[0]+'://' +process.env.VUE_APP_BASE_API
  89. };