Skip to content

业务模块地图

本章用于回答三个问题:现有页面在哪里、当前数据来自哪里、如果保留到生产环境需要建设什么后端。它适合在项目立项、需求裁剪和接口排期时使用。

仪表盘

页面范围

text
src/views/dashboard/
├── console
├── analysis
├── analytics
├── crm
├── ecommerce
├── hrm
├── jobs
├── sales
├── social-media
└── crypto

路由入口:src/router/modules/dashboard.ts

生产接入

仪表盘通常不是单表 CRUD,应由后端提供聚合接口。建议按页面首屏需要组织指标,避免前端为了一个看板串行请求大量明细接口。

重点考虑:

  • 统计口径与时区。
  • 趋势周期和同比、环比规则。
  • 数据权限与组织范围。
  • 缓存和大查询性能。
  • 图表空数据与部分失败。

数据大屏

页面位于 src/views/data-screen,路由入口为 src/router/modules/data-screen.ts,包含经营、生产、SaaS 和销售等大屏示例。

大屏前端已经提供布局和图表表现,生产环境需要:

  • 聚合指标 API。
  • 地图或地理数据授权。
  • 轮询、WebSocket 或离线刷新策略。
  • 大屏分辨率和缩放策略。
  • 长时间运行的内存与断线恢复验证。

系统管理

页面与数据

页面视图目录主要预置数据
用户views/system/usermock/system/organization.ts
角色views/system/rolemock/system/organization.ts
部门views/system/departmentmock/system/organization.ts
岗位views/system/postmock/system/organization.ts
菜单views/system/menumock/system/menu-manage.ts
字典views/system/dictmock/system/dicts.ts
系统参数views/system/system-parammock/system/system-params.ts
站点设置views/system/site-settingmock/system/site-setting*.ts

路由入口:src/router/modules/system.ts

推荐阅读顺序

  1. 用户管理:学习标准搜索、表格、分页、弹窗和按钮权限。
  2. 角色管理:理解角色与菜单、按钮权限的关系。
  3. 菜单管理:理解动态路由字段和组件路径。
  4. 部门与岗位:理解树形组织数据。

生产后端重点

  • 用户唯一性、密码策略和账号状态。
  • 角色、按钮权限和数据范围。
  • 部门树移动、循环引用和删除约束。
  • 菜单路由契约与发布一致性。
  • 字典和参数的缓存失效。
  • 所有管理操作的审计。

日志、监控与审计

页面包括:

  • 登录日志、操作日志。
  • 在线用户。
  • 服务与缓存监控。
  • 安全审计。
  • 访客分析。

相关预置数据主要位于 src/mock/system/logs.tssrc/mock/monitor,路由分布在 system.tsmonitor.ts

生产环境不能由浏览器自行生成可信审计记录。后端或基础设施需要完成:

  • 服务端日志采集。
  • 不可由普通用户篡改的审计存储。
  • 在线会话识别和强制下线。
  • 指标采集、告警与留存周期。
  • 敏感字段脱敏与访问控制。

内容管理

text
src/views/content/
├── category
├── tag
├── list
├── detail
└── recycle

数据入口:src/mock/content,路由入口:src/router/modules/content.ts

后端通常需要实现分类和标签约束、草稿与发布状态、富文本净化、附件关系、软删除与回收站、审核流程和版本记录。

前端渲染富文本时继续使用 ArtSafeHtml,不能因为内容来自自有后端就直接使用 v-html

通知中心

页面位于 src/views/system/notification 及相关通知组件,预置数据位于 src/mock/notification,路由入口为 src/router/modules/notification.ts

当前前端可以展示收件箱、通知列表和已读交互,但生产环境需要后端提供:

  • 消息持久化。
  • 用户与组织投递范围。
  • 已读状态跨设备同步。
  • WebSocket、SSE 或轮询。
  • 重试、失效和通知模板。

工作流

text
src/views/workflow/
├── category
├── definition
├── instance
├── task
├── modules
└── shared

预置数据:src/mock/workflow,路由入口:src/router/modules/workflow.ts

工作流前端提供定义、列表、任务和设计器等交互。生产运行必须接入流程引擎,至少包括:

  • 流程定义版本与发布。
  • 实例状态机。
  • 用户任务与候选人。
  • 条件、网关和并行分支。
  • 事务、补偿、超时和审计。
  • 表单快照与历史数据。

不要尝试在浏览器中长期执行流程或只保存画布 JSON 后宣称流程已经运行。

任务调度

页面位于 src/views/scheduler,预置数据位于 src/mock/scheduler,路由入口为 src/router/modules/scheduler.ts

前端可以管理任务配置和执行日志,后端需要调度器、执行器、并发控制、失败重试、超时、幂等、日志和告警。

任务表达式必须在服务端再次校验,浏览器校验只能提供输入提示。

文件与资源

文件和资源选择能力分布在 src/views/widgets/resource-select、文件相关组件和 src/mock/files

生产能力需要:

  • 上传接口或对象存储短期凭证。
  • 文件元数据与业务关系。
  • 下载与预览鉴权。
  • 文件类型、大小和病毒扫描。
  • 删除、回收和生命周期策略。

浏览器生成的临时 URL 只适合当前会话预览,刷新后不保证继续存在。

组件与模板

src/views/widgetssrc/views/template 提供图表、编辑器、Excel、视频、二维码、拖拽、日历、聊天、卡片等示例。

它们适合:

  • 复制局部交互到真实业务页面。
  • 验证第三方依赖是否满足需求。
  • 作为视觉与编码参考。

不需要的示例应在客户项目中删除,并同步清理路由、语言包和重型依赖,避免增加构建体积和维护面。

AI 助手

当前 AI 相关页面或交互只适合演示。真实模型调用必须经过服务端代理,原因包括:

  • API Key 不能放在浏览器。
  • 需要配额、限流和成本控制。
  • 需要内容安全、日志和隐私策略。
  • 需要流式连接的断线与重试管理。

制定迁移计划

建议建立一张项目清单:

模块保留/删除数据来源后端负责人权限模型验收时间
用户管理保留真实 API身份团队RBAC + 数据范围第 1 期
工作流深度改造流程引擎流程团队任务候选人第 2 期
组件示例删除前端初始化

先确定模块边界,再进入扩展开发指南实施页面和接口。

根据 MIT 许可证发布