qvt-cli
Version:
提供多端响应式设计的模板框架
39 lines (36 loc) • 1.01 kB
text/typescript
import { route } from 'quasar/wrappers';
import {
createMemoryHistory,
createRouter,
createWebHashHistory,
createWebHistory,
} from 'vue-router';
import routes from './routes';
import { setApiBaseUrl } from 'src/boot/axios';
import { usePublicStore } from 'src/stores';
import { Loading } from 'quasar';
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,
history: createHistory(process.env.VUE_ROUTER_BASE),
});
Router.beforeEach((to, from, next) => {
Loading.show();
const publicStore = usePublicStore();
const storage = publicStore.getPublic();
if (storage) {
setApiBaseUrl(storage.host);
}
next();
});
Router.afterEach((to, from) => {
Loading.hide();
});
return Router;
});