138 lines
3.0 KiB
Vue
138 lines
3.0 KiB
Vue
<script lang="ts" setup>
|
|
import type { SidebarNavGroup } from '~/components/app/sidebar/index.vue'
|
|
|
|
const route = useRoute()
|
|
const { breadcrumbs } = toRefs(useBreadcrumbs())
|
|
|
|
const sidebarNav: SidebarNavGroup[] = [
|
|
{
|
|
items: [
|
|
{
|
|
title: '课程管理',
|
|
icon: 'tabler:book-2',
|
|
items: [
|
|
{
|
|
title: '我的课程',
|
|
url: `/course`,
|
|
},
|
|
]
|
|
},
|
|
{
|
|
title: 'AI 备课',
|
|
icon: 'tabler:clipboard-list',
|
|
items: [
|
|
{
|
|
title: '教学设计',
|
|
url: `/course/prep/teach`,
|
|
},
|
|
{
|
|
title: '课件设计',
|
|
url: `/course/prep/deck`,
|
|
},
|
|
{
|
|
title: '智能出题',
|
|
url: `/course/prep/quiz`,
|
|
},
|
|
{
|
|
title: '数字人微课',
|
|
url: `/course/prep/avatar`,
|
|
},
|
|
]
|
|
},
|
|
{
|
|
title: 'AI 教科研',
|
|
icon: 'tabler:report-search',
|
|
items: [
|
|
{
|
|
title: '教学评估',
|
|
url: `/course/research#`,
|
|
},
|
|
{
|
|
title: '学术研究',
|
|
url: `/course/research#`,
|
|
},
|
|
{
|
|
title: '办公辅助',
|
|
url: `/course/research#`,
|
|
},
|
|
]
|
|
},
|
|
{
|
|
title: '课程资源库',
|
|
icon: 'tabler:books',
|
|
items: [
|
|
{
|
|
title: '资源库管理',
|
|
url: `/course/resources#`,
|
|
},
|
|
{
|
|
title: '课程智能体',
|
|
url: `/course/resources#`,
|
|
},
|
|
]
|
|
},
|
|
{
|
|
title: 'AI 工具导航',
|
|
icon: 'tabler:planet',
|
|
items: [
|
|
{
|
|
title: '写作平台',
|
|
url: `/course/ai-navi/#`,
|
|
},
|
|
{
|
|
title: '绘画生成',
|
|
url: `/course/ai-navi/#`,
|
|
},
|
|
{
|
|
title: '视频创作',
|
|
url: `/course/ai-navi/#`,
|
|
},
|
|
{
|
|
title: '办公效率',
|
|
url: `/course/ai-navi/#`,
|
|
},
|
|
{
|
|
title: '智能对话',
|
|
url: `/course/ai-navi/#`,
|
|
},
|
|
{
|
|
title: '音频处理',
|
|
url: `/course/ai-navi/#`,
|
|
},
|
|
{
|
|
title: '智能体平台',
|
|
url: `/course/ai-navi/#`,
|
|
},
|
|
{
|
|
title: '其它',
|
|
url: `/course/ai-navi/#`,
|
|
},
|
|
]
|
|
},
|
|
],
|
|
},
|
|
]
|
|
</script>
|
|
|
|
<template>
|
|
<div class="w-full min-h-screen flex font-sans">
|
|
<SidebarProvider style="--sidebar-width: 200px">
|
|
<AppSidebar
|
|
v-if="!route.meta.hideSidebar"
|
|
:nav="sidebarNav"
|
|
/>
|
|
<SidebarInset>
|
|
<AppTopbar
|
|
:hide-trigger="route.meta.hideSidebar"
|
|
:breadcrumbs
|
|
/>
|
|
<div class="flex flex-1 flex-col gap-4">
|
|
<slot />
|
|
</div>
|
|
</SidebarInset>
|
|
</SidebarProvider>
|
|
</div>
|
|
</template>
|
|
|
|
<style scoped></style>
|