diff --git a/README.md b/README.md index 4202af9..4ac6cdb 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ shrimp-admin 是**源码 ship**(.ts + .vue 直接发),不带构建产物,由消 "type": "module", "scripts": { "dev": "vite", "build": "vite build" }, "dependencies": { - "shrimp-admin": "git+http://git.zeromvc.com/wc24/shrimp-admin.git#v0.7.10", + "shrimp-admin": "git+http://git.zeromvc.com/wc24/shrimp-admin.git#v0.8.2", // ⚠️ 不能删 —— 下面 6 个是 shrimp-admin 的 peerDependencies, // 必须由消费侧显式装进自己的 dependencies,不能指望 npm 提升碰巧能 import 到 @@ -168,17 +168,18 @@ Vite dev 默认用 **esbuild** 把 node_modules 里的裸导入预打包成 `nod └── orders.vue 子模块,parent=user ``` -### 覆盖颗粒度只在 3 个入口 +### 覆盖颗粒度只在这几个入口 -框架内 .vue 之间的 peer 引用是**硬编码静态 import**,override 颗粒度就停在下面这 3 类入口,不会一路传递下去: +框架内 .vue 之间的 peer 引用是**硬编码静态 import**,override 颗粒度就停在下面这几类入口,不会一路传递下去: | 入口 | 后缀 | 说明 | | --- | --- | --- | | **router targets** | `components/login.vue`、`components/layout.vue`、`components/404.vue` | vue-router 三个根级路由组件 | | **module routes** | `module/.vue`、`module//.vue` | 走 `registerRoute` 的业务模块/子模块 | | **field registry** | `components/fields/Field.vue` | 字段类型注册表(文件名首字母小写 = type 键) | +| **顶栏** | `components/userbar.vue` | 右上角那一条(语言、全屏、用户菜单),整体替换 | -想换更细的部件(比如 layout 里的 topbar)就在消费侧的 `layout.vue` 自己组装 — 框架不再代理任何 peer 切换。 +**表里没有的路径不会被覆盖,而且不报错**——写了个 `components/topbar.vue` 放进 sources,框架照样用内置那份,页面正常打开、你的文件被静默忽略。想换更细的部件就在消费侧的 `layout.vue` 里自己组装,框架不代理 peer 切换。 ### 字段类型注册 diff --git a/package-lock.json b/package-lock.json index 556e1ec..f642575 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "shrimp-admin", - "version": "0.1.0", + "version": "0.8.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "shrimp-admin", - "version": "0.1.0", + "version": "0.8.2", "dependencies": { "shrimp-server": "git+http://git.zeromvc.com/wc24/shrimp-server.git#v0.5.0" }, diff --git a/package.json b/package.json index 865ebdc..04a6272 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "shrimp-admin", - "version": "0.8.1", + "version": "0.8.2", "private": true, "description": "Shrimp 框架前端 — 消费 ShrimpServer + ShrimpTable 契约的经典 Vue3 + Element Plus 实现", "main": "src/index.ts", diff --git a/src/VueAdmin.ts b/src/VueAdmin.ts index 525711b..082e448 100644 --- a/src/VueAdmin.ts +++ b/src/VueAdmin.ts @@ -53,8 +53,6 @@ export interface ShrimpAdminOptions { locales?: Record /** 语言列表,默认 [{ lang: 'zh-cn', name: '简体中文' }] */ langList?: { lang: string; name: string }[] - /** 顶栏(userbar)自定义组件,按序渲染在语言切换左侧。业务侧注入全局头部小部件(如终端商户选择器) */ - headerWidgets?: Component[] } // ============== 源注册表 ============== @@ -167,9 +165,6 @@ export class VueAdmin extends ShrimpClient { state = reactive({ isMobile: false }) - /** 顶栏自定义组件(由 createShrimpAdmin 的 headerWidgets 注入),userbar 按序渲染 */ - headerWidgets: Component[] = [] - private _token: string | null = null get token() { return this._token } set token(value: string | null) { @@ -202,7 +197,6 @@ export class VueAdmin extends ShrimpClient { super() this.config = opts.config this.langList = opts.langList || [{ lang: 'zh-cn', name: '简体中文' }] - this.headerWidgets = opts.headerWidgets || [] if (opts.sources) { Object.assign(externalSources, opts.sources) diff --git a/src/components/layout.vue b/src/components/layout.vue index 81e029e..53207b6 100644 --- a/src/components/layout.vue +++ b/src/components/layout.vue @@ -43,15 +43,18 @@