切换主题
Nuxt UI 起点与真实宿主
适用于 templates/admin-nuxtui-starter 和 apps/yoyo-admin/admin-nuxtui;旧 admin-vue 的 Kit/Schema 另见既有参考。第一次运行从快速开始进入。
Starter 与真实应用
Starter 提供 Vue / Nuxt UI 布局与演示数据,上游来源和许可证见其 UPSTREAM.md 与 LICENSE。当前模板引用仓库本地 @yoyoboot/ui-patterns;先准备该依赖再安装。复制到仓库外时必须替换为匹配制品,不能保留失效的 file: 路径。
真实宿主使用 Nuxt UI 和 @yoyoboot/ui-patterns,无 UI 的会话、认证、权限与 ABP 合同来自 @yoyoboot/yoyo-admin-core。它不导入旧 Kit 的 CSS 或旧页面 store。模板的认证、通知和保存演示不能替代真实后端行为。
准备当前公共包
从仓库根核对宿主 package.json、pnpm-lock.yaml 和统一版本:
powershell
$hostManifest = Get-Content apps/yoyo-admin/admin-nuxtui/package.json -Raw | ConvertFrom-Json
$hostManifest.dependencies.'@yoyoboot/yoyo-admin-core'
$hostManifest.dependencies.'@yoyoboot/ui-patterns'
pwsh -File build/Get-ReleaseVersion.ps1当前 Host 声明仓库内 file: 依赖,不再要求准备旧 runtime-localization tarball。全新 checkout 从各包的 manifest / lockfile 安装并构建,再安装宿主:
powershell
pnpm --dir packages/yoyo-admin install --frozen-lockfile
pnpm --dir packages/yoyo-admin/admin-core build
pnpm --dir packages/ui-patterns install --frozen-lockfile
pnpm --dir packages/ui-patterns build
pnpm --dir apps/yoyo-admin/admin-nuxtui install --frozen-lockfile这只是仓库源码准备。独立采用须提供匹配版本的制品并替换 file: 路径,沿升级与兼容核对交付限制;不能把源码 manifest 的 private/sentinel 版本当作 registry 发布号。锁文件不匹配时检查来源,不关闭校验。运行方式见快速开始。
原 runtime 候选准备步骤已经退出,不再照旧候选目录或校验值准备新 Host。
接线职责
| 位置 | 职责 |
|---|---|
src/bootstrap/app.ts | 创建应用、会话、路由与依赖注入 |
@yoyoboot/yoyo-admin-core | 会话、刷新协调、权限与 ABP 平台合同 |
src/shared/abp、src/bootstrap/session.ts | 组合平台会话、ABP transport、错误与菜单接线 |
apps/yoyo-admin/api-client | 唯一生成客户端;新宿主通过 @api 消费 |
src/app | 按业务分组的查询、编辑草稿、提交与呈现 |
src/appLayout、src/router、src/navigation | 外壳、页面注册与菜单投影 |
@yoyoboot/ui-patterns/modal | 应用内接线的共享 Modal 容器与 helper |
客户端位于产品级 apps/yoyo-admin/api-client,不再属于旧应用目录。修改接口沿后端合同与生成客户端处理。
宿主 shared/abp/session.ts 通过 core 的公开能力创建会话,再由 bootstrap 组合导航。不同应用或会话实例不共享可变身份。401 沿平台失效规则处理,403 不一律退出登录;字段错误交给业务任务显示。
普通账号密码的 Host/租户登录不代表所有额外认证方式均已接入;遇到中间认证要求应如实处理。
页面与多语言
页面用 useLocalization(source?) 的 t、d、n;core 提供资源合同,Host 的 shared/localizations/localization-translator.ts 组合 Vue I18n。新增文案由后端 YoyoAdmin 资源维护。后端启用语言与公共资源由 GET /api/abp/localization 获取,加载成功后切换,失败保留原语言并允许重试。
程序式编辑通过应用注入的 Modal helper 打开,业务 feature 保留草稿与请求,容器处理关闭保护和任务结果。具体公开入口与接线见 packages/ui-patterns/README.md;它与旧 Kit 的 YModal 是不同技术线。
界面偏好统一预览、保存与取消;收缩导航即时记忆。偏好按真实用户/租户隔离,不存业务草稿。
管理端视觉基础的来源
Starter 管理页采用 @yoyoboot/ui-patterns/visual 的 managementUi,显式安装 visual/management.css 和 visual/motion.css,并在应用管理布局挂 data-y-management。使用 Nuxt UI UTheme 组合,不要求复制 Starter 侧栏、路由或任何业务模块。
公共基础负责表格/表单/任务面的语义色、密度与减少动效;应用负责品牌 palette、字体和 Logo。Settings 用 data-y-settings 的白色工作面,列表可以使用灰色画布。独立网站预览不挂管理端作用域。安装细节以相同版本 ui-patterns README 为准;静态效果页仅用于视觉对照,不是样式源码。
Starter 与 Host 的 UI 对齐继续按当前代码和人工评审判断;已有范例批准不代替 Host 整体签收,也不因共享包存在而宣布两者完全一致。本页不把历史皮肤方案作为新主线的采用要求。