request.js 2.4 KB

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