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
|