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/inpatient-advice', { params }), completeTask: (id, data) => service.post(`/nurse-station/advice-process/advice-execute`, data), getPatientInfo: (id) => service.get('/inpatientmanage/inhospitalregister/' + id), getPatientList: (params) => service.get('/patient-home-manage/init', { params }), getOrders: (encounterId) => service.get('/nurse-station/advice-process/inpatient-advice', { params: { encounterId } }), getVitalSigns: (patientId) => service.get('/vital-signs-chart/page', { params: { patientId } }), submitVitalSign: (data) => service.post('/nursing/mobile/vital-sign', data), getAssessments: (encounterId) => service.get('/nursing-assessment-enhanced/list', { params: { encounterId } }), submitAssessment: (data) => service.post('/nursing-assessment-enhanced/braden/assess', data), getDrugDistribution: (params) => service.get('/nursing/mobile/drug-distribution/list', { params }), submitDrugDistribution: (data) => service.post('/nursing/mobile/drug-distribution/execute', data), getNursingRecords: (params) => service.get('/nursing-record/patient-page', { params }), submitNursingRecord: (data) => service.post('/nursing-record/save-nursing', data), getInfusionPatrol: (params) => service.get('/nursing-execution/infusion/page', { params }), submitInfusionPatrol: (data) => service.post('/nursing/mobile/infusion/action', data), getHandoffRecords: (params) => service.get('/nursing-execution/handoff/page', { params }), submitHandoffRecord: (data) => service.post('/nursing-execution/handoff/add', data) } export default service