Files
AIProd/router.js
2025-10-10 10:32:37 +08:00

164 lines
2.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import Vue from 'vue'
import VueRouter from 'vue-router'
// 引入页面组件
import Home from '@/pages/Home/index.vue'
import AboutIndex from '@/pages/About/index.vue'
import User from '@/pages/User/index.vue'
import Login from '@/pages/Login/index.vue'
import Privacy from '@/pages/About/Privacy.vue'
import About from '@/pages/About/About.vue'
import Service from '@/pages/About/Service.vue'
import AIHub from '@/pages/AIHub/index.vue'
import AITools from '@/pages/AIHub/AITools.vue'
import Frameworks from '@/pages/AIHub/Frameworks.vue'
Vue.use(VueRouter)
export const routes = [{
path: '/',
name: 'home',
component: Home,
meta: {
navigationName: "Home",
hidden: false
} //navigationName显示在header组件里面导航按钮的名字 hidden是否在导航栏里面显示
},
{
path: '/launches',
name: 'AI Launches',
component: About,
meta: {
navigationName: "AI Launches",
hidden: false
}
},
{
path: '/hub',
name: 'AI Hub',
component:AIHub,
meta: {
navigationName: "AI Hub",
hidden: false,
children: true,
},
children: [{
path: '/tools', // 相对路径,实际路径会是/hub/tools
name: 'AI Tools',
component: AITools,
meta: {
icon: 'tools',
hidden: true // 隐藏于主导航,只在子菜单显示
}
},
{
path: '/frameworks', // 路径改为全小写更规范
name: 'Frameworks',
component: Frameworks,
meta: {
icon: 'frameworks',
hidden: true
}
}
]
},
{
path: '/login',
name: 'AI Daily News',
component: Login,
meta: {
navigationName: "AI Daily News",
hidden: false
}
},
{
path: '/learn',
name: 'Learn',
component: Login,
meta: {
navigationName: "Learn",
hidden: false,
children: true,
},
children: [{
name: 'AI Observer',
path: '/observer',
component: Privacy,
meta: {
icon: 'observer',
hidden: true
}
},
{
name: 'In-depth Analysis',
path: '/analysis',
component: About,
meta: {
icon: 'analysis',
hidden: true
}
},
{
name: 'Pioneer In The Field',
path: '/pioneer',
component: Service,
meta: {
icon: 'pioneer',
hidden: true
}
}
]
},
{
path: '/about',
name: 'About Us',
component: AboutIndex,
meta: {
navigationName: "About Us",
hidden: false
},
children: [{
path: '/privacy',
component: Privacy,
meta: {
hidden: true
}
},
{
path: '/about',
component: About,
meta: {
hidden: true
}
},
{
path: '/service',
component: Service,
meta: {
hidden: true
}
}
]
},
{
path: '*',
redirect: '/'
}
]
const router = new VueRouter({
mode: 'history',
// mode: 'hash',
// base:'/example/', //服务器资源放在子路径下,不在根路径时配置
routes,
scrollBehavior: () => ({
y: 0,
behavior: 'smooth'
}), //当更新路由时,滚动条滑动到顶部
})
export function createRouter() {
return router
}