hrms-edm/Services/client/src/services/HttpService.ts

33 lines
846 B
TypeScript
Raw Normal View History

2023-11-23 08:47:44 +07:00
import axios from 'axios'
import { getToken } from './KeyCloakService'
2023-11-30 15:36:03 +07:00
import { useErrorStore } from '@/stores/error'
const error = useErrorStore()
2023-11-23 08:47:44 +07:00
const instance = axios.create()
2023-11-23 08:47:44 +07:00
instance.interceptors.request.use(async (config) => {
config.headers.Authorization = `Bearer ${await getToken()}`
2023-11-23 08:47:44 +07:00
return config
})
2023-11-23 08:47:44 +07:00
2023-11-30 15:36:03 +07:00
instance.interceptors.response.use(
(res) => res,
(err) => {
const status = err.response.status
const data = err.response.data
error.title = 'เกิดข้อผิดพลาด'
if (status === 500) {
error.msg = 'เกิดข้อผิดพลาด ไม่สามารถดำเนินการต่อได้ กรุณาลองใหม่อีกครั้ง'
} else {
error.msg = data.message
}
error.show()
},
)
export default instance