mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-23 17:31:11 +01:00
2. Fix Navigation Duplicated Error When Current Route Path is `/login`. 3. Fix Parent Level Named Route Warning. 4. Change `request` function From Promise Syntax To Await/Async.
77 lines
1.5 KiB
JavaScript
77 lines
1.5 KiB
JavaScript
import axios from 'axios'
|
|
import router from '../router'
|
|
|
|
let baseUrl = process.env.VUE_APP_BASE_URL ? process.env.VUE_APP_BASE_URL : 'http://localhost:8000'
|
|
|
|
const request = async (method, path, params, data, others = {}) => {
|
|
try {
|
|
const url = baseUrl + path
|
|
const headers = {
|
|
'Authorization': window.localStorage.getItem('token')
|
|
}
|
|
const response = await axios({
|
|
method,
|
|
url,
|
|
params,
|
|
data,
|
|
headers,
|
|
...others
|
|
})
|
|
// console.log(response)
|
|
return response
|
|
} catch (e) {
|
|
if (e.response.status === 401 && router.currentRoute.path !== '/login') {
|
|
router.push('/login')
|
|
}
|
|
await Promise.reject(e)
|
|
}
|
|
|
|
// return new Promise((resolve, reject) => {
|
|
// const url = baseUrl + path
|
|
// const headers = {
|
|
// 'Authorization': window.localStorage.getItem('token')
|
|
// }
|
|
// axios({
|
|
// method,
|
|
// url,
|
|
// params,
|
|
// data,
|
|
// headers,
|
|
// ...others
|
|
// })
|
|
// .then(resolve)
|
|
// .catch(error => {
|
|
// console.log(error)
|
|
// if (error.response.status === 401) {
|
|
// router.push('/login')
|
|
// }
|
|
// reject(error)
|
|
// })
|
|
// })
|
|
}
|
|
|
|
const get = (path, params) => {
|
|
return request('GET', path, params)
|
|
}
|
|
|
|
const post = (path, data) => {
|
|
return request('POST', path, {}, data)
|
|
}
|
|
|
|
const put = (path, data) => {
|
|
return request('PUT', path, {}, data)
|
|
}
|
|
|
|
const del = (path, data) => {
|
|
return request('DELETE', path)
|
|
}
|
|
|
|
export default {
|
|
baseUrl,
|
|
request,
|
|
get,
|
|
post,
|
|
put,
|
|
delete: del
|
|
}
|