主要变更: 1. 重构API目录结构,采用模块化设计,适配5.x后端接口规范 2. 优化布局组件,提升用户界面体验 3. 增强国际化支持,完善多语言配置 4. 新增权限控制功能,支持前端路由权限管理 5. 优化认证流程,支持JWT认证机制 6. 新增中间件和插件,提升系统扩展性 7. 优化状态管理,采用更清晰的模块化设计 8. 新增搜索框、广告等组件,丰富页面功能 9. 更改包管理工具从npm到pnpm,提升依赖管理效率 10. 完善配置系统,支持多环境配置 适配5.x后端特性: - 采用新的API接口规范 - 支持JWT认证机制 - 适配后端权限控制体系 - 支持后端国际化接口 - 优化数据交互方式
43 lines
1.2 KiB
TypeScript
43 lines
1.2 KiB
TypeScript
import type { RouterConfig } from '@nuxt/schema'
|
|
import routes from '~/pages/routes'
|
|
|
|
// 定义 pluginRoutes 的类型
|
|
interface PluginRouteModule {
|
|
default: any[]
|
|
}
|
|
|
|
type PluginRoutes = Record<string, PluginRouteModule>
|
|
|
|
// import.meta.glob 自动加载模块路由
|
|
const pluginRoutes: PluginRoutes = import.meta.glob('~/apps/**/pages/routes.ts', {
|
|
eager: true
|
|
})
|
|
|
|
// 创建可修改的路由数组副本
|
|
const finalRoutes = [...routes]
|
|
|
|
// 安全地处理 pluginRoutes
|
|
if (pluginRoutes && Object.keys(pluginRoutes).length > 0) {
|
|
for (const key in pluginRoutes) {
|
|
const addonModule = pluginRoutes[key]
|
|
|
|
// 安全检查:确保模块存在且有 default 属性
|
|
if (addonModule?.default && Array.isArray(addonModule.default)) {
|
|
const addon = key.split('/')[2]
|
|
|
|
// 先加载插件路由后加载app路由
|
|
const processedRoutes = addonModule.default.map((item: any) => {
|
|
item.meta = item.meta ? Object.assign(item.meta, { addon }) : { addon }
|
|
return item
|
|
})
|
|
|
|
finalRoutes.unshift(...processedRoutes)
|
|
}
|
|
}
|
|
}
|
|
|
|
// https://router.vuejs.org/api/interfaces/routeroptions.html
|
|
export default <RouterConfig>{
|
|
routes: (_routes) => finalRoutes,
|
|
strict: false
|
|
} |