| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import { route } from "quasar/wrappers";
- import {
- createRouter,
- createMemoryHistory,
- createWebHistory,
- createWebHashHistory,
- } from "vue-router";
- import routes from "./routes";
- import { Cookies } from "quasar";
- /*
- * If not building with SSR mode, you can
- * directly export the Router instantiation;
- *
- * The function below can be async too; either use
- * async/await or return a Promise which resolves
- * with the Router instance.
- */
- export default route(function (/* { store, ssrContext } */) {
- const createHistory = process.env.SERVER
- ? createMemoryHistory
- : process.env.VUE_ROUTER_MODE === "history"
- ? createWebHistory
- : createWebHashHistory;
- const Router = createRouter({
- scrollBehavior: () => ({ left: 0, top: 0 }),
- routes,
- // Leave this as is and make changes in quasar.conf.js instead!
- // quasar.conf.js -> build -> vueRouterMode
- // quasar.conf.js -> build -> publicPath
- history: createHistory(process.env.VUE_ROUTER_BASE),
- });
- Router.beforeEach(async (to, from, next) => {
- const access_token = Cookies.get("access_token");
- if (to.meta.requireAuth && !access_token) {
- return next({ name: "Login" });
- }
- return next();
- });
- return Router;
- });
|