From 2df87f5fb1b3a7b64498f9fb1f5343224afb170c Mon Sep 17 00:00:00 2001 From: bob <312777916@qq.com> Date: Sat, 8 Mar 2025 19:13:48 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=B7=E6=B1=82=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.demo-dev | 4 ++-- .env.demo-prod | 4 ++-- .env.development | 4 ++-- .env.production | 4 ++-- src/js/utils/request.js | 2 +- src/router/index.js | 33 +++++++++++++++++---------------- src/views/LoginPage.vue | 2 +- vite.config.js | 1 + 8 files changed, 28 insertions(+), 26 deletions(-) diff --git a/.env.demo-dev b/.env.demo-dev index 20bba1b..9985a47 100644 --- a/.env.demo-dev +++ b/.env.demo-dev @@ -1,13 +1,13 @@ ENV = 'demo-dev' # REST API地址 -VITE_BASE_URL = '/api' # 配合vite.config.js中的代理配置解决跨域问题 +VITE_RESTAPI_URL = '/api' # 配合vite.config.js中的代理配置解决跨域问题 # 本地开发OSS对象服务跨域代理标识 VITE_OSS_CORS_FLAG = '/oss/' # 本地开发需要在vite.config.js中配置代理 # ws地址 -VITE_WS_URL = 'ws://localhost:8080/ws' +VITE_WS_URL = '/ws' # title VITE_TITLE = 'Open AnyLink(开发环境)' diff --git a/.env.demo-prod b/.env.demo-prod index e186d8e..c719f53 100644 --- a/.env.demo-prod +++ b/.env.demo-prod @@ -1,13 +1,13 @@ ENV = 'demo-prod' # REST API地址 -VITE_BASE_URL = 'https://open-anylink.com/api/' +VITE_RESTAPI_URL = '/api/' # 本地开发OSS对象服务跨域代理标识 VITE_OSS_CORS_FLAG = '' # 生产环境不用配置代理,在OSS控制台的bucket下设置跨域来源即可 # ws地址 -VITE_WS_URL = 'wss://open-anylink.com/ws' +VITE_WS_URL = '/ws' # title VITE_TITLE = 'Open AnyLink' diff --git a/.env.development b/.env.development index 60b7712..3d73a17 100644 --- a/.env.development +++ b/.env.development @@ -1,13 +1,13 @@ ENV = 'development' # REST API地址 -VITE_BASE_URL = '/api' # 配合vite.config.js中的代理配置解决跨域问题 +VITE_RESTAPI_URL = '/api' # 配合vite.config.js中的代理配置解决跨域问题 # 本地开发OSS对象服务跨域代理标识 VITE_OSS_CORS_FLAG = '/oss/' # 本地开发需要在vite.config.js中配置代理 # ws地址 -VITE_WS_URL = 'ws://localhost:8080/ws' +VITE_WS_URL = '/ws' # title VITE_TITLE = 'Open AnyLink(开发环境)' diff --git a/.env.production b/.env.production index 7c781bc..c81bbfd 100644 --- a/.env.production +++ b/.env.production @@ -1,13 +1,13 @@ ENV = 'production' # REST API地址 -VITE_BASE_URL = 'https://open-anylink.com/api/' +VITE_RESTAPI_URL = '/api/' # 本地开发OSS对象服务跨域代理标识 VITE_OSS_CORS_FLAG = '' # 生产环境不用配置代理,在OSS控制台的bucket下设置跨域来源即可 # ws地址 -VITE_WS_URL = 'wss://open-anylink.com/ws' +VITE_WS_URL = '/ws' # title VITE_TITLE = 'Open AnyLink' diff --git a/src/js/utils/request.js b/src/js/utils/request.js index add1ebf..c4e35d0 100644 --- a/src/js/utils/request.js +++ b/src/js/utils/request.js @@ -6,7 +6,7 @@ import { v4 as uuidv4 } from 'uuid' import { ElMessage } from 'element-plus' import { CLIENT_TYPE, CLIENT_NAME, CLIENT_VERSION } from '@/const/userConst' -const baseURL = import.meta.env.VITE_BASE_URL +const baseURL = import.meta.env.VITE_RESTAPI_URL const noTokenReqList = [ '/user/getCaptcha', '/user/verifyCaptcha', diff --git a/src/router/index.js b/src/router/index.js index df7532a..933aa4b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -170,23 +170,24 @@ router.beforeEach(async (to, from, next) => { const userData = userStore() const isLogin = await userData.isLogin() - // 如果没有登录,且访问的是非登录页,拦截到登录 - if (!isLogin && to.path !== '/login') { - next('/login') - return - } - - // 如果有登录,且访问的是登录页,拦截到首页 - if (isLogin && to.path === '/login') { - next('/') - return - } - - // 检查是否是其他请求(除了已定义的路由之外的请求) - if (!router.getRoutes().some((route) => route.path === to.path)) { - next('/') + if (!isLogin) { + if (to.path === '/login') { + next() + } else if (router.getRoutes().some((route) => route.path === to.path)) { + next('/login') + } else { + // 其他请求一律转到/根请求 + next('/') + } } else { - next() + if (to.path === '/login') { + next('/message') + } else if (router.getRoutes().some((route) => route.path === to.path)) { + next() + } else { + // 其他请求一律转到/根请求 + next('/') + } } }) diff --git a/src/views/LoginPage.vue b/src/views/LoginPage.vue index 2816f0c..a1c65e2 100644 --- a/src/views/LoginPage.vue +++ b/src/views/LoginPage.vue @@ -133,7 +133,7 @@ const login = async () => { userData.setIsRemenberMe(isRemenberMe.value) await userData.updateUser() //这里要用await确保拿到结果了再跳转,否则其他页面依赖user的不能及时得到更新 ElMessage.success('登录成功') - router.push('/') + router.push('/message') }) .catch(() => { formModel.value.password = '' diff --git a/vite.config.js b/vite.config.js index 3c7f1ab..e3d6459 100644 --- a/vite.config.js +++ b/vite.config.js @@ -7,6 +7,7 @@ import svgLoader from 'vite-svg-loader' // https://vitejs.dev/config/ export default defineConfig({ plugins: [vue(), svgLoader()], + base: '/im', resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url))