Add File
This commit is contained in:
209
frontend/src/router/index.ts
Normal file
209
frontend/src/router/index.ts
Normal file
@@ -0,0 +1,209 @@
|
|||||||
|
import { createRouter, createWebHashHistory } from 'vue-router'
|
||||||
|
// @ts-expect-error eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
|
import Layout from '@/components/layout/index.vue'
|
||||||
|
import LayoutDsl from '@/components/layout/LayoutDsl.vue'
|
||||||
|
import SinglePage from '@/components/layout/SinglePage.vue'
|
||||||
|
import login from '@/views/login/index.vue'
|
||||||
|
import chat from '@/views/chat/index.vue'
|
||||||
|
import Datasource from '@/views/ds/Datasource.vue'
|
||||||
|
import DashboardEditor from '@/views/dashboard/editor/index.vue'
|
||||||
|
import DashboardPreview from '@//views/dashboard/preview/SQPreviewSingle.vue'
|
||||||
|
import Dashboard from '@/views/dashboard/index.vue'
|
||||||
|
import Model from '@/views/system/model/Model.vue'
|
||||||
|
import Embedded from '@/views/system/embedded/index.vue'
|
||||||
|
import assistantTest from '@/views/system/embedded/Test.vue'
|
||||||
|
import assistant from '@/views/embedded/index.vue'
|
||||||
|
import EmbeddedPage from '@/views/embedded/page.vue'
|
||||||
|
import Member from '@/views/system/member/index.vue'
|
||||||
|
import Professional from '@/views/system/professional/index.vue'
|
||||||
|
import Appearance from '@/views/system/appearance/index.vue'
|
||||||
|
import Permission from '@/views/system/permission/index.vue'
|
||||||
|
import User from '@/views/system/user/User.vue'
|
||||||
|
import Workspace from '@/views/system/workspace/index.vue'
|
||||||
|
import { i18n } from '@/i18n'
|
||||||
|
import { watchRouter } from './watch'
|
||||||
|
|
||||||
|
const t = i18n.global.t
|
||||||
|
export const routes = [
|
||||||
|
{
|
||||||
|
path: '/login',
|
||||||
|
name: 'login',
|
||||||
|
component: login,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/chat',
|
||||||
|
component: LayoutDsl,
|
||||||
|
redirect: '/chat/index',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: 'index',
|
||||||
|
name: 'chat',
|
||||||
|
component: chat,
|
||||||
|
props: (route: any) => {
|
||||||
|
return { startChatDsId: route.query.start_chat }
|
||||||
|
},
|
||||||
|
meta: { title: t('menu.Data Q&A'), iconActive: 'chat', iconDeActive: 'noChat' },
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/dsTable',
|
||||||
|
component: SinglePage,
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: ':dsId/:dsName',
|
||||||
|
name: 'dsTable',
|
||||||
|
component: () => import('@/views/ds/TableList.vue'),
|
||||||
|
props: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/ds',
|
||||||
|
component: LayoutDsl,
|
||||||
|
redirect: '/ds/index',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: 'index',
|
||||||
|
name: 'ds',
|
||||||
|
component: Datasource,
|
||||||
|
meta: { title: t('menu.Data Connections'), iconActive: 'ds', iconDeActive: 'noDs' },
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/dashboard',
|
||||||
|
component: LayoutDsl,
|
||||||
|
redirect: '/dashboard/index',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: 'index',
|
||||||
|
name: 'dashboard',
|
||||||
|
component: Dashboard,
|
||||||
|
meta: {
|
||||||
|
title: t('dashboard.dashboard'),
|
||||||
|
iconActive: 'dashboard',
|
||||||
|
iconDeActive: 'noDashboard',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/set',
|
||||||
|
component: LayoutDsl,
|
||||||
|
redirect: '/set/member',
|
||||||
|
meta: { title: t('workspace.set'), iconActive: 'set', iconDeActive: 'noSet' },
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: '/set/member',
|
||||||
|
name: 'member',
|
||||||
|
component: Member,
|
||||||
|
meta: { title: t('workspace.member_management') },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/set/permission',
|
||||||
|
name: 'permission',
|
||||||
|
component: Permission,
|
||||||
|
meta: { title: t('workspace.permission_configuration') },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/set/professional',
|
||||||
|
name: 'professional',
|
||||||
|
component: Professional,
|
||||||
|
meta: { title: t('professional.professional_terminology') },
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/canvas',
|
||||||
|
name: 'canvas',
|
||||||
|
component: DashboardEditor,
|
||||||
|
meta: { title: 'canvas', icon: 'dashboard' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/dashboard-preview',
|
||||||
|
name: 'preview',
|
||||||
|
component: DashboardPreview,
|
||||||
|
meta: { title: 'DashboardPreview', icon: 'dashboard' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/system',
|
||||||
|
component: LayoutDsl,
|
||||||
|
redirect: '/system/user',
|
||||||
|
meta: { hidden: true },
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: 'user',
|
||||||
|
name: 'user',
|
||||||
|
component: User,
|
||||||
|
meta: { title: t('user.user_management'), iconActive: 'user', iconDeActive: 'noUser' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'workspace',
|
||||||
|
name: 'workspace',
|
||||||
|
component: Workspace,
|
||||||
|
meta: {
|
||||||
|
title: t('user.workspace'),
|
||||||
|
iconActive: 'workspace',
|
||||||
|
iconDeActive: 'noWorkspace',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'model',
|
||||||
|
name: 'model',
|
||||||
|
component: Model,
|
||||||
|
meta: {
|
||||||
|
title: t('model.ai_model_configuration'),
|
||||||
|
iconActive: 'model',
|
||||||
|
iconDeActive: 'noModel',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'embedded',
|
||||||
|
name: 'embedded',
|
||||||
|
component: Embedded,
|
||||||
|
meta: {
|
||||||
|
title: t('embedded.embedded_management'),
|
||||||
|
iconActive: 'embedded',
|
||||||
|
iconDeActive: 'noEmbedded',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'setting',
|
||||||
|
meta: { title: t('system.system_settings'), iconActive: 'set', iconDeActive: 'noSet' },
|
||||||
|
redirect: 'system_/appearance',
|
||||||
|
name: 'setting',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: 'appearance',
|
||||||
|
name: 'appearance',
|
||||||
|
component: Appearance,
|
||||||
|
meta: { title: t('system.appearance_settings') },
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
path: '/assistant',
|
||||||
|
name: 'assistant',
|
||||||
|
component: assistant,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/embeddedPage',
|
||||||
|
name: 'embeddedPage',
|
||||||
|
component: EmbeddedPage,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/assistantTest',
|
||||||
|
name: 'assistantTest',
|
||||||
|
component: assistantTest,
|
||||||
|
},
|
||||||
|
]
|
||||||
|
const router = createRouter({
|
||||||
|
history: createWebHashHistory(),
|
||||||
|
routes,
|
||||||
|
})
|
||||||
|
watchRouter(router)
|
||||||
|
export default router
|
||||||
Reference in New Issue
Block a user