1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import type {App} from 'vue';
- import type { RouteRecordRaw } from 'vue-router'
- import { createRouter, createWebHistory } from 'vue-router'
- import { showDialog, closeDialog } from 'vant'
- import routes from './routes'
- import { getUserInfoPromise } from './getUserInfo'
- const router = createRouter({
- history: createWebHistory('/html_h5'),
- strict: true,
- routes: routes as RouteRecordRaw[],
- scrollBehavior: () => ({ left: 0, top: 0 })
- })
- // 路由加载前
- router.beforeEach((to, from, next) => {
- next();
- return
- getUserInfoPromise(true).then((isLogin) => {
- next();
- if (!isLogin) {
- showDialog({
- message: '很抱歉,用户未登录,请先重新加载!',
- confirmButtonText: '重新加载',
- beforeClose: function(action) {
- if (action === 'confirm') {
- closeDialog()
- localStorage.clear();
- getUserInfoPromise(false).then((isLoginHttp) => {
- if (isLoginHttp) {
- window.location.reload()
- }
- })
- }
- },
- })
- }
- })
- })
- const setupRouter = (app: App<Element>): void => {
- app.use(router)
- }
- export default setupRouter;
|