Files
observer/server_admin/src/router/index.js
T
2026-08-26 18:15:54 +08:00

36 lines
1.5 KiB
JavaScript

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