概览
dsh-liao-models
README / ZH
插件文档
目录摘要
dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。
在 GitHub 阅读完整 READMELIMITATIONS
已知限制
1. **身份来自宿主已经加载的目录缓存**:读取 `modelDirectories.catalog.store`,不调用 load 或新增网络请求。缺少该服务的宿主会保守退回显示名;同一原生节点的身份会暂存以避免当次改名失联,但跨窗口的改名需要宿主 ID。 2. **迁移只接受唯一对应关系**:新键为 `["id", "厂商 ID", "模型 ID"]`,旧二元组仍兼容。能确认的显示名或费用后缀对应关系会迁移;无法唯一确认的历史记录保留,避免套到错误模型上。 3. **强耦合内核 DOM 语义**:内核若改动 `data-menu-group-heading` / `menuitemradio` / `data-menu-group` 这套钩子,插件会**静默不生效**(不报错、不破坏原菜单、 也不会碰 `/model` 弹窗)。夹具保真测试会在这种情况下先变红。 4. **面板不会因鼠标移开而自动收起**(刻意如此:面板在菜单右侧,鼠标要从标题移到 面板里的搜索框;一移开就收的话面板没法用)。关闭方式:选中模型 / `Esc` / 点击外部。 5. **右键菜单**:面板内右键的默认行为(上下文菜单)已保留,只拦主键的默认动作; 但两侧的 `stopPropagation` 意味着内核不会因为你在面板里按任何键而关闭菜单 —— 这是刻意的。 6. 面板挂在 `document.body` 并用 `fixed` 定位 —— 这是「React portal 子树会被重渲染 回收非 React 子节点」逼出来的做法,代价是面板位置在极端的滚动/缩放场景下 需要一次重排(已监听 `resize`)。
