跳转正文

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 整体签收,也不因共享包存在而宣布两者完全一致。本页不把历史皮肤方案作为新主线的采用要求。

YoyoBoot · 从真实项目走向可复用能力