请求优化

This commit is contained in:
bob
2025-03-08 19:13:48 +08:00
parent 69d8015c5a
commit 2df87f5fb1
8 changed files with 28 additions and 26 deletions

View File

@@ -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(开发环境)'

View File

@@ -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'

View File

@@ -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(开发环境)'

View File

@@ -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'

View File

@@ -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',

View File

@@ -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('/')
} else {
if (!isLogin) {
if (to.path === '/login') {
next()
} else if (router.getRoutes().some((route) => route.path === to.path)) {
next('/login')
} else {
// 其他请求一律转到/根请求
next('/')
}
} else {
if (to.path === '/login') {
next('/message')
} else if (router.getRoutes().some((route) => route.path === to.path)) {
next()
} else {
// 其他请求一律转到/根请求
next('/')
}
}
})

View File

@@ -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 = ''

View File

@@ -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))