Skip to main content

fa-route-generator

管理 Vue Router 路由配置,用于 Fantastic-admin 框架。当用户提到以下任何需求时必须使用此技能:新建页面需要加路由、详情页不想显示在菜单里、新增页和编辑页老是开两个标签、从列表跳详情返回后状态丢失、给菜单项加 NEW 标签或红点、路由需要权限控制、配置页面保活、修改路由 meta、添加面包屑配置。即使用户只是说"加个路由"或"新建了一个页面",也应触发此技能。

설치로 이동

소스 정보

저장소
fantastic-admin/basic
최근 소스 활동
2026년 4월 16일 12:46
감지된 SKILL.md 언어
중국어
스타
3,395
포크
396

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
3 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
fa-route-generator
description
管理 Vue Router 路由配置,用于 Fantastic-admin 框架。当用户提到以下任何需求时必须使用此技能:新建页面需要加路由、详情页不想显示在菜单里、新增页和编辑页老是开两个标签、从列表跳详情返回后状态丢失、给菜单项加 NEW 标签或红点、路由需要权限控制、配置页面保活、修改路由 meta、添加面包屑配置。即使用户只是说"加个路由"或"新建了一个页面",也应触发此技能。
# 路由生成器 框架通过路由自动生成导航菜单,路由配置需要遵循特定约定。 ## 第一步:确认工作区(必须阻塞等待用户回复) 本项目是 monorepo 架构,`apps/` 目录下存放各应用。**在执行任何文件读写操作之前**,必须先确认目标应用: 1. 执行 `ls apps/` 列出所有可用应用 2. **立即向用户提问**,明确询问要在哪个应用中操作路由,并**停止等待回复** 3. 收到用户明确回复后,才能继续后续步骤 > **严格规则**:如果用户没有在请求中明确说明目标应用(例如"在 example 应用中"、"apps/core"),则必须提问,不得自行猜测或默认选择任何应用。 确认后,后续所有文件路径均以该应用目录为根,例如 `apps/<app>/src/router/`。 ## 前置检查 读取 `apps/<app>/src/settings.ts`,检查 `app.routeBaseOn` 的值: - `'frontend'`(默认):可以继续 - `'backend'`:路由由后端驱动,手动创建的路由文件会被忽略,告知用户此模式不支持前端路由文件生成 ## 工作流程 ### 场景 A: 创建新路由 #### 1. 收集路由信息 向用户询问或确认:路由路径、页面标题、图标(可选)、是否多级路由、所属主导航分组。 #### 2. 创建路由文件 在 `apps/<app>/src/router/modules/` 下创建 `<模块名>.ts`: ```typescript import type { RouteRecordRaw } from 'vue-router' function Layout() { return import('@/layouts/index.vue') } const routes: RouteRecordRaw = { path: '/example', component: Layout, name: 'example', meta: { title: '示例', icon: 'i-ep:menu', }, children: [ { path: '', name: 'exampleIndex', component: () => import('@/views/example/index.vue'), meta: { title: '示例页面', }, }, ], } export default routes ``` #### 3. 更新 routes.ts 在 `apps/<app>/src/router/routes.ts` 中添加 import 并注册到对应主导航分组的 `children` 数组。 ### 场景 B: 修改现有路由 定位路由文件(在 `apps/<app>/src/router/modules/` 下搜索),读取后按需修改 meta 属性。常见修改: **权限控制**: ```typescript meta: { auth: 'user:view' } // 或数组 ['user:view', 'user:edit'] ``` **页面保活**(从详情返回列表时保留列表状态): ```typescript // 列表页 meta: { keepAlive: ['productDetail'] } // 详情页 meta: { menu: false, activeMenu: '/product', noKeepAlive: 'productList' } ``` **隐藏菜单项**: ```typescript meta: { menu: false, activeMenu: '/parent/path' } ``` ## 框架约定 - 一级路由 `path` 必须以 `/` 开头,`component` 必须是 `Layout` - 子路由 `path` 不要以 `/` 开头 - 多级路由的中间层级无需设置 `component` - 所有路由的 `name` 必须全局唯一 ## Meta 属性配置 详细属性说明见 [references/route-meta.md](references/route-meta.md),更多示例见 [references/examples.md](references/examples.md)。 常用属性:`title`(必需)、`icon`、`menu`、`auth`、`keepAlive`、`activeMenu`、`breadcrumb`
GitHub에서 보기