import { createRouter, createWebHashHistory } from 'vue-router'
import staticRoutes from '@/router/static'
import { useAdminInfo } from '@/stores/adminInfo'
import NProgress from 'nprogress'
import { loading } from '@/utils/loading'
import { ElMessage } from 'element-plus'

const router = createRouter({
    history: createWebHashHistory(),
    routes: staticRoutes
})

router.beforeEach((to, from, next) => {
    NProgress.configure({ showSpinner: false })
    NProgress.start()
    if (!window.existLoading) {
        loading.show()
        window.existLoading = true
    }
    if (to.path == '/login' || to.path == '/404') {
        // 登录或者注册才可以往下进行
        next()
    } else if (to.path == '/admin/center/homePage') {
        window.open(window.location.origin + '/homePage/#/')
    } else {
        // 获取 token
        const adminInfo = useAdminInfo()
        const token = adminInfo.getToken()
        // token 不存在
        if (token === null || token === '') {
            // ElMessage.error('您还没有登录，请先登录')
            next('/login')
        } else {
            next()
        }
    }

    // next()
})

// 路由加载后
router.afterEach(() => {
    if (window.existLoading) {
        loading.hide()
    }
    NProgress.done()
})

export default router
