feat(mobile): 添加登录页面+租户选择+路由守卫
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import axios from 'axios'
|
||||
import { ElMessage } from 'element-plus'
|
||||
|
||||
const request = axios.create({
|
||||
baseURL: '/dev-api',
|
||||
@@ -8,19 +9,41 @@ const request = axios.create({
|
||||
request.interceptors.request.use(config => {
|
||||
const token = localStorage.getItem('token')
|
||||
if (token) config.headers.Authorization = `Bearer ${token}`
|
||||
const tenantId = localStorage.getItem('tenantId')
|
||||
if (tenantId) config.headers['tenant-id'] = tenantId
|
||||
return config
|
||||
})
|
||||
|
||||
request.interceptors.response.use(
|
||||
res => res.data,
|
||||
err => { console.error(err); return Promise.reject(err) }
|
||||
res => {
|
||||
if (res.data?.code === 401) {
|
||||
localStorage.removeItem('token')
|
||||
window.location.href = '/login'
|
||||
return Promise.reject(new Error('登录已过期'))
|
||||
}
|
||||
return res.data
|
||||
},
|
||||
err => {
|
||||
if (err.response?.status === 401) {
|
||||
localStorage.removeItem('token')
|
||||
window.location.href = '/login'
|
||||
}
|
||||
ElMessage.error(err.response?.data?.msg || '请求失败')
|
||||
return Promise.reject(err)
|
||||
}
|
||||
)
|
||||
|
||||
export const authApi = {
|
||||
login: (data) => request.post('/login', data),
|
||||
getTenants: () => request.get('/tenant/list'),
|
||||
logout: () => request.post('/logout')
|
||||
}
|
||||
|
||||
export const nursingApi = {
|
||||
getTasks: (params) => request.get('/mp/nursing/tasks', { params }),
|
||||
completeTask: (id, data) => request.post(`/mp/nursing/tasks/${id}/complete`, data),
|
||||
getPatientList: (params) => request.get('/mp/nursing/patient/list', { params }),
|
||||
getPatientInfo: (id) => request.get(`/mp/nursing/patient/${id}`),
|
||||
getPatientList: (params) => request.get('/mp/nursing/patient/list', { params }),
|
||||
getOrders: (patientId) => request.get(`/mp/nursing/orders/${patientId}`),
|
||||
getVitalSigns: (patientId) => request.get(`/mp/nursing/vital-signs/${patientId}`),
|
||||
submitVitalSign: (data) => request.post('/mp/nursing/vital-sign', data),
|
||||
|
||||
Reference in New Issue
Block a user