import { createRouter, createWebHistory } from "vue-router";

const moduleFiles: any = import.meta.glob("./modules/*.ts", { eager: true });

// 通过 reduce 去搜集所有的模块的导出内容
export const configRoutes = Object.keys(moduleFiles).reduce(
  (routes: any, filepath: string) => {
    const value = moduleFiles[filepath].default;

    // 我们判断导出的是不是数组，是则进行拓展解构
    if (Array.isArray(value)) {
      routes.push(...value);
    } else {
      // 否则直接加到routes中
      routes.push(value);
    }
    return routes;
  },
  []
);

/**
 * 创建路由
 */
const router = createRouter({
  history: createWebHistory(),
  routes: configRoutes,
  // 刷新时，滚动条位置还原
  scrollBehavior: () => ({ left: 0, top: 0 }),
});

/**
 * 重置路由
 */
export function resetRouter() {
  router.replace({ path: "/login" });
}

export default router;
