From c9d13b2e189a5600bb841bede35fc910bbc360fe Mon Sep 17 00:00:00 2001 From: jxxghp Date: Sat, 24 Jun 2023 15:20:44 +0800 Subject: [PATCH] add login --- src/api/index.ts | 34 +++++++++++++++++++++++++ src/pages/login.vue | 60 +++++++++++++++++++++++++++++++++++++++------ 2 files changed, 86 insertions(+), 8 deletions(-) create mode 100644 src/api/index.ts diff --git a/src/api/index.ts b/src/api/index.ts new file mode 100644 index 00000000..5308512a --- /dev/null +++ b/src/api/index.ts @@ -0,0 +1,34 @@ +import router from '@/router' +import axios from 'axios' + + +// 创建axios实例 +const api = axios.create({ + baseURL: 'http://localhost:3001/api/v1', +}) + +// 添加请求拦截器 +api.interceptors.request.use(config => { + const token = localStorage.getItem('token') + + // 在请求头中添加token + if (token) { + config.headers['Authorization'] = `Bearer ${token}` + } + + return config +}) + +// 添加响应拦截器 +api.interceptors.response.use(response => { + return response.data +}, error => { + if (error.response.status === 403) { + // token验证失败,跳转到登录页面 + router.push('/login') + } + + return Promise.reject(error) +}) + +export default api diff --git a/src/pages/login.vue b/src/pages/login.vue index 7fc35401..daf997ed 100644 --- a/src/pages/login.vue +++ b/src/pages/login.vue @@ -1,7 +1,9 @@