Skip to content
uAdmin

找到代码应该放在哪里 ​

本页帮助你从页面现象定位到负责它的文件。先判断改动属于业务应用、共享能力还是站点内容,再选择目录。

工作区地图 ​

text
apps/
  demo/
    src/api/          业务请求与 DTO
    src/hooks/        列表、筛选、加载和变更流程
    src/views/        页面与页面私有组件
    src/locales/      中英文业务文案
    src/modules.ts    业务模块、路由与权限声明
    src/routes.ts     常驻页和公开页
    mock/             开发与浏览器共用的处理器
    public/           原样复制的静态资源
  website/            官网、指南与组件文档
packages/
  protocol/           前后端契约
  core/               HTTP、i18n、指令和工具
  ui/                 基础与数据组件、主题
  layout/             后台布局
  app/                应用装配、store、路由守卫
  modules/            可选系统管理模块
  extras/             按需展示能力
  create-uadmin/      模板脚手架

根目录的 e2e/ 验证页面流程,scripts/ 放构建和包消费检查,公开能力见功能概览。官网文档独立存放在 apps/website/,不包含私人维护文档。

沿一条数据链路阅读 ​

以任务页为例:

文件你应该在这里找到什么
apps/demo/src/api/task.ts查询参数、返回数据、变更请求
apps/demo/mock/tasks.mock.ts种子数据、验证、筛选和写入
apps/demo/src/hooks/useTaskList.ts复用列表状态,写入后刷新
apps/demo/src/views/tasks/index.vue表格、表单、按钮和交互反馈
apps/demo/src/modules.ts页面路径、模块名、访问权限

修改返回字段时,应从 API 类型开始同步更新 Mock 和页面;修改排序或分页时,先看 useRemoteList 是否已有能力。

共享能力的边界 ​

业务页面只用一次的组件留在对应 views 目录。多个模块都要用的通用组件,先检查 @uadmin/ui。只有职责稳定、脱离演示数据仍成立的能力才进入共享包。

登录状态从 useSessionStore 读取,主题从 usePrefsStore 读取,导航从 useNavStore 读取。不要在 apps/demo/src/hooks 复制这些内核状态。

新增文件后要同步什么 ​

新增页面需登记到 apps/demo/src/views/page-nav/entries.ts 的对应业务分组;不同预览状态分别提供入口。新增词条同步中英文 JSON。新增能力在同一提交更新相关包文档与公开功能概览。

资源先查已有文件:应用打包资源可放 src/assets,需固定 URL 的静态文件放 public;部署子路径时参照部署指南,避免写死根地址。

定位问题 ​

页面可打开但无数据,先查 API 和 Mock;页面完全匹配不到,查模块注册与导航快照;菜单不翻译,查双层 i18n 注册;所有页面样式一起变化,查共享主题而非逐页补丁。

Vue 3 · TypeScript · Element Plus