Files
xk-admin/apps/web-antd/src/router/index.ts
李琦 50fc55925f feat: 地区选择器改走接口、订单市价重算与资金流水、同步日志内容复用
region-address-picker 接 region-picker API;订单支持按进价重算 market_price、追踪页资金流水;MES/ERP/中台同步日志共用内容查看组件;地区管理支持 pid 下钻与拼音检索。
2026-10-15 10:01:20 +08:00

45 lines
1.4 KiB
TypeScript

import {
createRouter,
createWebHashHistory,
createWebHistory,
} from 'vue-router';
import { resetStaticRoutes } from '@vben/utils';
import { setupChunkLoadRecovery } from '#/utils/chunk-load-recovery';
import { createRouterGuard } from './guard';
import { routes } from './routes';
/**
* @zh_CN 创建vue-router实例
*/
const router = createRouter({
// 根据环境变量配置选择合适的路由历史模式
history: import.meta.env.VITE_ROUTER_HISTORY === 'hash'
? createWebHashHistory(import.meta.env.VITE_BASE)
: createWebHistory(import.meta.env.VITE_BASE),
// 应该添加到路由的初始路由列表。
routes,
// 自定义滚动行为以提升用户体验
scrollBehavior: (to, _from, savedPosition) => {
// 如果有保存的位置,则恢复到该位置
if (savedPosition) {
return savedPosition;
}
// 如果路由带有哈希,则平滑滚动到该哈希对应的元素;否则滚动到页面顶部
return to.hash ? { behavior: 'smooth', el: to.hash } : { left: 0, top: 0 };
},
// 是否应该禁止尾部斜杠。
// strict: true,
});
const resetRoutes = () => resetStaticRoutes(router, routes);
// 创建路由守卫
createRouterGuard(router);
// 菜单懒加载 chunk 在发版后失效时自动硬刷新(与 main 里的全局监听互补)
setupChunkLoadRecovery(router);
export { resetRoutes, router };