feat: add Vue 3 admin frontend and integrate with backend like mediabot

This commit is contained in:
mediabot-pt
2026-06-29 11:14:37 +08:00
parent 25cd9873ae
commit 6f56cde229
17 changed files with 729 additions and 11 deletions

57
web/src/router/index.js Normal file
View File

@@ -0,0 +1,57 @@
import { createRouter, createWebHistory } from 'vue-router'
const routes = [
{
path: '/login',
name: 'Login',
component: () => import('../views/Login.vue')
},
{
path: '/',
name: 'Layout',
component: () => import('../views/Layout.vue'),
redirect: '/dashboard',
children: [
{
path: 'dashboard',
name: 'Dashboard',
component: () => import('../views/Dashboard.vue'),
meta: { title: '概览' }
},
{
path: 'sites',
name: 'Sites',
component: () => import('../views/Sites.vue'),
meta: { title: '站点管理' }
},
{
path: 'configs',
name: 'Configs',
component: () => import('../views/Configs.vue'),
meta: { title: '配置审核' }
},
{
path: 'users',
name: 'Users',
component: () => import('../views/Users.vue'),
meta: { title: '用户管理' }
}
]
}
]
const router = createRouter({
history: createWebHistory(),
routes
})
router.beforeEach((to, from, next) => {
const token = localStorage.getItem('par_token')
if (to.path !== '/login' && !token) {
next('/login')
} else {
next()
}
})
export default router