开放平台
 
 
 

60 lines
1.7 KiB

  1. import axios from 'axios'
  2. import { Message, Notification } from 'element-ui' // 这里使用了element-ui的消息提示方法,也可自行定义
  3. axios.defaults.headers['X-Requested-With'] = 'XMLHttpRequest'
  4. axios.defaults.headers.post['Content-Type'] = 'text/plain;charset=UTF-8'
  5. let service = axios.create({
  6. baseURL: 'https://open.izhyin.com',//域名信息-测试
  7. timeout: 10000
  8. })
  9. // 请求拦截 可在请求头中加入token等
  10. service.interceptors.request.use(config => {
  11. return config
  12. }, error => {
  13. return Promise.reject(error)
  14. })
  15. // 响应拦截 对响应消息作初步的处理
  16. service.interceptors.response.use(resp => {
  17. if (resp.status != 200) {
  18. Message({
  19. type: 'error',
  20. message: resp.data.msg,
  21. duration: 5000
  22. })
  23. }
  24. return { status: resp.data.status, data: resp.data.result, msg: resp.data.message }
  25. }, error => {
  26. if (error.response) {
  27. switch (error.response.status) {
  28. case 400: {
  29. if (error.response && error.response.data && error.response.data.message) {
  30. Notification.error({
  31. title: '400错误',
  32. message: error.response.data.msg,
  33. duration: 5000,
  34. closable: true
  35. })
  36. }
  37. break
  38. }
  39. case 403: {
  40. Notification.error({
  41. title: '403错误',
  42. message: error.response.data.msg,
  43. duration: 5000,
  44. closable: true
  45. })
  46. }
  47. }
  48. }
  49. })
  50. export default service