Как я могу перенаправить пользователя на имя: check-data, когда кто-то попадает на мой сайт с этого URL: mywebsite / xVcbaMca, я хочу работать с beforeEach и проверять, выполняется ли условие, если условие истинно, то я хочу использовать следующий метод для перенаправления пользователя к некоторой локали на маршруте проверки данных. Я хочу перенаправить пользователя из условия проверки внутри beforeEach для следующего, но условие не работает .. Не могли бы вы помочь мне в этом. Я не хочу использовать здесь вложенные маршруты. Это мои маршруты. js файл
// Route components
import VueRouter from 'vue-router'
import {i18n} from "./app";
const routes = [
{
path: "/:lang",
component: require('./components/solution-selector/Main.vue').default,
}
,
{
name: 'starting-point',
path: '/:lang/starting-point',
component: require('./components/solution-selector/StartingPoint').default,
meta: {transition: 'overlay-down-full', title: 'Solution Selector'},
},
{
name: 'products',
path: '/:lang/products',
component: require('./components/solution-selector/Product.vue').default,
meta: {title: 'Solution Selector'},
},
{
name: 'review',
path: '/:lang/review',
component: require('./components/solution-selector/Review.vue').default,
meta: {title: 'Solution Selector'},
},
{
name: 'final-question',
path: '/:lang/final-question',
component: require('./components/solution-selector/FinalQuestion.vue').default,
meta: {title: 'Solution Selector'},
},
{
name: 'contact-information',
path: '/:lang/contact-information',
component: require('./components/solution-selector/ContactInformation.vue').default,
meta: {title: 'Solution Selector'},
},
{
name: 'checking-data',
path: '/:lang/checking-data',
component: require('./components/solution-selector/Base.vue').default,
meta: {title: 'Solution Selector'},
},
{
name: 'thank-you',
path: '/:lang/thank-you',
component: require('./components/solution-selector/ThankYou.vue').default,
meta: {title: 'Solution Selector'},
}
,
{
path: "/",
redirect: "/en"
}
];
// Create the router instance
const router = new VueRouter({
mode: 'history',
base: process.env.BASE_URL,
routes, // short for `routes: routes`
app,
});
const admin = 1;
const title = document.title;
function checkRoute(param) {
if (param != undefined) {
let string = param;
string = string.replace(/[\s\/]/g, '');
let pattern = new RegExp("^(?=.*[0-9]$)(?=.*[a-zA-Z])");
let result = pattern.test(string);
return result;
}
}
//
// function apiCall(param){
// let step = '1112';
// let string = param;
// string = string.replace(/[\s\/]/g, '');
// let url = '/api/selectedItemUrl/'+string;
// axios.get(url).then(response => {
// response = response.data;
// step = response.data.last_step;
// console.log(step);
// }).catch(error => {
// console.log(error)
// });
// return step;
// }
routes.map(function (route) {
route.path = '/:lang' + route.path
})
router.beforeEach((to, from, next) => {
const lang = to.params.lang;
if (!["en", "ar"].includes(lang)) return next("en");
if (i18n.locale !== lang) {
i18n.locale = lang;
}
var str = window.location.href;
str = str.split("/");
let check = checkRoute(str[3]);
document.title = (title + ' | ' + to.meta.title)
if (check) {
console.log(to);
router.app.$store.commit('setBookmarkUrl', str[3]);
next({name: "checking-data", params: {lang: "en"}, replace: true});
}
next();
});
export default router