import { createRouter, createWebHistory } from 'vue-router' import Login from '../views/Login.vue' import Orders from '../views/Orders.vue' import Licenses from '../views/Licenses.vue' import AppVersions from '../views/AppVersions.vue' import Datasets from '../views/Datasets.vue' import DatasetDetail from '../views/DatasetDetail.vue' // 生产部署于 /admin/ 前缀(后端静态托管),history 路由由后端 SPA fallback 兜底 const router = createRouter({ history: createWebHistory('/admin/'), routes: [ { path: '/login', name: 'login', component: Login, meta: { title: '登录' } }, { path: '/', redirect: '/datasets' }, { path: '/datasets', name: 'datasets', component: Datasets, meta: { title: '数据训练' } }, { path: '/datasets/:id', name: 'datasetDetail', component: DatasetDetail, meta: { title: '数据训练详情' } }, { path: '/orders', name: 'orders', component: Orders, meta: { title: '订单管理' } }, { path: '/licenses', name: 'licenses', component: Licenses, meta: { title: '授权管理' } }, { path: '/app-versions', name: 'appVersions', component: AppVersions, meta: { title: '版本管理' } }, ], }) // 登录守卫:未输入 token 一律回登录页 router.beforeEach((to) => { if (to.path !== '/login' && !localStorage.getItem('adminToken')) { return '/login' } return true }) router.afterEach((to) => { document.title = (to.meta.title ? to.meta.title + ' - ' : '') + '视野管理端' }) export default router