https 替换

This commit is contained in:
2025-12-27 17:34:19 +08:00
parent 55801fa0ec
commit 0fb7a4ffb2
18 changed files with 233 additions and 293 deletions

View File

@@ -6,8 +6,18 @@ import { APP_CONFIG } from 'shared/config'
// @ts-ignore
import { loadRoutesFromStorage } from './dynamicRoute'
// workcase应用的动态路由会根据layout字段自动添加不需要预定义Root布局
const routes: RouteRecordRaw[] = []
// 公开路由(不需要登录认证)
const routes: RouteRecordRaw[] = [
{
path: '/meeting',
name: 'Meeting',
component: () => import('@/views/public/JitsiMeeting/JitsiMeetingView.vue'),
meta: {
title: '视频会议',
requiresAuth: false // 不需要登录认证允许通过token访问
}
}
]
const router = createRouter({
history: createWebHistory('/workcase'), // 与nginx保持一致使用/workcase前缀
@@ -34,9 +44,10 @@ router.beforeEach(async (to, from, next) => {
// 检查URL参数中是否有token用于外部链接和小程序访问
const tokenParam = to.query.token as string | undefined
// 如果URL中有token但localStorage中没有loginDomain使用refresh接口验证
if (tokenParam && !localStorage.getItem('loginDomain')) {
console.log('[Workcase Router] 检测到token参数尝试验证登录状态...')
// 如果URL中有token参数使用refresh接口验证并刷新登录状态
// 这样可以用新token覆盖旧的登录状态如果有的话
if (tokenParam) {
console.log('[Workcase Router] 检测到token参数尝试验证并刷新登录状态...')
try {
const response = await fetch('/api/urban-lifeline/auth/refresh', {
method: 'POST',
@@ -52,12 +63,12 @@ router.beforeEach(async (to, from, next) => {
const loginDomain = result.data
const newToken = loginDomain.token
// 保存到localStorage
// 保存到localStorage(覆盖旧的登录状态)
localStorage.setItem('token', newToken)
localStorage.setItem('loginDomain', JSON.stringify(loginDomain))
TokenManager.setToken(newToken)
console.log('[Workcase Router] Token验证成功登录状态已保存')
console.log('[Workcase Router] Token验证成功登录状态已刷新')
} else {
console.warn('[Workcase Router] Token验证失败:', result.message)
}