mirror of
https://github.com/dreamhunter2333/cloudflare_temp_email.git
synced 2026-05-19 16:29:32 +08:00
61 lines
1.5 KiB
JavaScript
61 lines
1.5 KiB
JavaScript
import { createRouter, createWebHistory } from 'vue-router'
|
|
import Index from '../views/Index.vue'
|
|
import User from '../views/User.vue'
|
|
import UserOauth2Callback from '../views/user/UserOauth2Callback.vue'
|
|
import i18n from '../i18n'
|
|
import { useGlobalState } from '../store'
|
|
|
|
const { jwt } = useGlobalState()
|
|
|
|
const router = createRouter({
|
|
history: createWebHistory(),
|
|
routes: [
|
|
{
|
|
path: '/',
|
|
alias: "/:lang/",
|
|
component: Index
|
|
},
|
|
{
|
|
path: '/user',
|
|
alias: "/:lang/user",
|
|
component: User
|
|
},
|
|
{
|
|
path: '/user/oauth2/callback',
|
|
alias: "/:lang/user/oauth2/callback",
|
|
component: UserOauth2Callback
|
|
},
|
|
{
|
|
path: '/admin',
|
|
alias: "/:lang/admin",
|
|
component: () => import('../views/Admin.vue')
|
|
},
|
|
{
|
|
path: '/telegram_mail',
|
|
alias: "/:lang/telegram_mail",
|
|
component: () => import('../views/telegram/Mail.vue')
|
|
},
|
|
{
|
|
name: 'not-found',
|
|
path: '/:pathMatch(.*)*',
|
|
redirect: '/'
|
|
}
|
|
]
|
|
});
|
|
|
|
|
|
router.beforeEach((to, from, next) => {
|
|
if (to.params.lang && ['en', 'zh'].includes(to.params.lang)) {
|
|
i18n.global.locale.value = to.params.lang
|
|
} else {
|
|
i18n.global.locale.value = 'zh'
|
|
}
|
|
// check if query parameter has jwt, set it to store
|
|
if (to.query.jwt) {
|
|
jwt.value = to.query.jwt;
|
|
}
|
|
next()
|
|
});
|
|
|
|
export default router
|