request.js 2.7 KB

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