Files
FastapiAdmin/frontend/src/views/dashboard/README.md
T

4.8 KiB
Raw Blame History

快速开始组件功能说明

概述

快速开始组件提供了一个便捷的导航面板,用户可以快速访问常用的页面和外部链接。支持从标签栏右键收藏页面到快速开始列表。

功能特性

1. 快速链接管理

  • ✅ 显示预设的常用链接
  • ✅ 支持内部路由跳转和外部链接访问
  • ✅ 固定高度容器,内容可滚动
  • ✅ 响应式设计,适配不同屏幕尺寸

2. 标签栏右键收藏

  • ✅ 在任意标签页右击可收藏到快速开始
  • ✅ 支持切换收藏状态(收藏/取消收藏)
  • ✅ 自动获取路由配置的图标
  • ✅ 智能图标匹配和颜色配置
  • ✅ 实时状态显示和图标切换

3. 手动添加链接

  • ✅ 通过对话框手动添加自定义链接
  • ✅ 支持选择图标和自定义颜色
  • ✅ 表单验证确保数据正确性
  • ✅ 支持内部链接和外部链接

4. 右键管理链接

  • ✅ 在快速链接上右击可编辑或删除
  • ✅ 编辑功能支持修改所有属性
  • ✅ 删除功能带有确认对话框
  • ✅ 防止误操作的安全提示

4. 数据持久化

  • ✅ 使用 localStorage 保存用户配置
  • ✅ 页面刷新后数据不丢失
  • ✅ 支持导入/导出配置(后续可扩展)

使用方法

从标签栏收藏页面

收藏页面

  1. 在任意页面的标签上右击
  2. 选择"收藏到快速开始"
  3. 系统会自动获取路由图标和颜色
  4. 前往工作台查看新添加的链接

取消收藏

  1. 在已收藏页面的标签上右击
  2. 选择"取消收藏"(图标会显示为实心星星)
  3. 链接立即从快速开始列表中移除

自动图标获取

  • 优先级1:使用路由 meta.icon 配置
  • 优先级2:根据路径智能匹配预设图标
  • 优先级3:使用默认链接图标

手动添加链接

  1. 在快速开始组件中点击"添加"按钮
  2. 填写链接信息:
    • 标题:链接显示名称
    • 描述:链接说明文字
    • 链接地址:内部路径或外部URL
    • 链接类型:内部链接或外部链接
    • 图标:从预设图标中选择
    • 颜色:自定义图标颜色
  3. 点击确定保存

管理快速链接

右键菜单操作

  1. 编辑链接:

    • 在快速开始组件中右击任意链接
    • 选择"编辑链接"
    • 对话框会自动填充现有的链接信息
    • 修改需要更改的字段
    • 点击"确定"保存修改
  2. 删除链接:

    • 在快速开始组件中右击任意链接
    • 选择"删除链接"
    • 在确认对话框中点击"确定"

使用快速链接

  • 内部链接:点击后在当前窗口跳转
  • 外部链接:点击后在新标签页打开,带有"外链"标识

技术实现

组件结构

dashboard/components/
├── QuickStart.vue           # 主要的快速开始组件
├── AddQuickLinkDialog.vue   # 添加快速链接对话框
├── index.ts                 # 组件导出文件
└── README.md               # 功能说明文档

核心文件

  • QuickStart.vue: 主组件,负责显示快速链接列表
  • AddQuickLinkDialog.vue: 添加/编辑对话框
  • utils/quickStartManager.ts: 全局数据管理器
  • layouts/components/TagsView/index.vue: 标签栏组件(已修改)

数据管理

使用 quickStartManager 全局管理器:

import { quickStartManager } from '@/utils/quickStartManager';

// 获取所有链接
const links = quickStartManager.getQuickLinks();

// 添加链接
quickStartManager.addQuickLink(newLink);

// 检查链接是否存在
const exists = quickStartManager.isLinkExists(href);

// 监听数据变化
quickStartManager.addListener(callback);

图标配置

支持的图标类型:

  • User, Setting, Document, DataAnalysis
  • Monitor, Tools, Bell, Message, Search
  • House, Files, Calendar, ChatDotRound
  • Connection, DataBoard, Histogram, PieChart
  • TrendCharts, Operation, Service, Guide, Link

路径映射

系统会根据路径自动推断合适的图标:

const iconMap = {
  '/dashboard': { icon: 'House', color: '#409EFF' },
  '/system': { icon: 'Setting', color: '#67C23A' },
  '/user': { icon: 'User', color: '#409EFF' },
  // ... 更多映射
};

自定义配置

可以通过修改 quickStartManager.ts 中的默认配置来自定义预设链接:

private getDefaultLinks(): QuickLink[] {
  return [
    // 自定义默认链接
  ];
}

注意事项

  1. 存储限制: localStorage 有大小限制,建议控制链接数量
  2. 图标依赖: 确保使用的图标已在 Element Plus 中导入
  3. 路由匹配: 内部链接需要确保路由存在
  4. 安全性: 外部链接会在新窗口打开,已添加安全参数

测试页面

访问 /demo/quick-start-test 可以测试收藏功能的完整流程。