提交 4ac60e9b authored 作者: lihuihui's avatar lihuihui

优化

上级 bf5f7eda
......@@ -9,6 +9,7 @@ import { useUserStore } from '@/stores/user'
import { useMenuStore } from '@/stores/menu'
const route = useRoute()
const router = useRouter()
const userStore = useUserStore()
const userInfo = userStore.user
......@@ -34,6 +35,18 @@ const logout = async () => {
await userStore.logout()
location.href = `${import.meta.env.VITE_LOGIN_URL}?rd=${encodeURIComponent(location.origin)}`
}
function isUrl(path: string) {
return /^https?:\/\//.test(path)
}
function handleClick(path: string) {
if (isUrl(path)) {
window.open(path)
} else {
router.push(path)
}
}
</script>
<template>
......@@ -52,7 +65,8 @@ const logout = async () => {
:popper-offset="0"
popper-class="sub-menu-popper"
v-permission="item.tag"
v-if="item.children">
v-if="item.children"
>
<template #title>
{{ item.name }}
</template>
......@@ -60,11 +74,13 @@ const logout = async () => {
:index="subitem.path"
v-for="subitem in item.children"
:key="subitem.path"
v-permission="subitem.tag">
v-permission="subitem.tag"
@click="handleClick(subitem.path)"
>
{{ subitem.name }}
</el-menu-item>
</el-sub-menu>
<el-menu-item :index="item.path" v-permission="item.tag" v-else>
<el-menu-item :index="item.path" v-permission="item.tag" @click="handleClick(item.path)" v-else>
{{ item.name }}
</el-menu-item>
</template>
......
......@@ -17,6 +17,10 @@ const studentMenus: IMenuItem[] = [
name: '我的实验',
path: '/student/lab'
},
{
name: '理论学习',
path: 'https://saas-learn.ezijing.com'
},
{
name: '我的大赛',
path: '/student/contest'
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论