在src下建立utils文件夹,将axios封装在request.js文件中
import axios from 'axios'
axios.defaults.withCredentials = true;
let baseURL = 'http://localhost:8083'
const service = axios.create({
baseURL,
timeout: 3000
})
service.interceptors.request.use(config => {
return config;
},error => {
console.log('请求错误:',error)
return Promise.reject(error);
})
service.interceptors.response.use(response => {
return response;
},error => {
console.log('响应错误:',error)
return Promise.reject(error)
})
将GET,POST请求封装在其中
export function get(url, params = {}) {
try {
return service({
url,
params,
method: 'GET'
})
} catch (error) {
console.error('get:',error);
}
}
export function post(url, data = {}) {
try {
return service({
url,
data,
method: 'POST'
});
} catch (error) {
console.error('post:', error);
}
}
随后在src同级下建立models文件夹存放涉及到所有接口
import { get, post } from '../utils/request.js'
import url from '../api/index.js'
export const login = (params = null) => {
try {
const res = post(url.USER_LOGIN, params);
return res
} catch(error) {
console.log('登陆接口错误:', error)
return Promise.resolve(null);
}
}
在页面文件中调用接口
<script>
import { login } from '../../models/user.js'
export default {
setup() {
const onLogin = async() => {
const res = await loginBlog(state.dataForm)
if (res.status === 200) {
console.log('登录成功')
}
}
return {
onLogin,
}
}
}
</script>