Files
ToolBox/src/router/index.js
T
renjue f80c7a276c
CI / docker (push) Failing after 1m8s
初始化 ToolBox 开发者工具箱。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 15:41:02 +08:00

83 lines
1.7 KiB
JavaScript

import { createRouter, createWebHistory } from 'vue-router'
import Home from '../views/Home.vue'
import { getPageTitle } from '../config/site.js'
const routes = [
{
path: '/',
name: 'Home',
component: Home,
meta: {
titleSuffix: null
}
},
{
path: '/json-formatter',
name: 'JsonFormatter',
component: () => import('../views/JsonFormatter.vue'),
meta: {
titleSuffix: 'JSON'
}
},
{
path: '/comparator',
name: 'Comparator',
component: () => import('../views/Comparator.vue'),
meta: {
titleSuffix: '对比'
}
},
{
path: '/encoder-decoder',
name: 'EncoderDecoder',
component: () => import('../views/EncoderDecoder.vue'),
meta: {
titleSuffix: '编解码'
}
},
{
path: '/variable-name',
name: 'VariableNameConverter',
component: () => import('../views/VariableNameConverter.vue'),
meta: {
titleSuffix: '变量名'
}
},
{
path: '/qr-code',
name: 'QRCodeGenerator',
component: () => import('../views/QRCodeGenerator.vue'),
meta: {
titleSuffix: '二维码'
}
},
{
path: '/timestamp-converter',
name: 'TimestampConverter',
component: () => import('../views/TimestampConverter.vue'),
meta: {
titleSuffix: '时间戳'
}
},
{
path: '/color-converter',
name: 'ColorConverter',
component: () => import('../views/ColorConverter.vue'),
meta: {
titleSuffix: '颜色'
}
}
]
const router = createRouter({
history: createWebHistory(),
routes
})
router.beforeEach((to, from, next) => {
document.title = getPageTitle(to.meta.titleSuffix)
next()
})
export default router