index.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. import axios from 'axios'
  2. import qs from 'qs'
  3. import util from '@/js/util'
  4. import { TIME_OUT } from '@/config'
  5. // 网络请求前拦截器
  6. axios.interceptors.request.use(resquest => {
  7. console.log(resquest)
  8. // if(resquest && resquest.data && typeof (resquest.data) === 'object'){
  9. // 若每个接口需要添加时间戳时
  10. // resquest.data.currentDateTime = util.getFormatDate('yyyy-mm-dd hh:mm:ss')
  11. // }
  12. return resquest
  13. }, error => {
  14. console.log(error)
  15. return Promise.reject(error)
  16. })
  17. // 网络响应后拦截器
  18. axios.interceptors.response.use(response => {
  19. // console.log(response)
  20. return response
  21. }, error => {
  22. console.log(error)
  23. return Promise.resolve(error.response)
  24. })
  25. // 数据统一处理来自网络及服务器的错误
  26. function checkStatus (response) {
  27. if (response && response.status === 200 || response && response.status === 304){
  28. return response.data
  29. } else {
  30. return response && response.statusText || '网络错误'
  31. }
  32. }
  33. // 处理来自程序的异常
  34. function checkCode (response) {
  35. if (response.status && response.status !== 'ok'){
  36. response.error = response.error || '出错了!'
  37. }
  38. return response
  39. }
  40. let accessToken = sessionStorage.getItem("accessToken")
  41. // let accessToken = "jAf6LV0HJJiIvhgvIHCM2t10GW7lHt5VAUE13pmj2lLEWlzQyNqx9dbVG0aXpTvn"
  42. // export default ({method = 'post', url = '', params = {}}) => {
  43. // return new Promise((resolve, reject) => {
  44. // axios[method.toLowerCase()](url, params).then(response => {
  45. // resolve(response)
  46. // }, err => {
  47. // reject(err)
  48. // }).catch(err => {
  49. // reject(err)
  50. // })
  51. // })
  52. // }
  53. export default {
  54. Tokenpost (url, data) {
  55. const params = data;
  56. return axios({
  57. method:'post',
  58. // url,
  59. url: `${url}?${qs.stringify(params)}`,
  60. // timeout: TIME_OUT,
  61. data,
  62. // data: qs.stringify(data),
  63. headers:{
  64. 'Content-Type': 'application/json',
  65. // 'Content-Type':'application/x-www-form-urlencoded'
  66. }
  67. }).then(checkStatus).then(checkCode)
  68. },
  69. post (url, data) {
  70. if (!accessToken){
  71. accessToken = sessionStorage.getItem("accessToken");
  72. }
  73. const params = {accessToken};
  74. return axios({
  75. method:'post',
  76. // url,
  77. url: `${url}?${qs.stringify(params)}`,
  78. // timeout: TIME_OUT,
  79. data,
  80. // data: qs.stringify(data),
  81. headers:{
  82. 'Content-Type': 'application/json',
  83. // 'Content-Type':'application/x-www-form-urlencoded'
  84. }
  85. }).then(checkStatus).then(checkCode)
  86. },
  87. get (url, params){
  88. return axios({
  89. method: 'get',
  90. url: `${url}?${qs.stringify(params)}`,
  91. timeout: TIME_OUT,
  92. headers:{
  93. 'Content-Type':'text/plain',
  94. },
  95. }).then(checkStatus).then(checkCode)
  96. },
  97. }