import { createRouter, createWebHashHistory } from 'vue-router' import HomeView from '../views/HomeView.vue' import NotFoundView from '../views/NotFoundView.vue' const router = createRouter({ history: createWebHashHistory(import.meta.env.BASE_URL), routes: [ { path: '/', name: 'home', component: HomeView, }, { path: '/about', name: 'about', // route level code-splitting // this generates a separate chunk (About.[hash].js) for this route // which is lazy-loaded when the route is visited. component: () => import('../views/AboutView.vue'), }, { path: '/news', name: 'news', component: () => import('../views/NewsView.vue'), }, { path: '/news/detail', name: 'news-detail', component: () => import('../views/NewsDetailView.vue'), }, { path: '/introduction', name: 'introduction', component: () => import('../views/IntrodView.vue'), }, { path: '/introduction/about', name: 'IntroductionAbout', component: () => import('../views/introduction/about.vue'), }, { path: '/introduction/history', name: 'IntroductionHistory', component: () => import('../views/introduction/history.vue'), }, { path: '/introduction/character', name: 'IntroductionCharacter', component: () => import('../views/introduction/character.vue'), }, { path: '/introduction/language', name: 'IntroductionLanguage', component: () => import('../views/introduction/language.vue'), }, { path: '/introduction/custom', name: 'IntroductionCustom', component: () => import('../views/introduction/custom.vue'), }, { path: '/introduction/feature', name: 'IntroductionFeature', component: () => import('../views/introduction/feature.vue'), }, { path: '/introduction/building', name: 'IntroductionBuilding', component: () => import('../views/introduction/building.vue'), }, { path: '/introduction/victuals', name: 'IntroductionVictuals', component: () => import('../views/introduction/victuals.vue'), }, { path: '/introduction/sea', name: 'IntroductionSea', component: () => import('../views/introduction/sea.vue'), }, { path: '/introduction/book', name: 'IntroductionBook', component: () => import('../views/introduction/book.vue'), }, { path: '/introduction/policy', name: 'IntroductionPolicy', component: () => import('../views/introduction/policy.vue'), }, { path: '/communicate', name: 'communicate', component: () => import('../views/CommunicateView.vue'), }, { path: '/communicate/fujian-and-taiwan', name: 'CommunicateFujianAndTaiwan', component: () => import('../views/communicate/fujian-and-taiwan.vue'), }, { path: '/communicate/hk-macao-and-taiwan', name: 'CommunicateHKMacaoAndTiwanAndTaiwan', component: () => import('../views/communicate/hk-macao-and-taiwan.vue'), }, { path: '/communicate/activity', name: 'CommunicateActivity', component: () => import('../views/communicate/activity.vue'), }, { path: '/communicate/outside', name: 'CommunicateOutside', component: () => import('../views/communicate/outside.vue'), }, { path: '/research', name: 'research', component: () => import('../views/ResearchView.vue'), }, { path: '/research/teams', name: 'ResearchTeams', component: () => import('../views/research/teams.vue'), }, { path: '/research/discuss', name: 'ResearchDiscuss', component: () => import('../views/research/discuss.vue'), }, { path: '/research/projects', name: 'ResearchProjects', component: () => import('../views/research/projects.vue'), }, { path: '/research/result', name: 'ResearchResult', component: () => import('../views/research/result.vue'), }, { path: '/research/expert', name: 'ResearchExpert', component: () => import('../views/research/expert.vue'), }, { path: '/fusion', name: 'fusion', component: () => import('../views/FusionView.vue'), }, { path: '/fusion/scenic-spot', name: 'FusionScenicSpot', component: () => import('../views/fusion/scenic-spot.vue'), }, { path: '/fusion/route', name: 'FusionRoute', component: () => import('../views/fusion/route.vue'), }, { path: '/fusion/products', name: 'FusionProducts', component: () => import('../views/fusion/products.vue'), }, { path: '/fusion/demo-site', name: 'FusionDemoSite', component: () => import('../views/fusion/demo-site.vue'), }, { path: '/fusion/fashion', name: 'FusionFashion', component: () => import('../views/fusion/fashion.vue'), }, { path: '/fusion/point', name: 'FusionPoint', component: () => import('../views/fusion/point.vue'), }, { path: '/inheritor', name: 'inheritor', component: () => import('../views/InheritorView.vue'), }, { path: '/inheritor/submit', name: 'InheritorSubmit', component: () => import('../views/inheritor/submit.vue'), }, { path: '/inheritor/inheritor', name: 'InheritorList', component: () => import('../views/inheritor/inheritor.vue'), }, { path: '/inheritor/products', name: 'InheritorProducts', component: () => import('../views/inheritor/products.vue'), }, { path: '/inheritor/projects', name: 'InheritorProjects', component: () => import('../views/inheritor/projects.vue'), }, { path: '/inheritor/seminar', name: 'InheritorSeminar', component: () => import('../views/inheritor/seminar.vue'), }, { path: '/inheritor/unmoveable', name: 'InheritorUnmoveable', component: () => import('../views/inheritor/unmoveable.vue'), }, { path: '/inheritor/area', name: 'InheritorArea', component: () => import('../views/inheritor/area.vue'), }, { path: '/inheritor/heritage', name: 'InheritorHeritage', component: () => import('../views/inheritor/heritage.vue'), }, { path: '/inheritor/block', name: 'InheritorBlock', component: () => import('../views/inheritor/block.vue'), }, { path: '/inheritor/language', name: 'InheritorLanguage', component: () => import('../views/inheritor/language.vue'), }, { path: '/inheritor/artifact-detail', name: 'artifact-detail', component: () => import('../views/details/ArtifactDetailView.vue'), }, { path: '/inheritor/intangible-detail', name: 'intangible-detail', component: () => import('../views/details/IntangibleDetailView.vue'), }, { path: '/inheritor/moveable', name: 'InheritorMoveable', component: () => import('../views/inheritor/moveable.vue'), }, { path: '/inheritor/activity', name: 'InheritorActivity', component: () => import('../views/inheritor/activity.vue'), }, { path: '/village/index', name: 'VillageList', component: () => import('../views/village/index.vue'), children: [ { path: 'content', name: 'VillageContent', component: () => import('../views/village/content.vue'), }, { path: 'list', name: 'VillageList2', component: () => import('../views/village/list.vue'), }, { path: 'detail', name: 'VillageDetail', component: () => import('../views/village/detail.vue'), }, ] }, { path: '/404', name: 'NotFound', component: NotFoundView }, { path: '/:pathMatch(.*)*', // 匹配所有不存在的路径 redirect: '/404' } ], }) export default router