import router from '@/router';
import NProgress from 'nprogress';
import { useUserStore } from '@/stores/modules/user';
NProgress.configure({ showSpinner: false });
const WHITE_LIST = ['/login', '/404'];
router.beforeEach(async (to, _from) => {
    NProgress.start();
    document.title = to.meta.title || '零食商城';
    const userStore = useUserStore();
    // 白名单放行
    if (WHITE_LIST.includes(to.path)) {
        if (to.path === '/login' && userStore.isLoggedIn) {
            return '/';
        }
        return;
    }
    // 不需要登录的公开页面（首页、分类、商品详情、搜索、公告、抢购）
    const publicPaths = ['/', '/search', '/seckill', '/notice', '/products'];
    const isPublic = publicPaths.includes(to.path) ||
        to.path.startsWith('/category') ||
        to.path.startsWith('/product') ||
        to.path.startsWith('/notice');
    if (isPublic) {
        return;
    }
    // 需要登录的页面（购物车、个人中心、客服）
    if (!userStore.isLoggedIn) {
        NProgress.done();
        return `/login?redirect=${encodeURIComponent(to.fullPath)}`;
    }
});
router.afterEach(() => {
    NProgress.done();
});
//# sourceMappingURL=permission.js.map