配置axios(index.js)
import axios from 'axios'
import { Message, Loading } from 'element-ui'
const ConfigBaseURL = 'http://172.16.3.7:8080'
let loadingInstance = null
export const request = axios.create({
timeout: 7000,
baseURL: ConfigBaseURL,
method: 'post',
headers: {
'Content-Type': 'application/json;charset=UTF-8'
},
})
request.interceptors.request.use(config => {
loadingInstance = Loading.service({
lock: true,
text: 'loading...'
})
return config
})
request.interceptors.response.use(response => {
loadingInstance.close()
return response.data
}, error => {
console.log('TCL: error', error)
const msg = error.Message !== undefined ? error.Message : ''
Message({
message: '错误' + msg,
type: 'error',
duration: 3 * 1000
})
loadingInstance.close()
return Promise.reject(error)
})
封装各个请求(interface.js)
import { request } from "./index.js";
export function getMessage(){
return request({url:'/news',method:'get'})
}
export function getCollect() {
return request({
url: '/collector',
method:'get'
})
}
export function getComment() {
return request({
url: '/comment',
method: 'get'
})
}
export function sentComment(data) {
return request({
url: '',
data:JSON.stringify(data)
})
}
export function getRecoment() {
return request({
url: ''
})
}
export function getLikeSong() {
return request({
url: ''
})
}
export function getCurSong() {
return request({
url: ''
})
}
export function login(data){
return request({
url:'/login',
method: 'get',
params:data
})
}
组件中使用
import { getMessage } from "../../network/interface";
getMessage().then((res) => {
console.log(res);
});