59 lines
2.4 KiB
JavaScript
59 lines
2.4 KiB
JavaScript
import axios from 'axios'
|
|
import { ElMessage } from 'element-plus'
|
|
|
|
const service = axios.create({
|
|
baseURL: import.meta.env.VITE_APP_BASE_API || '/dev-api',
|
|
timeout: 30000
|
|
})
|
|
|
|
service.interceptors.request.use(config => {
|
|
const token = localStorage.getItem('Admin-Token')
|
|
if (token && !(config.headers && config.headers.isToken === false)) {
|
|
config.headers.Authorization = 'Bearer ' + token
|
|
}
|
|
return config
|
|
})
|
|
|
|
service.interceptors.response.use(
|
|
response => {
|
|
const res = response.data
|
|
if (res.code === 401 && !window.location.pathname.includes('/login')) {
|
|
localStorage.removeItem('Admin-Token')
|
|
localStorage.removeItem('userInfo')
|
|
window.location.href = '/login'
|
|
return Promise.reject(new Error('登录已过期'))
|
|
}
|
|
return res
|
|
},
|
|
error => {
|
|
if (error.response?.status === 401 && !window.location.pathname.includes('/login')) {
|
|
localStorage.removeItem('Admin-Token')
|
|
localStorage.removeItem('userInfo')
|
|
window.location.href = '/login'
|
|
}
|
|
return Promise.reject(error)
|
|
}
|
|
)
|
|
|
|
export const authApi = {
|
|
login: (data) => service.post('/login', data, { headers: { isToken: false } }),
|
|
getTenants: () => service.get('/system/tenant/all-active', { headers: { isToken: false } }),
|
|
getUserTenants: (username) => service.get('/system/tenant/user-bind/' + username, { headers: { isToken: false } }),
|
|
getInfo: () => service.get('/getInfo')
|
|
}
|
|
|
|
export const nursingApi = {
|
|
getTasks: (params) => service.get('/nurse-station/advice-process/page', { params }),
|
|
completeTask: (id, data) => service.post(`/nurse-station/advice-process/execute`, data),
|
|
getPatientInfo: (id) => service.get('/inpatientmanage/inhospitalregister/' + id),
|
|
getPatientList: (params) => service.get('/administration/practitioner-patient/list', { params }),
|
|
getPatientsByPractitioner: (practitionerId) => service.get('/administration/practitioner-patient/practitioner/' + practitionerId + '/patients'),
|
|
getOrders: (encounterId) => service.get('/nurse-station/advice-process/page', { params: { encounterId } }),
|
|
getVitalSigns: (patientId) => service.get('/nursing/vital-signs/' + patientId),
|
|
submitVitalSign: (data) => service.post('/nursing/vital-sign', data),
|
|
getAssessments: (encounterId) => service.get('/nursing/assessment/encounter/' + encounterId),
|
|
submitAssessment: (data) => service.post('/nursing/assessment', data)
|
|
}
|
|
|
|
export default service
|