import {createRouter, createWebHistory} from "vue-router"; import Main from "@pages/Main/index.vue" import Auth from "@pages/Auth/index.vue" import Communication from "@pages/Communication/index.vue" import LastPacksNum from "@pages/LastPacksNum/index.vue" import Fuel from "@pages/Fuel/index.vue" import Cron from "@pages/Cron/index.vue" import ICCID from "@pages/ICCID/index.vue" import Devices from "@pages/Devices/index.vue" import FreePacks from "@pages/FreePacks/index.vue" import Packs from "@pages/Packs/index.vue" import FileViewer from "@pages/FileViewer/index.vue" import NotFound from "@pages/404/index.vue" import Diap from "@admin_pages/Diap/index.vue" import News from "@admin_pages/News/index.vue" import Machines from "@pages/Main/Machines/Machines.vue" import FinderPacks from "@pages/Main/FinderPacks/FinderPacks.vue" import AddUsers from "@pages/Main/AddUsers/AddUsers.vue" import Services from "@admin_pages/Services/Services.vue" import ServiceManage from "@admin_pages/ServiceManage/index.vue" import {get} from "@store/modules/apiHelpers" import {cond, T} from 'ramda' const routes = [ { path: "/", name: "main", component: Main, children: [ { path: "/", name: "machines", component: Machines }, { path: "finder_packs", name: "finder_packs", component: FinderPacks }, { path: "add_users", name: "add_users", component: AddUsers }, ] }, { path: "/html/last_packs", name: "last_packs", component: import("@pages/LastPacks/index.vue") }, { path: "/html/controll_com_service", name: "communication", component: import("@pages/Communication/index.vue") }, { path: "/html/last_packs_by_pack", name: "last_packs_by_pack", component: LastPacksNum }, { path: "/html/live_fuel", name: "fuel", component: Fuel }, { path: "/html/cron", name: "cron", component: Cron }, { path: "/html/fetch_iccid", name: "iccid", component: ICCID }, { path: "/html/fetch_askr_devices", name: "devices", component: Devices }, { path: "/html/packs/:pack", name: "packs", component: Packs }, { path: "/html/free_packs", name: "free_packs", component: FreePacks }, { path: "/html/file_viewer/:mode", name: "file_viewer", component: FileViewer }, { path: "/admin_panel/diap", name: "diap", component: Diap }, { path: "/admin_panel/services", name: "services", component: Services }, { path: "/users/log_out", name: "auth", component: Auth }, { path: '/:pathMatch(.*)*', name: '404', component: NotFound }, ]; const routerHistory = createWebHistory(); const router = createRouter({ history: routerHistory, routes }); const logout = (from, next) => { localStorage.removeItem("token") sessionStorage.setItem("pathname", from.fullPath) next() } const auth_check = async () => { return await get("/api/auth/loginStatus", ({data}) => { return data }) } // router.beforeEach(async (to, from, next) => { // const status = await auth_check() // return cond([ // [() => to.name === "auth" && from.name === "auth", () => next()], // [() => to.name === "auth", () => logout(from, () => next())], // [() => !status, () => logout(from, () => next({name: "auth"}))], // [T, () => next()], // ])() // }) export {routes}; export default router;